1 引言
MIL-STD-1553B军用总线标准,在军事装备,特别是飞机系统中得到了广泛的应用,舰载系统中也正在逐步推广。对于1553B总线传输信息的飞机系统,特别是由该总线网络构成的综合航火控系统、通信系统而言,系统时实监测与在线故障诊断均建立在信息录取的前提下。为了方便录取1553B总线上传输的信息就需要应用1553B总线到计算机标准接口转换器,目前常用转换器有1553B-PCI、1553B-VXI等,但在工程实践过程中,它们存在体积大、价格高、使用不方便等缺陷。相比而言,USB接口具有体积小、携带方便、热插拔等特征,具有不可替代的优势。
本文介绍的1553B设备检测系统就是基于USB接口的。设计包含两大部分:硬件设计和软件设计。硬件设计主要实现1553B接口到USB接口的转换;软件设计主要是USB芯片固件开发、USB接口驱动、开发计算机测试1553B设备软件。
2 硬件系统设计
本系统的硬件设计工作主要集中在1553B与USB总线接口的转换设计。硬件系统分成三部分:1553B接口转换电路、FPGA译码电路和USB接口电路。如图1所示。
图1 硬件组成电路
2.1 1553B接口转换电路
目前,1553B接口芯片种类繁多,根据工程应用场合和实际需要,我们选用DDC公司BU-61580芯片。BU-61580芯片除了具有远程终端(RT)功能外,还可以用作总线控制器(BC)、总线监控器(MT)。其内部功能极强,接口灵活、便于控制,有各种封装形式和供电电压供用户选择。
2.2 FPGA译码电路
FPGA作为现场可编程器件越来越广泛地应用到工程设计中。利用FPGA对系统中信号进行译码可避免由于开始硬件电路设计考虑不周造成的硬件设计错误,而且方便系统的以后的升级。本系统中,FPGA通过1553B接口芯片读取1553B总线上的数据并暂存在FPGA内部RAM中,然后通知USB接口芯片把数据读出;同时,还要通过USB接口接收从PC下发的数据,重新打包,发送到1553B设备。
2.3 USB接口电路
USB接口控制芯片包含两大类:一类是需要外置控制器的芯片,还有一类为内置控制器,如Cypress公司的CY7C64613芯片。本系统选用PHILIP公司的PDIUSBD12芯片,需外置控制器的芯片。
PDIUSBD12芯片是带有并行总线和局部DMA传输能力的全速USB接口器件。片内集成了高性能USB接口器件、SIE、FIFO存储器、收发器以及电压调整器等,可与任何外部微控制器/微处理器实现高速并行接口(2MB/s),完全能匹配1553B总线最高传输速率(1MB/s)[1]。USB 实现模块的核心是PIDUSB12。外置控制器AT89C52的P0口接PIDUSBD12的DATA0~DATA7,用来传输要交换的数据。P0 口所有引脚都要外接上拉电阻。PIDUSBD12的片选信号和复位信号由AT89C52的P1.6与P1.7提供。AT89C52 的P3.6与P3.7作为PIDUSBD12的写读控制端,AT89C52和PIDUSBD12的ALE相连,PIDUSBD12的挂起状态和中断控制都接高电平。 PIDUSB12的D+和D-加上+5V电源|稳压器和地就构成了USB接口,从而能与计算机相连。PDIUSBD12与USB的连接通过1.5K上拉电阻将D+置为高实现,默认状态不与Vcc相连,可用SoftConnect技术通过AT89C52发送专门的命令来实现该连接,允许AT89C52在决定与USB建立连接之前完成初始化时序,USB总线连接可以重新初始化而不需要拨出电缆[2]。随后USB设备识别和通信就要依靠固件程序和驱动程序了。