硬件在环 (HIL)

什么是硬件在环 (HIL)

其工作原理、重要性和快速入门

硬件在环 (HIL) 仿真是一种开发和测试嵌入式系统的方法。它涉及将控制器硬件的真实输入和输出 (I/O) 接口连接到用于仿真物理系统的虚拟环境。硬件在环测试用于验证软硬件集成,并且是航空航天、汽车和其他行业中认证过程的一部分。HIL 仿真的一个关键优势是它支持在硬件上早期测试控制算法,通过允许工程师在所有物理组件可用之前评估场景和测试 I/O 连接以减少风险并加速开发,在不会危及昂贵的设备的情况下确认系统稳健性。

硬件在环仿真的工作原理

硬件在环仿真通过将真实控制器硬件与仿真物理系统(称为被控对象)对接来工作。真实控制器和仿真的被控对象之间的连接是真实的模拟和数字 I/O。它们通常包括通信协议,如 UDP、TCP、CAN 和其他行业特定标准。通信接口及其真实设置、时序和布线是 HIL 测试的一个关键组成部分。这些方面无法在模型在环 (MIL) 或软件在环 (SIL) 仿真中准确复现。

用于 HIL 测试的闭环控制系统:显示真实控制器连接到一个仿真的被控对象,后者向该控制器提供反馈。测试套件向控制器提供输入,验证元件连接在系统的输出端。

在典型的硬件在环测试设置中,具有真实 I/O 接口的真实控制器连接到实时系统。

HIL 测试的步骤

硬件在环测试涉及:

  1. 被控对象建模:第一步是创建物理系统或被控对象的数学模型。此模型复现实际系统的动态特性。要对复杂的物理系统(包括电气和机械组件、流体和热力学)进行建模,工程师应将 Simscape™ 产品与 Simulink® 结合使用。
  2. 实时仿真:然后,在实时测试系统上执行被控对象模型,该系统会仿真被控对象对控制器硬件输入的响应。此实时仿真验证系统在真实场景中的反应。实时测试系统是具有 I/O 板的工控机,用于对接在测设备;此类系统的供应商包括 Speedgoat、dSPACE、OPAL-RT 和 NI。
  3. 连接控制器:包含控制算法的控制器硬件连接到实时仿真器。此连接允许控制器与虚拟被控对象交互,就像它在控制真实系统一样。模拟与数字信号以及通信协议(如以太网、CAN 及 ARINC)用于连接实时测试系统和实际嵌入式控制器。HIL 测试平台可能包括数千个输入和输出线路,模拟物理行为、传感器和电气故障。
  4. 数据采集和反馈:系统不断从控制器和仿真的被控对象采集数据。这些数据用于向控制器提供反馈,使其能够根据被控对象的仿真响应调整其运行。实时测试系统记录可以在硬件在环测试执行期间和执行后进行分析的数据。
  5. 测试和验证:工程师可以执行从正常工况到故障场景的各种测试,以验证控制器的性能和稳健性。HIL 仿真支持迭代测试和细化,帮助验证控制算法是否满足必需的设定和标准。

MIL、SIL、PIL 和 HIL 之间的区别

模型在环 (MIL)、软件在环 (SIL)、处理器在环 (PIL) 和硬件在环 (HIL) 是嵌入式系统验证和确认过程中使用的主要方法。每种方法都在开发周期中服务于不同目的,使用不同保真度的仿真环境。

模型在环 (MIL)

模型在环用于开发的初始阶段,它使用高层仿真模型验证控制算法。这种方法有利于设计和迭代测试控制逻辑,而无需实际硬件或软件。控制器和物理被控对象都使用对应的模型进行仿真。

软件在环 (SIL)

软件在环重点关注在仿真环境中测试编译的控制算法代码。此步骤验证软件在执行时的行为是否正确,提供模型仿真和实际应用之间的桥梁。

SIL 正在演进为虚拟测试,纳入了对额外的控制器软件服务进行仿真。这种方法的仿真范围可以包括嵌入式控制器的整项操作系统以及仿真面向服务的架构 (SOA) 组件的多个节点之间的通信。

处理器在环 (PIL)

处理器在环涉及在连接到非实时仿真环境的实际处理器或类似目标上执行控制算法。此方法检查与代码生成、执行时序和处理器特定行为相关的潜在问题,确认软件能在目标硬件上按预期执行。

硬件在环 (HIL)

硬件在环用于验证控制算法与真实硬件组件的集成。通过将实际控制器硬件连接到实时仿真的被控对象,HIL 测试提供高保真环境,以在逼真的条件和场景下测试系统。

各在环方法的比较
方法 控制器 连接 被控对象 相关产品
MIL 仿真(模型) 虚拟 仿真 Simulink
SIL 编译代码(软件) 虚拟 仿真 Simulink、Simulink Coder™、Embedded Coder®
PIL 真实处理器 TCP/IP 或串行 仿真 Simulink、Simulink Coder、Embedded Coder
HIL 真实控制器硬件 模拟和数字信号 实时仿真 Simulink、Simulink Coder、Embedded Coder、Simulink Real-Time™

