基于PCI总线的ARINC429通讯模块研制

时间:2022-10-02 05:33:14

基于PCI总线的ARINC429通讯模块研制

摘 要: ARINC429是目前最常用的航空数据总线,ARINC429通信模块是航空电子系统中重要的组成模块。为了构建航空电子测试系统,设计了基于PCI总线的ARINC429通讯模块。采用DSP+FPGA的硬件结构,利用DSP实现了通讯模块的PCI接口,并利用FPGA实现了ARINC429通信协议的编解码逻辑。测试表明,该通讯模块能实时可靠灵活地收发数据,解决了飞行器多路ARINC429数据总线之间的双向通信问题。

关键词: PCI; ARINC429; 编解码逻辑; 通讯模块

中图分类号: TN919?34 文献标识码: A 文章编号: 1004?373X(2014)18?0094?04

Development of ARINC429 communication module based on PCI bus

ZHANG Yu?lian, LIN Lian?lei

(Department of Automatic Test and Control, Harbin Institute of Technology, Harbin 150001, China)

Abstract: ARINC429 is the most commonly used data bus in aviation industry currently. ARINC429 communication mo?

dule is an important component part in avionics electronic system. In order to build a testing system for avionics, an ARINC429 communication module based on PCI bus was designed. The DSP+FPGA hardware architecture is used. The DSP is used to achieve the PCI interface of communication module. The FPGA is used to implement the codec logic of ARINC429 communication protocol. The testing results show that the communication module can reliably and flexibly transmit?receive data in real time. The module solved the problem of bidirectional communication among multiplexed ARINC429 data buses in aircrafts.

Keywords: PCI; ARINC429; codec logic; communication module

0 引 言

ARINC429规范是美国航空无线电公司专门为航空电子系统通信制定的航空数字总线传输标准,它以单工串行方式进行通信。ARINC429总线具有接口方便简单、性能稳定、数据传输可靠、抗干扰性强等优点。它将飞机的各系统或系统与部件通过双绞线互连起来,是各系统间或系统与部件间数字传输的主要途径[1]。目前,相当数量飞行器的数据通信都采用机载ARINC429通信总线[2]。实现ARINC429通信协议大多采用专业的集成芯片,如:HOLT公司的HS3282或DEVICE公司的DEI1016,在芯片的内部实现数据串/并和并/串的转换。

采用这种方案虽然明显降低了设计的难度,缩短了开发周期;但在需要多发多收的场合时,成本成倍的增加,并且大大增加了电路板的体积,灵活性很差。本文创新性地提出了一种在FPGA芯片内部实现ARINC429总线编解码的方案,从而减小了PCB板的面积,降低了成本,提高了设计的可移植性和灵活性。

目前,大多数的ARINC429总线计算机测试系统都采用PCI总线实现计算机与ARINC429总线接口的连接,构成便携式测试系统[3]。而PCI接口的实现大多采用PCI9030,操作复杂并且集成度低[4]。本文采用DM642实现PCI接口与计算机通信,进一步减小了通讯模块的体积,提高了通讯模块的集成度和可靠性。

PCI总线ARINC429通信模块是组建ARINC429总线产品仿真和测试系统的常用模块,因此研制PCI总线的ARINC429通讯模块具有重要的应用价值。

1 总体方案设计

ARINC429总线采用双极性归零制的三态码调制方式,即信息由“高”、“零”和“低”状态组成的三电平状态调制。ARINC429协议中规定:发送和接收时,都以保证总线A和总线B之间的差分电压为±10 V为基准。若总线A和总线B之间的差分电压为+10 V,则认为是数据“1”;若总线A和总线B之间的差分电压为-10 V,则认为是数据“0”;若总线A和总线B之间的差分电压应为0 V ,则认为处于静默状态。一般取总线A和总线B的中间电压为地,则总线A和总线B的电压为-5 V,0 V或5 V,且若一路总线电压为-5 V,另一路总线电压[5]必为5 V。

ARINC429电缆上的信号及经电压转换后的信号如图1所示。

图1 ARNIC429信号的波形

根据ARINC429信号的特点,并结合支持100 Kb/s,50 Kb/s和12.5 Kb/s三种传输波特率可选、32位或25位两种帧长可调的设计需求,采用如下设计方案实现8发8收的PCI总线ARINC429通信模块。总体方案框图如图2所示。

图2 总体方案框图

