基于VxWorks 系统的航电激励器设计与实现

航电激励器在民用飞机航电系统半物理仿真平台中起着至关重要的作用。在航电系统开发过程中,航电激励器向航电仿真设备提供的激励数据是进行航电系统仿真验证的基础,所以在航电激励数据的获取和处理中,航电激励器的设计与实现是极其重要的一个环节。该文基于 VxWorks 系统设计一款航电激励器,对航电激励器进行总体设计,从激励数据获取模块、激励数据转换模块等方面进行研究,完成软件设计以及硬件平台搭建。通过对设计的航电激励器进行仿真验证,实现飞机模拟飞行数据的获取以及航电系统中 ARINC429 总线数据和AFDX 总线数据的相互转换,使得激励数据在传输过程中具有良好的实时性。

航空电子系统是指飞机上所有电子系统的总和,其仿真验证在航电系统的设计与研发过程中起着重要的作用,对航电系统进行仿真验证,可以有效地降低航电系统集成过程中存在的风险和成本,缩短开发周期。在进行各种仿真验证时,需要航电激励器向仿真组件提供激励信号,所以航电激励器提供的激励信号的准确性和稳定性将对仿真验证的结果产生直接影响。

目前,航电激励器主要是基于Windows 系统开发的,在数据传输的实时性、可靠性等方面略显不足,并且在向仿真组件提供激励信号时,常出现数据的延时、丢包等问题。VxWorks 系统采用优先级抢占和轮转调度的任务调度机制,具有良好的实时性。基于VxWorks系统开发的航电激励器可以很好地解决Windows 系统下开发的航电激励器所存在的不足。因此本文设计一款基于VxWorks 系统的航电激励器,能够为航电系统提供具有实时性、可靠性的激励信号。

航电激励器总体设计

本文设计的航电激励器由软件和硬件两部分构成。软件部分主要包括激励数据获取模块和数据转换模块。其中,激励数据获取模块通过以太网接收飞机模拟飞行过程中的飞行数据,这些数据包括飞机的位置、姿态、通信导航系统的工作频率等参数。航电激励器数据转换模块主要实现AFDX 总线数据、ARINC429 总线数据的编解码,完成ARINC429 总线数据与AFDX 总线数据相互转化,并向各航电仿真组件传输激励数据。AFDX 数据总线协议见文献[4],ARINC429 总线协议见文献[5]。硬件部分主要完成VxWorks 系统在MPC8270 上的移植,建立硬件开发平台。航电激励器总体设计如图1所示。

航电激励器总体设计

图1 航电激励器总体设计

航电激励器的软件设计

激励数据获取模块

从实际应用的角度出发,激励数据获取模块所获取的激励数据主要来源于飞行仿真软件中的飞行数据,通过激励数据获取模块实现激励数据获取模块与飞行仿真软件的内存共享,从而实现飞行数据的实时获取。

通过以太网发送的飞行数据格式是基于UDP 数据包格式,数据获取模块接收到1 帧数据包后,首先对该数据包的帧头进行判断,其次判断数据帧校验位的正确与否,然后对校验位正确的数据包进行确定报文类型并解析出报文所包含的信息。通过设计ARINC429 总线数据字编码的接口函数,调用ARINC429 数据字编码接口,对将UDP 格式的数据包解码后的飞行数据信息进行编码得到激励数据对应的ARINC429 数据字,确定周期和通道后将该ARINC429 数据字输出到航电仿真组件。激励数据获取流程如图2 所示。

激励数据转换模块

AFDX 总线凭借着卓越的传输效率以及高可靠性等特点,广泛地应用于B-787、A380 等先进机型中。目前,航电系统主干网络通常采用AFDX 总线将机载各个子系统连接成一个高效可靠的整体,而飞机很多子系统仍采用比较成熟的ARINC429 总线。因此,本文设计航电激励器的数据转换模块,实现AFDX 总线激励信号与ARINC429 总线激励信号之间的相互转换。上述两种数据格式总线信号的相互转换是互为逆过程,本节将通过设计航电激励器收发ARINC429 总线数据字对应的AFDX 总线数据包,从而实现总线数据间的编码转换。

激励数据获取流程

图2 激励数据获取流程

对AFDX 总线数据进行分析,将AFDX 总线报文设计成可由多个“消息”(Message)拼接而成的通用格式。AFDX 总线中的每条“消息”都分为三个部分,便于将ARINC429 总线的数据字结构填入AFDX 数据帧结构中。MsgType 指的是对消息类型的编码;LengthInBytes是表示PayLoad 字段的长度;PayLoad 是AFDX 总线的承载内容。PayLoad 长度是可变的,其具体承载的信息格式由MsgType 的值决定。AFDX 总线报文中消息的通用格式如图3 所示。