HIL 测试应用

嵌入式系统的硬件在环仿真

硬件在环仿真在嵌入式系统的早期开发阶段发挥重要作用。通过将真实控制器硬件与仿真物理系统的虚拟环境集成,HIL 测试能够在部署前验证控制算法和系统交互。这种早期验证可帮助工程师识别和解决设计问题,降低在开发周期后期付出高昂代价变更设计的风险。

HIL 仿真的一个主要优势是能够在整个物理硬件可用之前在硬件组件上测试控制算法。这对于交付周期较长的复杂系统组件非常有价值,因为等待所有硬件组件就绪可能会延迟开发进度。借助 HIL 测试,工程师能够在受控虚拟环境中测试场景和边缘情形,降低损坏成本高昂的设备的风险。这种方法不仅可加速开发,还可确认系统在真实运行中的稳健性和完备性,同时不会危及宝贵的硬件。

控制工程师与软件工程师可以使用 MATLAB® 和 Simulink 创建和执行 HIL 仿真。实时应用可以从 Simulink 生成并部署到实时测试系统上。

硬件在环测试在验证和认证中的应用

硬件在环测试对于验证和认证安全关键型嵌入式系统(如汽车和航空航天应用)非常有用。认证标准(如针对汽车功能安全的 ISO 26262 和针对机载系统的 DO-178)要求严格的测试,以验证系统性能在所有预期条件下都可靠。

HIL 测试的一个方面是对基于需求的测试的支持,这是认证标准的一个关键组成部分。这种测试方法评估每个系统功能是否满足其指定的需求,提供可追溯性和预期系统行为的验证。硬件在环测试支持软硬件集成测试,使工程师能够验证控制算法在各种场景(包括故障条件)下是否满足所有定义的需求。这种系统性方法不仅通过提供合规性的文档证据促进认证过程,还为最终产品提供增加可靠性和安全性的框架,帮助最终产品在具有挑战性的工作环境中进行部署。

在 V 图中,典型的开发工作流步骤包括系统需求定义、系统和软件设计、编码、软件集成、硬件/软件集成(包括 HIL 测试)以及系统集成和校准。

硬件在环测试是开发工作流中硬件/软件集成步骤的一部分。

电力电子系统的硬件在环仿真

电力转换器和逆变器包含由高频脉冲宽度调制 (PWM) 信号驱动的半导体开关电子设备。这些设备的实时仿真需要精确的建模和仿真,通常以实际设备周期频率的 100 倍运行。为了仿真这些高频信号的特性,仿真环境必须能够执行非常快的采样步,通常需要使用 FPGA 硬件来实现所需的性能。

来自硬件在环测试的三个模拟信号图:显示采样分辨率从秒到毫秒再到微秒的进度。

FPGA 硬件加速生成所需分辨率的采样,比闭环采样频率大约快 100 倍(用 MATLAB 绘制)。

Simulink 和 Simscape Electrical™ 提供建模库对复杂的电力电子系统进行仿真,捕获高频工作的细微差别。Simulink 和 Simscape Electrical 生成 HDL 代码以将这些模型部署到 FPGA 硬件上,从而实现实时仿真和测试。这种从模型在环到硬件在环的直接转换使工程师能够验证电力变换器和电机逆变器控制的嵌入式软件。

电力系统的硬件在环仿真

仿真电力系统需要电气网络的适当详细表示,以准确捕获各种组件(如电力设备、逆变器和监督控制器逻辑)之间的交互。

具有电缆路由终端的硬件在环测试平台设置,用于模拟电网。

DLR 电网实验室中模拟电网的布线终端。

电磁暂变 (EMT) 可以用 Simscape Electrical 进行仿真。相同的电气模型可以部署在实时测试系统上进行硬件在环仿真。

HIL 测试平台可能需要具备使用工业通信协议(如 Modbus 和 IEC 61850)与监督逻辑和控制器通信的能力,以及与高压设备交互以进行电力硬件在环测试的能力。

电池管理系统 (BMS) 软件的硬件在环测试

电池管理系统控制电动汽车、飞机和储能系统中电池的运行。在测试 BMS 的 C 代码时,一种常见方法是使用电芯模拟器作为硬件在环系统的一部分。电芯模拟器驱动电芯和电池包所经历的实际电压和电流水平,便于 BMS 软件的荷电状态 (SOC) 和健康状态 (SOH) 估计及其他 BMS 功能的测试。

使用具有逼真功率水平的模拟电池有助于工程师测试 BMS 软件应对过压、极端温度和其他故障条件的能力。这种方法使 BMS 软件的各个方面,包括电池管理、电芯监控和电源分配单元,能够彻底得到测试和验证。典型的 HIL 测试包括:

  • 行驶工况测试:测试整个行驶工况期间的状态估计
  • 故障条件:向电池注入故障并验证 BMS 能否处理故障条件
  • 电芯平衡:测试平衡策略是否有效

