技术文章

采用基于模型的设计为混合动力汽车电池管理系统开发符合AUTOSAR和ISO 26262标准的软件

作者 Duck Young Kim, Won Tae Joe, and Hojin Lee, LG Chem


当我们的团队为沃尔沃XC90插电式混合动力车开发电池管理系统(BMS)时,沃尔沃的要求之一是使用AUTOSAR,但我们可自由选择开发方法和工具。我们将此项目视为一个机会,用它来建立基于模型设计的工作流程。使用此工作流程,我们可以将基础软件层中硬件特定模块的开发留给具有该领域专业知识的供应商,并将重点放在对应用层中控制逻辑的建模、仿真和验证上。

使用MATLAB®和Simulink®进行基于模型的设计,让我们能够增加组件的重复利用率、减少手动编码、改善与客户的沟通,并交付更高质量的BMS。引入基于模型的设计之后,在每个软件版本中确定的软件问题从大约22个减少到不到9个,远远低于我们的项目目标。

为什么要采用基于模型的设计?

我们选择基于模型的设计,部分原因是它能够使我们建模和仿真构成BMS核心的复杂算法和行为。我们希望在客户验收测试之前,通过软件在环(SIL)和硬件在环(HIL)测试来自动执行质量检查并彻底验证我们的设计。

我们希望开发的算法需要不同学科和背景的工程师参与进来,包括电化学、数学、控制设计和软件工程。我们知道基于模型的设计将为他们提供一个共同的平台和一种共同的语言来协同设计。

可重用性是驱动我们决策的另一个关键因素。我们组装了一个组件库,并希望在沃尔沃BMS项目中使用它。我们希望继续开发这个库,以加快未来与OEM合作项目的开发。到目前为止,在沃尔沃项目中,我们已经在五个不同的车型上使用核心库。借助这个核心库,我们启动一个新的不同车型甚至一个新项目所需的时间将大大减少。

开发AUTOSAR软件组件

我们采用了自上而下的开发方法,首先在AUTOSAR架构设计工具中建模系统架构和定义软件组件描述。然后,我们将组件描述(作为ARXML文件导出)导入到Simulink。

在Simulink和Stateflow®中,我们使用在导入过程中自动创建的骨架模型来对BMS的控制逻辑和算法行为建模。我们还将Simulink模型中的信号映射到AUTOSAR组件描述中的信号。在这一阶段中,我们将Simulink组件重用于SoC(荷电状态)评估、SoH(健康状态)评估、控制逻辑、诊断逻辑等模块,这些组件来自我们从早期项目中收集的核心库。我们增加了自定义逻辑来满足沃尔沃对这个特定项目的要求,包括PHEV的电机仲裁逻辑。

在Simulink中开发控制器模型时,我们经常使用Model Advisor检查模型是否符合风格指南和建模标准。我们还使用Simulink Design Verifier™检查模型中的死逻辑、除零错误和其他设计错误。

韩国乐金化学的一个电化学仿真小组创建了电池组电化学电池的数学模型。我们将这个团队的MATLAB代码合并到Simulink被控对象模型中,用于仿真(验证)控制器模型。

生成代码并执行自动化测试

完成最初的设计后,我们的下一个目标是通过自动化方式尽可能多地执行剩余工作流程,包括代码实现和测试执行。我们使用Embedded Coder®和针对AUTOSAR标准的Embedded Coder支持包,从我们的控制器模型中生成符合AUTOSAR的C代码。

为了验证生成的代码,我们使用测试用例执行SIL测试,测试用例集中在三个方面:核心库组件、映射信号和自定义逻辑。

在自动执行SIL测试期间,我们使用Simulink Coverage™测量了执行覆盖率、修正的条件/决策覆盖率(MC/DC)、查表覆盖率和圈复杂度。这些度量使我们能够确保测试正在执行整个设计。在依赖手动编码的开发过程中,诊断集成测试中发现的难以调试问题几乎是不可能的,特别是对于软件组件(SWC)的输出由第二个SWC处理,然后又反馈到原始SWC的系统的情况。通过基于模型的设计,我们可以在仿真过程中显示各个级别的信号,并查看错误如何在反馈回路中通过SWC传播,这使得潜在问题更容易被识别和纠正。

我们将生成的代码部署到我们的目标嵌入式处理器上进行HIL测试,在测试中仿真了车辆的整个电驱系统。在这些最终测试后,我们的客户进行了车辆验收测试。如果客户测试发现错误,我们可以使用测试日志文件在Simulink中复现问题,通过仿真确定根本原因,并调整模型来解决问题。作为工作流程的一部分,我们进行了大量测试,并显著减少了软件问题(图1)。

图1. 在采用基于模型的设计之前和之后,软件版本的问题计数。

图1. 在采用基于模型的设计之前和之后,软件版本的问题计数。

下一步的举措

我们使用AUTOSAR和基于模型的设计为沃尔沃开发的BMS已实现功能安全ISO 26262汽车安全完整性C级(Automotive Safety Integrity Level C, ASIL C)功能认证。对于这个初始项目,我们手动完成了大多数认证任务。此后,我们自动执行了许多任务,并减少了生成认证报告所需的资源。

我们的团队现在正在使用我们为沃尔沃BMS建立的工作流,为越来越多的汽车OEM客户开发AUTOSAR软件组件。

2018年发布

查看文章,了解相关行业