1. 应用层(Application Layer)
应用层包含各种应用程序(SW-C,Software Components),这些应用程序通过虚拟功能总线(VFB,Virtual Functional Bus)进行通信。应用层的主要组件包括:
-
软件组件(SW-C):实现特定功能的软件模块,如发动机控制、刹车系统等。
-
端口接口(Port Interfaces):定义软件组件之间的通信接口。
2. 运行时环境(RTE,Runtime Environment)
RTE是应用层和基础软件层之间的接口,负责管理和调度软件组件之间的通信。RTE的主要功能包括:
-
消息传递:在软件组件之间传递数据和事件。
-
调度管理:管理软件组件的执行顺序和时间。
3. 基础软件层(BSW,Basic Software Layer)
基础软件层提供了一系列标准化的服务和功能,包括:
-
服务层(Services Layer):提供操作系统、网络管理、内存管理等服务。
-
ECU抽象层(ECU Abstraction Layer):抽象硬件细节,提供统一的硬件访问接口。
-
复杂驱动层(Complex Driver Layer):处理复杂的硬件驱动,如传感器和执行器。
4. 微控制器抽象层(MCAL,Microcontroller Abstraction Layer)
MCAL是基础软件层的一部分,提供对微控制器硬件的抽象和驱动,包括:
-
ADC(模数转换)
-
PWM(脉宽调制)
-
CAN(控制器局域网)
-
SPI(串行外设接口)
-
I2C(集成电路总线)
5. 硬件抽象层(HAL,Hardware Abstraction Layer)
HAL是基础软件层的一部分,提供对硬件资源的抽象和访问,包括:
-
外设驱动
-
内存管理
-
通信接口
6. 操作系统(OS,Operating System)
操作系统负责管理和调度ECU上的任务和资源,包括:
-
任务管理
-
中断管理
-
内存管理
7. 通信层(Communication Layer)
通信层负责ECU之间的数据传输和网络管理,包括:
-
CAN网络
-
LIN网络
-
FlexRay网络
-
Ethernet网络
架构层概述
AUTOSAR架构在最高抽象级别上区分了三个软件层:应用程序、运行时环境和在微控制器上运行的基本软件。
基础软件层(BSW)可以再进一步划分为服务层、ECU抽象层、微控制器抽象层和复杂驱动层。