Vector CANoe中vECU/SIL测试功能

2026-02-06 18:59:06
关注

Vector CANoe中vECU/SIL测试功能

SIL测试正从早期的尝试性手段演变为汽车软件开发的主流趋势。在整车厂与供应商合作过程中,常常遇到以下挑战:ECU软件进入跨团队甚至跨企业的功能联调阶段时,硬件尚未就绪;算法工程师虽已完成策略编写,却缺乏真实环境用于验证;软件与硬件均已更新,但HIL台架资源有限,排队等待成为常态。

过去,这些问题往往只能通过等待硬件、设备协调等方式解决。但随着整车系统中软件复杂度的不断攀升,等待不仅导致项目延期,还可能引发返工和成本上升,甚至迫使测试团队两班倒。因此,越来越多的团队开始采用SIL(Software-in-the-Loop,软件在环测试)作为关键解决方案。

SIL可视为一个虚拟的ECU运行环境,使软件无需依赖实际硬件即可进行执行、通信和信号处理。通过模拟ECU的执行环境、网络交互及传感器输入,SIL能够在硬件尚未到位时实现软件的初步运行与验证,涵盖控制策略、诊断流程、通信配置等多个层面。

图1:SIL测试覆盖软件组件到系统验证

SIL测试的“左移”工程理念

传统开发流程中,软件通常需等待硬件就位后才能进行联调。而SIL测试打破了这一断层,使得只要软件编译完成,即可在虚拟ECU中模拟CAN、LIN或ETH等通信协议,执行诊断、控制逻辑与信号链路。算法工程师甚至可以直接在本地计算机上完成整车控制流程的仿真。

在测试能力方面,SIL支持同时启动数十至数百个虚拟ECU,实现全链路回归测试,并可在每次编译后自动执行测试,为持续集成(CI)和持续测试(CT)奠定基础,从而摆脱传统“周测”“月测”的低频测试模式。

测试流程中无需依赖真实ECU、复杂台架或大量人工操作,而是通过脚本自动化执行,实现一致性高、可回溯性强的测试结果。

调试成本显著降低

在SIL环境中,工程师可在IDE(如Visual Studio)中直接设置断点,实时监控变量、堆栈与任务状态,从而摆脱硬件调试器的限制,提升问题定位与排查效率。

模拟危险工况与极限测试场景

诸如传感器断连、总线报文丢失、信号越界、服务器中断、极端温度或电压等在实车测试中难以复现的场景,SIL可进行无限次模拟,为软件鲁棒性验证提供可靠支撑。

因此,SIL测试已不再仅限于少数技术领先团队的PoC验证,而是正在广泛重塑整车软件开发与测试的验证体系。

vECU的五个等级与典型应用场景

为了覆盖从模型验证到量产代码测试的全过程,虚拟ECU(vECU)被划分为五个层级。不同层级对应着不同的软件集成度、模拟深度,以及对底层软件(BSW)和硬件的依赖程度。以下系统介绍了Level 0至Level 4的vECU类型及其常见应用。

图2:不同层级的vECU

Level 0 vECU(应用模型/MIL)

这是最轻量级的形态,仅包含控制器模型(如Simulink生成的代码),不涉及RTE或BSW。主要服务于模型在环(MIL)测试,适用于算法验证和功能初步评估。

Level 1 vECU(应用层 + RTE桩函数)

在量产应用软件组件(SWC)基础上,通过工具生成RTE与OS的桩函数或框架,使应用层代码可以在仿真中运行。相比Level 0,Level 1不仅验证SWC逻辑,还能测试ECU软件架构与RTE接口集成,提前发现系统缺陷。

Level 2 vECU(应用层 + 模拟BSW)

在Level 1的基础上引入模拟的底层软件模块(如COM、NvM、DCM/DEM等),可支持更全面的功能测试,并兼容总线级仿真,实现系统级交互验证。

Level 3 vECU(应用层 + 真实BSW + 虚拟硬件)

进一步集成真实BSW,并模拟MCU资源(如MCAL、OS),实现全软件栈的测试。支持复杂通信配置、存储流程及AUTOSAR全栈集成测试,是HIL测试前的重要验证工具。

