汽车软件团队最不该做的事,是等硬件。MCU或ECU样件往往晚到、数量少,HIL台架昂贵且排队严重;但软件需求、通信和车型配置已经开始变化。虚拟ECU的价值,是把ECU软件和必要运行环境封装成可在PC、服务器或云端执行的工件,让开发和验证在样件前启动。
vECU不是一种固定产品形态。它可以只包含算法模型,也可以运行大部分量产软件,甚至直接执行给真实MCU或SoC编译的目标二进制。选择哪一层,取决于测试问题需要多少软件真实性、硬件细节、速度和可观测性。
01|Level 0—4虚拟的不是同一层东西
Level 0:控制算法模型或模型生成代码,不包含完整量产软件,适合MIL和早期功能验证。
Level 1:包含量产应用代码,运行环境由仿真实现替代,适合组件功能和快速回归。
Level 2:加入仿真版通信、诊断、NVRAM等基础能力,可测试更完整的网络功能。
Level 3:尽可能保留硬件无关的量产软件,仅替换驱动和硬件相关部分,适合ECU集成与跨ECU SIL。
Level 4:执行目标MCU/SoC二进制,通过指令集、外设和板级模型替代真实硬件,适合启动、驱动、OS和目标构建问题。
Level不是质量等级,越高也不代表越适合所有测试。功能回归常用Level 1—3获得速度和调试便利;只有需要目标二进制或硬件行为时,才值得承担Level 4模型与算力成本。
图1|vECU Level 0—4:量产软件覆盖增加,运行速度与硬件保真度发生权衡
02|两条技术路线:Host编译还是虚拟硬件
Host-compiled vECU把应用或硬件无关软件重新编译成x86或服务器Arm可执行程序,典型对应Level 1—3。它运行快、可直接断点和采集覆盖率,容易容器化并在云端大规模并行,但与量产ECU不是同一个目标二进制,驱动、OS或硬件相关层需要替代。
Target-compiled Virtual Platform则直接运行量产目标二进制,利用指令集模型、虚拟MCU、外设和板级模型替代硬件,主要对应Level 4。它能提前发现Boot、链接脚本、内存映射、异常、中断和多核初始化问题,但速度、外设覆盖和时间精度取决于模型。
工程提醒:“执行相同二进制”不等于“性能准确”。指令功能正确的平台未必能预测真实芯片的缓存竞争、总线仲裁、中断延迟和绝对执行时间。
03|数字孪生不是一个vECU文件
单个vECU只代表一部分控制器软件。可执行的整车数字孪生还要连接多个ECU、虚拟CAN或Ethernet、传感器与执行器模型、车辆动力学、道路场景、车型配置、标定和测试判定。不同参与者可以使用不同精度:Host vECU、Level 4虚拟MCU和真实ECU可在同一混合环境共存。
系统级平台的价值是把架构、网络、SoC、软件、环境和测试场景放进同一个时间协调的实验里。它不是追求所有组件都最高精度,而是让每个风险使用恰当精度,并保留向HIL和实车逐步替换的路径。
图2|混合精度整车数字孪生:模型、Host vECU、虚拟MCU与真实ECU共存
04|一次代码提交如何变成上千次虚拟测试
云端解决的是规模与协作,而不是自动提高模型保真度。典型CI会同时构建Host vECU与目标二进制,把vECU、网络描述、标定、场景和测试脚本按版本归档,再按车型、市场、配置和故障场景拆成大量短生命周期任务并行运行。
每次提交:Level 1/2快速功能、接口、静态检查与单元测试,目标是分钟级反馈。
每日构建:Level 3多ECU网络、诊断、状态机和故障注入,覆盖更完整的软件集成。
里程碑版本:Level 4、混合SIL/HIL、真实HIL和车辆测试,集中验证目标相关风险。
AWS公开的BMW案例展示了这种规模化方向:vECU与实车软件来自同一份源代码,并能按需启动大量虚拟实例;但“同源代码”仍不等于“相同目标二进制”,案例也持续改进虚实时间一致性和总线支持。
图3|从Git提交、双路线构建到云端测试农场和质量门禁
05|SIL和HIL不是替代,而是筛选
SIL适合承接大量正常、边界和异常组合,多车型多配置回归、通信与诊断、可重复故障注入,以及每次提交触发的持续测试。它的低成本和高并发可以尽早筛掉大多数纯软件问题。
HIL和实车仍负责真实IO电平、收发器、电源与唤醒、掉电、电气故障、真实MCU最坏执行时间、物理层、EMC、热和硬件容差。vECU越成熟,越应该把昂贵台架留给必须依赖物理真实性的剩余风险。
图4|SIL、混合仿真与HIL共用测试用例、模型、网络配置和判定逻辑
06|标准化接口决定测试资产能否复用
不同供应商的vECU、环境模型和测试平台要协同,必须明确模型接口、网络切面和时间语义。FMI可封装模型与可执行单元,FMI-LS-BUS进一步区分High-Cut和Low-Cut网络模型:前者传递物理信号,速度快但通常忽略带宽和时延;后者传递网络载荷,可模拟仲裁、带宽、延迟和节点状态。
High-Cut:适合早期功能和快速大规模回归,通信被抽象成信号交换。
Low-Cut:适合网络行为和跨ECU集成,保留PDU或总线载荷及状态。
测量与标定:统一接口能让同一套参数访问、Trace和测试工具跨SIL与HIL复用。
07|真正难的是经营可复用测试资产
购买仿真工具并不会自动形成软件工厂。项目需要把vECU当成产品:有负责人、版本、接口、依赖、兼容矩阵和支持周期;编译器、生成器、模型、网络、标定和场景必须可重复构建;仿真时间、墙上时间和虚拟总线行为也要有一致规则。
可追踪:需求、代码、vECU版本、模型、场景、测试结果和缺陷形成双向链路。
可交换:供应商用受控接口交付vECU与模型,同时保护IP并保留可调试证据。
可校准:持续用HIL和实车结果测量虚实偏差,更新模型而不是默认它永远正确。
汽车软件验证正在从“等样件、抢台架”转向“提交代码就启动一组虚拟车辆”。vECU真正改变的不是某一次仿真,而是把验证变成可分层、可并行、可持续运行的工程流水线。
图5|从E/E架构到vECU、SIL、HIL和实车数据的数字线程校准闭环
参考资料
1. prostep ivip:PSI 11 V4 Virtual ECU Level定义,https://www.prostep.org/fileadmin/prod-pay-download-8c1d/PSI_11_V4_SmartSE_Part_F_VECU.pdf
2. dSPACE:VEOS PC与云端SIL平台,https://www.dspace.com/en/ltd/home/products/sw/simulation_software/veos.cfm
3. dSPACE:SIL-HIL Co-Simulation,https://www.dspace.com/en/ltd/home/news/dspace_pressroom/press/sil-hil-co-simulation.cfm
4. Synopsys:Automotive Virtualizer Development Kits,https://www.synopsys.com/verification/virtual-prototyping/auto-vdk.html
5. Siemens:PAVE360系统级数字孪生,https://www.siemens.com/en-us/products/pave360/
6. Arm:Automotive Virtual Platforms,https://newsroom.arm.com/blog/automotive-virtual-platforms
7. AWS:BMW规模化虚拟ECU案例,https://aws.amazon.com/blogs/industries/how-bmw-uses-aws-to-scale-and-automate-sdv-with-virtual-ecus/
8. Modelica Association:FMI-LS-BUS 1.0,https://newsletter.modelica.org/2025-02/index
如果这篇内容对你有帮助,欢迎关注“人与车科技”,也欢迎转发给正在做汽车电子、车载网络或软件平台的朋友。
人与车科技
汽车电子软件架构、MCU 与 SDV
从一手资料回到工程问题
夜雨聆风