Lear 借助基于模型的设计加快交付优质车身控制电子系统
挑战
设计、验证和实现高质量 的车身控制电子系统
解决方案
借助基于模型的设计, 通过仿真和 SIL 及 HIL 测试实现早期持续验证
结果
- 需求在早期得到验证
- 开发时间节省 40%
- 保修问题零报告
汽车 OEM 要求供应商在 ECU 软件中提供更多功能。为了降低成本,供应商往往会将多种车身电子控制功能(从雨刮器、车灯、车窗以及防盗系统到配电)集成到单个 ECU(通常称为车身控制模块 (BCM) 或智能接线盒)中。
这种系统复杂性的急剧增加给全行业带来了需求界定不全面、不能按时交货以及质量等问题。Lear 公司的工程师们正在解决这些难题,他们使用基于模型的设计来开发、验证和实现车身控制电子系统。
Lear 系统工程部总监 Jason Bauman 说:“在基于模型的设计的帮助下,我们在实现之前即可识别并解决需求问题。产品级代码的生成和持续验证使我们能够在预算内及时、高质量地完成项目。”
挑战
汽车电子和配电系统越来越复杂,因此需求必须清晰、完整和一致。在传统的手工编码工作流程中,到了开发过程的后期通常会发现需求模棱两可或相互矛盾,从而导致延期或成本超支。
手写的控制器代码包含成百上千的输入输出和复杂的状态逻辑,因此对其进行维护和重复使用都非常困难。Lear 的首席工程师 Jinming Yang 回忆道:“过去,如果我们在某个环节实施了工程变更请求,很难预测会给系统的其他方面带来何种类型的问题。”
解决方案
Lear 采用基于模型的设计对几十个车身电子系统进行设计、验证和实现。
在一个 BCM 项目中,Lear 的工程师们分析了客户需求,并将整体系统分割为不同的组件,如内部和外部照明、电池管理以及汽车起动控制。
该团队使用 MATLAB®、Simulink® 以及 Stateflow® 开发了功能齐全的行为模型,其中包括各个组件所需的所有输入和输出。
为了开展早期单元测试,工程师们借助 Simulink 中的 Signal Builder(信号构建器)模块生成了测试激励,并将这些激励融入到模型中。该团队还使用 Simulink 开发出了用于功能性测试的对象模型。
团队使用 Simulink Check™, Simulink Coverage™, 和 Requirements Toolbox™ 分析了模型覆盖率,并进一步完善了测试用例、设计和需求,直到它们达到满意的模型覆盖水平为止,包括决策覆盖和修改的条件/决策覆盖 (MC/DC)。
在验证了近 400 个单元模型后,该团队使用Embedded Coder® 生成了 C 代码。他们通过软件在环 (SIL) 测试验证这些代码,此类测试重复使用为单元模型测试生成的测试用例。
Lear 的工程师们将针对各个单元模型生成的代码集成到了 20–30 个功能级别的组件中,而这些组件反过来又集成为一个完整的系统模型。团队满足了客户的需求,并对组件和整个模型进行了仿真,以解决原始设计规范中模棱两可的部分。
该小组使用 MATLAB 脚本将测试用例自动转换成适用于硬件在环 (HIL) 和基于汽车测试的测试向量。他们还编写了其他一些 MATLAB 脚本,用于导入和分析硬件测试结果。
由于实现了模型共享,使 Lear 能够延长分散式团队的工作日。例如在某些情况下,对于北美的 Lear 工程师所做的设计变更,他们位于亚洲的同事在当晚就可以进行测试。
对于个别的国际客户项目,技术术语的翻译问题给 Lear 的工程师们在理解特定需求上带来了一定的挑战。Bauman 说:“我们使用包含 Signal Builder 模块的 Simulink模型,使不同的时间选择变得形象直观,所以客户可以快速选择他们想要的那个。打开这扇沟通之门对于项目来说至关重要。”
结果
- 需求在早期得到验证. Bauman 说:“对于 BCM 项目,我们使用 Simulink 所提供的带有可执行功能模块的虚拟集成和测试,在实现前找出了 95% 以上的需求问题,而我们在开始使用基于模型的设计之前,这个数字仅为 30%。同时,我们解决问题的时间也提前了很多,通常在项目开始后仅六周的时间内就可以解决问题,而不再是一年或更长的时间。”
- 开发时间节省 40%. Yang 说:“我们为 BCM 项目生成了大约 700,000 行代码,并且我们在整个开发周期中对测试用例进行重复使用。这种方法使我们的整体开发时间缩短近 40%。”
- 保修问题零报告. Bauman 说:“在整个行业内,随着软件复杂程度的提高,保修问题也越来越多。而在最近我们使用基于模型的设计完成的产品中,自开始生产 12 个月来,我们没有碰到任何与应用软件相关的保修问题。这个记录是我们和客户都乐意看到的结果。”