AUTOSAR架构

AUTOSAR,汽车开放系统架构(AUTomotive Open System Architecture)是一家致力于制定汽车电子软件标准的联盟。AUTOSAR是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。自2003年起,各伙伴公司携手合作,致力于为汽车工业开发一个开放的、标准化的软件架构”。------百度百科

(声明:本文综述来自不同平台,如有侵权,请联系删除)

1.1 AUTOSAR架构简介

image


 

image


AutoSAR主要分为3个层级:应用软件层(AppL),实时运行环境(RTE)和基础软件层(BSW)。

1.2 应用软件层(Appl)

APPL由多个SWC组成,在此,每个SWC可以理解为一个.c文件,而整个应用软件层便是一个文件夹。如下图所示:
 

image


上图可以看出,整个工程是一个AutoSAR架构,其中的AppL、RTE和BSW分别对应一个文件夹,而SWC组件就是一个个的.c文件(和.h)。
AppL中最重要的是SWC,而SWC与其他SWC通信需要接口, SWC中又由Runnable组成,所以AppL主要的组成就分下面三部分:
应用软件组件(Application SWC)
AutoSAR接口(Ports)
可运行实体(Runnable)
1.应用软件组件(SWC)
 

image


1)原子SWC(Atomic SWC)
 

image


不可再拆分的SWC,特点是每个原子级SWC对应一个.c文件,且这个c文件就是的最小单元,不可再分。可运行实体(runnable)是组成SWC的更小单元,即将SWC看成是最小单元,runnable是其中的函数。
2)集合SWC
AutoSAR还规定了一类集合级的SWC(Composition SWC)。它们可以分为一个个更小的Atomic SWC。通常,可以将功能相近或者需要整合到一处方便观看的SWC利用一个compositon SWC包含起来。如上图中的“车顶灯ECU”。
3)特殊SWC
 

image


实际上,需要添加代码的不止是应用层的SWC。在BSW中,IO硬件抽象层(IoHwAb,和复杂驱动(Cdd)都是需要手动添加代码的,而这两个地方也可以算作是SWC,在DaVinci Developer中可以作为SWC进行配置和加runnable等操作的。因此,可将其看作是特殊的SWC。
2.AutoSAR接口(Port)
Ports是SWC和SWC做接口(Interface)通信使用,或是SWC通过RTE和BSW做接口(Interface)通信使用,Ports主要分为5种类型。

AutoSAR接口Simulink接口
Receiver/Sender PortIn/Out Port
Client PortFunction Caller
Server PortSimulink Function
Inter-Runnable Varible(IRV)Signal Line
EventFunction Call
RunnableFunction Call Subsystem

image

image

1)Send/Receiver(S/R)接口
 

image


作用:传输数据。通过RTE传输数据,并且通过RTE管理数据的传输,避免数据出问题(例如同时调用同一数据时可能出错)。
例子:
Receiver接口类型:Rte_Read__()

2)Client/Server(C/S)接口
作用: 提供操作。就是Server提供函数供Client调用
可以同步和异步。同步就是直接调用,相当于函数直接插入上下文运行;异步的话需要等待,相当于让函数在另一个线程中运行,运行完了再返回,原上下文依然运行;
一个接口可以提供多个操作,就是一个接口可以包含很多函数;
ECU内部和跨ECU都可以调用,跨ECU也是通过外部总线。
例子:
Client接口类型:Rte_Call__()
3.可运行实体(Runnable)
AUTOSAR 当中,一个运行实体(Runnable)是指一个原子软件组件(AUTOSAR Atomic Software Component)提供的最小代码段,同时也是一个可以被单独调度的任务。
Runnables,即Runnable entities,也是SWC的组成部分,运行在RTE里面,由RTE周期事件触发或者其他事件触发时调用。Runnable包含着实际运行的函数。
 

image


注:Runnable是需要OS中的Task做载体。

1.3 实时运行环境(RTE)

RTE的作用有点像一个快递中转站或者说是电话接线员(就是上个世界那种要先打电话到接线员那里,然后通过接线员转接电话线到目的地),其作用就是将一个SWC的信息通过RTE连接到其他SWC或者BSW上,且RTE具有管理这些信息的功能。比如接收的SWC正忙(您所拨打的用户正忙),那么RTE负责让发送信息的SWC等待,或者做其他处理;RTE还能触发SWC,就像是这时接收的SWC在睡觉,这时发送的SWC发信息来了,那么RTE就要把接收的SWC叫醒起床。一句话概括就是RTE提供了SWC的运行环境。
作用:
提供跨ECU / ECU内部的通信管理;
提供对runnable的管理功能(触发、唤醒等,简单说就是runnable需要映射到Task上运行,而这个映射就是通过RTE具体实现的);
VFB(虚拟功能总线),RTE就是VFB的具体实现。
注:在Vector的工具链中,RTE是自动生成的。

1.4 基础软件层(BSW)

基础软件层(Basic Software),实质上就是将整个ECU分层封装起来,一直封装到OS。
 

image


实际在做符合AUTOSAR的应用软件开发时,需要对APPL层和RTE层有更深入的认识,而对BSW有个基本认识即可。

AUTOSAR(AUTomotive Open System ARchitecture)是一种用于开发汽车电子系统的开放式软件架构。它旨在提供一个统一的开发方法和标准化的软件平台,以便不同汽车制造商和供应商能够更加高效地开发和集成汽车电子系统。 AUTOSAR架构基于分布式系统的思想,将汽车电子系统划分为多个独立的软件组件,这些组件可以在不同的ECUs(Electronic Control Units)上运行。通过标准化接口和通信协议,这些组件可以相互交互,实现各种汽车功能,如引擎管理、车身电子控制和驾驶辅助系统等。 AUTOSAR架构的核心是它的标准化元模型(Meta Model),它定义了汽车电子系统的不同组成部分、它们之间的关系以及其功能。这个元模型使得不同汽车制造商和供应商能够基于相同的概念和语言进行系统设计和开发,提高了开发效率和系统的可重用性。 AUTOSAR架构还包括一套标准化的软件组件、通信协议和开发方法。这些标准化的组件可以在不同的汽车型号和不同的供应商之间交换和替换,使得整个系统更加模块化和可配置。同时,通过定义通信协议和接口,AUTOSAR架构可以支持不同ECUs之间的互操作性,实现更灵活的系统集成和功能扩展。 总之,AUTOSAR架构为汽车电子系统开发提供了一种统一的、标准化的方法。它通过分布式系统的思想、元模型和标准化的组件、协议等,实现了不同汽车制造商和供应商之间的信息交换和系统集成,提高了开发效率、降低了开发成本,并促进了汽车电子系统的创新和功能扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值