AutoSAR经典平台架构总览:CP
1 基础软件层(BSW: Basic Software Layer)
基础软件层是AutoSAR架构的核心,主要负责提供操作系统、硬件抽象等功能,并且进一步分为以下子模块:
1.1 微控制器抽象层(MCAL: Microcontroller Abstraction Layer)
- 作用:抽象硬件细节,提供访问微控制器内部资源的接口。
- 关键模块:
- ADC(Analog-to-Digital Converter)模块: 管理ADC的初始化与操作。
- GPIO(General-purpose input/output)模块: 控制微控制器的通用I/O端口。
- PWM(Pulse Width Modulation)模块: 提供脉宽调制功能。
- Watchdog模块: 实现看门狗定时器功能。
1.2 ECU抽象层(ECU Abstraction Layer)
- 作用: 为上层软件提供硬件独立的接口,允许在不同ECU硬件上实现相同的软件功能。
- 关键模块:
- CAN(Controller Area Network)模块: 实现CAN通信协议栈。
- LIN(Local Interconnect Network)模块: 实现LIN总线通信。
- FlexRay模块: 提供FlexRay通信功能。
- EEPROM模块: 提供对非易失性存储器的访问。
1.3 服务层(Service Layer)
- 作用: 提供系统服务,如操作系统(OS)、内存管理等。
- 关键模块:
- OS模块: 实现实时操作系统功能,包括任务调度、资源管理和中断处理等。
- NVRAM(Non-Volatile RAM)管理: 管理非易失性存储器。
- 网络管理: 处理网络通信和状态管理。
- 诊断服务: 提供车载诊断功能(如DTC管理)。
2 运行时环境(RTE: Runtime Environment)
- 作用: 充当应用层与基础软件层之间的中间件,确保模块之间的解耦。
- 关键功能: 负责消息传递、数据交换和服务调用。
3 应用层(Application Layer)
应用层包含了特定功能的应用软件组件(SWC: Software Components),这些组件可以在RTE的支持下彼此交互。
- 作用: 实现特定的车辆功能,如发动机控制、车身电子、信息娱乐系统等。
- 关键模块:
- 控制器组件: 负责执行控制算法。
- 传感器组件: 获取和处理传感器数据。
- 执行器组件: 控制执行器。
4 总结
AutoSAR软件架构通过高度模块化的设计,提升了软件的重用性、可移植性和可维护性。每个层次的模块分工明确,从硬件抽象到应用实现,各自承担不同的职责,确保整个系统的可靠运行和高效开发。