孙广明,唐建
(中国兵器工业第58研究所四川绵阳621000)
基于高可靠CPCI接口的4通道串口设计
孙广明,唐建
(中国兵器工业第58研究所四川绵阳621000)
为了实现在严苛的温度环境下串口通讯的要求,提出了一种基于高可靠CPCI接口的4通道串口设计方案,并完成系统的软硬件设计。硬件系统由CPCI总线桥、CPLD逻辑、串口控制器、光电隔离电路、串口收发驱动和自动收发切换等部分组成,软件部分主要完成PCI设备的查找、串口初始化、串口发送和串口接收等功能。实际应用表明,该系统具有稳定、高可靠的工作,达到了设计要求。
串口通讯;CPCI接口;可靠性;Vxworks
串口通讯主要完成发送控制命令和交换通讯数据等功能,在工业控制领域有着至关重要的作用。本文提出的4通道串口卡已经在多个型号的地面测控平台中使用,效果良好。它采用标准CPCI接口,符合PCI2.1规范,具有四通道RS422/RS485接口,各通道可以通过拨码开关进行控制,各通道单独隔离,隔离电压不小于2 500 VDC,支持波特率不小于115 200 bps[1-4]。
本次设计的串口卡为一块单板,其主要由PCI总线串口控制,光电隔离,串口控制与收发电路等几部分组成。其中PCI总线串口控制使用芯片PCI9054-AC50PI,该芯片有4个串口通道,可方便的实现四路9线制串口设计。光电隔离采用光耦芯片HCPL-0630和电源隔离芯片B0505S-0.5W。RS422/485通讯控制器采用SN65176BD,单片可实现RS485通讯,四片共用可实现9线制RS422通讯[5-7]。每路工的工作模式由拨码开关电路决定。系统框图由图1所示。
PCI桥芯片采用PLX公司的PCI9054芯片,支持PCI 33/66MHz 32bit总线。完成PCI总线到Local Bus总线的转换,通过配置芯片在上电时进行配置,将LocalBus上的地址空间映射到PCI总线空间中,使得系统可以通过PCI总线访问LocalBus总线上的逻辑功能电路,从而实现PCI总线的功能扩展[8-10]。
CPLD采用Xilinx公司的XCR3256芯片,该芯片属于CoolRunner系列产品,具有资源丰富,功耗低的特性,适合于嵌入领域中的逻辑控制领域。该芯片采用3.3 V供电,但其IO管脚均可接受5 V电平信号,极大的方便了多电压系统的设计。
图1 串口卡系统框图
设计中,该芯片主要是用于将LocalBus上的读写访问时序转化为串口控制器的接口时序,并实现RS485模式的选择以及收发自动控制功能。
串口控制芯片选用TI公司的ST16C550C。ST16C550C具备一个完整的标准串口控制器,并且支持发送器与接收器运行不同的波特率,内部FIFO有16个字节,可以极大地降低软件开销,支持RTS/CTS自动流控制,提高系统效率。
光电隔离使用的光耦芯片为HCPL-0630,电源隔离芯片选用B0505S-0.5 W,各通道单独隔离,隔离电压满足不小于1A2500VDC的要求。对于串口控制器16C550输出的信号及CPLD输出的收发控制信号,先经过光隔再连接到串口收发器上,而对于串口收发芯片接受支的信号经过光隔芯片输入到串口控制器16C550芯片。
RS422/RS485的收发采用TI公司的SN65176BD芯片,该芯片可采用单5V供电,能实现RS485信号的收发。对于每一路串口信号使用4个SN75176 ADE4芯片。当工作在RS485模式时用一个SN75176ADE4芯片收发DATA+/DATA-信号;当工作在RS422模式时4个SN75176ADE4芯片分别对TXD+/TXD-、RXD+/RXD-、RTS+/RTS-、CTS+/CTS-信号进行收发。
当工作在RS422时,T485_CONA信号为高,U1作为TX信号发送器,T422_CONA信号为低,U2作为RX信号接收器,如图2所示。
图2 RS422/RS485模式切换示意图
当工作在RS485模式下,U2工作在发送模式,保证IRXA仅由U1驱动,而U1此时作为收发器工作,在通讯过程中,由T485_CONA信号控制RS485的半双工自动收发。
当串口卡接口工作于RS485模式时,因为RS485为半双工工作方式,需要进行收发的切换,在应用中,一般采用软件编程,通过对RTS/CTS信号进行设置,完成收发的转换;或者通过硬件自动完成切换,当串口控制器发送数据时,控制器产生一个信号将RS485收发器设置为发送状态,发送完成后,再切换回接收状态。
本设计中,ST16C550控制器芯片不支持自动RS485切换功能,但可以利用芯片的波特率输出信号以及控制器的TX信号进行处理,产生自动切换信号。具体原理为:当软件对控制器进行配置时,控制逻辑可以得到每一个数据帧的位宽度,包括起始位,数据位,校验位,停止位。然后可以在TX信号发送一开始,根据波特率的来延时,以保证在整个数据帧发送过程中,T485_CON一直为高,收发器处于发送状态。当数据帧发送完成后,T485_CON信号切换为低,收发器处于接收状态。
Vxworks的串口驱动需要完成4个功能,其主要完成了PCI设备的查找、串口初始化、串口发送和串口接收[11-15]。
使用VxWorks5.5自带的PCI设备查找函数p10PciFindDevice查找PCI设备。
PciFindDevice(PCI_VENDORID,PCI_DEVICEID,0,&pciBus,&pciDevice,&pciFunc)==OK
输入参数:PCI_VENDORID为PCI设备Vendor ID为0x1415,PCI_DEVICEID为PCI设备Device ID为0x9501,
输出参数:该设备的PCI总线号、设备号、功能号。
查找设备成功则可进行下一步对串口进行初始化。
本功能主要操作FIFO寄存器、中断状态寄存器、除数锁存寄存器、线控制寄存器、modem控制寄存器。主要步骤如下:关闭中断;设置通讯参数;设置接收中断触发水平位;使能接收中断。主要代码段如下:
本功能主要操作线状态寄存器。主要步骤如下:读取线状态寄存器查看发送FIFO状态。主要代码段如下:
本功能主要操作线状态寄存器和中断状态寄存器,串口接收为中断接收方式。主要步骤如下:读取全局中断寄存器判断发生中断的串口通道;读取中断状态寄存器判断中断类型;读取线状态寄存器查看接收FIFO状态。主要代码段如下:
该方案从硬件和软件的角度,对4通道CPCI串行通讯的实现方式进行了阐述,在板卡设计完成后进行了-40℃低温和+85℃高温工作,串口通讯正常、没有误码发生,这表明该串口卡可以在严苛环境下正常工作,较好的完成了设计要求。
[1]范利军,杜国祥.基于CPCI的某电源设备多通道测试诊断系统[J].兵工自动化,2016(2):52-55.
[2]李国达.基于CPCI系统的高速数字通信接口电路设计与应用[J].现代电子技术,2016,39(7):75-78.
[3]Guoda L I.Design and application of high-speed digital communication interface circuit based on CPCI system[J].Modern Electronics Technique,2016.
[4]茹运蕊,褚成琴,王江泉.基于CPCI总线双机通信的设计与实现[J].数字技术与应用,2016(2):164-165.
[5]白杨,韦以超.基于FPGA的多路E1传输高速RS422业务方案[J].光通信技术,2016,40(5):22-24.
[6]章鹤,艾莉,赵君,等.一种RS422总线抗干扰处理措施[J].电源技术应用,2016(4):36-40.
[7]胡明飞,杨艳,漆静群,等.基于RS485的多主机通信协议的设计[J].自动化与仪表,2015(7):22-24.
[8]郭立俊,谭剑波.一种基于FPGA的CPCI总线接口设计方法[J].合肥工业大学学报:自然科学版,2014(5):596-599.
[9]任勇峰,刘占峰,彭巧君,等.基于CPCI总线的接口卡设计[J].电子技术应用,2014,40(6):39-41.
[10]余捷杰.基于CPCI总线的操控功能主机的设计和实现[D].北京:中国科学院大学(工程管理与信息技术学院),2015.
[11]周洁.基于VxWorks车载控制设备基础软件平台设计与实现[D].成都:西南交通大学,2014.
[12]彭大四,张政权,刘庆想,等.基于VxWorks阵列天线主控系统的多节点通信[J].强激光与粒子束,2016,28(3):132-135.
[13]陈涛,朱松柏,李博,等.VxWorks环境下虚拟光电火控系统的搭建[J].兵工自动化,2014(9):7-9.
[14]王钤,朱松柏,李博,等.一种基于Tilcon的VxWorks图形界面开发方法[J].兵工自动化,2014(10):89-91.
[15]高金艳,李冬辉.VxWorks平台下的火控系统设计与仿真[J].哈尔滨工业大学学报,2015,47(9):42-45.
Design of 4-channel serial interface based on highly reliable CPCI interface
SUN Guang-ming,TANG Jian
(N0.58Research Institute of China Ordnance Industries,Mianyang621000,China)
In order to realize the serial communication in harsh weather conditions,the design of 4-channel serial interface based on highly reliable CPCI interface is designed in this paper.Hardware system is mainly composed of CPCI-bus,CPLD logic,serial controller,photoelectric isolating circuit,serial send and
rive and automatic transceiver etc,software part is mainly completed PCI device search,serial initialization,serial send and receive functions etc.The experiment and application show that the system has High stability,reliable work,and achieve the design requirement.
serial communication;CPCI interface;reliability;Vxworks
TN97
A
1674-6236(2017)23-0090-04
2016-09-16稿件编号:201609150
孙广明(1986—),男,四川绵阳人,工程师。研究方向:自动化控制。