加载中...


在嵌入式系统开发领域,硬件在环(Hardware-in-the-Loop,简称HIL)测试早已成为验证控制器软件可靠性的标准手段。然而长期以来,国内企业要想开展高置信度的HIL测试,往往不得不依赖NI、dSPACE、Speedgoat等国外品牌——这些动辄百万级的软硬件方案,不仅授权费用高昂,更在关键时刻面临着供应链不确定性风险。近年来,以凯云ETest为代表的国产实时仿真测试平台正在打破这一局面,以更灵活的架构和更低的拥有成本,为航空航天、汽车电子、工业控制等行业的研发团队提供了新的选择。本文将深入解析ETest在实时仿真测试场景中的核心能力与使用方法,帮助工程师快速评估这一国产方案的实际价值。
实时仿真测试的本质,是将真实的硬件控制器(如飞控计算机、发动机ECU、PLC等)与虚拟的外部环境模型连接起来,在时间确定性可控的条件下完成闭环测试。与纯软件仿真相比,HIL测试能够暴露真实硬件的通信驱动、电气接口、实时响应等问题;与实车/实机测试相比,HIL测试可以在实验室环境下实现边界条件注入、故障复现和极端工况覆盖,显著降低测试成本和安全风险。

在民用航空机载系统的适航认证中,DO-178C标准明确要求对机载软件进行高覆盖度的测试,HIL环境是实现这一目标的关键基础设施。在汽车行业,ISO 26262功能安全标准同样将硬件在环测试列为验证软件安全机制的有效手段。随着行业对系统可靠性要求的持续提升,实时仿真测试已从"可选项"演变为"必选项"。
凯云ETest是一款由国内团队自主研发的测试系统集成开发平台,其设计初衷是为嵌入式软件的全生命周期测试提供统一工具链。ETest的核心架构由测试项目管理器、测试用例编辑器、测试执行引擎、数据采集与报告生成五大模块组成,支持从单元测试、集成测试到系统测试的全流程覆盖。
在实时仿真方向,ETest通过与SimuRTS实时仿真引擎的深度整合,实现了将Simulink/Stateflow模型自动生成实时仿真程序并部署到目标硬件的功能。这意味着工程师可以在ETest环境中完成测试用例开发与执行管理的同时,直接调用SimuRTS的模型编译和实时运行能力,实现一套工具完成测试与仿真双重任务。
ETest的实时仿真架构采用宿主机-目标机双层结构。宿主机运行ETest集成开发环境,负责测试工程管理、测试用例设计、参数配置以及测试结果的展示与分析。目标机(通常为工业级实时控制器或专用HIL机箱)运行由SimuRTS生成的实时仿真程序,实现纳秒级时间精度的模型求解和I/O信号交互。
宿主机与目标机之间通过以太网或反射内存卡等高速通信通道连接,测试指令的下发、模型参数的在线修改、实时数据的回传均在这一通道上完成。对于需要极高实时性的场景(如高速电机控制器的HIL测试),ETest还支持将部分I/O板卡直接挂在目标机上,通过本地总线与仿真模型构成微秒级闭环。

SimuRTS实时仿真引擎支持多种硬实时操作系统,包括VxWorks、RTLinux、QNX等,工程师可根据项目需求和现有硬件条件选择合适的组合。在硬件层面,ETest官方认证的目标机平台覆盖了主流的工业控制计算机和专用HIL机箱,对于非标硬件,用户也可通过定制驱动的方式接入。
值得注意的是,ETest支持在同一测试工程中同时管理多个目标机节点,这对于分布式HIL系统的测试场景(如多子系统联合仿真)尤为实用。每个目标机节点可独立配置不同的模型和I/O资源,ETest的统一调度层确保各节点间的时序同步与数据一致性。
实时仿真测试的价值,很大程度上取决于仿真环境与被测控制器之间的接口覆盖能力。ETest在通信协议层面提供了广泛的原生支持,涵盖航空、航天、汽车、工业控制等领域的主流标准。
MIL-STD-1553B是民用航空和机载系统中最广泛使用的航电数据总线,其双余度总线的拓扑结构和命令/响应协议对测试系统的时序精度和协议栈完整性提出了严格要求。ARINC429则是民用客机内部各航电设备之间进行低速数据传输的事实标准。
ETest通过专用的1553B和ARINC429接口板卡驱动,实现了完整的协议功能支持。在1553B测试场景中,ETest支持BC(总线控制器)、RT(远程终端)和BM(总线监控)三种节点的灵活配置——工程师可以将被测飞控计算机配置为BC或RT角色,由ETest模拟对端航电设备或监控总线流量。ARINC429通道则支持Label过滤、SDI/SDI处理以及高达100Kbps的数据速率配置。
在实际使用中,工程师需要在ETest的接口配置面板中完成以下参数设置:
配置完成后,工程师可以在测试用例中调用ETest提供的API函数,实现消息的发送、接收、比对和超时检测。