采用HI?8585作为发送电平转换芯片,实现FPGA输出的3.3 V的TTL电平到ARINC429差分电平的转换。采用HI?8444作为接收电平转换芯片,实现ARINC429的差分电平到FPGA的3.3 V电平转换。利用FPGA实现数据的缓存以及ARINC429协议的编解码,完成数据的串/并转换。

利用DM642自带的PCI接口实现ARINC429通信模块与上位机的通信,DM642的PCI接口支持PCI总线规范2.2版本,数据传输速率最大可达[6]264 MB/s,远远大于8路ARINC429总线同时进行收发的数据传输速率。在上位机中利用Driver Wizard开发VISA仪器驱动程序来实现计算机与ARINC429通讯模块的连接,通过LabWindowsCVI开发上位机的仪器驱动函数以及软面板实现对ARINC429通讯模块通道选择、波特率选择、字长选择的控制。

2 硬件电路设计

2.1 电平转换电路设计

FPGA一般输出的信号为3.3 V TTL电平,且驱动能力不能满足ARINC429协议,而且FGPA不能接收-5~5 V的信号,因此必须经过电平转换将FPGA发送的信号转换为ARINC429协议中所规定的-5~5 V,将接收的ARINC429信号转换为FPGA所支持的TTL电平。

本方案中采用HI?8585作为发送电平转换芯片。HI?8585是ARINC429总线单路发送电平转换芯片,8路发送通道共需要8片HI?8585芯片。HI?8585供电电压为12~15 V,它采用齐纳击穿技术,将0~5 V TTL电平转换为-5~5 V的ARINC429电平,并具有设置发送信号上升时间和下降时间等功能,它底部有金属散热片,散热能力比较强[7]。

本方案中采用HI?8444作为接收电平转换芯片。HI?8444是4路ARINC429接收电平转换芯片,采用2片HI?8444实现8路接收。HI?8444采用5 V供电,可支持TTL电平和COMS电平,提供自检的功能,并具有闪电保护功能[8]。HI?8585和HI?8444使用方法都比较简单,都只需两根信号线就可以实现ARINC429电平和FPGA的TTL电平间的转换,能够大量地节省FPGA的I/O口[9]。

2.2 ARINC429编解码逻辑

本方案在FPGA内部实现通信数据的串/并转换。FPGA内逻辑的编写是开发的重点和难点。FPGA选用CycloneⅢ系列的EP3C55F484I7N,它具有丰富的I/O口、LE单元和存储单元[10]。FPGA逻辑主要分为接收单元、发送单元、FPGA与DSP接口三个部分。发送单元包括发送器、状态/控制寄存器、FIFO缓存,发送器主要实现ARINC429的编码,状态/控制寄存器用于控制和改变当前状态,FIFO用来缓存接收到的数据。接收单元包括接收器、状态/控制寄存器、FIFO缓存,接收器主要是实现ARINC429的解码。FPGA与DSP接口通过EMIF外部存储器接口来实现,DM642的地址线通过地址译码向对应的状态/控制寄存器、FIFO缓存单元读写数据。FPGA逻辑框图如图3所示。

2.2.1 ARINC429编码模块

ARINC429编码模块的串/并转换、波特率设置、字长设置等功能主要在发送单元中实现,发送单元的结构如图4所示。由于发送32位字长数据的时序与发送25位字长数据的时序差别较大,且编码方式也不一样,因此将发送32位字长数据与发送25位字长数据的通道作为两个独立通道设计。状态控制器用于设置某一发送通道的字长和波特率。当FIFO 非空时,发送控制器读取FIFO中写入的发送数据,并根据状态控制器设定的字长把数据传送到不同的通道中进行数据变换。发送控制器根据状态控制器设置的波特率选择不同的工作时钟,以实现发送波特率的调节。格式变换器和状态机将并行数据转换为串行数据发送出去。为了保证通信的可靠性,只有发送通道不忙时才允许改变字长和波特率。

图3 FPGA逻辑框图

图4 发送单元结构框图

2.2.2 ARINC429解码模块

ARINC429解码模块的功能主要在接收单元中实现。接收单元的工作原理与发送单元类似,结构如图5所示。解码模块主要实现将接收到的串行数据转换为32位并行数据,与DM642的32位数据总线进行连接。接收数据的字长以及数据传输的波特率可在状态控制器中进行设置。

3 模块软件设计

3.1 上位机软件结构设计

虚拟仪器软面板是为PCI总线ARINC429通讯模块设计的用户程序。用户能够在计算机上通过对本软面板的操作,方便灵活地使用和控制本模块。

