• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 电子设计 > 电源技术 > 电源技术 > 一种多通道ARINC429总线收发容错方法的研究

一种多通道ARINC429总线收发容错方法的研究

录入:edatop.com    点击:

摘要:针对目前ARINC429航空总线的研究情况,采用SoPC技术设计多通道ARINC429总线收发装置,解决了目前使用常规芯片导致的系统复杂,使用不便,价格昂贵的缺点。在需要多通道数据收发的场合中,能够有效降低系统的复杂度,提高系统配置的灵活性。另外,在接收过程中研究了改进型倍频容错数据采集方法,首次将其应用于ARINC429航空总线,实验证明该方法能够大大提高数据接收的准确性和可靠性。
关键词:ARINC429;SoPC;倍频容错;收发装置

在现代飞机上,系统与系统之间,系统与部件之间需要通过总线传输大量信息。ARINC429总线是美国无线电公司制定的一种串行标准,是基于Mark33数字信息传输系统(Digital Information Transfer System,DITS)的单向数据总线标准,是专为航空电子系统通信规定的航空工业标准。它详细规划了航空电子系统中各个电子设备之间及电子设备和系统之间的通信方式。由于其数据资源丰富,数据精度高,现已广泛应用于波音、空客,中小型的直升机中。它规定了航空器电子系统生产厂家对部件、通用设计、结构及试验规范的要求,使那些影响系统互换性和电气特性达到最大程度的标准化。

1 常见的ARINC429协议芯片
目前常规的ARINC429总线通信的接口设计都是采用DEI1016,HS3282等专用芯片。这些芯片的数据格式固定,数据收发过程中需要额外的数据转换,使用起来不够灵活方便。而且价格昂贵,通道数较少,在实现多通道收发时,不仅增大了系统的体积和复杂度,而且成本极高。
几种常见的ARINC429协议芯片如表1所示。

a.JPG


当前可编程逻辑器件发展迅速,利用SoPC技术设计ARINC429总线接口芯片可以克服以上的不足,同时极大地降低了系统成本,使用更加灵活,可以根据应用环境进行更改相应的系统配置,无需重新设计硬件系统。

2 ARINC429发送模块设计
ARINC429发送模块主要功能是能够按照两种不同速率100 Kb/s和12.5 Kb/s发送标准的32位双极归零码,并在字与字之间自动产生4位空白。
2.1 电平转换电路
由于ARINC429总线采用双极归零码的方式传输数据,对于单根传输线而言,有5 V,0 V,-5 V三种电平。而FPGA只能发出电平是3.3 V和0 V,所以对FPGA产生的信号要加一个电平转换电路,当FPGA输出的两根数据线压差为3.3 V时,转换成一根线为5 V另一根线为-5 V;当压差为0时不变。电平转换电路如图1所示。

b.JPG


2.2 发送模块状态转换
发送模块主要有5个输入端口和3个输出端口,输入端口包括:时钟clk_800 kHz、复位rst_n、发送使能en_tr、待发送数据indata、发送速率speed,输出端口主要包括:发送标志busy_tr、ARINC429总线busa_o和busb_o。
发送模块主要有3个状态:空闲、发送数据、发送时钟。当发送模块处于空闲状态时,只要发送使能信号en_tr为1,则说明有需要发送的信号,跳转至发送数据状态。由于ARINC429总线每一位前半个周期为数据,后半个周期为时钟,所以发送数据和发送时钟这两个状态构成了每一位的发送过程,两个状态不断交替,SoPC系统设计中发送模块状态转移图如图2所示。

c.JPG


[p]
3 ARINC429总线接收模块设计
ARINC429总线接收模块,要实现能自动识别两种速率100 Kb/s和12.5 Kb/s,并对数据进行校验。
3.1 电平转换电路
和发送模块类似,接收模块在接收信号之前,也要进行电平转换,将信号转换成FPGA能识别的电平,ARINC429接收模块电平转换电路图如图3所示。

d.JPG


3.2 接收状态转换
接收模块主要有5个输入端口和2个输出端口,输入端口分别为:时钟clk_800khz、复位rst_n、校验方式set_od、ARINC429总线busa和busb,输出端口包括:输出数据outdata、输出使能done_rec。
接收模块主要包括两个状态:空闲和接收。在空闲状态时,ARINC429总线上没有数据传输时,两根线busa和busb都为逻辑“0”,即clk_429=0时,说明有数据到来,转到发送状态。
在接收状态时,接收数据并移入移位寄存器,当有连续4个周期busa和busb都为0,即clk_429=1时,表示接收完成,转到空闲状态。然而,在传送最后一位数据时还有半个位周期clk_429=0,所以实际上是连续4.5个位周期如图4所示。由于ARINC429总线有两种发送速率即12.5 Kb/s和100 Kb/s,所以不同速率时的4个周期的时间也不一样,而且传输数据时每一位都有半个位周期是时钟周期,因此需列出不同速率和周期对应的时长。本设计的时钟选取为800 kHz,表2为此时钟下的计数值。

e.JPG


从表2中可以看出,在100 Kb/s速率下4个位周期的计数值为32,而12.5 Kb/s时为256,所以无论任何速率当计数值为32时可认为是当前传输结束。但是,12.5 Kb/s速率时的半个位周期的计数值也为32,会出现错误。所以,选择33为传输结束的计数值。[p]
3.3 信号调理
接收模块接收到的ARINC429信号去掉了负电平,如图5中的busa和busb。对每一位信号,前半个位周期为数据周期,若busa为“1”且bush为“0”,则所要表达的数据为“1”,反之为“0”。后半个位周期为时钟周期,busa和busb均为“0”。所以,通过将busa和busb进行或非运算,如图中clk_429,在前半个位周期(数据)时为“0”,在后半个位周期(时钟)为“1”。从而提取出了时钟,并以此接收数据。同时,在每一位前半个周期提取出数据,在后半个周期锁存上半个周期数据,得到数据信号bus_d。从信号调理仿真图中可以看出,在每个时
钟信号clk_429的上升沿触发时,可以从bus_d中采集到相应的数据信号。

