Temoignages d 'utilisateurs

福特汽车公司和Pi技术公司开发福特福克斯燃料电池汽车系统,采用基于模型的设计和自动生成的生产代码

挑战

为先进的氢燃料电池汽车制造三个新的电子控制单元

解决方案

使用MathWorks工具进行基于模型的设计,以设计、模拟和自动生成电子控制单元的生产代码

结果

  • 生成多用途代码
  • 利用可执行规范
  • 保证可移植性

“使用Simulink构建设计模型,并使用Simulink Coder为生产目标生成代码,这为我们提供了卓越的质量,同时保持了快速原型的灵活性。”

Charlie Wartnaby, Pi科技公司
福特福克斯燃料电池汽车。

混合动力汽车的驱动系统需要精确控制,以最大限度地提高燃油效率并满足高安全标准。福特福克斯燃料电池汽车依靠十多个电子控制单元来控制一切,从温度到由氢燃料电池驱动的电力传动系统。

作为全球汽车电子系统开发的领导者,Pi Technology使用MathWorks工具进行基于模型的设计,为其中三个控制单元(包括车辆的关键监控控制器)设计、模拟、原型并自动生成生产代码。通过为这些应用程序应用自动代码生成,无需手动编码调整,Pi工程师加速了开发,避免了编码错误,并消除了设计规范和工作代码之间的不一致。

挑战

由于该项目涉及新兴的燃料电池和混合动力技术,Pi工程师面临两个关键挑战。首先,该团队需要构建三个全新的控制器:能量管理模块、热系统控制器和车辆系统控制器。第二,团队必须优雅地处理系统需求的变化,这些变化在项目过程中很可能发生。

为了应对这些挑战,该团队寻求一种设计和开发环境,通过使他们能够自动生成与安全相关的汽车控制器的生产代码,从而促进快速设计迭代。

解决方案

Pi工程师使用MathWorks的基于模型的设计工具来创建可执行的规范,运行模拟,自动生成代码,并为三个电子控制单元创建实时原型。

利用福特现有的设计,Pi团队与福特工程师合作开发了一个通用硬件平台,该平台将支持所有三个计划中的ecu以及未来的项目。使用Simulink,工程师创建了一组自定义模块,为基于飞思卡尔mpc555的ECU提供输入、输出、通信和诊断服务。这个共享平台使团队能够在更高级别的Simulink模型中为每个控制单元保留所有特定于应用程序的功能。

根据福特的需求和福特的工程师,团队使用Simulink为每个ECU创建模型,定义子系统之间的数据接口。

为了确保效率、清晰性、可测试性和一致性,Pi工程师使用Simulink实现决策逻辑和控制算法,这些算法将通过自定义Simulink块与硬件平台接口。

该小组使用statflow来实现ecu所需的基于状态的复杂组合逻辑。

然后,工程师们使用Simulink对系统进行仿真,以验证功能。这包括在生产中硬件级别无法访问的测试模块。这些模拟还使团队能够轻松地测试在目标硬件上运行的应用程序中难以实现的输入组合。

该团队使用Simulink Coder和Simulink Real-Time来创建系统的快速原型,这使得开发和实时测试能够在目标硬件可用之前进行。然后,自动生成应用程序的代码,无需修改即可编译,并将其部署到生产MPC555目标硬件上。

Pi在每个系统上执行了大量基于模拟和硬件在环测试。当测试工程师在测试过程中发现问题时,开发工程师在自动生成后续测试的新代码之前解决模型中的问题。在整个开发过程中,团队使用这种方法完成了大量的迭代以合并设计更改。

福特的客户目前正在评估这批燃料电池汽车。自动生成代码使福特工程师能够在Simulink模型级别对软件进行进一步修改,以进行正式开发和实验原型。

Pi Technology随后应用自动代码生成技术,增加了曲柄角度处理和适用于汽油机运行的I/O,作为OpenECU快速原型产品。这已经应用于各种应用,包括引擎管理、CAN网关、催化剂建模和控制。

结果

  • 生成多用途代码.MathWorks代码生成工具用于快速原型和生产目标的相同模型。通过保持应用程序模型独立于目标硬件,设计团队将重点放在应用程序开发上,并追求未来的增强,例如额外的功能和改进的诊断。

  • 利用可执行规范.应用程序模型为团队提供了始终与底层代码同步的可执行设计规范。自动代码生成节省了时间,降低了成本,并消除了确保模型反映代码而不排除功能或包含过时代码的容易出错的过程。

  • 保证可移植性.除了在Simulink real上运行ECU模型和在飞思卡尔硬件上运行代码之外,团队还可以通过简单地重新创建Simulink块库,轻松地将解决方案移植到任何目标硬件上。

Baidu
map