AutoSAR-基于Matlab/Simulink的软件组件开发
创始人
2025-05-30 18:28:39
0

AUTOSAR软件组件级设计与开发主要是针对应用层软件,需要先基于Matlab/Simulink进行应用层软件组件的模型建立,并配置生成符合AUTOSAR规范的代码及arxml描述文件,这是一种“自下而上”的工作流程。

基于Matlab/Simulink的软件组件开发主要就是对AUTOSAR软件组件内部行为的实现,即实现内部算法。

Matlab/Simulink与AutoSAR的对应关系

大家都知道Simulink是有自动生成代码(Embedded Coder)功能的,但是可不是生成的所有代码都可以用到AutoSar里面,而是我们在设计之处就应该按照一定的对应关系来设计AtuoSAR软件组件的各个组成元素:

实战

Simulink中利用Function Call Subsystem(函数调用子系统)来表征AUTOSAR软件组件的Runnable Entity(运行实体);

利用Function Call(函数调用)来表征AUTOSAR软件组件的RTE Event(RTE事件)利用这个思路咱们设计一个电灯的SWC——LightControlSWC。

找到Function Call Subsystem模块

Simulink / Ports & Subsystems

根据功能需求进行内部建模

LightControlSWC软件组件主要有两个运行实体:

RE_JudgeLightState通过采集车灯实际硬件上的控制信号,即对于A型车灯通过ADC采集电压信号,对于B型车灯则通过ICU采集PWM占空比,对采样值进行处理判断后通过运行实体间变量IRVJudgeLightState将车灯状态传递给RE_LightControl。

RE_LightControl则负责将车灯状态与车灯类型通过端口发出,并且将车灯实际控制量传递给I/O抽象软件组件。

接口端口设计:

模块搭建如下:

注意:

  • Inport 1(Event_JudgeLightState)和Inport 2(Event_LightControl)作为RTE事件,所以需要勾选Output function call
  • 对于周期性触发的RE_JudgeLightState,作 为RTE事件的Inport 1中的Sample time则对应该运行实体的调用周期


同理,可以开发出LightRequestSWC软件组件的Simulink模型

功能需求如下:

LightRequestSWC软件组件对于A型和B型车灯控制器共有的主要任务是负责检测并判断车灯开关的状态:

  • 对于B型车灯还负责接收并判断外界光强情况,并对外输出车灯控制指令,
  • 对于A型车灯控制指令为0/1,即开与关;
  • 对于B型车灯控制指令为PWM占空比值,分为0、50%、100%。
  • 此外,当车灯开关关闭时间长于5分钟时,发出关闭LightECU CAN通信的指令,一旦检测到车灯开关打开,则再恢复控制器CAN通信

搭建模型:

AUTOSAR客户端/服务器机制的实现

客户端/服务器机制的本质是函数调用关系,客户端调用服务器的函数。

  • C/S PPort(C/S供型端口),即Server端,对应Simulink Function(Simulink函数模块);
  • C/S RPort(C/S需型端口),即Client端,对应Function Caller(函数调用模块)

举例,在前面的RE_JudgeLightState运行实体中的Client设计:

该端口需要调用IOAbstractionSWC软件组件中的函数,并从中读取灯的状态信息,对于A型车灯而言是读取A/D转换值,对于B型车灯而言是读取ICU捕获到的脉冲占空比值:

插入模块:Function Caller就是调用某个组件中的函数

搭建模型:

生成代码与文件配置

ctrl+e将进入配置界面:

第一步设置固定步长

第二步配置系统目标文件

tlc是target language compiler(目标语言编辑器)的全称,其类似脚本语言,可以控制代码生成的格式。

再进入AUTOSAR Code Generation:

  • Generate XML file for schema version选项中可以选择生成描述文件的AUTOSAR版本;
  • Maxium SHORT-NAME length属性可以设置命名的最大长度,即之后在配置软件组件相关特性时自定义名字的最大长度。
  • Use AUTOSAR compiler abstraction macros选项则是开启或者关闭AUTOSAR规范中所定义的一些宏,如FUNC等

再往下就和书里不太一样了,simulink升级比较快,很多操作都变了。

找到autosar配置窗口

一定要注意标出的这两个组件:

AUTOSAR Dictionary:

以树格式显示映射的 AUTOSAR 组件及其元素、通信接口、计算方法、软件寻址方法和 XML 选项,使用该字典可从 AUTOSAR 组件的角度配置 AUTOSAR 元素和属性。

Mapping:

主要可以将Simulink中所建模型的元素与AUTOSAR软件组件相关元素进行对应

配置流程