在汽车电子领域,CAN总线是动力系统和车身控制网络的骨干,而LIN总线则常用于传感器和执行器的低速通信。ETest通过板卡级驱动支持标准CAN 2.0和CAN FD协议,波特率覆盖125Kbps至5Mbps,帧格式支持标准帧(11位ID)和扩展帧(29位ID)。
对于汽车行业的HIL测试场景,ETest通常与Vector、PEAK等主流CAN硬件配合使用,在测试用例中可灵活配置周期报文的发送、事件触发报文注入、总线错误模拟等功能。针对新能源汽车的VCU/BMS测试,ETest还支持自定义DBC数据库文件的解析,工程师可以直接将CAN消息与工程量(物理值)关联,无需手动进行编码转换。

除了通信总线,实时仿真测试还经常涉及模拟信号和数字信号的交互。ETest支持多种规格的模拟量输入输出板卡,覆盖±10V、0-10V、0-5V等常见电压量程,以及0-20mA、4-20mA等电流量程。ADC/DAC分辨率通常为12-16位,可满足大多数工业级传感器的精度需求。
数字量I/O通道则支持双向配置,既可以作为数字量输入采集被测控制器输出的开关信号,也可以配置为数字量输出,向被测控制器注入数字激励。PWM(脉宽调制)输出功能对于电机控制器的HIL测试尤为实用,可以模拟编码器信号或功率驱动器的反馈信号。
ETest与SimuRTS的核心集成点,在于将Simulink中构建的环境模型自动编译为可运行在目标机上的实时程序。这一过程大致分为模型准备、编译配置、部署执行三个阶段。
在Simulink中,工程师需要将环境模型按照物理接口划分为不同的子系统,并为每个子系统指定对应的I/O端口。SimuRTS提供了专用的硬件接口模块库,包含1553B、CAN、ARINC429、模拟量、数字量等预置模块,这些模块封装了底层驱动的调用细节,工程师只需在模型中拖拽相应模块并配置参数即可。
一个典型的环境模型通常包含以下组成部分:被控对象模型(如飞机气动模型、车辆动力学模型)、传感器模型(包含传感器延迟和噪声特性)、执行机构模型(包含驱动电路的动态特性)以及故障注入模型(用于模拟传感器故障、总线中断等异常工况)。
完成模型搭建后,工程师需要在Simulink的Model Configuration Parameters中设置求解器参数。对于实时仿真场景,建议选择定步长求解器(如ode4),步长根据系统动态特性确定——对于典型的飞控系统,通常选择0.5ms至1ms的固定步长。

SimuRTS的代码生成器基于Simulink Coder和Embedded Coder实现,能够将Simulink模型转换为高度优化的C/C++代码,并自动适配目标机的处理器架构和实时操作系统。编译过程中,SimuRTS会自动处理以下任务:
编译完成后,工程师会得到一个可执行程序包(通常为.elf或.out格式),该程序包包含仿真模型的全部代码以及与ETest通信的代理模块。接下来只需将该程序包下载到目标机并在RTOS上启动,即可进入实时仿真运行状态。

实时仿真程序启动后,ETest的测试执行引擎会接管运行时管理。工程师可以在测试执行过程中,通过ETest界面向目标机发送参数修改命令,实时调整模型内部的变量值(如环境风速、路面摩擦系数、电池SOC等),无需重新编译或重启仿真程序。
同时,ETest支持对仿真过程中的任意变量进行实时监控和数据记录。监控信号既可以通过以太网以UDP/TCP协议实时推送给ETest,也可以缓存在目标机本地,待测试结束后统一回读。ETest的数据可视化模块提供了波形显示、信号回放、数值统计等功能,便于工程师分析被测控制器的行为特性和响应时序。
实时仿真环境搭建完成后,测试用例的开发质量直接决定了HIL测试的覆盖度和有效性。ETest提供了结构化的测试用例编辑框架,支持测试序列定义、检查点设置、判决逻辑编写等核心功能。
在ETest中,测试用例以树形结构组织,每个测试用例包含若干测试步骤(Test Step)。每个测试步骤可以配置为信号激励动作(向被测控制器发送激励信号)、延时等待(等待指定时间或等待某个信号条件满足)、检查点动作(比对实际输出与预期值)或脚本动作(执行自定义的Python或Lua脚本逻辑)。
对于需要复杂信号曲线的测试场景,ETest支持从CSV文件或MAT文件导入激励数据,也可以使用内置的信号发生器生成阶跃、斜坡、正弦等标准信号。激励信号在执行时会按照配置的采样周期被写入I/O缓冲区,实时驱动通过DMA方式将数据发送至对应的硬件接口,确保信号的时序精度。
测试用例的判决逻辑是判断测试通过与否的核心依据。ETest的判决模块支持多种判决类型:
工程师可以在同一个测试步骤中组合多个判决条件,并使用逻辑运算符(与、或、非)进行关联。当任一判决条件不满足时,ETest会自动标记该测试步骤为失败状态,并记录失败时刻的信号快照,便于后续的缺陷定位。

