AppL概述
开局一张Autosar的框架图:
一、AppL的组成
二、先来举个例子
三、SWC的通信
四、SWC的分配
开局一张Autosar的框架图:
一、AppL的组成
AppL中最重要的就是SWC了,而SWC与其他SWC通信需要接口,每个SWC中又由runnable组成,所以AppL主要的组成就分下面三部分:
- 1. 应用软件组件(SWC)
- 2. AutoSAR接口(Ports)和连接器(Connector)
- 3. 可运行实体(Runnable)
二、先来举个例子
这个例子是说的汽车顶灯的控制:
我们应该都有经验,车内的顶灯一般有三种模式:
- 1. 常闭的模式
- 2. 常开的模式
- 3. 随车开关而开关的模式 好了,那么我们来捋一捋。首先肯定是需要传感器(包括图上的和车门上的),处理单元和执行器(图上的车顶灯)。假如就以下图为简单逻辑而 言:有左右两个车门,左右两个车灯(上图只有一个,这里做成两个是因为做下图的时候强迫症犯了,非要整个对称),一个开关传感器。这里我们 分配了7个SWC,将传感器、处理单元和执行器都分的很细,且这里并非由一个ECU控制。大家可以记住这个例子,我们将一步一步在该例子上进行 讲述
三、SWC的通信
我们将上图的SWC整理一下,做成大家容易理解的横向一排的样式,如下:
结合1.2节讲的内容,这里将应用软件层标注了出来。可以看出来:SWC之间的通信是通过应用软件层外进行了,我们称其为虚拟功能总线 (VFB)。该总线是意义上的片内外通信的结合体,取了个名字叫虚拟功能总线,其实际就是分两部分:
- 1. 在片内就是通过RTE通信。前面章节说了,一个SWC可以理解为一个.c文件,那么c文件间怎么通信呢------全局变量。所以大家可以把ECU内部SWC的通信暂时先想象成全局变量,具体怎么实现的,在后续RTE章节中将做详述
- 2. 在片外就通过片外总线通信(一般汽车上都是CAN Bus) 补充说一点:上图中的下图这个符号是指的AutoSAR接口(称为Ports,2.3节会讲),而它们之间蓝色的连接线成为连接器(Connector,也即是刚 刚说的全局变量)
四、SWC的分配
接着上面的例子说,我们把上述的7个SWC分配到两个ECU中(实际上汽车里面也是这么做的)。将车灯开关、调光控制器和左右顶灯放到一个ECU中由车身顶部的一个芯片控制;将左右车门开关和车门开关逻辑单元放到专用的车门ECU芯片中控制。那么还是先看图:
两个ECU即为两个控制器,分别位于车身前部的车门控制器和位于车身顶部的顶灯控制器。ECU内部的SWC是通过RTE的管理来通信的;而跨ECU的通信就是通过外部总线(一般为CAN,就是车身上连接各ECU的CAN双绞线束)。
这样一来,就将整个顶灯的功能统一起来,并且部署到车身的各个ECU中去执行。