Level 4 vECU(目标代码/全量产软件)

包含为具体ECU编译的完整代码,通常在指令集模拟器中运行。尽管涵盖完整功能,但因其建模复杂、执行效率低,主要用于芯片级验证,常规测试中较少使用。

基于AUTOSAR的vECU加速工具:vVIRTUALtarget

Vector在ECU虚拟化领域积累多年,将相关技术集成于vVIRTUALtarget pro SE(以下简称vVIRTUALtarget)中,支持构建运行于Windows或Linux环境下的Level 1至Level 3虚拟控制器。该工具为汽车软件开发的敏捷化提供了坚实的虚拟仿真基础。

图3:vECU生成器vVIRTUALtarget工作流

vVIRTUALtarget是一款图形化工具,集成Visual Studio与CMake编译器,用户可通过拖拽方式快速配置工程,支持一键导出脚本工程,并用于后续的CI流程。

图4:vVIRTUALtarget工程配置界面

对于Level 1/2 vECU的生成,vVIRTUALtarget支持以下功能:

  • 标准AUTOSAR OS及RTE生成;
  • A2L文件自动生成;
  • vECU运行环境(CANoe工程)及接口自动生成;
  • Visual Studio或VS Code项目构建,便于后续代码编写、编译与调试。

图5:vVIRTUALtarget中vECU编译配置

在虚拟控制器开发过程中,用户还需关注如何访问SWC端口、监控数据流动、有效激励应用层以验证SWC功能。

为应对这些挑战,vVIRTUALtarget在构建vECU时自动生成相关接口,包括:

  • Open RTE Ports:支持访问端口数据元素,并通过CANoe进行数据采集与激励;
  • Port Monitoring:支持信号流监控与RTE端口的XML文件管理。

通过Open RTE Ports实现输入输出设置,结合Port Monitoring提升内部可见性,使AUTOSAR vECU具备“可监控、可调试、可验证”的特性。

Level 1 vECU:虚拟调试、诊断、标定与存储

通过vVIRTUALtarget生成的Level 1 vECU可在CANoe中一键导入并映射I/O接口,实现与HIL测试链路的无缝衔接,确保测试脚本与模型在不同阶段的复用,提升测试效率。

图6:有效的vECU与HIL复用

虚拟诊断

车门控制器SWC用于监测车门状态与电池电压。当检测到异常时,通过DEM接口上报DTC故障码。

图7:vECU在CANoe中实现虚拟诊断

导入Level 1 vECU后,可通过Panel界面实时监控故障注入过程,并结合诊断控制台读取DTC信息,实现对SWC功能的全面测试。所有操作也可通过CANoe脚本自动化执行,提升测试效率。

虚拟标定

车灯控制器SWC根据传感器输入自动控制大灯启闭,其阈值可通过标定参数进行调整。

图8:vECU配置在CANoe实现CCP/XCP变量测试

导入Level 1 vECU后,加载A2L文件即可读写标定参数。通过输入不同亮度信号,可观察控制算法的执行效果,并通过脚本实现自动化标定。

虚拟存储

仪表控制器SWC用于管理ECU复位后仍需保留的数据。在Level 1环境中,vVIRTUALtarget模拟NvM与EcuM模块,用于演示存储机制。

图9:vECU实现虚拟存储

导入Level 1 vECU后,可通过CANoe面板或信号模拟ECU状态,并将相关变量传递至vECU。断电后,非易失性数据将被存储到文件,重启后读取恢复,验证存储功能。

SDV标配vECU,打破研发“内卷”

在软件定义汽车(SDV)的趋势下,算法集成正向ZCU/HPC集中,代码的集成测试与质量管控成为关键。整车厂需借助可量产的vECU支持数字孪生战略与AI驱动的数据闭环测试。

Vector CANoe实现SIL与HIL的无缝迁移,不仅提升测试资产利用率,还能打破开发壁垒,加快交付效率。vECU的引入使得开发与测试并行,有效缓解传统流程中的技术瓶颈。

图10:CANoe贯通SIL与HIL全链路验证

您觉得本篇内容如何
评分

评论

您需要登录才可以回复|注册

提交评论

提取码
复制提取码
点击跳转至百度网盘