用户故事

戴姆勒为梅赛德斯-奔驰卡车设计巡航控制器

挑战

在目标ECU上创建并实现模块化巡航控制软件

解决方案

使用MathWorks工具进行基于模型的设计,通过在ECU上设计、测试和实现软件来重新设计巡航控制系统

结果

  • 紧凑、高效的代码
  • 测试效率高
  • 快速发展

“用于建模和代码生成的MathWorks工具使我们能够快速无缝地执行设计和测试迭代,并在仅18个月的严格期限内发布我们的产品。”

马里奥Wünsche,戴姆勒
梅赛德斯-奔驰卡车。

巡航控制(CC)是一种自动控制车辆速度的系统。该系统负责许多复杂的、相互关联的控制功能,需要大量的分析和设计来理解和补偿耦合和集成问题。用于卡车的CC比用于汽车的速度控制复杂得多,因为它提供了更多的功能,并增加了功能之间的耦合。

戴姆勒的工程师为梅赛德斯-奔驰商用车重新设计了巡航控制系统,包括重型卡车、送货卡车和长途客车。他们使用MathWorks工具进行基于模型的设计,只用了18个月就在ECU上设计、测试和实现了软件。

“MathWorks的下载188bet金宝搏产品对这个项目的成功至关重要,”戴姆勒卡车产品创造项目经理Mario Wünsche说。“它们允许我们在一个共同的环境中快速创建原型、模拟和测试我们的设计,而无需手动实现或学习新工具。”

挑战

由系统和软件工程师组成的戴姆勒项目团队已经为该应用开发了c代码模块,但需要重新设计该模块才能在新的目标ECU上实现。项目的最后期限是18个月内开始。根据过去的经验,团队知道使用传统的开发方法将无法满足最后期限。

他们的目标是创建一个具有开放体系结构的模块化应用程序,可以在未来的应用程序中重用。由于几个团队同时在这个项目上工作,他们需要共享结果。

复杂的CC软件可以控制驾驶和制动扭矩,调节距离和限制速度。调速器和道路限速器的输入包括CC杠杆、加速器、踏板、CAN信号以及车速、距离和加速度。设计一个有这么多输入和输出的系统已经足够具有挑战性了。戴姆勒还需要确保系统在内存和吞吐量资源有限的定点生产微控制器上执行。

解决方案

Daimler使用了MATLAB的Model-Based Design®,仿金宝app真软件®,以及嵌入式编码器®.MathWorks的顾问帮助他们开发建模指南和体系结构,以便算法产生优化的C代码。

戴姆勒开始在Simulink和Stateflow中对系统建模金宝app®.这个复杂的设计模型由3900个模块组成,包含140个输入信号、40个输出信号和340个参数。他们在并发版本系统(CVS)中使用版本控制,使团队能够同时设计子系统。

工程师在整个开发阶段使用基于测试数据库的交互式自动化测试工具进行测试,该测试数据库具有预定义的测试和控制接口。他们使用Simulink模型的闭环仿真,通过CAN总线与在目标微控制器上执行的Embedded Coder生成的生产代码通信,从而执行处理器在环测试。金宝app这使得戴姆勒能够快速验证在目标硬件上计算的结果与在Simulink中计算的结果。金宝app

在测试之后,他们使用定点设计器™、Simulink Coder™和嵌入式Coder自动为CC生成代码。金宝app定点设计器帮助他们在大多数Simulink块中定义缩放和数据类型。金宝app嵌入式Coder使他们能够生成满足内部质量和风格标准的代码。自定义存储类使他们能够为产品版本定义和控制数据类型。

在测试了目标ECU中的代码后,他们在一个硬件在环模拟器上测试了ECU,该模拟器由一个在VME系统上运行的车辆模型和所有车辆ECU(包括硬件传感器)组成。车辆模型实时运行,使团队能够计算所有物理值,就像他们在实际车辆上工作一样。

结果

  • 紧凑、高效的代码.使用Embedded Coder和Simulink Coder自动生成的代码比以前版本的CC中使用的手写代码所需的金宝appRAM少了约16%;该代码在效率和结构方面满足了所有项目要求。

  • 测试效率高.在桌面上而不是车内调试控制软件,使戴姆勒团队减少了解决软件问题的时间和成本。

  • 快速发展.整个项目,包括分析、重组、建模和测试,只用了18个月的时间。如果不使用MathWorks提供的模拟、生产代码生成和处理器在循环功能,几乎不可能实现这个项目期限。