现代汽车更安全、更舒适、更智能的代价是车载ECU(Electronic Control Unit)数量的迅速增长,与之相对应的是ECU上规模软件越来越大、软件开发成本在整车制造成本中的占比越来越高。车企可以从规则与方法两个角度入手来解决上述问题:
- 一手抓规则:汽车开放系统架构AUTOSAR;
- 一手抓方法:通过仿真建模技术搭建虚拟ECU,实现汽车的“数字孪生”。
01.汽车开放系统架构AUTOSAR
AUTOSAR(AUTomotive Open System ARchitecture)源自2003年,是由全球知名汽车制造商、零部件供应商及其他电子、半导体和软件系统公司联合建立的汽车开放系统架构联盟,该联盟所推出的规范被称为AUTOSAR规范,通过对汽车基础软件进行标准化定义,提升汽车ECU的兼容性、复用性与可靠性。 AUTOSAR遵循的是一种自上而下的开发方式,即先进行系统设计,再分别进行开发实现,最终进行系统集成。主要做了以下三件事:- 对应用软件与底层软件之间以及应用软件之间的接口进行标准化;
- 给出一个控制器软件参考架构;
- 规范分布式开发流程中的交换格式。
02.虚拟ECU种类及优劣分析
根据AUTOSAR框架的不同层次,虚拟ECU可以分为以下四个大类: ▲虚拟ECU分类 第一类:仅包含ASW和RTE(RTE中可能会包含一个OS)- 只仿真RTE环境,仅能测试ASW的基本功能,忽略了基础软件中的通信细节。
- 如果ASW的代码是AUTOSAR兼容的,则可以对ASW代码进行测试。
- 此类虚拟ECU相比第一类更加真实,可以对ASW、RTE代码进行测试。
- 虚拟BSW的作用是将底层硬件的特性和复杂性进行抽象和封装,为上层应用软件提供简化的接口和功能,从而实现对底层硬件的虚拟化。
- 相比第二类更加真实,可以测试任务调度以及BSW的功能。
- 虚拟MCAL负责封装底层硬件的访问,通过软件模拟来完成硬件相关的功能,提供统一的接口给上层软件,使得软件开发人员可以更方便地编写应用程序,无需担心底层硬件的差异。
- 性能损失:由于虚拟MCAL是通过软件模拟来实现底层硬件功能虚拟化的,可能导致仿真性能相对较低于直接访问实际硬件,尤其是在对实时性要求较高的应用场景下——可能会出现延迟问题。
- 适配性问题:因其需要针对不同的底层硬件进行开发和适配来实现仿真,原有的虚拟MCAL大概率无法完全涵盖所有的底层硬件特性和功能,一旦涉及定制化开发就会导致成本上升。
- 复杂性和维护成本:虚拟MCAL的开发和维护可能需要投入大量的人力和资源。虽然虚拟MCAL可以提供抽象和统一的接口,但其底层实现与硬件相关,需要工程师对硬件规格有着深入理解以落实维护,开发和维护的复杂性和成本也会随之上升。
- 功能限制:由于虚拟MCAL的仿真实现很有可能无法完全复现所有底层硬件的功能,在一些复杂功能上会有所受限,无法满足所有应用场景的需求,尤其是在一些复杂的硬件功能和特性方面。
- 灵活性较差:此类虚拟ECU也无法直接运行真实ECU的二进制代码,对于复杂设备驱动(Complex Device Drivers,CDD)支持也较为欠缺。
- 实现了完全仿真,能够实现几乎相同的真实硬件行为。
- 可通过完全模拟ECU处理器、相关外设及总线等设施实现【真实ECU相同的二进制代码】的直接运行。
- 可在此基础上实现真实硬件无法达成的故障注入,以测试软件的安全性与可靠性。
- 灵活性较强,可以增加CDD的建模仿真。
基于SkyEye的虚拟ECU解决方案
国产自主可控的天目全数字实时仿真软件SkyEye,作为基于可视化建模的硬件行为级仿真平台,支持搭建第四类虚拟ECU,可高度仿真真实控制器。除了第四类虚拟ECU原有的优势外,基于SkyEye的虚拟ECU解决方案还有着以下特点:- 可以将开发任务从路测和台架转移到Windows/Linux PC上,以实现ECU软件的高效软件在环(SIL)开发。
- 系统本身同时也是一个强大的实验环境,可通过协同仿真总线平台工具与多种工具(包括通过标准化的FMI接口运行MATLAB/Simulink和其他多种工具)的仿真模型进行数据交互。
- 虚拟ECU的相关配置可以快速复制拓展,复制成本低、比真实硬件也容易得多。
- 每位工程师都能拥有个人开发环境,不会占用HIL台架或测试车辆之类的稀缺资源,避免因硬件资源紧张引起的研发周期过长问题,更多工程师能从中受益。
- 可以在早期开发阶段进行软件开发、集成和测试,加速整个开发过程,提高开发效率。
- 减少实际车辆测试的需求,降低测试成本和时间,同时减少由于实际车辆测试带来的风险和损失。
- 提供可视化的仿真结果,帮助开发人员更直观地理解控制系统的行为和性能。
- 可以在模拟环境下进行测试,提高测试的精度和可重复性,并减少测试中的人为误差。