AUTOSAR-Application

一、简介

AUTOSAR应用层是AUTOSAR架构中最顶层的抽象,它包含与RTE(运行时环境)通信的应用软件组件。这些组件实现了汽车系统的具体功能,例如引擎控制、制动系统、安全功能等。应用层通过RTE与基础软件和其他应用组件进行通信,从而实现系统级别的功能和服务

a12391fd969a4028a8cd7e8a864811d2.png

二、应用层组成

在AUTOSAR应用层中,软件组件(Software Component)SWC 是核心,它们可以是原子软件组件(Atomic SWC)或组合软件组件(CompositionSWC)。其中,组合软件组件(部件)可以包含若干原子组件或软件组件。

应用层由一个一个的ASWC或者CSWC组成!

f13902a1adbb4c358e30de3269074f6a.png

三、ASWC的类型(Atomic SWC)

9e63ffaef89c43ef86f644acfa30ab37.png

四、SWC的组成

主要包含:数据类型(Data Type)、 端口接口(interfport)、端口(port)

4.1 数据类型:AUTOSAR 一共定义了三种数据类型

1)应用数据类型(Application Date Type,ADT):

是指在SWC设计阶段被抽象提出来的数据类型,是供给给底层使用的,仅为一种功能定义,并不能生成实际的代码。

可创建 bool 数值 字符 数据 结构体 字符串等类型

2)现实数据类型(Implementation Data Type,IDT)

是代码级别的数据类型,是ADT的具体实现,他需要引用基础数据类型(Base Type)

与ADT一样,可以创建非常灵活的多维数组和结构体等。

最后会在代码中生成。

3)基础数据类型(Base Type):基础数据由平台决定。

在autosar中,对于application data type 没有强制要求,用户可以使用IDT。
如果使用了ADT,那么必须进行数据类型映射(Data Type Mapping),即将ADT和IDT进行映射关联。

注意:

4.2端口(Port):概念连接点

端口是依附于SWC上的概念,如配置工具配置完SWC后,需要配置这个SWC的接口Port。

Port是SWC之间进行数据交互的接口,可以这样简单的理解,那么既然是进行数据交互,酒席要有对应的三种端口。

对应有:供型端口(P_Port)、需型端口(R_Port)、需供接口

038c93083c91460eaaf19a6887d70a74.png
 

4.3 端口接口 (Port Interface):包含传递信息静态结构

       Port主要提供了作为AUTOSAR概念的连接点的功能,而具体传递的是什么属性的信息,则由Port Interface进行细节的定义。Port Interface可以理解为一个包含传递信息静态结构,定义传递信息的细节。

6c13fdb2dca443c8b63c28aea7aa8205.png

 

端口接口的类型:

4.3.1 SR接口(Sender Receiver Interface)发送者-接收者接口

通过dataelement来定义传输数据的每个部分,定义了异步信息分发,允许通过虚拟功能总线进行更加面向数据的信息交换。

进行数据交换的过程:

通过全局变量的形式,若在SWC1与SWC2之间配置了一个SR 接口,则SWC1中会有一个函数Rte_Write(),里面会对一个全局变量进行赋值,而另外一边的SWC2中也会有一个Rte_Write()函数,来读取这个全局变量,通过这种方式达到数据交互。

4.3.2 CS接口 (Client-Server Interface,C/S)客户端-服务器接口

之间定义数据传输的dataelement。通过定义Operation集合来进行传输数据的定义,但是AUTOSAR规定,同一个Operation不能同时存在于不同的CS接口中。

Operation还包括ArgumentDataPrototype,这里可以定义参数方向,IN代表需要输入参数,OUT代表操作会有返回值。CS接口不允许一个客户端对应多个服务端。

Operation还可以定义PossibleError(Application Error),这样在RTE中会生成对应的宏定义,来作为调用CS接口中操作的返回值、信息,errorCode阈值区。

通信方式:  n:1  多对一

624fc7e400f54b0e95a92076cb88792a.png

服务调用:
客户端调用服务端:
同步:客户端调用服务端的函数后会再次回到客户端
异步:客户端调用服务端的函数后不会再次回到客户端
 
服务端中SWC的操作一般是RUNNABLE的方式,runnable实际上就是一个函数段。
 
 

 

五、设计SWC

也就是设计软件组件的内部行为(IB)Internal Behaviour
 

5.1内部行为包括:

运行实体(runnable entity,RE)
运行实体的RTE事件(RTE Event)
运行实体与所属的软件组件的端口访问(Port Acess)
运行实体间变量(Inter Runnable Variable,IRV)
 
 
 
 

5.2 RTE事件

 
分为:
周期性事件
数据接收事件
客户端调用服务事件
ca5fa66cc2ee4f97920f66c3d06515f8.png
 
 
 
 
 
 
 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值