AUTOSAR 架构介绍

在AUTOSAR软件架构中,汽车嵌入式系统软件自上而下分别为应用软件层(Application Software Layer,ASW)、运行时环境(Runtime Environment,RTE)、基础软件层(Basic Software Layer,BSW)和微控制器(Microcontroller)如下图。为保证上层与下层的无关性,在通常情况下,每一层只能使用下一层所提供的接口,并向上一层提供相应的接口。

AUTOSAR 架构介绍_第1张图片

目前AUTOSAR规范定义最为详细的部分就是基础软件层(BSW)。其中BSW service layer ,ECU,MACL,CDD组成,结构如下:

 AUTOSAR 架构介绍_第2张图片

MCAL layer: 用于驱动硬件,该层主要是实现MCU外设驱动,比如I/O驱动、Flash驱动、Can驱动,IIC ,SPI 、看门狗驱动、定时器驱动等等。这一层是需要和硬件打交道的。

ECU抽象层(ECU Abstraction Layer:是对ECU的抽象和封装,ECU上面除了主芯片MCU,还有很多外围设备,比如外置Flash,外置电源管理芯片等等。这一层就是实现了整个ECU所有设备的封装。外围设备也是MCU主芯片控制的,这一层会使用到Mcal的接口。作为抽象层,屏蔽了下层驱动实现细节,将统一接口API暴露给上层以实现功能,比如配置TIM,ADC等会调用MCAL中定义好的API接口。该层从上层抽象Mcal层,并提供用于访问外部和内部的驱动程序的API。

服务层(Service Layer):是向应用层提供服务的,这一层将底层提供的服务封装起来供应用层使用。比如通信服务、存储服务、os操作系统服务等。

CDD(Complex Device Drivers): 复杂驱动指的是有些模块不适用于Autosar协议栈,通过手写代码自己封装成CDD模块,在项目开发中会经常有一些模块直接作为CDD使用

你可能感兴趣的:(汽车电子,单片机)