作为机载电子设备之间数据传输的一种标准,ARINC429总线以其特有的优点在现代军用与民用飞机上得到了广泛的应用。它是美国航空无线电公司(ARINC)制定的航空数字总线传输标准,定义了航空电子设备和系统之间相互通信的一种规范,因此对于ARINC429总线通信的研究是有重要的现实意义和应用前景。为了使系统能够对ARINC429数据进行处理并将处理好的数据发送出去,文中提出了一种基于DSP和ARINC429专用协议芯片HS-3282的总线数据设计方法。
1 ARINC429数据传输规范
ARINC429总线采用双绞屏蔽线传输信息,通过一对双绞线反向传输,具有很强的抗干扰能力。其调制方式采用双极归零制的三态码方式,即信息由“高”、“零”和“低”3种状态组成。ARINC429总线的1个数据字有32位,32位数据字以脉冲形式发送,采用了双极归零调制,发送出去的脉冲有3个电平,即高电平(+10V)、中电平(0V)、低电平(-10V)。高电平为逻辑1,低电平为逻辑0,中电平为发送自身时钟脉冲。429数据的两个数据字之间有4位间隔,这4位间隔作为字同步。一般ARINC429发送速度有2种:一种为高速,100kbit/s;一种为低速,12.5 kbit/s。通常高速用于军用飞机上,低速用于民用飞机上。ARINC429数据格式如表1所示。
2 系统硬件设计
本系统主要是实现ARINC429总线数据信息的接收和发送。本系统中采用TI公司的DSP芯片TMS320F2812为控制核心和CPLD芯片作译码电路控制429数据收发芯片时序逻辑,配合1片高性能ARINC429数据收发芯片HS-3282和1片ARINC429数据发送驱动芯片HS-3182,形成1个数据接收通道和1个数据发送通道,由它们构成数据收发、串/并、并/串转换的主体,其系统结构框图如图1所示。
2.1TMS320F2812
在整个系统中,TI公司的DSP芯片是整个接口系统的核心,采用TMS320F2812,主要用来控制各个部分协调工作,完成对接收/发送数据的处理和与CPLD配合产生收发模块所需要的控制信号。作为TI公司首推的TMS320F2812具有很高的性价比,广泛应用于工业控制,特别是应用于处理速度、处理精度等方面要求较高的领域,在电子控制领域发挥着重要的作用,推动了电子信息化的进程。由于TMS320F2812采用了先进的改进型哈佛结构,流水线技术,指令执行速度快,具有可高达150 MIPS的处理能力,完全能够满足ARINC429信号的处理。并且片内具有128 k Flash存储器,使得电路的设计比较简单。
2.2 HS-3282简介
HS-3282是美国Harris公司生产的专门面对ARINC429总线的一种高性能CMOS总线接口芯片,能满足ARINCA29协议的译码、时分复用、串行数据协议等标准的要求。当它与驱动芯片HS-3182配合使用时,能正确收发ARINCA29规范数据,且抗干扰性能好。因而采用其来设计ARIN-C429总线接口电路既简单、有效,又能保证可靠性。
HS-3282包含两路接收器和一路发送器,接收器和发送器分别独立工作。两个分别独立的接收器直接与ARINC429总线相连,并以十倍于接收数据速率的频率工作,发送器的数据速率可以与接收器速率相同或不同。尽管两个接收器工作在同一个频率下,但是它们独立工作并异步接收串行数据。ARINC总线接口芯片发送器主要包括FIFO存储器和时钟电路。FIFO存储器能够为发送器连续保存8个ARlNC数据。时钟电路用来正确分隔每个ARINC数据字以满足ARINC429规范。尽管ARINC429规范指定为包含校验位的32位字,通过编程,HS-3282的数据字长度也可以为25位。HS-3282接收器是将串行429数据转换为2个并行的16位数据,而发送器则是将2个并行的16位数据转化为串行429数据。
2.3 ARINC数据收发模块
该模块主要完成ARINC429数据的接收、发送和速率转换等功能,利用1片高性能的ARINC429数据收发芯片HS-3282和1片ARINC429数据发送驱动芯片HS-3182完成一路接收和一路发送通道,由它们完成数据缓存,串/并、并/串转换和系统内部逻辑信号与ARINC429差分信号的转换。
HS-3182为正式差分输出,用来把要发送的信息转变为符合ARINC429传输规范的电平,与驱动芯片HS-3182相连的电容用来改善输出数据的上升沿和下降沿,这里对于不同的数据传输速率选择不同的电容,75 pF电容对应ARINC429总线高速工作状态,300 pF电容对应低速作状态,这两个电容极其重要,为了提高稳定性、降低干扰,最好采用军品电容。
数据发送单元主要完成把并行的信息转化为串行信息,再把串行信息转变为双极性归零码,发送至ARINC429总线。数据接收单元主要把ARINC429总线上来的双极性归零串行信息转变为一般的串行信息,再经过移位寄存器转换为并行信息。ARINC429数据发送/接收单元的原理图如图2所示。
HS-3282中D/R1接F2812的外部中断,使429数据接收为中断接收;CWSTR、ENTX、TX/R、MR等经电平转换连接到F2812的I/O口;429DI(A)和429DI(B)直接连接429总线,接收来自429总线的数据;429D0及/429D0和HS-3182的DATA(A)、DATA(B)连接,将HS-3282发送器的数据经HS-3182驱动后发送至429总线。
2.4 CPLD逻辑控制
对于F2812,每个区域的读、写操作时序都可以单独配置,且每个区域都有片选信号,当片选信号被置低(置0),那么当前用户将访问相应的存储空间(读、写操作)。在本系统中,选用Zone0空间,Zone0占用的外部总线地址为0x2000~0x3FFF,当XA[13]为高电平,XA[14]为低电平时选择ZoneO空间,Zone0片选使能逻辑如图3所示。
CPLD集成了系统地址选择模块,实现对外部器件的访问。CPLD的逻辑功能决定了HS-3282的功能地址,通过地址译码产生HS-3282所需要的控制信号PL1、PL2、EN1和CWSTR所需要的控制信号。系统中译码模块的逻辑如图4所示。由片选使能和CPLD译码逻辑可得PL1、PL2、EN1和CWSTR的选通地址。
3 系统软件设计
此系统的软件部分主要包括初始化模块、数据的发送/接收子程序模块。
1)初始化模块系统上电后,首先进行初始化,初始化模块包括上电芯片复位和写控制字到HS-3282控制字寄存器。该控制字主要有字长、接收速率、发送速率、源目的解码和自测试设置。初始化流程图如图5(a)所示。
2)ARINC429数据发送模块数据发送是首先向FIFO写入数据,然后经HS-3182驱动发送到总线。在向FIFO写操作过程中,PL1先于PL2有效,多次的写PL1将会使先前的数据被覆盖,PL1有效时,低16位数据被发送到FIFO中。当PL2有效时,高16位数据被传送到FIFO中。第1个数据字写入后TX/R由高变低,然后通过置发送使能信号ENTX,HS-3282将数据字串行发送出去,并自动在相邻两个字之间插入4bit间隔。当FIFO为空时,TX/R由低变高,此时应当禁止发送使能信号ENTX,以便向FIFO重新写入数据。当HS-3282处于发送状态时,不能向FIFO写入数据。发送模块流程图如图5(b)所示。
3)ARINC429数据接收模块 数据接收模块被设计为中断接收,由HS-3282的D/R1提供中断信号。当D/R1为0时,进入中断,并表明ARIN-C429总线上有数据到来,此时选通EN1地址,再置SEL为0,接收低16位数据;接着置SEL为1,再选通EN1地址,接收高16位数据。接收模块流程图如图5(c)所示。
4 结束语
针对ARINC429总线的应用,提出了TMS320F2812与ARINC429总线通信的软硬件设计和实现方案。该设计硬件电路简单,数据通信程序可读性好,编写容易,数据传输准确可靠。在设计TMS320F2812数据总线读写的逻辑控制时,XRD和XWE信号必须参与逻辑控制,保证顺利读写总线数据。经验证该系统能够有效地完成2个16位并行数据到32位串行数据的转换,实现了TMS320F2812 DSP与ARINC429总线之间的数据通信,且传输速率为100 kb,达到了系统的设计要求。该系统可广泛借鉴并应用于ARINC429总线数据传输系统及ARINC429接口卡设计中。