4. 航电平台测试环境搭建
航电实时计算平台的测试环境不是一台电脑加几根线,而是一套“宿主机开发—目标机运行—仿真环境补全—总线与IO接入—台架集成”的闭环系统。它的核心矛盾在于:真实航电设备昂贵、稀缺、危险,而平台软件又必须在接近真实的时序、总线负载和IO激励下被验证。因此,测试环境搭建的本质,是用可控的仿真与模拟手段,替代或补充真实设备,使目标机上的实时软件能够在可观测、可注入、可复现的条件下运行。
一、宿主机与目标机的分工
宿主机通常是一台通用PC或工作站,承担代码编辑、交叉编译、调试符号管理、测试脚本编写、数据记录与分析等任务;目标机则是航电平台实际运行的硬件,可能是PowerPC、ARM或DSP架构的嵌入式板卡,运行实时操作系统(如VxWorks、天脉、ReWorks等)。两者之间通过以太网、串口或JTAG连接。宿主机上安装交叉编译工具链,例如针对PowerPC的powerpc-wrs-vxworks-gcc,编译产物通过FTP或TFTP下载到目标机。
一个典型的连接配置如下:宿主机IP设为192.168.1.100,目标机IP为192.168.1.200,子网掩码255.255.255.0。宿主机运行TFTP服务,目标机BootROM通过boot device参数从宿主机加载VxWorks镜像。调试时,宿主机上的Workbench或GDB通过WDB协议连接目标机,设置断点、查看内存、读取任务状态。这里的关键是:宿主机负责“可观测性”,目标机负责“真实性”,两者不能互相替代。
二、仿真环境:用软件替代缺失的硬件
当目标机需要与尚未到货或不便频繁使用的航电设备交互时,仿真环境就派上用场。仿真环境一般运行在宿主机或独立的仿真计算机上,通过反射内存、以太网或总线接口卡与目标机连接。它模拟三类对象:传感器数据源、执行机构响应、以及系统级行为。
以大气数据计算机仿真为例,仿真软件按20ms周期生成高度、空速、攻角等参数,通过ARINC 429总线发送给目标机。目标机上的航电软件读取这些数据,解算后输出舵面控制指令,仿真环境再接收指令并更新飞机模型状态。这样形成一个闭环:目标机以为自己在和真实大气机对话,实际上对面是数学模型。仿真步长、数据更新率和传输延迟必须与真实系统一致,否则测试结论会失真。
三、总线仿真:ARINC 429、1553B与AFDX
航电总线是测试环境中最容易出问题的环节。不同总线协议需要不同的仿真策略。ARINC 429是单向广播总线,速率有12.5kbps和100kbps两种,字长32位。仿真时通常使用PCI或PXI接口的429板卡,配置发送通道和接收通道,设置标签(Label)、SDI和SSM位。例如,标签203表示气压高度,SSM为11表示正常数据。测试中要故意注入SSM为00的故障字,观察目标机是否进入降级模式。
MIL-STD-1553B是命令/响应式双冗余总线,仿真需要模拟总线控制器(BC)或远程终端(RT)。BC按消息帧调度,每条消息包含命令字、数据字和状态字。仿真软件要能设置RT地址、子地址、发送/接收方向,并监控响应时间是否超过4μs至12μs的窗口。AFDX则基于以太网,使用虚拟链路(VL)和带宽分配间隔(BAG),仿真重点是VL配置、冗余管理和完整性检查。总线仿真的核心不是“能通”,而是“时序正确、故障可注入、数据可追溯”。
四、IO接口模拟:离散量、模拟量与特殊接口
航电平台除了总线,还有大量离散量输入输出(DIO)、模拟量输入输出(AIO)和特殊接口。离散量模拟通常用继电器板卡或光耦板卡实现,例如模拟起落架收放开关:闭合表示“放下”,断开表示“收起”。测试时要验证目标机在开关抖动时的去抖逻辑,比如连续3个周期(15ms)状态一致才确认。模拟量模拟则用DAC/ADC板卡,输出0~5V或4~20mA信号,模拟温度、压力传感器。例如,输出2.5V表示25℃的铂电阻信号,目标机采集后应显示25℃±0.5℃。
特殊接口如RS-422、CAN、FlexRay,需要专用板卡和协议栈。以CAN为例,仿真节点要配置波特率(如500kbps)、报文ID和周期。测试中可注入总线关闭(Bus Off)故障,观察目标机是否在100ms内恢复。IO模拟的关键是“电气特性一致、时序可控、故障可注入”,否则测试结果没有意义。
五、测试台架集成:从散件到系统
台架集成是把宿主机、目标机、仿真环境、总线板卡、IO板卡、真实LRU和电源系统组装到一个物理或半物理平台上。集成顺序建议从电源和地线开始,再连接总线,最后接入IO和真实设备。电源要区分28V直流主电源和115V交流电源,并监测电流和电压。接地要采用单点接地,避免地环路干扰。
集成后必须做三项基础检查:一是总线通信检查,用总线分析仪确认所有消息周期和内容正确;二是IO通道检查,逐通道注入已知信号,确认目标机读数一致;三是时序检查,用示波器测量从仿真环境发出数据到目标机输出响应的端到端延迟,例如要求不超过50ms。只有这三项通过,才能开始正式测试用例执行。
六、一个可复用的集成检查表示例
| 检查项 | 对象 | 方法 | 通过判据 |
|---|---|---|---|
| 宿主机-目标机连通 | 以太网 | ping 192.168.1.200 | 延迟<1ms,无丢包 |
| 目标机镜像加载 | TFTP | 重启目标机,观察BootROM输出 | 镜像加载成功,OS启动 |
| ARINC 429发送 | 标签203 | 总线分析仪抓包 | 周期20ms,SSM=11 |
| 1553B响应 | RT地址5 | BC发送命令,测量响应 | 响应时间<12μs,状态字正确 |
| 离散量输入 | 起落架开关 | 闭合/断开,观察目标机状态 | 去抖后状态正确 |
| 模拟量采集 | 温度通道 | 注入2.5V,读取显示值 | 25℃±0.5℃ |
| 端到端延迟 | 仿真到输出 | 示波器双通道测量 | <50ms |
这张表不是形式,而是集成阶段的最小验证集。每完成一项,就在对应格子里记录实际值和测试时间。如果某项不通过,不要跳过,因为后续测试用例会建立在错误的基础之上。测试环境搭建的最终目标,是让目标机上的航电软件在“像真实一样”的环境中运行,同时保留“比真实更方便”的观测和注入能力。宿主机提供开发与观测,目标机提供真实运行,仿真环境补全缺失设备,总线与IO模拟提供接口激励,台架集成把它们变成一台可用的测试系统。五者缺一不可,顺序也不能颠倒。