AFDX 总线报文中消息的通用格式

图3 AFDX 总线报文中消息的通用格式

硬件平台设计

VxWorks 系统为开发者提供大量板级支持包BSP(Board Support Packet),便于简化BSP 移植工作。在进行BSP 移植之前,需要根据CPU 型号选择相应BSP 包,同时参考硬件数据调整BSP 相关配置信息。在完成BSP 配置后,建立新的VxWorks Image Project 工程,同时创建映像所需的文件。

ARINC429 总线数据转换为AFDX 数据包

图4 ARINC429 总线数据转换为AFDX 数据包

VxWorks 模块是根据目标板卡的性能需求完成VxWorks 系统内核模块的配置。VxWorks 系统映像经编译生成后,对FTP 环境进行调试。通过运行Workbench 3.3 中的FTP Server,完成FTP 环境中的用户信息配置。完成以上配置后,将VxWorks 映像下载至目标板卡MPC8270 运行。至此完成VxWorks 系统平台的搭建。

航电激励器的仿真与测试

在航电激励器的功能实现之后需要对航电激励器进行验证测试,主要针对航电激励器所能提供的航电激励信号进行测试,即ARINC429 总线激励信号、AFDX 总线激励信号以及激励信号实时性测试。

ARINC429 总线激励信号数据测试

航电激励器对接收到的ARINC429 总线激励信号进行数据符合性测试。在飞行数据中获取其中5 种激励数据进行测试,如表1 所示。将航电激励器的一条ARINC429 输出通道连接到ARINC429 总线分析仪,将表1 中激励数据统一设置发送周期为200 ms,输出到ARINC429 总线分析仪。总线分析仪所显示的激励数据如图5 所示。

表1 激励参量取值

Parameter

ARINC429 总线分析仪显示的数据

图5 ARINC429 总线分析仪显示的数据

将表1 数据信息与图5 显示结果进行对比,结果显示二者所包含的数据信息一致,航电激励器输出的ARINC429 总线激励信号满足数据符合性要求。

AFDX 总线激励信号数据测试

激励数据获取模块选择飞行仿真软件中模拟飞机的VOR1 频率飞行数据进行验证,激励数据VOR1 频率的相关信息如表2 所示。航电激励器将AFDX 总线激励信号通过AFDX 板卡发送至交换机,通过Wireshark 抓取AFDX 数据包,对应抓取数据包为十六进制数:3800DC84,结果如图6 所示。通过对比验证,航电激励器输出的AFDX 总线激励信号中的数据信息与ARINC429 负载数据一致,航电激励器实现了ARINC429 总线激励信号转化为AFDX 信号的预期功能。

表2 航电激励器输出AFDX 信号配置信息

AFDX

VOR1 frequency data pkg

图6 VOR1 频率数据包

激励信号实时性测试

本文依靠VxWorks 系统的独特优势保证数据获取的实时性。“实时”并不意味着是“快”,而是指系统响应的时间确定性。时间确定性具体体现为航电激励器能否完全按照规定周期对激励信号进行收发。首先基于VxWorks 系统下的航电激励器对ARINC429 总线激励信号进行输出,配置输出数据信息如表3 所示。

表3 输出ARINC429 总线信号配置信息

输出ARINC429 总线信号配置信息

配置信息完成后,在低速(12.5 Kb/s)模式下,航电激励器输出ARINC429 总线激励信号,通过示波器对ARINC429 的8 号输出通道进行测试。同理,利用Windows 系统下的航电激励器完成表3 配置数据的发送,测试出每对相邻波形起始点间的时间间隔,测试结果如表4 所示。

经测试验证,基于VxWorks 系统的航电激励器输出的2 组连续信号波形时间间隔与设定发送周期相同,为精确的30.00 ms,没有产生抖动延迟。然而Windows 系统下航电激励器在进行激励信号的周期性发送时,连续的两个信号间的时间间隔容易产生时间抖动,每组波形间的时间延迟在1 ms 以上。综上所述,基于VxWorks系统的航电激励器在时间确定性效果方面更能满足航电系统仿真验证的高实时性需求。

表4 单通道时间确定性测试结果 ms

AFDX

结 论

本文基于VxWorks 系统,以MPC8270 为目标平台,提出航电激励器的总体设计方案并进行详细设计,最终实现AFDX 总线数据与ARINC429 总线数据的相互转换,为实际的航电仿真系统提供良好的激励数据。通过仿真测试表明所设计的航电激励器达到预期效果。

(本文来源于《现代电子技术》,作者:孙毅刚,迟文强,作者单位:中国民航大学航空工程学院)

全文下载地址: 基于VxWorks系统的航电激励器设计与实现