基于ARM 的DITS 总线分析仪的开发研究
2021-03-23王国梁于洪轩徐慧章罗思宇
王国梁 于洪轩 徐慧章 罗思宇
(中国民航大学电子信息与自动化学院,天津300300)
DITS(Digital Information Transfer System)总线,又名数字信息传输系统,其中DITS 总线是专为航空电子系统通信制定的航空工业标准,是目前航空电子设备最常用的数字接口之一。在飞机的飞行过程中,许多飞行信息(如飞行高度、速度、航向等)都是通过DITS 总线进行数据传输。在本科飞机电子系统实践课程中的飞机导航实习环节中,需要使用示波器对VOR/ILS教学测试系统输出的DITS 数据进行观察,然后手动计算得到传输数据,观察和计算的过程繁琐且耗费时间。而目前市场上成熟的总线分析仪成本太高,难以满足我校学生实践课程需求。因此设计并开发了以ARM 处理器为控制核心的DITS 总线分析仪,能够对VOR/ILS 教学测试系统输出的信号进行解码显示,并且可以根据需求进行拓展,实现其它通用解码器的功能。
1 DITS 总线
DITS 总线又名ARINC429 总线,其数据传输方式为串行单向传输数据数字信息。在DITS 总线上传输的数字信息称为数据字,数据字规定有两种编码方式为二-十进制编码(BCD)或二进制编码(BNR)。
每一个数据字有32 位,每一位在示波器上显示的波形为一个双极回零脉冲,一个数据字传输和一个飞行参数。数据字的格式如表1、表2 所示。
从表1 和表2 可以看出数据字的格式包含有5 个部分,1-8 位为标志码(label),每一个传输的参数都有对应的标志码,标识码有8 位并且分成三段,范围是0-377,如034 为预选航道。9-10 位为源/目的地识别码(SDI),它可以指示信息的来源或信息传送的终端,若格式为00 代表全部呼叫码,则将字送到所有装置,01、10、11 分别为信息来自或信息传送到装置1、装置2、装置3。
11-29 位(BCD 编码) 或11-28 位(BNR 编码) 为数据区(DATA),在BCD 码格式下,数据区分为五段,将每一段进行二-十进制转换就可以得到数据,再根据各个参数要求的分辨率决定数据小数点的位置,在BNR 码格式下,数据区由最高位向最低位依次递减一半,根据所传参数应有的最大值来得到数据,如所传参数为马赫数,数据区28-11 位显示为001101000000100000,最大马赫数为4.096,则所传数据信息为马赫数=4.096(1/8+1/16+1/64+1/8192)=0.8325。30-31 位(BCD编码)或29-31 位(BNR 编码)为符号状态码(SSM),29 位(BNR编码)代表数据字的性质,如方向、正负,30-31 位代表数据发送器硬件的状态,当为11 时代表硬件正常工作。32 位为奇偶校验位(PAR),用来检查发送数据是否有效,当1-31 位1 的个数为偶数时,则其为1,反之为0。
2 系统设计
DITS 总线分析仪所接收到的DITS 信号来自VOR/ILS 教学测试系统,但是ARM 处理器并不能直接处理接收到的信号,必须对信号进行解码、转换之后才能够将信号传送到ARM 处理器。然后,ARM 处理器根据429 协议得到工程值,再根据我们的实际需求将得到的32 位二进制信号和工程值显示到TFT 触摸屏上。所以基于ARM 的DITS 总线分析仪的开发由接收解码电路、ARM 处理器、TFT 触摸屏和电源电路组成。系统硬件框图由图1 所示:
表1 数据字BCD 格式
表2 数据字BNR 格式
图1 系统硬件框图
接收解码电路包含有信号接收端口和DEI1016 芯片,信号接收端口接收VOR/ILS 教学测试系统发送的DITS 信号,将其输入到DEI1016 芯片,DEI1016 芯片为ARINC429 协议芯片,可以进行DITS 信号的接收发送。芯片接收到信号之后可以将其转换为32 位的二进制信号并且通过芯片上引脚的高低电平来表示二进制信号里的1 和0。这些引脚与ARM 处理器上的引脚连接可以将转换好的二进制信号传送给ARM 处理器进行处理。
ARM 处理器是系统的控制核心,其可以进行编程来实现对接收信号的处理。当其接收到来自接收解码电路的二进制信号之后,通过与运算将二进制信号转换为工程值。并且将二进制信号和工程值转换为TFT 触摸屏信号,使TFT 触摸屏显示接收到的数据。
TFT 屏幕主要用来显示DITS 总线分析仪处理接收到的DITS 信号的结果,从而供人对数据进行判别分析。
电源模块用以实现系统各模块的供电,将锂电池的电压转换成各个模块所能够正常工作的电压,配和各个模块实现系统功能。
3 系统测试
系统设计开发完成后,为验证系统的有效性和信号的准确性,对DITS 总线分析仪采用如下测试方案:
测试环境采用实验室现有的甚高频导航组件教学测试系统输出的DITS 数据,首先使用示波器对输出数据进行观察并进行人工译码,然后使用DITS 总线分析仪对数据进行自动译码,对译码结果进行比对以确认译码的正确性。篇幅限制,测试选取了VOR 测试涉及到的label 进行。
3.1 测试步骤1
选取标志码(label)为222 的DITS 数据,分别调整源/目的地识别码(SDI)的输出,检查输出波形和DITS 总线分析仪的输出结果是否一致。标志码(label)222 代表的飞行参数为VOR角度,数据区(data)采用BNR 格式。
SDI:00
图2 SDI 为00 示波器波形与测试结果
SDI:01
图3 SDI 为01 示波器波形与测试结果
SDI:10
图4 SDI 为10 示波器波形与测试结果
SDI:11
图5 SDI 为11 示波器波形与测试结果
以上四个波形的前八位是均是10010010,按照10 010 010的规律,得到label 为222;SDI 即第9 位和第10 位,从波形数据中可以得出,SDI 的值分别是00、01、10、11,DITS 总线分析仪的输出结果和预设值一致。
3.2 测试步骤2
对输出标志码(label)为024、027、034、100、110 的数据进行译码,检查DITS 总线分析仪的输出结果是否正确。024、027、034为BCD 格式,其中024、027 表示预选航道,034 表示VOR 频率;100、110 为BNR 格式,100、110 表示预选航道。
034
图6 label 为034 示波器波形与测试结果
前八位是00011100,按照00 011 100 的规律,得到label 是034;BIN:0001000000000000000 即29 位到11 位的数据区,label为034 的频率的分辨率为0.001MHZ,因此按照000 1000 0000 0000 0000 的 规 律 , 可 以 得 出 频 率 为100+8+0.0+0.00+0.000MHZ=108.00MHZ。
024
图7 label 为024 示波器波形与测试结果
前八位是00010100,按照00 010 100 的规律,得到label 是024;BIN:000 0000 0000 0000 0000 即29 位到11 位的数据区全是零,所以预选航道角度为0°。
027
图8 label 为027 示波器波形与测试结果
前八位是00010111,按照00 010 111 的规律,得到label 是027;BIN:000 0000 0000 0000 0000 即29 位到11 位的数据区全是零,所以预选航道角度为0°。
100
图9 label 为100 示波器波形与测试结果
前八位是01000000,按照01 000 000 的规律,得到label 是100;BIN:000 0000 0000 0000 0000 即29 位到11 位的数据区均为零,所以预选航道角度为0°。
110
图10 label 为110 示波器波形与测试结果
前八位是01001000,按照01 001 000 的规律,得到label 是110;BIN:000 0000 0000 0000 0000 即29 位到11 位的数据区均为零,所以预选航道角度为0°。
以上测试示波器观察到波形数据和DITS 总线分析仪的输出结果一致,达到了DITS 总线分析仪的设计目标。
4 结论
本文在我校实验室现有环境下,设计并开发了以ARM 处理器为控制核心的DITS 总线分析仪。经过实验室现有的甚高频导航组件教学测试系统以及示波器的测试,证明了分析仪能够对VOR/ILS 教学测试系统输出的信号进行解码显示,可用于本科飞机电子系统实践课程中的飞机导航实习环节,积累了有关总线数据传输的经验。后期计划对分析仪进行升级,使其真正能够为我国民航事业贡献力量。