一.AUTOSAR的由来
由于汽车电子硬件系统的多样性,ECU软件的开发受到硬件系统的制约,每当需要更新硬件时,都会导致ECU软件重新编写或大规模修改后需进行一系列的测试,从而导致高昂的研发费用和漫长的研发周期,整车厂为降低汽车控制软件开发的风险,于是开始寻找提高软件复用度的方法,基于先前EAST-EEA项目的研究,由全球汽车制造商、零部件供应商及其他电子、半导体和软件系统公司联合建立汽车开放系统架构联盟,并联合推出了一个开放化的、标准的汽车嵌入式系统软件架构----AUTOSAR规范
二.AUTOSAR分层架构
AUTOSAR规范主要包括分层架构、方法论和应用接口三部分。其中分层架构是实现软硬件分离的关键,使汽车嵌入式系统控制软件开发者摆脱了以往ECU软件开发与验证时对硬件系统的依赖。
在AUTOSAR分层架构中,汽车嵌入式系统软件自上而下分别为应用软件层(ASW)、运行时环境(RTE)、基础软件层(BSW)和微控制器(Microcontroller),为保证上层与下层的无关性,在通常情况下,每一层只能使用下一层所提供的接口并向上一层提供相应的接口。如下图所示:
2.1.AUTOSAR应用层软件
应用层软件(ASW)包含若干个软件组成(SWC),软件组件间可通过端口(Port)进行交互,每个软件组件可以包含一个或多个运行实体(RE),运行实体中封装了相关控制算法,其可由RTE事件(RTE Event)触发
2.2.AUTOSAR运行时环境
运行时环境(RTE)作为应用层软件与基础软件层交互的桥梁,为软硬件分离提供了可能。RTE可以实现软件组件间、基础软件间以及软件组件与基础软件间的通信。RTE封装了基础软件层的通信和服务,为应用层软件组件提供了标准化的基础软件和通信接口,使得应用层可以通过RTE接口函数调用基础软件的服务。此外,RTE抽象了ECU之间的通信,即RTE通过使用标准化的接口将其统一为软件组件之间的通信。由于RTE的实现与具体ECU相关,所以必须为每个ECU分别实现。
2.3.AUTOSAR基础软件层
基础软件层(BSW)又可分别四层,即服务层(Service Layer)、ECU抽象层(ECU Abstraction Layer)、微控制器抽象层(MCAL)和复杂驱动(Complex Drivers),如图所示:
2.3.1服务层
服务层(Services Layer)提供了汽车嵌入式系统软件常用的一些服务,可分为系统服务( System Services)、存储器服务(Memory Services)以及通信服务(Communication Services)三大部分。提供了包括网络通信管理、存储管理、ECU模式管理和实时操作系统(RTOS)