基于AUTOSAR模型的电控系统软件的集成实现.docxVIP

基于AUTOSAR模型的电控系统软件的集成实现.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于AUTOSAR模型的电控系统软件的集成实现 摘要:嵌入式软件的兼容性与可靠性成为汽车行业普遍关注的问题。本文结合汽车开放系统架构AUTOSAR,以MATLAB/Simulink软件为依托,叙述了一种AUTOSAR模型与非AUTOSAR架构的基础软件集成生成可执行程序的过渡集成实现方法,为开发符合AUTOSAR标准的电控系统嵌入式软件提供了参考。 0 引言 随着汽车电子行业的发展,对电控系统嵌入式软件的兼容性和可靠性越来越高,符合AUTOSAR架构的嵌入式软件成为发展趋势。在实际开发过程中,应用软件可以选择使用MATLAB/Simulink模型实现,基础软件部分采用手写代码实现。在嵌入式软件由非AUTOSAR架构切换到AUTOSAR架构的过渡过程中,应该采用合适的方法来完成软件的集成,本文提出了一种基于AUTOSAR模型的电控系统嵌入式软件的集成方法,即当应用软件部分采用AUTOSAR架构的模型,基础软件部分复用非AUTOSAR架构的代码时嵌入式软件的集成方法。 1 AUTOSAR模型接口设计 AUTOSAR模型是由MATLAB中的Simulink模型实现的,每个模型对应一个软件组件,软件组件之间的数据交互通过RTE层实现。要将数据传到RTE层,在模型中就要有对应的端口。一般而言,在软件组件之间进行数据交互的端口有Send-Receive类型和Client-Server类型。在软件组件和基础软件之间数据交互的端口为ClientServer类型。其中Send-Receive类型的端口在模型中的描述如图1所示。 在图1中,rsr_Arg1和rsr_Arg2为两个接收端口,psr_Out1为一个发送端口。在模型生成的代码中,对应rsr_Arg1端口的函数为Rte_Read_rsr_Arg1_rsr_Arg1(tmp Read),该函数在模型中调用,在RTE模块中完成定义。对于发送端口psr_Out1,在模型生成的代码中对应的端口函数为Rte_Write_psr_Out1_psr_Out1 (tmp Read+tmp Read_0),该函数在RTE模块完成定义。 Client-Server类型的端口类似于C代码中的函数调用,在模型中可以使用Simulink自带的Function Caller模块来实现。如果是模型和基础软件之间有数据交互,这时模型中一般为客户端,基础软件中一般为服务器端。下面首先介绍客户端端口在模型、代码中的描述。如果在模型中需要调用C代码中的BSW_Send Data函数,则需要模型中构造一个客户端端口,如图2所示。从图中可以看出函数BSW_Send Data有port和byte两个输入参数。该端口在模型生成代码中的描述为Rte_Call_rcs_BSW_Send Data_BSW_Send Data(25,18),该函数在RTE模块完成定义。 服务器端口将在第二部分结合基础软件接口开发来展开论述。模型生成代码时会产生对应的ARXML文件,这些文件中描述了模型对外的端口,也是RTE模块的输入。 2 基础软件接口开发 对于基础软件部分,需要完成对原来代码的整改。首先梳理基础软件部分与应用软件部分的软件交互,包括全局变量和函数等。梳理清楚之后,将原来的变量接口全部修改为函数接口。然后再通过Client-Server类型的端口形式完成与模型之间的数据交互。在项目实现中,基础软件部分一般是服务器端,模型中使用的端口一般是客户端,从代码层面来讲即为在模型中通过RTE层调用代码中的函数。 在基础软件部分,也需要提供对应端口的ARXML文件,此处可以借助MATLAB来生成ARXML文件。结合第一部分客户端端口的例子,在BSWTest.c文件中有函数BSW_Send Data(uint8 port,uint8 byte),该函数需要提供给应用层使用。此时可以创建符合AUTOSAR架构的模型BSWTest.slx,在模型中使用Simulink Function模块创建一个服务器端,如图3所示。最后模型生成代码生成BSWTest.arxml文件,该文件中描述的服务器端口可以与BSWTest.c中的函数BSW_Send Data(uint8 port,uint8 byte)对应,可以用作RTE模块的输入。 3 RTE代码实现 通过上述第一部分和第二部分的介绍,在模型生成代码中端口对应的函数实现是在RTE层。下面详细介绍RTE代码的实现过程。RTE代码生成的输入文件为软件组件和基础软件等部分对应的ARXML文件,RTE模块可以采用ETAS公司的工具链,通过配置实现RTE模块的代码生成。 通过RTE工具链生成代码的输入为软件组件和基础软件部分对应的ARXML文件。结合第一部分和第二部分的例子,以图4中连接关系来

文档评论(0)

xlwkyc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档