基于模型的设计(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. Logical Volume Manager in Linux ( Create, Displ...
  2. SAP 对HU做货物移动报错-Only 0 serial numbers entered instead of 30 -
  3. python中的format函数_python中的format 函数是什么?如何使用?
  4. generate报错 make_如何安装opencv_contrib及解决其安装编译问题
  5. BZOJ3555: [Ctsc2014]企鹅QQ
  6. (pytorch-深度学习系列)正向传播与反向传播-学习笔记
  7. dataearth可视域分析_谁不知道前期分析要用ARCGIS?我就是不会用啊
  8. 解决df -h卡死问题
  9. Vue 组件 mixins
  10. 帮助中心 开源_如何不获得开源帮助
  11. android简易双屏支持【转】
  12. CleanMyPC中文版切换教程(专注于电脑缓存文件清理的工具)
  13. Profinet协议基础知识(一)
  14. 教你学习JavaScript的this入门到进阶最全用法
  15. Creo Illustrate动画制作视频教程
  16. Android Library的创建及使用详解
  17. 看图识数辨大小,人类独有的“数字感”被机器无意中学习了
  18. 人生启示录:被称为世上最经典的25句话(转)
  19. 怎么把照片变成漫画?照片生成漫画的办法介绍
  20. VOIP MTK 网络电话 节费软件 IP电话

热门文章

  1. python自动化设备工程师-中核武汉核电运行技术股份有限公司 2020届校园招聘简章...
  2. XELF病毒分析-秘密花园
  3. C#如何实现BMI指数的计算
  4. linux-无法进入单用户-关于tty0和ttyS0
  5. 云电脑-kvm环境下云服务器配置常见命令
  6. 如何画一个简单的波特图(渐近线近似零极点特性)?
  7. Vue登录界面精美模板分享
  8. 全国行政区域 json 数据
  9. mujoco环境变量报错:Missing path to your environment variable
  10. 分享一下自己写的2048游戏(3*3,4*4,5*5,6*6多种玩法,可反悔)