某机载数据传输设备(以下简称:机载数传设备)主要用来完成空-空、空-地数据信息的传输,与HF或U/VHF频段电台配合使用,将专用计算机发来的待传信息,经过差错控制编码后,经电台调制、发射;对电台接收机送来的数据,进行校正、纠错和译码,还原成原始信息,传输给专用计算机(CUB)处理。要想实现对机载数传设备的自动检测,最重要的是要模拟实现机载数传设备与机载专用计算机的通信协议。本系统就是为了满足某部队大修厂的急需,设计实现了某机载数传设备与机载专用计算机之间的ARINC429通信协议。
1 系统硬件原理
本系统利用Altera公司的FPGA芯片(EP2C8QPF208),设计了该机载数传设备在机载环境中同机载计算机之间的ARINC429通信协议模块,实现一发一收。在FPGA上利用SoPC技术,PC机通过与基于NiosⅡ的UART通信,由ARINC429通信协议模块实现RS 232通信协议与ARINC429通信协议的相互转换,从而模拟机载计算机提供测试激励,完成与设备的信息交换。
2 ARINC429通信协议介绍
ARINC429是一种在航空电子综合系统中广泛使用的数字式传输总线规范,该通信协议是双极性归零码的一种,在一个ARINC429字中包含32位,ARINC429数据传输是以电脉冲形式发送的。一个电脉冲就是1位。一个数据字传输1个参数,如速度、温度等。两个数据字之间有4位间隔,这个间隔也作为字同步用,跟在这一间隔后面发送的第1位,表示另一个新的数据字的开始。每个数据字的32位数据是以双极归零码的形式发送出去的。数据的发送是先发送高位再发送低位。
3 基于FPGA的ARINC429发送模块的实现
在FPGA上利用SoPC技术实现与PC机的串口RS 232通信,然后在FPGA上实现将PC机通过RS 232传过来的激励信息先缓存,再转换成ARINC 429的协议信息并以一定时钟速率发给设备。
ARINC429发送模块在QuartusⅡ8.0开发环境中设计实现如图1所示。
ARINC429发送模块设计实现原理为:在FPGA中由NiosⅡ处理器通过UART串口接收PC机发过来的原始ARINC429信息字。在接收过程中,将这些字先缓存在FIFO发送缓存器dcfifo0中。等完全接收控制、数据信息后,再经由bc模块将缓存中待发送的控制、数据信息,通过设计的状态机按ARINC429信号时序串行发送。并在与非门电路的配合下模拟发送ARINC 429信号对应的两路差分TTL信号a,b。最后通过在FPGA外部设计的模拟电路(如图2)将两路差分TTL信号a,b转换成ARINC429信号。
在QuartusⅡ8.O中编译并仿真发送模块,仿真结果如图3所示。
在示波器最终测得ARINC429发送模块产生的信号波形,如图4所示。
4 基于FPGA的ARINC429接收模块的实现
该模块实现了将数传设备发过来的ARINC429信息先通过光耦电路分解成两路差分信号,即将ARINC429电平转换成两路差分FTL电平信号a,b,然后在FPGA上缓存接收,等接收完毕后,再经由串口RS 232发给PC机进行数据处理以进行设备检测。
ARINC429接收模块在QuartusⅡ8.O开发环境中设计实现,如图5所示。
各个模块的具体设计如下:
(1)RS触发器SRFF可直接在SoPC Builder中调用,32位移位寄存器由32个D触发器级联产生。
(2)接收FIFO缓存器dcfifo1的定制过程与发送缓存器的定制过程相同,并且根据FPGA资源利用情况也设置dcfifo1为2 KB。
(3)ARINC模块为字间隔、帧结束检测模块。该模块在QuartusⅡ8.0开发环境中利用VHDL语言进行设计,程序核心代码如下:
在QuartusⅡ8.O中编译并仿真发送模块,仿真结果如图6所示。
5 结语
该设计充分利用了FPGA硬件可编程性,实现了ARINC429通信协议软件算法硬件化,大大提升了ARINC429数据发送与接收的实时性和可靠性,从而实现了该数传设备自动检测系统检测速度快、集成度高、可靠性强的特点。