- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SimulinkStateflow模型汽车电子控制软件开发
基于SimulinkStateflow模型汽车电子控制软件开发
摘要:采用Simulink/Stateflow对车身控制模块进行建模,再将模型转化成嵌入式代码,直接运行于硬件平台,在保证代码质量的同时,可以极大的缩短软件的开发时间。文中介绍了如何对模型进行调试及检查代码的覆盖率,并且通过修改TLC文件,定制代码的格式,最终生成适用于特定平台的嵌入式代码。
关键词:Simulink Stateflow 车身控制模块 自动生成代码
中图分类号:TP311.52 文献标识码:A 文章编号:1007-9416(2011)10-0127-02
随着MATLAB不断发展,所集成的组件也越来越丰富,几乎覆盖了所有行业。针对于控制系统的开发,MATLAB提供了从建模、仿真到代码生成一系列的工具,并且现在这套开发流程也应用到了汽车电子行业。
目前国外对于Simulink和Real-Time Workshop的应用大体可以分为三类:一是直接应用Real-Time Workshop,根据实际目标硬件直接从Simulink的模型中产生优化的、可移植的和个性化的代码。二是xPC目标环境,它是一种用于产品原型开发、测试和配置的PC机解决方案。三是第三方厂商开发的基于Real-Time Workshop的代码生成及仿真环境,如德国dSPACE公司开发的dSPACE实时仿真环境。
本文介绍的是第一类的应用,并结合车身控制模块的功能需求,详细介绍系统建模及代码自动生成的过程。
1、开发工具介绍
Simulink是基于MATLAB的图形开发环境,可以用来对各种动态系统进行建模、分析和仿真。在创建动态系统模型时,通过Simulink提供的图形界面,只需单击或拖动鼠标操作就能完成整个模型的创建工作,大大简化了开发过程[1]。
Stateflow是一个交互式图形开发工具,它和Simulink一起用于实践动态系统的建模和仿真。它可以用于解决复杂的逻辑问题,用户可以通过图形化工具实现在不同状态之间的转换。
RTW Embedded Coder是在原有Real-Time Workshop的基础上推出的更加灵活完善的开发环境,它不仅适合于产品的最终实现,也可以代替快速原型代码进行控制系统的仿真。它保证了基于处理器的在回路仿真和基于产品硬件的在回路仿真中使用相同的代码,便于系统的模拟与测试,缩短了开发周期、减少了开发的中间环节。
2、建立并验证车窗控制模型
车身控制系统包括汽车安全、舒适性控制和信息通信系统,主要是用于增强汽车的安全性、驾驶的方便性和乘坐的舒适性。车身控制技术发展至今,已形成模块化和系统化,即众多的电器控制功能已整合到一个(或几个)功能强大的控制模块中,这就是我们常说的车身控制模块[2]。
下图是一个典型的BCM系统框图,描述了BCM中包含的主要功能,实际上随着车型的不同,BCM中包含的功能可能会增加或删减。
2.1 建立车窗控制模型
BCM包括了许多不同的功能模块,图1中所列的功能都可以用建模来实现,最后集成到一起,形成一个完整的车身控制系统。本文将以车窗控制模块为例,介绍模型创建和代码生成的过程。
在图2的车窗控制模型中,共有5个并行状态。各个状态模型的功能分别是:
SubFunction:检查点火钥匙、车窗按键、车门的状态。
RightFrontWindowControl:右前窗的控制逻辑。
LeftRearWindowControl:左后窗的控制逻辑。
RightRearWindowControl:右后窗的控制逻辑。
AutoWindowControl:车窗自动升降的控制逻辑。
由于左前窗是由LIN线直接控制的,所以不必对它进行建模。
对于每个并行状态来说,其内部还有Stateflow子状态的状态图,各个并行状态的子状态之间是互斥的,不可能同时执行。
由图2可以看出,对于复杂的Stateflow模型来说,其顶层一般是由多个并行状态组成的。每个状态按照右上角的编号顺序执行,并且它们之间的功能相互独立。
2.2 验证车窗控制模型
Simulink提供了几个重要的组件来验证Stateflow模型的功能,用于仿真验证的Simulink车窗模型主要包括三个组成部分:
(1)Signal Builder:用来产生测试用例。测试用例包括两种,一种是验证车窗模型的功能与系统需求是否相符,另一种用于测试模型的代码覆盖率。
(2)Subsystem:里面封装了基于Stateflow的车窗模型。
(3)Scope:用于观察模型的输出。
在仿真过程中,如果模型的输出不正确,这时可以用Stat
文档评论(0)