一、概述
为了使航空电子设备的技术指标、电气性能、外形和接插件等规范统一,由美国各航空电子设备制造商、定期航班的航空公司、飞机制造商以及其他一些国家的航空公司联合成立了一个航空无线电公司(ARINC-Aeronauutcal Radio Inc)。由这个公司制定的一系列统一的航空工业标准和规范成为ARINC规范。如:
ARINC453:高速数字传输系统规范;
ARINC573:用于飞行数据记录系统;
ARINC600:用于电子设备接口;
ARINC708:用于机载雷达;
ARINC429:数字数据传输规范。全称是数字式信息传输系统DITS。协议标准规定了航空电子设备及有关系统间的数字信息传输要求。
ARINC429总线结构简单、性能稳定、抗干扰能力强。最大的优势就是可靠性高,这是由于非集中控制、传输可靠、错误隔离性好。
二、ARINC429系统特点
1、传输方式
单向方式。信息只能从通信设备的发送口输出,经传输总线传至与它相连的需要该信息的其他设备的接口。但信息决不能倒流至已规定为发送信息的接口中。在两个通信设备间需要双向传输时,则每个方向上各用一个独立的传输总线。
2、驱动能力
每条总线上可以连接不超过20个的接收器。由于设备较少,信息传递有充裕的时间保证。我们这里使用的429板卡为8通道收发板卡。
3、调制方式
采用双极型归零的三态码方式。这是由“高”、“零”和“低”状态组成的三态调制方式。
4、传输速率
分高低两档,高速工作状态的位速率为100Kb/s。系统低速工作状态的位速率应用在12Kb/s~14.5Kb/s范围内。选定内容后的位速率其误差范围应在1%之内。高速率和低速率不能在同一条传输总线上传输。
5、同步方式
传输的基本单位是字,每个字由32位组成。位同步信息是在双极归零码信号波形中携带着,字同步是以传输同期间至少4位的零电平时间间隔为基准,紧跟该字间隔后要发送的第一位的起点即为新字的起点。
三、ARINC数据字结构
1、BCD码类型
关于ARINC429数据总线上传输的数据字,每个数据字有32位,其使用BNR码和BCD码两种类型,这两种类型的数据字结构相似。一个数据字传输一个参数(如速度、温度等),每个数据字含有如下五个部分如下图1所示(以BCD为例):
图1 ARINC429 BCD基本格式
(1)标志码/Label:(0-7位)对于传输的每一个参数都规定了标号,用以识别是什么信息类型。就是说知道标号就知道所测量或传输的是什么参数。一个数据字中表示标志位有8位,它是以八进制数表示的。
标志码是唯一的。并且其位的顺序与字符顺序相反。如下图2所示整理出了ARINC429数字信息传输的各项信息的单位范围分辨率等。例如标志符201的是DME距离,测量单位是海里,范围从-1—399.99,分辨率为0.01等。
如下图3所示,该数据表示的标志码是201,代表DME距离。
图2 标志码对应的参数信息
图3 标志码的解析
(2)源/目的识别码/SDI:(8-9位)当需要将一些专用字输送到一个多系统的特定系统时,就可以使用SDI来表示数据字的目的地,而SDI也常用语标识数据起源地。当编码为00是表示全部呼叫码,此时表示将该字送到所有的装置。
(3)数据组/Data:(10-28位)该区域表示本次数据字要发送参数的具体内容。如下图4数据区表示的数据室2235,有标志码201可知这个参数是DME距离。小数点的位置由哥参数要求的分辨率决定(DME的分辨率为0.01)。则该数据区表示的DME距离是:2235*0.01=22.35海里。
图4 数据区具体结构
(4)符号状态码/SSM:(29-30位)用于描述某次传输的数据性质。如关于BCD字的特性,方向、符号、数值等均由SSM来识别。SSM也可表明数据发生器硬件的状态,是无效数据还是实验数据等。如下图5表示BCD数据字下SSM代表的特性。
图5 BCD数据字下SSM代表的特性
如果源系统不能向一个功能正常的系统提供可靠数据,则认为发送的是无效数据。无效数据分为无计算数据(NCD)和失效警告两种类型。
因其他系统故障而使源系统不能计算可靠数据的,称为无计算数据。这时SSM为01,源系统通知输出无效。这种情况下系统的指示器上是否出现故障旗则视需要而定。
当系统的监视器检测到一个或多个故障时,称为故障警告。这时源系统便终止向数据总线提供有效数据,并通知其数据无效。
当SSM为10时,则表示源系统在进行功能试验,这时数据或者由功能试验产生或者有指令给出。
(5)奇偶校验位/P:(31位)ARINC429使用奇校验。该校验方式下数据发送器根据当前0-30为的逻辑“1”来决定第31位的逻辑值;使整个32位的逻辑“1”的个数始终是奇数;经过传输后,接收系统在求一次每个字的逻辑“1”的个数,如果仍是奇数则可认为传输有效,否则便认为无效。
2、BNR码类型
BNR字格式——提供了一个比较宽的数值和角度范围。利用BNR字格式进行传输的数据有重量、选定航道、航向、高度、燃油量等。BNR字格式的主要特点就是数据区的最高有效位表示最大值的一般,这个最大值就是ARINC429对每个具体参数规定的范围。
BNR格式基本上与BCD格式相同,只不过数据区的位数稍有变化,即:数据区/Data(10-27位)、符号状态码/SSM(28-30).其余各位均与BCD相同。
这里我们就与BCD码类型有区别的地方说明。
BNR字的数据区由第10到27位组成。最低有效位LSB和最高有效位MSB分别为第10位和第27位。如果传输的信息少于整个数据区则用二进制零或者有效数据填入填充位。例如标志码366代表南北速度参数。ARINC429规定的南北速度的最大值为4096海里/小时。
该BNR字的最高有效位(即27位)就表示4096的一半级2048,第26位表示的值为4096的四分之一,以此类推直至第10位。
如下图6所示,表示的南北速度为:1/4*4096+1/64*4096=1088(海里/小时)
图6 BNR字的数据区
如果数据为负数,则由符号状态码表示其负号(第28位为1),而负数作为正数的补码进行编码。数据组中的二进制码不是真值,要换成原码,即补码逐位求反码再在末尾加1得原码。
对于航向、航道、航迹一类的角度参数在0°~180°范围内按正数编码,在180°~360°范围内则将其换算成相应的负角度数后再进行编码。如270°换算成-90°后再编码。
如下图7所示,假如其表示的参数为总气温(标号211),ARINC规定总气温的最大值为512℃,第28位=1。以上信息可知温度是复制,数据组中是补码的形式,需要逐位求出反码再在末位加1。
图7 BNR字数据区处理负数的方式
按最后得到的二进制码计算温度值,总气温=-512℃(1/32+1/64+1/512+1/1024+1/2048)=-25.75℃。
第二点关于BNR字的符号状态码(SSM),该码由两部分组成,如下图8所示,第一部分是28位,它表明字的性质,如方向、正负等。另外在不需要符号时,第29位也是0。第二部分是第30位和31位,它表明数据发送器硬件的状态,当编码为11时,表示该硬件工作正常。
图8 BNR的符号状态码
当第29位为0,第30位为1时,表示源系统在进行功能校验,这时所发送的数据也是由功能校验提供的。若功能校验期间探测到系统有故障,那么SSM编码就变为00(故障警告)。若计算数据不可靠不是由系统故障造成的,则SSM编码变为01,表示无计算数据(NCD)。当系统监视器探测到一个或几个故障时,SSM编码也为00(故障警告),从而表明输出的BNR字无效。这时系统指示器上出现故障旗。
四、429板卡介绍
1、硬件介绍
本次实现ARINC429数据通讯,采用的板卡为型号为CHRU32808,为PCIe总线,8通道发送、8通道接收,定时发送支持动态消息数据,带隔离。
该板卡具有发送和接收FIFO复位、可设的消息间隔/字间隔和发送次数、接收标号过滤、接收FIFO触发深度可设功能、波特率10K~150Kbps接收发送可分别设置等功能。
该板卡的信号定义如下图9所示,管脚功能描述如图10所示:
图9 CHRU32808连接器引脚定义
图10 CHRU32808管脚功能描述
注意,由于CHRU32808板卡只有8路发送和8路接收通道,因此该板卡对应的n=0~7。
2、软件介绍
我们先以板卡的供应商提供的板卡自带调试软件为例,实现数据的简单通讯过程。本次测试以通道4发、通道3收为例,按照图9的引脚定义可知具体接线是引脚44连接8、43连接7。连接完成后打开板卡自带调试软件,如下图11所示进入到主页面,当左侧通道显示为绿色时代表通道已经打开了(通道3、4),显示为灰色时代表通道是关闭的(通道0、1等)。创建发送数据的步骤是首先在429数据处输入数据,然后点击添加消息,添加完后点击开始发送按钮,最后点击中间的CH[3]通道导航栏切换通道显示界面。
图11 通道4数据发送界面设置
切换后界面如下图12所示,在通道3中点击中间的开始接收按钮,即可接收到通道4发给通道3的数据。这些接收到的数据显示在中间的列表中。
图12 通道3数据接收界面设置
这样就实现了最基本的数据通讯。在这里多说一句,以采集到的数据AA555A01为例,该数据的二进制数据为“1010,1010,0101,0101,0101,1010,0000,0001”。该数据解析采用的格式1进行解析(如图13所示)Label(7-0)——0000,0001表示八进制001;校验位(8)——0;SSM(10-9)——01;SDI(12-11)——11便是上图显示的03;数据位(31-13)——1010,1010,0101,0101,010。
在发送参数处有关于周期和字间隔的设置体现我们在下一篇文章的第六节示波器中进行抓取显示。