autosar bsw 的关键模块
AUTOSAR(AUTomotive Open System ARchitecture)的**基础软件层(BSW,Basic Software)**是汽车电子系统标准化的核心,负责提供硬件抽象、通信、诊断、安全等基础服务。以下是BSW的关键模块及其功能分类:
1. 微控制器抽象层(MCAL,Microcontroller Abstraction Layer)
-
功能:直接驱动微控制器硬件,提供统一的硬件接口。
-
关键模块:
-
DIO:数字输入/输出驱动。
-
ADC:模数转换驱动。
-
PWM:脉宽调制驱动。
-
SPI/I2C:串行通信驱动。
-
CAN/LIN/Ethernet驱动:总线底层驱动。
-
Flash/EEPROM驱动:存储读写驱动。
-
2. ECU抽象层(ECU Abstraction Layer)
-
功能:提供与ECU硬件无关的接口,屏蔽具体硬件差异。
-
关键模块:
-
通信抽象:
-
CanIf、LinIf、EthIf:为CAN、LIN、以太网提供统一接口。
-
-
内存抽象:
-
MemIf:统一访问Flash/EEPROM的接口。
-
-
I/O抽象:
-
Port:配置I/O引脚模式。
-
Dio:数字信号读写。
-
-
3. 服务层(Services Layer)
-
功能:提供系统级服务,支持应用层功能。
-
关键模块:
-
操作系统(OS):
-
多任务调度、中断管理、资源保护(符合OSEK标准)。
-
-
系统服务:
-
EcuM(ECU状态管理):控制ECU启动、休眠、唤醒。
-
WdgM(看门狗管理):监控软件运行状态,防止死锁。
-
BswM(基础软件管理):根据条件动态配置BSW模块。
-
-
通信服务:
-
Com:信号级通信(如信号打包/解包)。
-
PduR(协议数据单元路由):跨总线协议(CAN/LIN/Ethernet)路由数据。
-
CanSm/LinSm:管理CAN/LIN通信状态(激活/休眠)。
-
-
诊断服务:
-
DCM(诊断通信管理):处理UDS/KWP2000诊断请求。
-
DEM(诊断事件管理):记录故障码(DTC)和环境数据。
-
FIM(功能抑制管理):故障时禁用特定功能。
-
-
存储管理:
-
NvM(非易失性存储管理):管理EEPROM/Flash数据(如标定值、故障码)。
-
-
安全服务:
-
CSM(加密服务管理):提供加密算法(如AES、SHA)接口。
-
-
网络管理:
-
NM(网络管理):控制总线网络睡眠/唤醒(如CanNm、LinNm)。
-
-
4. 复杂设备驱动(CDD,Complex Device Drivers)
-
功能:处理高实时性或非标准化硬件操作(如电机控制、传感器融合)。
-
特点:允许直接访问硬件,不受AUTOSAR严格分层限制。
5. 总线相关模块
-
CAN总线:
-
CanTrcv:CAN收发器驱动。
-
CanTp:传输层协议(ISO-TP)。
-
-
LIN总线:
-
LinTrcv:LIN收发器驱动。
-
LinTp:LIN传输层。
-
-
以太网:
-
EthTrcv:以太网PHY驱动。
-
TCP/IP协议栈:支持DoIP(Diagnostic over IP)等。
-
6. 其他重要模块
-
IO硬件抽象(IoHwAb):统一传感器/执行器接口。
-
RTE(运行时环境):虽属于中间层,但负责BSW与应用层(SWC)的交互。
总结
BSW通过分层设计实现了硬件无关性和模块化,使汽车电子软件具备可移植性和可扩展性。理解这些模块的协作关系(如EcuM管理启动流程、BswM协调模块状态、NvM与DCM/DEM交互存储故障数据)是开发符合AUTOSAR标准ECU的关键。