上位机软面板的功能框图如图6所示。

图5 接收单元结构框图

图6 上位机软件功能框

软面板要完成的主要功能如下:进行ARINC429模块的复位操作;设置发送通道的通道号、波特率和字长;设置接收通道的通道号、波特率和字长;向某通道发送单个或批量数据;接收某通道的数据并显示;能够清空接收数据等。

3.2 仪器驱动函数设计

根据功能要求,设计了相应的回调函数和驱动函数。其中基本函数包括初始化函数、关闭仪器函数、复位函数等,主要是实现计算机通过PCI接口来驱动ARINC429通讯模块。功能函数部分主要实现以下功能:429模块寄存器复位函数将429模块的寄存器复位,复位后默认的通信状态是波特率为100 Kb/s,字长为32位。发送控制字设置函数能够设置指定通道的发送控制字。接收控制字设置函数能够设置指定通道的接收控制字。发送数据函数能够向某通道发送单个或者批量,发送批量数据时相邻数据以“,”作为间隔。接收数据函数能够接收指定通道接收到的所有数据。清空接收数据的功能将在上位机的回调函数中实现。仪器驱动函数树如图7所示。

4 测试结果

测试时利用上位机软件来验证发送数据与接收数据是否一致。测试结果如图8所示。点击“429模块复位”可以复位8路发送、接收通道的寄存器。在发送设置区域和接收设置区域分别设置发送和接收通道号、波特率和字长,注意发送通道和接收通道的波特率必须一致。

图7 仪器驱动函数树

图8 ARINC429通信模块测试软面板

对通道1~8按照上述方法依次进行测试,测试结果如表1所示。

表1 ARINC429测试结果表

由表1可以看到,8个通道发送和接收的数据完全一致。每个通道按照三种波特率100 Kb/s,50 Kb/s,12.5 Kb/s和两种字长32位、25位共6种组合方式下分别测试,一共进行了48项测试,收发数据完全一致。由此证明了硬件电路能正常工作,FPGA内编写的编解码逻辑正确,以及所编写的DSP程序、仪器驱动函数、回调函数能稳定可靠地工作。

5 结 语

本文设计了一种以DSP+FPGA为核心,利用电平转换芯片实现PCI总线ARINC429通讯模块的方案。主要根据ARINC429总线协议在FPGA内部实现了ARINC429的编解码逻辑,并编写了DSP程序、仪器驱动程序和上位机软件,全面完成了通讯模块的研制。经过测试表明,该设计方案正确可行,降低了多发多收时的成本,减小了电路板的尺寸,使429通讯模块实现了集成性与小型化,在提供稳定可靠的数据传输特性的基础上提高了设计的通用性和灵活性。该ARINC429通讯模块在实际应用中,运行稳定,通信快速可靠,具有很高的工程应用价值。

参考文献

[1] 王超,王小鹏,房超,等.基于HS?3282的DSP 与ARINC429总线通信模块设计[J].计算机与数字工程,2011,39(8):181?182.

[2] 张华强,赵剡,陈雨.基于FPGA 的ARINC429 通信系统的设计与实现[J].通信技术,2010,43(12):4?5.

[3] 李伟林,张晓斌,伍佳妮,等.基于以太网的ARINC429总线高速接口板的设计[J].计算机测量与控制,2009,17(5):921?922.

[4] 施少敏,马彦恒.基于接口芯片PCI9030的PCI总线接口卡的设计[J].微计算机信息,2006,11(2):29?31.

[5] 廖治宇.通用ARINC429总线分析测试仪的软件设计[D].成都:电子科技大学,2013.

[6] 许永辉,杨京礼,林连雷.TMS320DM642 DSP原理与应用实践[M].北京:电子工业出版社,2012.

[7] Holt Integrated Circuit Inc. HI?8585, HI?8586 ARINC 429 line driver [R]. USA: Holt Integrated Circuit Inc, 2001.

[8] Holt Integrated Circuit Inc. HI?8444, HI?8445, HI?8448Quad/Octal ARINC 429 line receivers [R]. USA: Holt Integrated Circuit Inc, 2003.

[9] 曾蓉.LXI集成通信模块的研制[D].哈尔滨:哈尔滨工业大学,2013.

[10] 刘森,许永辉,孙闯.基于LAN的高集成度数据采集设备研制[J].现代电子技术,2013,36(16):115?116.

上一篇:模糊灰色模型在高校实验技术人员考核的应用 下一篇:浅析高中政治小组合作教学的有效思路