硬件(HIL)测试系统架构

概览

您可以使用强大的硬件在环(HIL)仿真方法更高效地测试嵌入式控制系统。鉴于安全性、可用性或成本等因素,使用完整的嵌入式控制系统执行所有必要的测试是不切实际的。而借助HIL仿真,您就可以对系统中具有挑战性的部分进行仿真。在对整个系统进行实际测试之前,可先在虚拟环境中对嵌入式控制设备进行全面测试,这样即使所测试的系统变得日益复杂,也能以经济高效的方式保持高可靠性以及满足产品上市时间要求。

内容

HIL测试系统组成

HIL测试系统由三个主要组件组成:实时处理器、I/O接口和操作界面。实时处理器是HIL测试系统的核心。它负责HIL测试系统中大多数组件的确定性执行,例如硬件I/O通信、数据记录、激励生成和模型执行。实时系统通常用于精确仿真系统中无法进行实体测试的部分。I/O接口是指与待测设备交互的模拟、数字和总线信号,可用于生成激励信号,采集数据以便进行记录和分析,并提供受测电子控制单元(ECU)与模型所仿真的虚拟环境之间的传感器/执行器交互。操作界面通过与实时处理器通信来提供测试命令和实现可视化。通常,该组件还负责配置管理、测试自动化、分析和生成任务报表。

图1.HIL测试系统由三个主要组件组成:操作界面、实时处理器和I/O接口。

 

硬件故障插入

许多HIL测试系统使用硬件故障插入方法,在ECU和系统的其余部分之间生成信号故障,以便在故障条件下测试、分析或验证设备的行为。因此,您可以在I/O接口和ECU之间插入故障插入单元(FIU),让HIL测试系统在正常操作和故障条件(如对地短路或开路)之间切换接口信号。

图2.您可以使用硬件故障插入来测试信号故障期间ECU的行为。

 

测试ECU系统

汽车、飞机或风电场等嵌入式控制系统使用了多个ECU,这些ECU通常相互连接来进行协作。尽管这些ECU中每个ECU一开始都可以单独地进行测试,但通常还需要借助系统的集成HIL测试系统(例如整车仿真器或铁鸟仿真器)来提供更完整的虚拟测试。

图3.汽车、飞机和风电场使用多个ECU。

 

在测试多ECU控制系统(甚至是单个ECU控制系统)时,经常会出现两个需求:更高的处理能力简化布线

 

更高处理能力 — 分布处理

即使利用最新的多核处理能力,某些系统需要的处理能力也远远超过单个机箱所能提供的能力。为了应对这一挑战,您可以使用分布式处理技术来满足这些系统的性能要求。在超高通道数系统中,不仅需要更高的处理能力,还需要额外的I/O。相较而言,使用大型、处理器密集型模型的系统往往仅通过增加机箱来获得更高的处理能力,使得这些处理器能够继续专用于某个任务来提高效率。根据仿真器任务的分配方式,可能需要在机箱之间提供共享触发和定时信号以及确定性数据镜像,从而在不同的任务之间实现协作。

图4.使用多个机箱来获得更高的处理能力时,通常需要在机箱之间提供定时和数据同步接口。

 

简化布线 — 分布I/O

高通道数系统的布线及维护不仅昂贵,而且耗时。这些系统可能需要在ECU和HIL测试系统之间连接数百到数千个信号,通常需要跨越数米的距离来弥补空间不足的缺陷。

幸运的是,确定性分布式I/O技术可以帮助您简化布线的复杂性,并提供与ECU的模块化连接,从而实现有效的系统配置修改。您无需将所有连接通过I/O接口路由回包含一个或多个实时处理机箱的单个机架,而是可以使用确定性分布式I/O,在每个ECU附近提供模块化I/O接口,而且不会影响精确仿真系统虚拟部分所需的高速确定性。

这种方法可以实现ECU和I/O接口之间的本地连接(距离小于一米),只需使用一根总线来连接实时处理机箱,从而大大降低了HIL测试系统的布线成本和复杂性。此外,利用这种方法的模块化特性,HIL测试系统可以轻松地从多ECU测试系统(其中只有一个真实的ECU,其余都是仿真的ECU)逐步扩展为一个完整的系统集成HIL测试系统(所有ECU都是真实的,而非仿真的)。

图5.由于可实现ECU和I/O接口之间的本地连接,因此使用确定性分布式I/O接口能够大大降低HIL测试系统的布线成本和复杂性。

 

实现HIL测试系统

为HIL测试系统选择合适的架构后,构建HIL测试系统的第一步是选择最符合开发要求的组件。NI提供了实现HIL测试系统所需的各种实时处理和I/O选项。由于这些选项都基于开放的行业标准,所以您可以放心,它们可始终为您的HIL测试系统提供最新的PC技术,并始终可以满足未来的测试系统要求。

NI HIL平台具有开放性和可扩展性,这意味着它可以适应不断变化的系统要求。 由于采用模块化架构,NI HIL平台可以轻松地进行升级和功能扩展,这有助于您确保测试系统能够适应未来需求并满足严苛的嵌入式软件测试应用要求。 除了市场上提供的各种I/O外,NI还提供软件工具,可以自动执行HIL测试、后期处理和报表生成,并将测试结果与需求相匹配。 这些工具可帮助您在软件开发过程的早期阶段执行更广泛的测试,从而降低总体开发成本,同时提高产品质量。