基于模型的设计(Model-based Design,以下简称MBD)是一种围绕模型展开的项目开发方法,指对开发对象或者项目产品进行精确建模,项目的需求分析、功能设计、系统框架、代码生成、测试验证等开发环节都在模型的基础上展开。本文将讨论如何应用MBD实现汽车ECU软件的自主开发。

01.整车厂当下困境

整车厂对发动机控制的研究和原型设计从未停歇,但从未开发过产品化的大型ECU嵌入式控制系统和软件。

在传统的开发方式中,由于缺少对目标对象的建模,每一次项目推进都严重依赖于上阶段开发工作的完成情况,一旦前期设计存在缺陷,就会导致较高的后期修改与完善成本。此外,如果某项需求发生变化,开发团队就不得不重新编码和构建整个系统,从而导致项目延迟数日乃至数周。

除了流程上存在缺陷,传统开发没有中心模型,对前期的系统框架设计依赖度极高,需要拥有十分丰富开发经验的工程师提前布局。

在当前激烈的竞争环境下,汽车行业正在加速产业和技术更迭,整车厂对大型ECU嵌入式控制系统和软件的需求迫在眉睫,而使用传统的开发方式需要招聘、培训工程师来进行开发和测试工作,耗时较久,无法在计划时间内投入生产。MBD无疑是整车厂的最优选,但如何选择一套应用MBD、以模型为核心,且能处理从需求、设计、代码生成到测试的开发工具则成了难题。

02.如何应用MBD

汽车工程师团队在着手开发基于MBD的乘用车ECU软件时,首先需要根据系统需求构建架构模型,随后才能从中衍生设计出所需的仿真模型。

此类高级低保真度模型包含将要在ECU和被控对象(指发动机及其工作环境)中运行的控制软件。由于MBD的核心模型及基础应用形式为“模型控制器+执行器模型”,因此步骤上,团队首先需要通过在各类场景下进行高级模型仿真来执行初始系统和集成测试,用以验证模型是否正确表示了系统及系统是否对输入信号做出了预期内的适当响应;验证完成后,团队需要向模型中增加细节,并对照技术规范不断测试和验证系统级行为。如果系统规模过于庞大、结构也较为复杂,团队可安排工程师独立开发和测试各组件,但组件仍需在全系统仿真中频繁测试。

在针对系统及其工作环境建立起详细模型后,理想状态下,团队可基于控制算法模型自动生成代码来进行软件测试和验证。在硬件在环测试完成后,便可将所生成的代码下载至生产硬件,以便在实际车辆中进行测试。

03.ModelCoder

由迪捷软件自主研发的建模仿真与代码生成软件ModelCoder,便是完全以模型为核心、能够完美解决整车厂当前难题的国产软件。汽车工程师团队可利用ModelCoder开发和建立发动机控制算法模型,完成大量基于模型的设计和验证,并自动生成可信的ECU产品代码,实现汽车ECU软件的设计、开发、测试及验证。

▲ModelCoder界面图

应用ModelCoder带来的好处有:

1. 开发时间缩短。应用ModelCoder的全新ECU软件开发及验证将比应用传统开发方式的预期计划节省相当一部分时间。应用MBD,在ModelCoder工程师的辅助支持下,整车厂工程师的培训时间也将大大缩短。此外,ModelCoder生成的代码直接符合汽车工业软件可靠性联合会所制定的MISRA标准,能够显著降低整车厂为实现高质量软件所需的成本。

2. 集成测试时间缩短。由于开发阶段全过程都在ModelCoder中完成,因此可实现持续测试和验证,在集成测试前便可发现传统开发方式下可能存在的20%以上的缺陷。

3. 应用MBD,汽车工程师团队可借助Modelcoder实现模型复用,显著提升设计效率和质量,模型复用率超60%,ECU软件开发周期缩短50%。ModelCoder的具象化不仅体现在项目形态上,项目的代码生成及后续测试都可直接由模型生成和实现,加快产品功能迭代速度。

