由宋珂、王民、单忠伟、谭杨编著的《AUTOSAR规范与车用控制器软件开发》,该书对于想了解AUTOSAR分层架构的初学者来说是不错的选择,关于AUTOSAR的书籍数量不是很多。随着汽车工业的蓬勃发展,车载ECU的软件开发尤为重要,其中底层基础软件的开发起着举足轻重的作用。这本书就能带您了解AUTOSAR架构。以下是节选此书的内容(侵权请告知),如有需要可到正规网站购买纸质版书籍。
AUTOSAR规范主要包括分层架构、方法论和应用接口三部分内容。其中,分层架构是实现软硬件分离的关键,它使汽车嵌入式系统控制软件开发者摆脱了以往ECU软件开发与验证时对硬件系统的依赖。
在AUTOSAR分层架构中,汽车嵌入式系统软件自上而下分别为应用软件层(Application Software Layer,ASW)、运行时环境(Runtime Environment,RTE)、基础软件层(Basic Software Layer,BSW)和微控制器(Microcontroller),如图2.3所示。为保证上层与下层的无关性,在通常情况下,每一层只能使用下一层所提供的接口,并向上一层提供相应的接口。
图2.3 AUTOSAR分层架构
1.1、AUTOSAR应用软件层
应用软件层(Application Software Layer,ASW)包含若干个软件组件(Software Component,SWC),软件组件间通过端口(Port)进行交互。每个软件组件可以包含一个或者多个运行实体(Runnable Entity,RE),运行实体中封装了相关控制算法,其可由RTE事件(RTE Event)触发。
1.2、AUTOSAR运行时环境
运行时环境(Runtime Environment,RTE)作为应用软件层与基础软件层交互的桥梁,为软硬件分离提供了可能。RTE可以实现软件组件间、基础软件间以及软件组件与基础软件之间的通信。RTE封装了基础软件层的通信和服务,为应用层软件组件提供了标准化的基础软件和通信接口,使得应用层可以通过RTE接口函数调用基础软件的服务。此外,RTE抽象了ECU之间的通信,即RTE通过使用标准化的接口将其统一为软件组件之间的通信。由于RTE的实现与具体ECU相关,所以必须为每个ECU分别实现。
1.3、AUTOSAR基础软件层
基础软件层(Basic Software Layer,BSW)又可分为四层,即服务层(Services Layer)、ECU抽象层(ECU Abstraction Layer)、微控制器抽象层(Microcontroller Abstraction Layer,MCAL)和复杂驱动(Complex Drivers)。