随着汽车电子架构的发展,每个 ECU 由负责特定功能向集成化、集中化和域融合等阶段演进,这样单个 ECU 需要参与功能越来越多,使得传统的开发和测试方法难以满足新的需求,尤其对于主机厂来说,软件开发和测试往往依赖于实际的硬件设备,这限制了开发的灵活性和效率。通过虚拟控制器,开发人员可以在 PC 上对软件进行模拟、校准和测量,无需等待硬件的完成,从而缩短开发周期,减少对硬件资源的依赖。此外,虚拟控制器通过在单一硬件平台上整合多种功能,不仅降低了硬件成本,还简化了系统的升级和功能扩展。总之,通过仿真建模技术搭建虚拟控制器,不在受限于控制器硬件,使得软件可以随时被仿真随时被测试,这种需求变得越来越强烈。本文就此谈谈对虚拟控制器的认识:
01.虚拟控制器的基本概念
就个人经验来说,我觉得虚拟控制器的概念很早以前就有了,并不是什么新词,也许只是正式化了而已。记得 10 年前在主机厂的主要工作内容就是动力总成系统控制策略开发,即结合所建立的物理仿真模型来验证各种各样的控制策略。那时就会关注所在仿真平台(simulink 环境)的仿真结果与在实际控制器运行结果的差异有多大。
为什么会考虑这种差异?因为真实控制器与仿真平台的运行原理有差异,真实控制器与仿真平台的实时性有差异。而本文要讲的虚拟控制器,我的理解其实就是更好地解决这些差异,一个可以逼近真实控制器的软件仿真平台。
也可以这样说:虚拟控制器是一种软件工具,用于模拟 ECU 的功能和性能,无需实际的 ECU 硬件载体。
虚拟控制器可以模拟各种传感器的输入,执行器的输出和控制器的算法逻辑,它也可以模拟与实际控制器之间的通信接口,以便与其他 ECU 进行交互,如 CAN 总线通信等。这样就即可以使用纯虚拟控制器的方式进行仿真,也可以使用虚拟控制器与真实控制器相结合的方式进行实时仿真和测试,以此验证控制功能和性能。
不过与实际控制器对比,虚拟控制器与真实控制器还是有一些区别,比如:
- 实际控制器是汽车中的一个物理组件,而虚拟控制器是通过软件模拟的 ECU,不存在物理形态;
- 实际控制器在汽车的运行过程中发挥关键作用,实现汽车各项功能和性能,而虚拟控制器主要用于开发测试阶段,通过模拟控制器来验证软件,减少测试成本和测试时间;
- 实际控制器需要经过严格的测试和验证,以确保其性能和可靠性,而虚拟控制器是基于软件的模拟,虽然可以模拟大部分的控制器功能,但其性能和可靠性无法完全等同于实际控制器;
- 实际控制器的开发测试成本较高,需要考虑硬件、生产以及测试的成本,而虚拟控制器的开发和测试成本相对较低,主要是软件开发和计算资源的成本,可以显著减少物理测试的需求。
02.虚拟控制器的应用场景
汽车功能软件研发始于主机厂,从功能设计开始,决定各个控制器需要做什么,进一步分解为各个控制器的需求,这些工作以各种规格设计文档来体现。通常 VTS, SSTS, CTS 由主机厂来负责制定,而 SRS 和 SWRS 则由零部件供应商来负责制定,如下所示:
对于这些不同层级的需求,都需要进行相应的测试验证,通常使用 HIL 测试系统和整车来进行,这两者进行的前提是需要有实际控制器硬件实体。对于主机厂来说,控制器是采购的,主机厂要进行动力总成系统的 SSTS 验证,通常涉及到多个控制器(VCU, BMS, OBC, MCU 等),那意味着这些控制器软硬件到位了才能进行预期的测试。基于这样的背景,来了解一个详细的虚拟控制器应用案例。
比如某主机厂在开发阶段的 B 样前,很多功能策略都还没有确立,控制器功能需求不明确,那将导致 ECU 的开发工作无法正常进行。如果主机厂有虚拟控制器,就可以尽早仿真,提前设计、验证这些功能策略,不断找出当前功能逻辑的缺陷,不断优化这些功能逻辑,显而易见,这将后续的开发产生极其重要的作用,一方面前提充分的测试很有助于后期测试验证时间的缩短,另一方面前期尽可能多找出 bug,后期修复 bug 的成本将大大地降低。
再比如在主机厂,很多整车功能实现依赖于多个控制器的联合控制,但是通常让所涉及的供应商在同一时间交付这些控制器是很难的,或多或少都存在交付延迟的情况。为了避免因一个或多个控制器无法交付导致测试验证的推迟,大家都在想尽办法来应对,如果主机厂构建了自己的虚拟控制器平台,那么此时哪个控制缺席就用相对应的虚拟控制器来替补,那么很多测试项目就可以如期进行,交付延迟的压力将大大地降低。
在此就列举这两个典型的虚拟控制器应用场景,不难发现,这些需求产生的根本原因其实就是项目的三要素:质量、时间和成本,能解决这三大难题的产品就一直有需求。
而虚拟控制器就有这个属性,虚拟控制器一方面可以加速开发过程,通过在 PC 上进行控制器的仿真和测试,不依赖于实际硬件,加快软件开发测试的速度;另一个方面可以降低成本,传统的控制器开发需要大量的硬件资源,包括成本高昂的原型车、测试平台和 HIL 系统等,而虚拟控制器可以在没有这些物理设备的情况下进行开发和测试,降低开发成本;以此虚拟控制器可以使软件开发和测试在硬件设计和生产完成之前开始,这意味着更早发现和修正的设计缺陷,自然能提高最终产品的质量。
03.虚拟控制器的关键要素
市面上有多家虚拟控制器的供应商,作为主机厂或零部件供应商,该选谁家的产品,这里个人在主机厂的经历而言,当时对虚拟控制器的主要需求在控制器功能和物理模型等方面,从技术角度关注几点:
第一,与真实控制器的接近程度,包括虚拟控制器的运行环境,到底与真实控制器的接近程度有多大,以及所能支持的软件真实程度,主要是底层软件。
第二,与真实的汽车物理系统的接近程度,构建的虚拟物理系统与真实的整车环境越接近,那意味着给控制的反馈信息越真实,这样就会使得虚拟控制器的真实属性越强。
除此之外,个人觉得虚拟控制器的整个开发平台生态,对于一个控制器的开发,包括硬件和软件设计,再进一步分解包括需求,设计,调试,标定和测试等各个环节,每一个环节都需要使用工具来实现。那么一方面这些工具之间需要兼容和联合,另一方面整个控制器研发的复杂流程也需要依托工具来运转。因此应用方通常期望虚拟控制器不是一个独立的平台或系统,而是能够与现有的研发工具兼容或结合,应该是一个兼具成熟度和兼容性的研发生态平台,即能够兼容从需求,开发,调试到测试等各种各样的工具链,也能与快速原型和硬件在环测试系统等兼容,以此构建一个更高效且高质量的软件开发平台。
当虚拟控制器具备这些关键要素,才能真实地模拟真实控制器的运行状态,当能将一些软件组件直接应用于量产软件开发中,那么其实用性不言而喻了。当然还有一点就是虚拟控制器系统的使用与操作应该上手简单和便利。
04.虚拟控制器供应商概览
目前了解到汽车虚拟控制器的供应商及其产品信息如下:
1)新思科技(Synopsys),Silver
Silver 产品属于虚拟原型解决方案,主要由虚拟模型、仿真工具和调试工具等组成,用于在硬件可用之前进行软件开发和验证。Silver 的点是提供早期软件开发和测试的平台,支持复杂系统的功能验证,加速产品上市时间,减少对硬件资源的依赖。
2)dSPACE, VEOS
VEOS 是一个基于 PC 的仿真平台,能够运行虚拟 ECU,支持从简单的功能模型到完整的虚拟 ECU、总线系统和车辆模型的仿真,它集成了 QEMU,可以在虚拟机和容器中进行仿真,无需额外硬件。VEOS 支持多种模型类型,包括 Simulink、TargetLink 模型、FMU、虚拟 ECU 和 ECU 网络等,支持车载以太网、CAN 和 LIN 总线通信, 支持协同仿真,可以将第三方工具集成到 VEOS 仿真中,支持 SIL-HIL 过渡,与 dSPACE 的 HIL 仿真器耦合,用于混合仿真环境。
3)ETAS, VECU-BUILDER
VECU-BUILDER 专注于开发和验证汽车电子控制单元(ECU)的虚拟化版本(VECU),通过模块化架构、多接口兼容性、与硬件解耦以及自动化支持等特性,推动虚拟开发流程的实施。VECU-BUILDER 支持灵活构建虚拟 ECU 模块,兼容多种通讯协议和嵌入式操作系统,无需依赖实际硬件设备,提供与 CI/CD 工具链的集成能力。
4)迪捷软件(Dijit),SkyEye
SkyEye 是一种嵌入式系统的可视化调试工具,支持虚拟 ECU 的创建和仿真,主要由虚拟机、调试器和相关插件等组成。其特点是可以快速构建虚拟 ECU 环境,支持对嵌入式软件的图形化调试,提高开发效率,适用于嵌入式软件的开发和测试阶段。
5)Vector,vVIRTUALtarget
vVIRTUALtarget 是 Vector 的虚拟 ECU 解决方案,由虚拟 ECU 模型、仿真工具和接口软件等组成,用于在开发过程中替代实际 ECU 进行软件测试和验证。其特点是与 Vector 的其他工具紧密集成,支持 AUTOSAR 标准,提供灵活的配置和扩展能力,适用于汽车电子控制单元的开发和测试。
以上这些供应商及其产品在汽车虚拟控制器领域各具特色和优势,为主机厂和零部件供应商提供了多样化的选择,以满足不同项目的需求和开发流程。
05.如何应用虚拟控制器
一旦选择一个虚拟控制器系统平台,接下来的关键是如何用好这个系统,这里就个人经验分享几点:
- 从主机厂的视角出发,虚拟控制器系统的架构设计是虚拟控制器应用的关键。在应用场景中,虚拟控制器需要包含多个控制器,这不仅涉及到控制器之间的通讯网络构建,确保数据能够准确、高效地传输,还涉及到每个控制器自身的传感器信号输入和执行器控制指令输出的精准处理。此外,物理模型相关的接口也是虚拟控制器系统不可或缺的一部分,它为虚拟控制器提供了与现实物理世界交互的桥梁。为了满足不同研发阶段的测试需求,虚拟控制器系统还需具备兼容 HIL(硬件在环)测试接口的能力,这意味着系统必须能够同时支持纯虚拟环境的仿真以及虚实结合环境的测试。然而,这种复杂的设计要求导致虚拟控制器系统的接口数量庞大且结构复杂,因此,只有通过合理的架构设计,才能确保系统的稳定性和可扩展性,为后续的开发和测试工作奠定坚实的基础。
- 在虚拟控制器软件开发过程中,借鉴量产软件开发的成熟经验和规范流程来构建虚拟控制器软件具有至关重要的意义。一方面,这能使虚拟控制器软件更加贴合真实的量产软件特性,从而显著提升仿真的可信度和价值,使仿真结果更具有参考意义;另一方面,它也为部分模块的量产化提供了可能性,极大地缩短了从研发到量产的时间周期,降低了成本,提高了整个研发过程的效率。
- 物理模型的构建是虚拟控制器系统中不可忽视的一环。在面对不同层级的仿真目的时,构建与之相匹配的物理模型复杂度显得尤为重要。盲目地追求物理模型对实际物体的高精度还原并不现实,也并非总是必要的。例如,在整车功能验证层级,电机模型主要关注电机的总体性能参数,如扭矩输出、转速范围等,以确保整车的动力性和经济性满足设计要求;而在电机控制器层级,电机模型则需要精确到电机的电磁特性、热特性等微观层面,以实现对电机的精确控制和保护。因此,根据具体的仿真目标和应用场景,灵活调整物理模型的精细程度,才能实现资源的高效利用和仿真效率的最大化,避免不必要的计算资源浪费。
综上所述,要充分运用好虚拟控制器,必须具备对产品功能和特性的深刻理解,对整车网络拓扑的精准把握,以及丰富的综合软件开发实践经验。这三者相辅相成,共同为虚拟控制器的有效应用提供了坚实的保障,确保虚拟控制器能够在汽车研发的各个环节中发挥其最大的价值,推动汽车工业的智能化、电动化发展。
END
作者:糊涂振
来源:汽车电子与软件
推荐阅读:
更多汽车电子干货请关注汽车电子与软件专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。