AUTOSAR(二)软件架构

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

AUTOSAR目前分为两种:Classic Platform AUTOSAR和Adaptive Platform AUTOSAR,也称为CP和AP。通常我们提到的AUTOSAR一般指Classic AUTOSAR,它是用在众多汽车ECU上的AUTOSAR架构。而Adaptive AUTOSAR是随着近些年汽车信息娱乐系统的发展,在带有高级操作系统(Linux或QNX)的车载Soc上使用的一种AUTOSAR架构。本文谈论的是Classic AUTOSAR,因此下面提到的AUTOSAR均指Classic AUTOSAR。

AUTOSAR的具体架构

下图展示了AUTOSAR比较High Level的三个大的层级:应用软件层、RTE、基础软件层。

应用软件层包含了汽车主机厂要求的和功能相关的软件。

RTE是应用层不同模块之间以及应用层和基础软件层之间进行交互的桥梁。

基础软件层则包含MCU及其外围设备驱动、硬件抽象层以及为上层应用提供接口服务的服务层。

AUTOSAR(二)软件架构_第1张图片

而基础软件层(BSW)可以再进一步划分为:微处理器抽象层(MCAL)、ECU抽象层、服务层以及复杂驱动。

AUTOSAR(二)软件架构_第2张图片

MCAL其实就是MCU的驱动软件,对每个外设模块的操作进行了寄存器操作的封装,比如SPI的初始化只需要调用一个初始化函数即可,不用关心函数内部是怎么实现的。

ECU抽象层相比MCAL多了一些板上硬件资源的驱动,比如外部看门狗、片外EEPROM或FLASH等,如果要使用这些硬件资源直接调用ECU抽象层的接口即可。

服务层是进一步的封装和抽象,一般包括OS、电源状态管理、整车网络通信、诊断服务、存储服务等。

复杂驱动主要包含一些不在AUTOSAR标准规范里的一些硬件设备的驱动,比如电机驱动、一些比较复杂的传感器驱动等。

你可能感兴趣的:(单片机)