3、HIL仿真系统架构:实时仿真机、信号调理与接口板卡、被测对象(GNSS/INS模拟器)

好,咱们直接切入正题。HIL仿真系统,说白了就是一套「假戏真做」的设备。你想想看,真实的飞行器或者车辆,跑一趟成本太高,风险也大。那怎么办?我们用一台实时仿真机,把它的运动状态算出来,然后通过信号调理和接口板卡,把这些数字信号变成真实的物理信号,喂给被测的GNSS/INS组合导航系统。这套系统呢,就以为自己真的在天上飞,或者在地上跑。

我个人习惯把HIL系统拆成三个核心部分:实时仿真机信号调理与接口板卡、以及被测对象。这三者缺一不可,就像人的大脑、神经和感官。

3.1 实时仿真机:系统的「大脑」

实时仿真机是整个HIL系统的计算核心。它负责运行车辆动力学模型、传感器模型,并且以极高的实时性输出数据。

为什么强调「实时」?

因为组合导航系统对时间极其敏感。你想想,GNSS接收机每秒输出一次位置,IMU每秒输出几百甚至上千次的角速度和加速度。如果仿真机的计算延迟超过1毫秒,那模拟出来的数据就全乱套了。我在项目中遇到过,用普通工控机跑仿真,结果IMU数据输出抖动达到5毫秒,被测系统直接报错「传感器数据异常」。后来换了实时系统,问题才解决。

常见的实时仿真机平台:

  • dSPACE: 工业界的老大哥,稳定可靠,但价格感人。我早期做项目时,一套dSPACE系统能顶一辆小轿车。
  • NI PXI: 灵活性高,配合LabVIEW使用,上手快。适合中小型团队。
  • Speedgoat: 与MATLAB/Simulink无缝集成,我最近几年用得比较多。它的实时内核很干净,延迟控制得非常好。
我的小建议: 如果你刚开始搭建HIL系统,预算有限,可以考虑NI PXI + LabVIEW的组合。但如果你要做高动态的飞行器仿真,建议直接上Speedgoat或者dSPACE,省得后面折腾。

3.2 信号调理与接口板卡:系统的「神经」

实时仿真机算出来的数据,是数字量。但被测的GNSS/INS模拟器,需要的是模拟电压、脉冲、或者串口数据。这时候就需要信号调理与接口板卡来搭桥。

信号调理都干些什么?

  • 电平转换: 仿真机输出可能是3.3V的TTL电平,但被测设备需要5V的CMOS电平。直接连会烧芯片。我见过有人偷懒没做电平转换,结果烧了一块价值两万的接口板卡……嗯,从那以后我再也不敢省这个环节了。
  • 隔离保护: 被测设备如果出现短路或者过压,隔离电路能保护仿真机不被烧毁。说白了,就是给系统买份「保险」。
  • 信号滤波: 有些传感器信号噪声大,需要硬件滤波。比如IMU的模拟电压输出,我会在调理板上加一个低通滤波器,截止频率根据IMU的带宽来定。

接口板卡的类型:

接口类型 典型用途 注意事项
模拟量输出(AO) 模拟IMU的加速度计/陀螺仪电压输出 注意分辨率和更新率,至少16位、1kHz以上
数字量I/O 模拟GNSS的PPS秒脉冲 脉冲宽度和抖动要严格控制,我曾经因为PPS抖动太大,导致组合导航系统的时间同步失败
串口(RS-232/422) 模拟GNSS的NMEA数据输出 波特率、数据位、停止位必须与被测设备完全一致
CAN总线 模拟车辆CAN网络上的传感器数据 注意CAN ID和数据帧格式,一点都不能错
避坑指南: 我曾经在调试一个项目时,发现IMU数据总是有周期性跳变。查了三天,最后发现是信号调理板上的一个电容虚焊,导致滤波效果不稳定。所以,拿到新板卡后,一定要先用示波器逐通道检查信号质量,别偷懒。

3.3 被测对象:GNSS/INS模拟器

被测对象,就是我们要测试的GNSS/INS组合导航系统。它通常包含一个GNSS接收机和一个IMU(惯性测量单元),以及内部的组合导航算法。

GNSS模拟器:

它接收来自实时仿真机的运动轨迹数据,然后生成对应的射频信号。说白了,就是模拟卫星发射的信号。好的GNSS模拟器可以模拟多星座(GPS、北斗、GLONASS)、多频点,还能模拟电离层延迟、多路径效应等。

我建议,在选型时重点关注信号动态范围通道数。如果你要模拟高动态飞行器,信号动态范围至少要达到15g、1000°/s。通道数嘛,至少32通道起步,不然模拟不了完整的卫星星座。

INS模拟器:

它接收实时仿真机输出的角速度和加速度,然后通过硬件接口(通常是模拟电压或数字SPI)输出给被测系统。这里有个关键点:IMU的误差特性。真实的IMU有零偏、刻度因子误差、随机游走等。好的INS模拟器可以注入这些误差,用来测试组合导航算法的鲁棒性。

我记得有一次,客户要求测试他们的组合导航算法在IMU零偏漂移时的表现。我们用INS模拟器注入了随时间变化的零偏,结果被测系统在10分钟后位置误差发散到几百米。客户根据这个结果优化了算法,后来实测试飞时表现很好。这就是HIL仿真的价值——在实验室里把问题都暴露出来。

3.4 系统架构总览

为了让你更直观地理解这三者的关系,我画了一张架构图。你可以看到数据是怎么流动的:

实时仿真机 动力学模型 传感器模型 实时内核 信号调理与接口板卡 电平转换 隔离保护 信号滤波 被测对象 GNSS模拟器 INS模拟器 组合导航算法 数字信号 物理信号 反馈信号(可选) HIL仿真系统架构图 数据流方向:从左到右,反馈可选

从这张图你可以看到,数据流是单向的(从仿真机到被测对象),但有些场景下,被测对象也会输出反馈信号给仿真机,比如执行机构的状态。不过对于组合导航系统测试,我们通常只关心前向通路。

核心要点: 实时仿真机负责「算」,信号调理负责「转」,被测对象负责「用」。三者之间的时间同步和信号质量,是决定HIL测试成败的关键。我每次搭建系统,都会先用示波器和逻辑分析仪把每个接口的信号都抓一遍,确认无误后再开始跑测试用例。

好了,这一章的内容就到这里。记住,HIL仿真不是简单的「连上线就能跑」,每一个环节都需要仔细设计和验证。下一章我们会聊聊测试用例的设计,到时候再细说。


专注资料整理