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的關鍵。