1. 课程导入与全景认知

航空航天装备在首飞或首次点火之前,控制系统必须经历远比地面车辆严苛的验证过程。真实飞行试验成本高、风险大、不可重复,而纯数字仿真又难以暴露控制器与真实总线、真实传感器接口之间的时序与电气问题。硬件在环(Hardware-in-the-Loop,HIL)仿真正是填补这一空白的关键手段:它把真实的飞控计算机、发动机控制器或航电设备接入仿真回路,用实时仿真机替代被控对象与部分真实部件,从而在实验室中复现接近真实的闭环运行条件。

本课程聚焦 HIL 系统中两个最贴近工程实践、也最容易出问题的环节——总线仿真与数据注入。前者负责让被测设备"看到"它期望的总线报文与电气信号,后者负责在运行过程中按需改变这些信号,制造正常、边界与故障工况。理解这两者的定位,是后续所有配置、调试与排障工作的前提。

一、HIL 仿真系统的组成与信号流

一个典型的航空航天 HIL 系统由四大部分构成。第一是实时仿真机,通常运行 VxWorks、RT-Linux 或 Phar Lap 等实时操作系统,以固定步长(常见 0.5 ms、1 ms 或 2 ms)解算被控对象模型,如六自由度飞行动力学、发动机热力学、液压作动器模型。第二是I/O 与总线接口硬件,包括模拟量采集/输出板卡、离散量板卡、以及 MIL-STD-1553B、ARINC 429、CAN、AFDX、RS-422 等总线接口卡。第三是被测设备(DUT),即真实的飞控计算机、作动器控制单元或航电 LRU。第四是上位机与试验管理软件,负责模型下载、试验脚本编排、数据记录与可视化。

信号在这四部分之间形成闭环:仿真机解算出传感器应感受到的物理量,经 I/O 板卡转换为电压、电流或总线报文送给 DUT;DUT 依据这些输入计算控制律,再通过总线或硬线输出舵面偏度、油门指令;这些输出被接口硬件采集回仿真机,驱动模型进入下一帧。整个回路的实时性由仿真步长与总线周期共同决定,任何一处延迟抖动都可能让闭环特性偏离真实情况。

航空航天 HIL 仿真系统信号流与总线仿真/数据注入定位 实时仿真机 飞行动力学模型 发动机/液压模型 步长 1 ms 定步长解算 RTOS 实时调度 总线接口与 I/O 1553B / ARINC 429 CAN / AFDX / RS-422 模拟量 / 离散量板卡 电气特性匹配 被测设备 DUT 飞控计算机 作动器控制单元 航电 LRU 真实控制律运行 上位机 / 试验管理 模型下载与脚本编排 数据记录与可视化 故障注入控制 试验报告生成 传感器物理量 总线报文/电压 舵面/油门指令 控制输出采集 配置/监控 总线仿真 按 ICD 构造报文帧 周期/事件消息调度 RT 地址与子地址映射 校验位与状态字生成 数据注入 正常值/边界值替换 故障码与失效位 时序偏移与丢帧 触发条件与回放 闭环周期由仿真步长与总线周期共同决定,总线仿真与数据注入作用于接口层

二、总线仿真:让 DUT 看到"真实"的总线世界

航空航天总线种类繁多,但仿真思路相通:依据接口控制文件(ICD)把模型解算出的物理量翻译成符合协议格式的报文,并按正确的时间关系发送。以 MIL-STD-1553B 为例,一条命令字包含 RT 地址(5 位)、T/R 位、子地址(5 位)、数据字计数(5 位)和奇偶校验位。仿真软件需要配置:本机作为总线控制器(BC)还是远程终端(RT);每条消息的周期(如 20 ms、50 ms);数据字在帧中的字节偏移与缩放系数。

假设某型飞控计算机通过 1553B 接收大气数据计算机的攻角信号,ICD 规定 RT 地址为 0x05,子地址 0x08,数据字 1 个,量程 ±30°,分辨率 0.005°。仿真端需要把模型算出的攻角 α 按 raw = round(α / 0.005) 转换为 16 位补码,再填入数据字。若 α = 12.34°,则 raw = 2468,对应十六进制 0x09A4。这类换算在配置阶段必须逐条核对,否则 DUT 收到的数值会整体偏移。

总线仿真还要处理时间特性。1553B 消息间隔通常不小于 4 μs,周期消息的抖动应控制在协议允许范围内。若仿真机步长为 1 ms,而某条消息要求 20 ms 周期,则每 20 帧发送一次;但若模型解算与总线发送不在同一线程,就需要用时间戳对齐,避免累积漂移。

三、数据注入:从"正常"走向"边界与故障"

如果总线仿真只是复现正常工况,那么数据注入才是真正考验系统能力的地方。数据注入指在仿真运行过程中,按预设条件修改送往 DUT 的数据或总线行为,用以验证 DUT 在异常输入下的响应。常见注入类型包括:

  • 数值替换:把攻角从 12.34° 改为 28.00°,检验飞控是否触发迎角限制;
  • 故障位设置:在 ARINC 429 的状态矩阵中置位 SSM(Sign/Status Matrix),表示数据无效或测试模式;
  • 时序异常:将某条周期消息延迟 30 ms 或连续丢 3 帧,观察 DUT 的容错逻辑;
  • 总线错误:在 1553B 中注入奇偶校验错误或错误的 RT 地址,验证总线控制器重试机制。

注入的触发方式通常有三种:手动按钮触发、按仿真时间触发(如 t = 15.0 s 时注入)、按条件触发(如当俯仰角超过 10° 时注入)。工程中更推荐条件触发,因为它能复现"特定飞行状态下发生特定故障"的场景。注入后必须记录注入时刻、注入前后数值、DUT 响应,作为试验报告的依据。

四、典型工程场景与学习路径

本课程面向的典型场景包括:飞控计算机在铁鸟台架上的闭环试验、发动机 FADEC 的 HIL 测试、航电系统总线通信完整性验证。这些场景的共同点是:DUT 是真实件,被控对象是模型,总线是真实电气接口,而仿真软件必须同时满足实时性与协议正确性。

学习路径建议按"认知—配置—运行—排障"推进。先理解 HIL 系统信号流与总线仿真/数据注入的定位;再掌握 1553B、ARINC 429、CAN 等总线的报文结构与 ICD 阅读方法;随后练习在仿真软件中建立消息表、配置周期与缩放、编写注入脚本;最后通过典型故障案例,学会用总线记录仪与仿真日志定位问题。后续章节将围绕这条主线逐步展开,每一节都会落到具体的参数、配置与判断依据上。

学习本节后,应能回答三个问题:HIL 闭环中信号从模型到 DUT 经过哪些环节;总线仿真需要依据什么文件、配置哪些字段;数据注入与总线仿真的关系是什么。