先在AUTOSAR Dictionary界面完成软件组件元素的定义与相关配置,再切换到Simulink-AUTOSAR Mapping界面完成AUTOSAR软件组件元素与Simulink元素的映射。

具体配置流程不再赘述,按照自己的要求配置完成后,点击代码生成:

就可以看到生成的代码模型:

生成的文件树,就在模型所在文件夹下:

每个文件都有自己的作用:

.c:包含所有软件组件运行实体的模型算法实现 代码,每个运行实体分别对应一个函数;

.h:包含系统的数据结构、函数外部声明

_types.h:包含用typedef定义的模型中所有的参数结构体;

_private.h:包含软件组件私有函数的定义和数据声明

rtwtypes.h:定义Matlab/Simulink的数据类型格式;

.arxml:这个arxml描述性文件里描述了test软件组件的端口、端口接口、数据类型和内部行为等AUTOSAR软件组件中的元素;

C_external_interface.arxml:这个arxml描述性文件里描述了LightControlSWC 软件组件所包括的C/S接口信息。

参考

《AUTOSAR规范与车用控制器软件开发》

matlab帮助中心:开发符合 AUTOSAR 标准的模型- MATLAB & Simulink Example- MathWorks 中国

相关内容

热门资讯

女生古风伤感个性签名 女生唯美...   01、 相思难追 转动时光的椅背 旧日错过的年华与他来一杯  02、 那时回忆已成痂 初雪染白了...
中学生励志演讲稿范例 演讲稿三... 中学生励志演讲稿范例1  各位老师,各位同学,大家好。今天,我很荣幸站在这个舞台,来表达我从开学到现...
高冷霸气的qq个性签名 高冷霸...   01、 他和她住在同一栋楼 遗憾的是爱擦身而过。  02、 学历或专业而沾沾自喜,也不要因为你的...
高冷伤感个性签名经典 游戏个性... 01、 总归有人看不惯我,我能怎样,百般讨好还是杀人灭口.  02、 下雨了 我想起伞 也想起了你 ...
古风签名女生唯美句子 女生个性...   01、 一杯酒 一世意 了却长相思  02、 纵使相逢应不识  03、 相顾无言  04、 此生...
银行信贷员竞聘演讲稿范文 信贷... 银行信贷员竞聘演讲稿  竞聘人XX,我竞聘的岗位是信贷岗,竞聘理由如下:  我有一定的文字表达能力和...
关爱他人优秀演讲稿范文 关爱他... 关爱他人优秀演讲稿篇1  得到他人的的关爱是一种幸福,关爱他人更是一种美德。在我成长的岁月中,常常得...
颂歌献给党演讲稿范文 我把赞歌... 颂歌献给党演讲稿一  亲爱的党啊,在庆祝您华诞之际,请收下我,一名曾在死亡线上徘徊了好长一段时间后,...
励志演讲稿参考范文 励志演讲稿... 励志演讲稿参考范文【1】  各位领导、各位同事,大家下午好!  今天我要演讲的题目是《青春风采、励志...
银行营销岗位竞聘演讲稿 银行竞...   银行营销岗位竞聘演讲稿1  我是来自观音阁支行的李梦娜,我演讲的题目是学习、创新、团结。  每个...
logstash+elasti... 文章目录一.安装ELK 7.17二.为Elasticsearch设置密码三.配置logstash四....
华为OD机试题,用 Java ... 华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已...
银行竞聘副行长演讲稿 竞聘银行... 银行竞聘副行长演讲稿【1】  尊敬的各位评委、各位领导、同志们:  大家*午好!  首先,真诚的感谢...
关于低碳绿色环保演讲稿 节能低...  尊敬的各位领导,各位评委,敬爱的老师,亲爱的同学们:  大家晚上好!  我演讲的题目是《迈出那一小...
因果推断dowhy之-ihdp... 0x01. 案例背景 IHDP(Infant Health and Developme...
关于银行竞聘演讲稿三篇 银行营... 银行竞聘演讲稿1尊敬的各位领导、同志们:  大家好!  我叫xxx,现年32岁,金融本科文化,中国共...
加强师德师风教育演讲稿 师德师... 加强师德师风教育演讲稿一  今天,我们怀着喜悦的心情迎来了中国共产党的80华诞。中国共产党是中国工人...
环保先进个人演讲稿范文 环保工...   环保先进个人演讲稿  同学们:  我今天发言的主题是《保护环境,珍惜地球》。  我们生活在地球上...
医院借力泛微今承达实现数字化合...   国家卫健委印发的《公立医院内部控制管理办法》中要求“充分利用信息技术加强内部控制建设࿰...
设置jvm参数,验证结果 文章目录前言一、启动java项目二、开始验证设置项目的jvm参数总结 前言 书接上文上个博文 由于...