Simscape Battery™ 提供电池包模型,这些模型可以包含在实时应用中以执行电池管理系统的硬件在环测试。

电池 HIL 测试平台示意图:包括实时 HIL 仿真器和电芯模拟器,连接到电池管理系统(在测设备)。电池模型在实时 HIL 仿真器上运行。

电池 HIL 测试平台。

电力硬件在环 (P-HIL)

在典型的 HIL 测试平台中,HIL 仿真器使用低电流和低电压(通常不超过 10 V)信号与控制器硬件对接。这些电压水平由安装在实时系统上的 I/O 板生成和采集。此设置适用于测试控制算法和大多数系统行为。它也称为控制器硬件在环 (C-HIL)。

然而,一些设备,如太阳能逆变器和电机,可能使用更高的电压和电流。在这种情况下,可能需要准确复现实际工况。在此类情形中,采用电力硬件在环 (P-HIL) 测试。P-HIL 引入电力设备,如功率放大器,将来自实时系统的低电压信号转换为模拟设备的高电压。这种方法使工程师能够对控制系统的电力组件执行全面测试,提供框架来测试它们在实际工况下的可靠性。

电力 HIL 测试平台示意图:显示实时仿真器和功率放大器。在功率放大器和在测设备之间有电力连接。电力系统模型在实时 HIL 仿真器上运行。

电力硬件在环测试平台组件,包括在 Simulink 中创建的电力系统模型。

多域系统的硬件在环测试

借助多域系统的硬件在环测试,工程师能够在实际硬件环境中验证不同物理域(如机械、电气和软件组件)之间的复杂交互。

Simscape 产品系列通过帮助工程师仿真多域系统动态行为来促进此过程,这些行为可以集成到 HIL 设置中。例如,在航空航天行业,使用 Simscape 模型对飞机的飞行控制系统进行硬件在环测试,工程师能够仿真空气动力、液压作动器和电子控制响应。此过程可优化控制算法并确认在各种飞行条件下的安全运行。

多节点硬件在环仿真

在某些场景下,硬件在环仿真不仅限于单个控制系统,还包括多个控制系统或节点。这种方法不仅涉及仿真被控对象,还包括可能包含整个节点(涵盖控制器和被控对象)的实际硬件。

实际节点和仿真节点之间的通信通常使用工业协议或中间件解决方案(如数据分发服务 (DDS)、消息队列遥测传输 (MQTT) 和基于 IP 的可扩展面向服务中间件 (SOME/IP))实现。这些协议便于数据和控制信号的交换。在汽车行业,这种方法通常称为剩余总线仿真。在剩余总线仿真中,一个或多个实际电子控制单元 (ECU) 连接到一个 HIL 仿真器,该仿真器仿真“剩余总线”和剩余 ECU。此设置使工程师能够在整个车辆网络的上下文中测试和验证各个 ECU,确认 ECU 在集成到更大系统中能够正常工作。通过仿真完整的网络环境,剩余总线仿真为测试汽车控制系统的互操作性和性能提供了综合平台。

硬件在环测试示意图:显示两个仿真节点,具有测试套件和验证元件,以及一个实际节点。每个节点是一个具有控制器和被控对象的控制系统。

具有实际节点和仿真节点的多节点 HIL 仿真。

使用 MATLAB 和 Simulink 进行 HIL 测试

Simulink 提供设计和构建实时应用的高效平台,使其成为硬件在环测试的理想选择。通过使用 Simulink,工程师可以创建仿真真实条件的复杂模型,并在受控环境中测试其系统。Simulink 可简化开发实时应用程序的过程,使用户能够轻松可视化和调整参数,这在设计和测试阶段特别有用。

Simulink 工具条截图:突出显示“在目标上运行”按钮,可用于构建实时应用程序并自动部署到 Speedgoat 系统。应用程序自动启动与在测设备的对接。

使用 Simulink Real-Time,您可以通过点击按钮从 Simulink 生成实时应用程序并部署到 Speedgoat 系统。

Simulink Real-Time 与 Speedgoat 硬件相结合,能够提供稳健的平台来验证和确认嵌入式软件。此设置使您能够连接硬件进行全面测试,使用 MATLAB 脚本控制实时 HIL 应用程序,并使用 App 设计工具设计自定义仪表面板。仿真数据检查器使开发人员和测试工程师能够监控和分析数据,确保他们获得作出明智决策所需的深度见解。此外,您还可以直接从 Simulink 画布管理实时应用程序,加速原型构建和迭代开发。

使用 Simulink 设计的实时应用程序也可以在第三方 HIL 系统上执行,如 dSPACE、OPAL-RT 和 NI。

资源

通过文档、示例、视频等拓展您的知识。