资源描述:
《vxi 总线多协议串行通讯模块的设计与实现 3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、二○○四年·第六期研制与开发3VXI总线多协议串行通讯模块的设计与实现李文海 孟 上 许爱强(海军航空工程学院 山东烟台 264001)摘 要 本文介绍VXI总线多协议串行通讯模块的设计与实现。该设计利用Philips公司的多功能、四路通用异步收发器SC28C94,结合大规模可编程逻辑器件及相应的控制程序,在不改变模块硬件的基础上,可以通过软件控制使通讯协议为:RS-422/485或RS-232,实现单一模块完成16路RS-232或8路RS-422/485全/半双工串行通讯的功能。关键词 串行通讯 SC28C94VXI
2、用大规模可编程逻辑器件完成VXI总线接口及模块概述功能的逻辑控制,有效的解决了模块物理空间紧张的 串行通讯是一种出现较早但目前依然应用很广问题,提高了模块的可靠性。泛的通讯技术,串行通讯接口经过多年的应用和发112 协议间的切换简洁、有效展,出现多种规范和标准,其中最常用的是RS-232、 在设计中采用MAXIM公司的多协议收发器/驱动RS-422和RS-485标准。器———MAX3160,在可编程逻辑器件输出的控制信号的RS232、RS422、RS485等通讯方式的通讯协议基本控制下,实现双路RS-232或单路R
3、S-422/485协议的相同,但由于其电器特性的不同,几种通讯方式不能电平转换,电路简单可靠,无需外加驱动电路。互相连接;在现代测试系统中,由于被测对象选用的113 通讯与硬件接口无关接口不同,因而必须在测试资源中配备以上各种电平 采用VISA(虚拟仪器软件结构)编写驱动程序,实的接口电路,带来极大的浪费。为此设计一种通信协现通讯与硬件接口无关。VISA是VXIbus即插即用的议固定,而接口电平可以程序控制,满足以上要求的核心软件技术,利用VISA所提供的与仪器硬件接口无通讯装置以适应不同测试系统中各种接口电路的需关
4、的特性,模块可以适用于任何一种VXI总线平台。要,从而大大简化以上各种接口的互连通讯,是研制2 设计方案本模块的目的。 本模块是一个基于VXI总线、16位地址空间、寄211 组成框图存器基,通讯协议可以为RS-232、RS422/485的多协 经过反复论证,结合以往的设计经验,确定模块议串行通讯模块,由于接口芯片及控制方式已经确的设计方案(见图1)。定,因此该电路将固定为一种通讯方式。本模块为单槽C尺寸带屏蔽设计,符合VPP联盟即插即用标准,能完成VXI寄存器基的所有操作。1 本模块的特点 本模块是基于VXI总线
5、、16位地址空间的寄存器基模块,单一模块能够完成16路RS-232或8路RS-422/485全双工串行通讯,波特率最高可达23015K。模块具有以下特点:111 实现VXI接口及模块功能的逻辑控制 采用大规模可编程逻辑器件实现VXI接口及模块功能的逻辑控制。由于VXI总线模块尺寸固定,接图1VXI总线多协议串行通讯模块原理框图口逻辑时序复杂,因此,在模块的接口电路设计上,选 其中,VXI总线接口电路主要完成与VXI总线3本项目部分由机电系统测控北京市重点实验室资助(编号:0303016)41现代仪器二○○四年·第六
6、期相关的接口控制。由于VXI总线接口逻辑时序比较213 关键技术设计复杂,因此,在接口电路的设计上,选用大规模可编21311VXI总线接口设计 由于VXI总线具有严程逻辑器件完成VXI总线接口,有效解决模块物理空间紧张的问题,提高接口逻辑电路的可靠性。 串行通讯电路中包括通用异步收发器及接口电平驱动电路。通用异步收发器采用SC28C94,该芯片的功能是完成串行通讯协议的控制及串行通讯协议的编码和译码、波特率的产生以及VXI总线上的并行数据和串口上的串行数据的输入/输出转换。该芯片可通过软件配置其内部寄存器,实现串行通
7、讯协议中的数据位、停止位、校验位的选择以及波特率的设定,并且通过内部的输入输出缓冲FIFO,保证通讯数据按部就班,不会遗漏。接口电平转换采用MAX3160。可以通过软件控制该芯片,实现TTL电平与RS-232/422/485电平间的双向转换,最终完成不同标准的串行通讯电平的驱动。图4VXI总线接口功能设计框图212 主要元器件介绍格的接口时序限制,为满足该要求,在设计中单独使21211SC28C94SC28C94是Philips公司的多功能、四路用一片Altera公司的大规模可编程逻辑器件通用异步收发器(URAT)。每
8、一路UART连接有8-byte的ACEX1K-30来完成寄存器基的VXI接口功能。可接收FIFO和8-byte发送FIFO。其结构框图见图2。编程逻辑器件的功能设计采用VHDL语言进行描述,设计环境是MAXPLUS-II。该芯片所完成的功能(见图4)。21312RS232/RS422/485通讯协议的切换 作为一个可以实现多协议串