对于需要执行大量测试用例的项目,ETest提供了批量执行功能。工程师可以定义测试用例的执行顺序、循环次数和失败处理策略(如失败后继续执行或终止执行)。测试执行过程中,ETest会实时更新执行进度、各用例通过率、失败原因统计等关键指标。
对于追求更高自动化水平的团队,ETest支持通过命令行接口(CLI)调用测试执行引擎,便于与Jenkins、GitLab CI等持续集成平台集成。这意味着测试执行可以嵌入到每日构建流水线中,实现代码提交触发自动编译、自动部署至HIL环境、自动执行测试并生成报告的闭环流程。
在评估HIL解决方案时,成本是绕不开的话题。以dSPACE SCALEXIO为代表的进口方案,其软件授权费用通常在数十万至上百万元量级,再加上专用的HIL机箱和I/O板卡,整套系统的采购成本往往超出中小型企业的预算上限。
凯云ETest在定价策略上采取了更灵活的模式:基础测试执行功能采用模块化授权,企业可以根据实际需求选择所需的协议支持(如仅需CAN可选配1553B),按需付费,降低初期投入门槛。同时,ETest对国产硬件平台的良好兼容性,也使得企业可以利用已有的工业计算机或工控设备作为目标机,进一步节约硬件采购成本。

从技术能力角度,ETest在协议覆盖度、模型部署效率、测试用例管理等方面已接近国际主流产品的水准。尽管在某些高端场景(如超高频响应的功率级HIL)仍存在差距,但对于大多数航空航天地面测试、汽车零部件HIL验证、工业控制系统仿真等场景,ETest的能力已经足够充分。
| 对比维度 | 国产ETest+SimuRTS方案 | 进口dSPACE方案 | 进口NI方案 |
|---|---|---|---|
| 1553B/ARINC429支持 | 原生支持 | 原生支持 | 需额外模块 |
| CAN/CAN FD支持 | 原生支持 | 原生支持 | 原生支持 |
| Simulink模型部署 | 一键自动部署 | 一键自动部署 | 需手动配置 |
| 软件授权模式 | 模块化按需授权 | 整机打包授权 | 按功能模块授权 |
| 目标机兼容性 | 支持多种国产/进口硬件 | 仅支持dSPACE专用机箱 | 兼容PXI/PXIe设备 |
| 本地化服务响应 | 原厂工程师直接支持 | 通过代理商 | 通过代理商 |
在民用航空领域,机载系统的适航取证要求在地面环境中完成全功能验证。通过ETest平台,测试团队可以在实验室中搭建完整的HIL环境,将真实的飞控计算机、航电计算机与Simulink构建的飞机动力学模型和传感器模型连接,通过注入各类故障工况和极端条件,验证飞控软件的功能正确性和容错能力。
该场景的难点在于1553B总线的实时性要求(响应时间需控制在微秒级)和ARINC429信号的精确时序模拟。ETest通过板卡级的底层驱动优化,能够满足这一级别的时序约束,同时提供完整的总线监控和数据分析功能,帮助测试工程师完成DO-178C要求的高覆盖度测试。

整车控制器(VCU)的HIL测试是新能源汽车开发流程中的必备环节。通过ETest搭建的HIL环境,测试工程师可以模拟车辆在不同工况下的运行状态(急加速、制动能量回收、跛行回家模式等),验证VCU的扭矩管理、电池热管理、故障诊断等核心功能的正确性。
该场景的核心需求是CAN报文的周期精确发送和信号与物理值的自动转换。ETest的DBC解析功能可以自动将CAN数据库中的信号定义映射为工程量,工程师在测试用例中直接使用物理值进行配置,显著提升了测试用例的可读性和可维护性。
在工业自动化领域,机器人控制器的轨迹精度和响应实时性直接影响产品质量。通过ETest与实时仿真引擎的配合,测试团队可以构建包含电机模型、减速器模型和负载模型的实时仿真环境,模拟机器人关节的力矩响应和位置反馈,验证控制器在高速运动、点位控制、轨迹跟踪等场景下的性能指标。
该场景对PWM输出和增量编码器信号采集有较高要求,ETest的PWM输出功能可以精确模拟编码器信号,而高速计数器通道则能够采集控制器输出的PWM驱动信号,完成闭环时序分析。
对于首次接触ETest的工程师,建议按照以下路径逐步深入:
在整个过程中,凯云的技术支持团队可以提供现场或远程的培训指导,帮助工程师快速跨越初期的学习曲线。
当国产HIL平台已经能做到与进口方案同样的实时性,还在坚持用国外工具的理由,还能剩下几个?