如何利用PREEvision和MATLAB开发AUTOSAR软件组件
来源: | 作者: 高鹏 | 发布时间: 2019-09-20 | 313 次浏览 | 分享到:
在业界,比较著名的电子电气架构开发工具要属德国Vector公司开发的PREEvision工具了,而MATLAB/Simulink软件是非常高效且实用的基于模型的应用软件开发工具。利用PREEvision与Simulink联合开发AUTOSAR应用软件组件的开发流程有三种,分别是:“自上而下”开发流程(从PREEvision开始),“自下而上”开发流程(从Simulink开始),以及“双向”开发流程。如下图所示,无论哪一种开发流程,PREEvision与Simulink工具都是通过arxml文件进行信息交互的。



今天小编要给大家介绍的是“自上而下”的开发流程(从PREEvision开始),即先在PREEvision中定义软件组件及其内部行为并导出arxml,然后将arxml导入到Simulink,并定义运行实体的算法模型图,最后生成C代码并导出arxml,详细过程如下:

一、用PREEvision定义软件组件及其内部行为

核心:定义符合AUTOSAR规范的SWC;

方法:首先需要明确软件组件类型、通信类型以及传输方向,并定义符合要求的软件组件SWC及端口;其次要定义各软件组件端口间通信所使用的接口以及数据类型,最后定义各软件组件的功能,为其创建RTE事件,运行实体以及函数间变量。

① 定义软件组件SWC:软件组件是软件架构中最小的逻辑功能单元,是存储代码的部分。在Classic AUTOSAR架构中,绝大部分情况下使用的都是Application SWC和Sensor Actuator SWC。下图是PREEvision9.0中支持的SWC类型。



② 定义通信端口Port:完成SWC模块定义后,需要为SWC添加相应的通信端口,根据SWC类型、通信类型及传输方向,可将端口分为以下三类:

Sender/Receiver(S/R)接口
Client/Server(C/S)接口
Adaptive Provided/Required(P/R)接口

S/R接口是用来传输数据的,C/S接口是用来执行操作的,P/R接口只能用于Adaptive Application SWC模块。对于传统的CAN/LIN网络使用S/R接口就可以了,对于请求与响应的通信方式需要使用C/S接口,如SOME/IP的Method。下图是PREEvision9.0支持的端口类型。



③ 定义通信接口Interface:通信接口声明了给定端口所需或提供的数据、服务、操作等元素。比较常用的是Sender/Receiver Interface(用于Sender/Receiver Port),Client Server Interface(用于Client/Server Port)。下图是PREEvision支持的Interface。
相关文章