基于Qt和ARINC429总线的航电仿真系统设计与实现
2021-05-24王嘉颖杨榛程耀李兴霍凯
王嘉颖 杨榛 程耀 李兴 霍凯
摘要:针对机载雷达研制过程中的实际调试需要,设计了用于模拟机上航电系统数据收发的航电仿真系统;对航电仿真系统的设计过程及ARINC429总线进行介绍,并使用Qt自定义控件开发GUI界面;测试表明,基于Qt自定义控件和ARINC429总线的航电仿真系統性功能有效,满足机载雷达调试过程中的数据模拟需求。
关键词:GUI界面;航电仿真系统;ARINC429总线
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)12-0241-03
对于雷达而言,研制过程中各分系统的通信接口调试是必不可少的,而机载雷达在交付整机前不具备与机上航电设备的实装进行通信接口调试的条件,并且,这些外部输入是雷达正常工作的必要条件,所以,一个能在地面配合雷达处理单元进行通信接口调试,模拟各个外部设备数据收发的航电仿真设备就显得尤为必要。航电设备通常使用ARINC429总线进行信息传输,例如波音737、757和 767系列、空客A310/A320等。本文结合ARINC429总线与Qt自定义控件,设计了一套模拟机载航电设备数据收发的航电仿真系统,测试表明,该系统满足机载雷达研制过程中的外部数据模拟需求。
1 系统设计
航电仿真系统主要用于在雷达交付主机前在实验室环境中为某机载雷达提供输入的测试激励,并验证其输出的状态和数据是否正常。主要工作原理为在加固笔记本的平台下,通过GUI界面进行数据输入并发送给雷达处理单元,完成对雷达的状态和数据的验证。
1.1 系统结构
航电仿真系统可以分为硬件平台和模拟器软件两部分,硬件平台由一台装有ARINC429板卡,配备x86平台和Windows7操作系统的便携式加固机构成,模拟器软件运行于该硬件平台上。航电仿真系统的总体设计如图1所示。
用户在航电仿真系统的模拟器软件中进行输入设置并确认发送,即可模拟出航电系统的惯导、轮载、收放装置、电子自卫信息等数据,并以电信号的形式发送给雷达处理机,还可通过光纤发送敌我识别信息到数据分发设备并通过以太网转发给雷达处理机。航电仿真系统的工作数据流如图2所示。
1.2 系统硬件设计
航电仿真系统硬件采用Intel x86平台运行Windows 7操作系统,集成ARINC429接口、RS422接口,地开信号,422电平信号等。便携式航电仿真系统硬件组成如图3所示。
1.3 系统软件设计
windows 7操作系统为模拟器软件提供了包括系统内核、设备驱动,图形引擎等必要的软件运行环境。针对硬件平台,图形界面开发选用QtCreator集成开发环境及若干封装好的自定义控件进行二次开发。为了方便后期维护,模拟器软件采用自顶向下的设计方法。
航电仿真系统模拟器软件的主要功能如图4所示,包含3个功能模块:
(1)参数设置及发送模块:用于模拟不同航电分系统数据,在GUI界面设置制定参数后,通过模型进行计算后动态加载参数并分别通过网口、ARINC429总线发送出去,实现参数动态模拟效果。
(2)数据接收:通过建立QTimer定时器进行定周期查询,通过RS422串口查询接收雷达处理单元状态信息。
(3)数据处理与显示:对接收到的数据进行解析处理后周期性刷新读取,在GUI界面上指定位置显示。
2 关键技术
作为一个模拟器软件,主要实现数据的接收和发送,所以,通信功能必然是它的核心部分。与此同时,为了界面美观,采用Qt自定义控件库进行图形界面开发也是本系统的关键技术之一。
2.1 通信模块设计
为了满足可靠性要求,航电系统一般采用ARINC429总线进行数字信息传输,本节具体讨论ARINC429总线通信模块的设计与实现。
2.1.1 ARINC429总线
航空电子设备之间的信息传输具有高可靠性的要求,因此采用单工的ARINC429总线进行数字信息传输。ARINC429总线的最显著特点就是单向传输,信息只能从发送端流往接收端,决不允许信息倒流,而且发送端只能有一个,接收端可以有多个。
ARINC429总线的基本信息单元是一个32位的数字字,主要包括5个部分:
(1)标号位(LABEL):第1~8位,用于标识传输的参数,标号位的发送顺序为倒序发送,先发送高位再发送低位,即依次发送位8、7、6、5、4、3、2、1。
(2)源/目的识别位(SD):第9~10位,用于识别源/目的,因为在多系统中可能有多个源和目的。
(3)数据区(DATA):第11~29位,用于传输数据,如为有符号数,则第29位为符号位,否则,全部为数据位。
(4)符号/状态位(SSM):第30~31位,用于标识数据字的一些特性,例如方向、符号等。
(5)奇偶校验位(P):第32位,用于奇偶校验。
ARINC429总线传输字的典型使用格式如图5所示。它的数据类型有BCD码、BNR码、离散数据、维修数据和国际化标准组织字母第5号特性数据。
2.1.2 Qt下的ARINC429数据发送
航电仿真系统中的模拟器软件使用ARINC429总线将模拟的惯导数据发送给雷达处理单元,通过信号与槽机制,当用户输入惯导数据后敲回车即可调用封装好的ARINC429总线的驱动库,发送信息。ARINC429总线的驱动模块主要包括以下几个核心函数:
(1)CAV_L1_A429_RX_Channel_Init() 初始化RX通道;
(2)CAV_L1_A429_RX_Channel_Start() 启动RX通道;
(3)CAV_L1_A429_TX_Channel_Init() 初始化TX通道;
(4)CAV_L1_A429_TX_Channel_CB_TXPAllocate() 分配TXCB和TXP;
(5)CAV_L1_A429_TX_Channel_CB_Write() 寫TXCB;
(6)CAV_L1_A429_TX_Channel_CB_TXPWrite() 写TXP;
(7)CAV_L1_A429_TX_Channel_Start() 启动TX通道;
(8)CAV_L1_A429_TX_Channel_Stop() 停止TX通道;
(9)CAV_L1_A429_TX_Channel_Close() 关闭TX通道;
以上函数顺序调用,即可完成由ARINC429板卡发送出模拟数据到雷达处理单元。
2.2 Qt自定义控件
使用Qt自定义控件开发GUI界面,简单美观,有统一的样式色调风格,如图6所示。将封装好的自定义控件库添加到Qt安装路径下的bin目录中,并将其添加在QtCreator的安装目录下的include目录下,即可在QtDesigner中通过拖拽控件完成界面设计。Qt的信号与槽和事件驱动机制能够高效地对界面操作、鼠标、键盘事件做出响应。
3 系统验证
完成航电仿真系统的模拟器软件后,将可执行程序及其动态链接库打包,移植到硬件平台上运行。通过GUI界面设置参数,模拟惯导数据并发送至雷达处理单元,如图7所示,模拟器软件运行并设置发送数据后的控制台打印信息正常,雷达处理单元成功收到模拟的惯导数据,说明航电仿真系统与雷达处理单元可以实现有效的信息交互,证明了航电仿真系统设计与实现的正确性。
4 结论
本文设计实现了基于Qt自定义控件和ARINC429总线的航电仿真系统,可以在研制过程中为雷达处理单元提供模拟的航电系统数据,并且能够验证雷达处理单元输出的状态和数据是否正常,有效满足了机载雷达调试中的数据模拟需求。
参考文献:
[1] 石韵,郑明.基于嵌入式系统的雷达显控终端设计与实现[J].信息化研究,2017,43(4):46-53.
[2] 李朝凤,姚静波,辛朝军.基于麒麟操作系统的运载火箭地面测试系统设计[J].计算机测量与控制,2018,26(1):11-13,46.
[3] 杜智远,武心安.面向显控领域的软件框架设计及应用[J].指挥控制与仿真,2015,37(6):100-104.
【通联编辑:梁书】