【AUTOSAR应用层详细介绍|应知应会】

AUTOSAR应用层详细介绍



前言

AUTOSAR 包含一个分层的架构,其中最顶层抽象程度最高的是应用层,应用层是对软件组件内部行为设计建模的基础,同时也是理解AUTOSAR中其它分层的基础。 软件组件(Software Component)不仅仅是应用层的核心,也是一些抽象层、复杂驱动层等实现的载体。 本文章就软件组件、数据类型、端口与端口接口、软件组件的内部行为、虚拟功能总线进行介绍,旨在帮助入坑AUTOSAR的小伙伴理解AUTOSAR知识。
应用层在最上层

一、软件组件

软件组件(Software Component)不仅仅是应用层的核心,也是一些抽象层、复杂驱动层等实现的载体。AUTOSAR软件组件大体上可分为原子软件组件(Atomic SWC)和部件(CompositionSWC)。其中,部件可以包含若干原子软件组件或部件。
在这里插入图片描述

1.1 软件组件的分类

原子软件组件则可根据不同用途分为以下几种类型:

①应用软件组件:主要用于实现应用层控制算法;

②传感器/执行器软件组件:用于处理具体传感器/执行器的信号,可以直接与ECU抽象层交互;

③标定参数软件组件:主要提供标定参数值;

④ECU抽象软件组件:提供访问ECU具体I/O的能力,该软件组件一般提供引用C/S接口的供型端口,即Server端,由其他软件组件(如传感器/执行器软件组件)的需型端口(Client 端)调用。此外,ECU抽象软件组件也可以直接和一些基础软件进行交互;

⑤复杂设备驱动软件组件:推广了ECU抽象软件组件,它可以定义端口与其他软件组件通信,还可以与ECU硬件直接交互。所以,该类软件组件灵活性最强,但由于其和应用对象强相关,从而导致其可移植性较差;

⑥服务软件组件:主要用于基础软件层,可通过标准接口或标准AUTOSAR接口与其他类型的软件组件进行交互。
在这里插入图片描述

二、数据类型

AUTOSAR规范中定义了如下三种数据类型(Data Type):

①应用数据类型(Application Data Type, ADT):应用数据类型( Application Data Type, ADT)是在软件组件设计阶段抽象出来的数据(类型,用于表征实际物理世界的量,是提供给应用层使用的,仅仅是一种功能的定义,并不生成实际代码;

②实现数据类型(Implementation Data Type, IDT):实现数据类型(Implementation Data Type, IDT) 是代码级别的数据类型,是对应用数据类型的具体实现;它需要引用基础数据类型(Base Type),并且还可以配置一些计算方法(Compute Method)与限制条件(Data Constaint);

③基础数据类型(Base Type)。

在AUTOSAR中,对于Application Data Type没有强制要求使用,用户可以直接使用Implementation Data Type。若使用了Application Data Type,则必须进行数据类型映射(Data Type Mapping),即将Application Data Type与Implementation Data Type进行映射,从而来对每个ApplicationDataType进行具体实现。

三、端口与端口接口

3.1 端口

软件组件的端口根据输入/输出方向可以分为:

①需型端口:用于从其它软件组件获得所需数据或者所请求的操作;

②供型端口:用于对外提供某种数据或者某种操作;

③供需端口。
在这里插入图片描述

3.2 端口接口

端口仅仅定义了方向,所以AUTOSAR中用端口接口(Port Interface)来表征端口的属性。端口包含着数据接口,端口接口如下:

①发送者-接收者接口( Sender Receiver In-terface,S/R);

②客户端-服务器接口(Client Server Inter-face. C/S);

③模式转换接口(Mode Switch Interface);

④非易失性数据接口(Non- volatile Data Interface);

⑤参数接口(Parameter Interface);

⑥触发接口(Trigger Interface) 。
在这里插入图片描述
注意图形的标识

因为S-R端口接口和C-S端口接口是较常用的,我们对这两个端口接口进行详细的介绍

(1)发送者-接收者接口(SR)

发送者接收者接口用于数据的传递关系,发送者发送数据到一个或多个接收者;

该类型接口中定义了一系列的数据元素(Data Element,DE),这些数据元素之间是相互独立的。

一个软件组件的多个需型端口、供型端口、供需端口可以引用同一个发送者-接收者接口,并且它们可以使用该接口中所定义的任意一个或者多个数据元素,而并不一定使用所有数据元素。
在这里插入图片描述

(2) 客户端-服务器接口(CS)

客户端-服务端接口用于操作(Operation, OP),即函数调用关系,服务端是操作的提供者;

多个客户端可以调用同一个操作,但同一个客户端不能调用多个操作;

客户端-服务器接口定义了一系列操作(Operation), 即函数,由供型端口所在的软件组件来实现,并提供给引用该接口的需型端口所在的软件组件调用。
在这里插入图片描述

四、软件组件的内部行为

在这里插入图片描述
软件组件的内部行为(Internal Behaviour, IB) 如图,其主要包括:

①运行实体(Runnable Entity,RE)

运行实体(Runnable Entity,RE) 是一段可执行的代码,其封装了一些算法。一个软件组件可以包含一个或者多个运行实体。

②运行实体的RTE事件(RTE Event)

每个运行实体都会被赋予一个RTE事件,RET可以引发运行实体的执行。

1)周期性事件;

2)数据接收事件;

3)客户端调用服务器事件。

在这里插入图片描述
③运行实体与所属软件组件的端口访问(Port Access)

•S/R通信方式分为显示模式和隐式模式

•显式模式的数据读写是即时的;

•隐式读写式有缓存的,适合多个运行实体的情况,可以改善运行效率;

•对于C/S通信分为同步和异步两种模式。
在这里插入图片描述
在这里插入图片描述
④运行实体间变量(Inter Runnable Variable, IRV)
在这里插入图片描述

五、AUTOSAR虚拟功能总线 VFB

虚拟功能总线VFB使得开发人员不必关心SWC是在哪一个ECU上。
在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值