f.JPG


3.4 校验
校验主要包括奇偶校验和字校验。奇偶校验主要是将所有数据逐位异或,再根据校验方式将异或结果和校验位相比较。
由于ARINC429总线的时钟、数据和字同步信息都由两个差分的信号线来表达,当出现干扰时会使时钟混乱,而字校验则是校验传输中是否有干扰,使传输的数据混乱。

g.JPG


如图6所示,在busa的数据周期出现了干扰信号,导致通过busa运算得到的时钟clk_429也出现了错误,在错误处插入了一位数据,并使后面的数据全部移位。而这种情况,有可能无法被奇偶校验检验出来,则需要通过位检验来检验出来。
位校验是通过校验一个周期的时间是否正确,来判断是否出现干扰信号。位校验信号onebit在接收模块空闲时置0,当busa或busb上升沿到来时取反,并计数其为1时的时间。表2中列出了1位周期的计数值,考虑到传输误差,当计数值满足条件:cnt_one∈|x|7≤x≤9或63≤x ≤65}时,传输无误,反之则视为错误数据,将位错误标志位wrongbit置1,在接收完成后将此数据舍掉。

4 倍频容错的自适应速率接收方法
在前面提出的数据接收方法中,如遇到干扰信号,经位检测检测到后,则把该数据舍去。虽然保证了数据传输的正确性,但无法保证数据的有效传输,需要多次反复传输,来确保把所需传输的数据都传输到接收方。干扰信号无处不在,无法在根本杜绝,但是却可以通过算法来修正错误的数据。
这里使用的容错数据接收方法,电平转换电路、端口定义和状态转换都与以上的方法相同,但不采用ARINC429总线提供的时钟采集数据,而是对ARINC429总线的两根信号线分别进行8倍频的采样。通过检测中前4次时钟周期的平均值来计算出数据的传输速率,对后面的数据选择相应的接收频率来接收。对于每一根信号线,当每一位采样得到的数据不一致时,即由于干扰导致产生波动时,采用投票的方式表决;
再将两根信号线的信息进行综合比对,纠正错误信号;如还有错误位,且只有1位错误,则运用校验位信息计算出该错误位的实际信息,否则才舍掉此数据。
4.1 传输速率自动识别
普通的ARINC429接收模块设计中没有检测传输速率,是因为无需通过传输速率来识别数据传输结束时的四位时钟周期。而本文所介绍的方法,则需通过速率来选择采样频率。当传输速率为100 Kb/s时,用800 kHz的时钟采样;当传输速率为12.5 Kb/s时,为使时钟统一采用800 kHz的时钟,但用计数器计数,计数值为8才采样一次,以实现100 kHz采样。
在接收模块处于接收状态时,累加前4个周期时钟周期,即busa和busb均为0的周期的计数值,然后将此累加和除以4,即右移2位,从而计算出了前4个时钟周期的平均值,并据此计算出速率。因此,在前4个周期,用800 kHz的时钟采样。计算出传送速率后,若为12.5Kb/s,则切换为100 kHz采样时钟。
4.2 采样数据处理
采用8倍频对信号进行采样,这样对每一位而言,前半个周期的数据采样了4次,后半个周期的归零时钟也采样了4次。将对数据采样4次得到的4个数据进行对比,若4个数据一致,则传输无错误;若4个数据有3个一样,则采用投票的方式,采信3个一样的数据;若两个数据为0,而另两个数据为1,则无法判断此位数据的值,记为错误位。
由于ARINC429总线采用差分方式传输,即同时接收到两组数据。可同时对这两组数据做位检测,并对其进行综合判断。
若经位检测,测得A线为1,B线为z,则B线实际为0,即逻辑“1”;因为A线为1时,B线只能为0,来表达逻辑“1”,A、B线均为1的情况不存在。同理,测得A线为z,B线为1,则A线实际为0,即逻辑“0”。然而,若A或B线中,一个为0,另一个为z,则无法判断其值;因为A、B线同时为0的情况存在,表示的是时钟,只能将其记为错误位,如表3所示。

i.JPG


由于在采样时,既得到了数据,也得到了时钟,所以在对A、B线进行综合判断之后,需将时钟信息去除掉,即将A、B线均为0的为去掉。然后判断所得数据是否有错误位(z),以及错误位的数量。若错误位只有一位,则可通过其他位和奇偶校验位,推算出该位的实际信息;若错误位不止一位,则无法推算出实际信息,只能将此数据字舍掉;若无错误位,则进行奇偶校验。通过PC端软件控制ARINC429板卡,进行多个通道的收发测试,如图7所示。

h.JPG



5 结语
实验证明,使用本文论述的方法能够自动识别传输ARINC429总线速率,在多通道通信过程中,充分发挥了SoPC系统实时性和并行数据处理的优势,在民用航空电子设备的设计和研究中能够可靠地进行数据传输,降低航空电子行业在测试设备方面的成本投入。

射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...

天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...

上一篇:深海海底边界层原位监测中电源管理系统的设计
下一篇:太阳能电池和电池板测试方案( )

射频和天线工程师培训课程详情>>

  网站地图