基于模型的设计(MBD)在汽车ECU软件开发中的实践相关推荐

  1. stm32代码生成,基于模型的设计(MBD) 无刷直流电机MATLAB开发板建模代码生成控制 MBD电机控制资料

    stm32代码生成,基于模型的设计(MBD) 无刷直流电机MATLAB开发板建模代码生成控制 MBD电机控制资料 控制算法采用MATLAB建模并生成代码的方式 配套电机 开发板 模型 源代码和视频 P ...

  2. 汽车ECU软件开发之应用层软件与底层软件

    随着汽车产品日渐趋向电子化,人们对各类先进的安全系统.高级驾驶辅助系统的接受程度日益提升.而原本昂贵的盲点检测.自动紧急制动等功能的成本下滑,使其快速获得了市场青睐.富士奇美拉研究所(Fuji Chi ...

  3. 关于基于模型的设计(MBD)一些概念和理解

    本文转载于MathWorks 中国高级工程师董淑成的帖子内容. 之前有网友引发了一些讨论,为了方便大家进一步讨论,专门开贴,讨论基于模型的设计.题目有点大,以我的个人经历,我只能说说基于模型的嵌入式软 ...

  4. polyspace和matlab的关系,关于Polyspace应用到基于模型的设计可能性分析和介绍

    描述 Polyspace 自 2013b 版本起开始集成到 MATLAB 平台,利用其强大的静态分析和形式化验证功能完善基于模型设计的过程,同时 MATLAB 的脚本处理能力也加强了验证的自动化过程, ...

  5. MATLAB/SimulinkSTM32CubeMXKeil工具链完成基于模型的设计开发(一)

    前言 入职一段时间了,需要不断充实自己的技能树,现在汽车行业控制器的开发大都基于"V"流程,采用基于模型开发的方式,此系列文章作为自己的学习记录 一.MBD概述 基于模型的设计(M ...

  6. matlab建立的发动机的模型,奇瑞使用基于模型的设计实现发动机管理系统软件的自主开发...

    奇瑞采用了基于模型的设计,并请 MathWorks 工程师来协助其工程团队掌握 MATLAB® 和 Simulink® 的运用. 奇瑞团队使用 Microsoft® Word 定义系统需求.他们基于这 ...

  7. (八)、管理向基于模型的设计的转变

    在过去的 10 年里,传动控制工程师开发了控制系统并用 C 代码对其进行了编程. 这位工程师担任高级职位,他对自己的工作方式感到自在. 但随后他得知他的团队计划采用基于模型的设计,并且他将不得不改变他 ...

  8. CATIA采用基于模型的定义 (MBD)

    设计完成后,就准备好交接给制造部门.Tech-Clarity在一项研究中发现,工程师将31%的设 计时间花费在制图上.9考虑到这是为已完成的工作建立文档,它基本属于重复工作.如果工 程师能将这方面的时 ...

  9. Xilinx基于模型的设计工具—Model Composer

    Model Composer 是一款基于模型的设计工具,不仅能够在 MathWorks Simulink® 环境中进行快速设计探索,而且还可通过自动代码生成加速基于 Xilinx 全可编程器件的生产. ...

最新文章

  1. NSThread 多线程相关
  2. C# richtextbox 自动下拉到最后 方法 RichTextBox读取txt中文后出现乱码
  3. activeMQ使用总结
  4. Undedared identifier问题解决
  5. 萝卜魂军曹机器人_【BANDAI】萝卜魂 全金属狂潮TSR RK-92 野蛮人 沙色
  6. php如何架构设计,PHP – 架构设计帮助 – OOP固体原则
  7. (9)Redis-Cluster集群理论及实践【下】
  8. HTML做一个简单漂亮的宠物网页(纯html代码)
  9. 学校后勤物资管理系统(数据库课程设计)
  10. java.lang.NoClassDefFoundError异常原因分析和解决方案
  11. 小强统一认证中心开源介绍
  12. 冠军联赛:当火焰变成焰火 海水变成泪水
  13. 机器学习与游戏,不只让AI玩星际争霸那么简单!
  14. SHA256加密-前端 中 HMAC-SHA256的base64加密 和 md5加密
  15. 解决二义性问题解决 java_C++中常见的两种二义性问题及其解决方式
  16. 【IT职场】阿里巴巴之马云神话
  17. python情人节之玫瑰花与表白方式_情人节 我用Python表白
  18. mysql 幕客网_MYSQL 基本使用 for Mac
  19. 【行人检测】miss rate versus false positives per image (FPPI) 前世今生(理论篇)
  20. 力软快速开发平台推荐功能之表单应用

热门文章

  1. Python-Pandas学习之HDFStore存储数据警告(your performance may suffer as PyTables will pickle....)
  2. 换一个角度分析,网页性能优化
  3. 我国月球登陆计划落月工程已经启动
  4. confluence wiki
  5. tinder火种 解决 自己注册不活号
  6. weui 加载提示_WEUI滚动加载
  7. bp神经网络解决什么问题,bp神经网络数据预处理
  8. CSS如何实现小箭头及模拟微信对话框样式
  9. 情景模式引擎 API
  10. 加强业务连续性能力丨同创永益共建业务连续性联合实验室