首页 与AUTOSAR兼容的MatlabSimulink自动代码生成技术

与AUTOSAR兼容的MatlabSimulink自动代码生成技术

举报
开通vip

与AUTOSAR兼容的MatlabSimulink自动代码生成技术与AUTOSAR兼容的Matlab/Simulink自动代码生成技术①冯江波1,刘亚军2【摘要】探讨了沿用Matlab/Simulink基于模型的软件开发方法并且生成的代码与AUTOSAR标准兼容的机理,通过实例描述了如何使用Matlab/Simulink生成与AUTOSAR标准相兼容的过程,最后对生成的代码文件进行分析.期刊名称】佳木斯大学学报(自然科学版)年(卷),期】2011(029)006总页数】5【关键词】AUTOSAR;Matlab/Simulink;基于模型;代码生成0引言随着汽车电子的飞速发展,应用...

与AUTOSAR兼容的MatlabSimulink自动代码生成技术
与AUTOSAR兼容的Matlab/Simulink自动代码生成技术①冯江波1,刘亚军2【摘要】探讨了沿用Matlab/Simulink基于模型的软件开发 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 并且生成的代码与AUTOSAR标准兼容的机理,通过实例描述了如何使用Matlab/Simulink生成与AUTOSAR标准相兼容的过程,最后对生成的代码文件进行分析.期刊名称】佳木斯大学学报(自然科学版)年(卷),期】2011(029)006总页数】5【关键词】AUTOSAR;Matlab/Simulink;基于模型;代码生成0引言随着汽车电子的飞速发展,应用需求不断增多,硬件资源不断丰富,软件系统也就变得日趋复杂.当今汽车电子的主要任务是实现新的功能.然而越来越多的资源被花费到将现有解决方案移植到不同的环境中.同时,互联组件数量的增加,使得复杂性提高,用传统开发方法已难以处理.如何充分发挥各个厂商的优势,分工合作共同完成复杂的控制系统开发,成为目前关注的一个重点.因而软件标准化的重要性被越来越多的汽车厂、部件商所重视.AUTOSAR正是在这样的背景下产生的[1].目前,Matlab/simulink等一整套开发工具因为其描述能力强、扩展性能好并且能够很好的贯通整个开发到生产的研发过程,从而成为汽车电子软件研发的—款比较重要也比较流行的工具平台.Matlab/simulink的自动代码生成技术提高了软件的开发效率和软件质量,减轻了开发人员的工作量.事实上,Matlab/Simulink从2006a版本开始已经实现了与AUTOSAR兼容的Matlab/Simulink自动代码生成.本文探讨了沿用Matlab/Simulink基于模型的软件开发方法且生成的代码与AUTOSAR标准兼容的机理,同时描述如何使用Matlab/Simulink生成与AUTOSAR标准相兼容的方法,最后对生成的代码文件进行分析.AUTOSAR简介AUTOSAR(AUTomotiveOpenSystemARchitecture)是由汽车制造商、供应商和软件开发商联合开发的一个开放性标准化的汽车软件架构,主要包含三大内容:架构(Architecture);方法学(Methodology)和应用接口(ApplicationInterface)[2].如图1所示,未采用AUTOSAR标准架构的软硬件耦合在一起,这种架构的缺点是:软硬件不能分离开来,这给软件的更改,移植和交互带来了极大的不便,有牵一发而动全身之势.AUTOSAR采用分层分模块思想,实现了硬件和软件的分离,从而提高了整车厂和供应商之间应用软件模块的重复使用性和可交互性,降低了电子电器集成管理的复杂度,减少了开发的时间和成本.其中,运行时环境(RTE)是应用软件和基础软件通信的桥梁,无论通信发生在ECU之间(如通过CAN,LIN,FlexRay,Most等网络),还是在ECU内部,RTE均通过提供一致的接口和服务来实现SWC之间的通信抽象,其最终实现会因ECU的不同而有所差异[3].Matlab/Simulink生成代码与AUTOSAR标准兼容的机理根据AUTOSAR方法论,Matlab/Simulink在整个软件开发流程中的任务是建立功能模型并生成应用软件代码及描述性文件.MATLAB/Simulink为何能生成与AUTOSAR标准兼容的代码,主要有以下三个方面的因素:首先,Mablab/Simulink概念的相通性.Matlab/Simulink元素与AUTOSAR元素的对应关系如表1所示[4].需要注意的是,Matab/Simulink中原子的概念与AUTOSAR中原子的概念不一致.Matab/Simulink中的原子子系统指的是经触发,调用或使能输入时才能执行的子系统,相当与AUTOSAR中的可运行实体.AUTOSAR软件组件有时也被称为原子,每个软件组件有特定功能,它不能再分割到不同的电子控制单元中.每个软件组件可有一个或多个可运行实体.其次,通过配置窗口,Simulink中输入输出端口的属性可以与AUTOSAR通信结构一致.AUTOSAR支持三种端口-接口类型:客户端-服务端(client-server)、发送者-接收者(sender-receiver)、标定(calibration).对于发送者-接收者接口类型,Matalb/Simulink与RTE之间的数据访问模式有以下四种:Implicit-隐性,在可运行实体(即原子子系统)运行期间,输入的数据没有发生改变.因此可运行实体的输入数据可以认为是周期性更新.Explicit-显性,与Implicit相对,在可运行实体运行期间可以接收和输出数据.ErrorStatusBasicSoftwarePort另外,Matlab/Simulink在代码生成阶段,同时会生成格式为.arxml的软件组件描述性文件,为下一步的系统配置做准备.这样就保证了无需增加多余的模块,就能实现与AUTOSAR相兼容的应用软件代码.3与AUTOSAR兼容的自动代码生成过程下面通过一个简单例子说明与AUTOSAR兼容的Matlab/Simulink自动代码生成过程.该例子完成增程式燃料电池电动汽车(有两套动力系统,蓄电池和燃料电池)的动力模式控制.钥匙开关决定动力模式,共有三个位置,分别对应输入参数Key1,Key2,Key3:第一个位置为车辆启动模式;第二个位置为蓄电池模式;第三个位置为燃料电池模式.如图2所示,EVState_SWC应用软件组件中包含Runnable1、Runnable2和Runnable3三个可运行实体.完成建模工作后,为生成与AUTOSAR兼容的代码,需要做如下配置:首先配置系统目标文件.在Simulink菜单中依次在simulation/configurationparameters../Real-TimeWorkshop/Systemtargetfile中选择autosar.tlc文件.tlc全称为targetlanguagecompliler(目 标语 宣传标语下载抗洪救灾标语防溺水标语工程质量标语开学标语 言编译器),类似脚本语言,可以控制模块的代码生成方式•该文件存放在Matab系统目录下:Matlab安装目录\toolbox\rtw\targets\AUTOSAR\AUTOSAR.然后配置应用软件组件的接口•对于多可运行实体(Runnables)的软件组件(SWC),右击该软件组件,依次选择Real-TimeWorkshop>AUTOSARMulti-RunnableComponent>Configure,将弹出AUTOSAR接口配置窗口,如图3所示•可通过点击“GetDefaultConfiguration"来获得初始输入输出的配置,任何可运行实体,事件或XML选项将自动填入,也可手动输入.需要注意的是,对于AUTOSAR的命名有如下规则:AUTOSAR名称识别符最多包含32个字符,以字母开头,包含字母、数字和下划线;AUTOSAR路径识别符至少含有一个“/”字符,分隔符之间的字符串最多包含32个字符,以字符开头,包含字母、数字和下划线[5]•配置完毕,点击“Validation”进行验证,如发生错误,方框中将显示红色的错误位置及错误原因,更改再验证,直至方框中显示“Lastvalidationsucceeded”.最后是代码生成,依次选择Real-TimeWorkshop>AUTOSARMulti-RunnableComponent>ExportFunctions.在弹出的窗口中点击“Build”,将自动生成与AUTOSAR兼容的代码和描述性文件.4代码分析通过以上建模和配置,生成了与AUTOSAR兼容的代码文件•下面将从生成的文件和内部代码结构两个方面进行分析.4.1生成的文件为说明生成的文件的差异,本文对使用autosar.tlc系统目标文件和ert.tlc系统目标文件生成的代码文件做了比较.ert.tlc是Real_TimeWorkshopEmbeddedCodersystem的系统目标文件.从表2可以看出,Interfacefiles和Otherfiles是基于使用autosar,tlc系统目标文件生成的特有的文件.Interfacefiles中的文件为软件组件描述性文件.Otherfiles下的三个文件用于SIL和PIL仿真,只能在Simulink中使用[5].可以将软件组件描述信息,即以arxml为后缀的文件,导入到AUTOSARauthoring工具(该工具支持解释,处理和生成AUTOSAR描述,Elektrobit,Etas和Vector等公司均有对应产品)中.一般说来,不用将数据类型文件导入到authoring工具中,因为数据类型通常在 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 初期就已定义,而软件组件内部行为必须导入到authoring工具中.4.2内部代码分析与AUTOSAR兼容的代码除了生成代码文件的差异,对于同一个代码文件,如model.c,其内部代码也有所不同•下面给出了与autosar兼容的主代码函数.从以上代码,我们可以发现,每个可运行实体都有一段独立的函数.而每个可运行实体的输入输出口都对应着一个以Rte开头的接口函数,即可运行实体与运行时环境(RTE)的应用接口•应用接口命名有如下规定[6]:5总结由以上可知,基于模型的代码生成方法是可以与AUTOSAR标准共存的,且无需增加多余的模块.但生成的代码文件及内部代码和原先相比,是有差异的.本文仅就基于Matlab/Simulink应用软件层的代码进行了研究和分析.对于符合AUTOSAR且能够在ECU中运行的完整代码,需要一系列的工具链来完成基础软件层(BSW)的配置以及基础软件层和应用软件层的集成,Elektrobit,Etas和Vector等公司都有相对应的产品软件.参考文献:[1]吕炜烽•参照AUTOSAR标准的汽车电子板级支撑平台设计与实现[D].浙江:浙江大学,2007.[2]HYPERLINK"http://www.autosar.org"http://www.autosar.org.[3]阴晓峰,刘武东•汽车电子系统软件开发新标准AUTOSAR[J].西华大学学报(自然科学版),2010.3,29(2).[4[AndreasK"ohler,TillmanReck.AUTOSAR-CompliantFunctionalModelingwithMATLAB,Simulink,StateflowandReal-TimeWorkshopEmbeddedCoderofaSerialComfortBodyController.MathWorksAutomotiveConference2007,Dearborn.[5]AUTOSARGbR.SpecificationofApplyingSimulinktoAUTOSAR[EB/OL].HYPERLINK"http://www.autosar.org/download/R3.0/AUTOSAR_SimulinkSt"http://www.autosar.org/download/R3.0/AUTOSAR_SimulinkStyleguide.pdf.[6]Matlab/SimulinkHelpDocument.
本文档为【与AUTOSAR兼容的MatlabSimulink自动代码生成技术】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥15.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
lizheng
暂无简介~
格式:doc
大小:17KB
软件:Word
页数:7
分类:建筑/施工
上传时间:2022-12-18
浏览量:40