EB tresos Classic AUTOSAR:
BSW - Diagnostic stack 基礎技術解析
AUTOSAR 診斷模組基本概念與模組劃分,詳細介紹 DCM、DEM、FIM 功能及 UDS 診斷服務流程,助力掌握車載診斷核心技術。
本篇文章基於 Elektrobit 提供的「EB tresos Classic AUTOSAR BSW – Diagnostic stack 基礎培訓」影片內容整理。影片介紹了 AUTOSAR 診斷模組的基本概念與模組劃分,其中詳細介紹了 EB tresos 的 Dem、Dcm、Fim、Det、DccM 診斷模組的功能與作用,以及 UDS 協議下診斷服務的請求與相應流程,包括常見的功能說明,將助力汽車電子開發者和車載診斷系統開發團隊掌握 AUTOSAR 診斷核心技術,提高開發效率。
1. 診斷堆疊的核心目標
診斷堆疊的主要任務是實現標準化的車輛診斷協議(如 UDS ISO 14229),讓外部診斷儀(Tester)能與 ECU 通訊,讀取故障碼、清除紀錄、執行測試或進行軟體更新(刷寫)。
2. 三大核心模組 (DCM, DEM, FIM)
影片中詳細介紹了診斷堆疊的三個支柱模組,它們各司其職並緊密協作:
forum DCM (Diagnostic Communication Manager)
定位:通訊管理員。
功能:負責處理外部診斷請求。它解析 UDS 服務(如讀取資料 0x22、寫入資料 0x2E),並將結果回傳給診斷儀。它也管理診斷會話(Session)與安全性解鎖(Security Access)。
inventory_2 DEM (Diagnostic Event Manager)
定位:故障記憶體管理器。
功能:負責處理「診斷事件(Events)」。當軟體檢測到異常時,DEM 會記錄對應的故障碼 (DTC),並存儲相關的環境資訊(Freeze Frames),供後續維修分析。
block FIM (Function Inhibition Manager)
定位:功能抑制管理器。
功能:根據 DEM 記錄的故障狀態,決定是否需要暫停某些軟體功能。例如,若檢測到節氣門感測器故障,FIM 會通知控制邏輯停止定速巡航功能,以確保行車安全。
3. 診斷開發的工作流程
在 EB tresos Studio 中,配置診斷堆疊通常遵循以下步驟:
-
description
導入診斷描述文件: 通常是 CDD (Diagnostic Description) 或 ODX 文件,定義了支持哪些 UDS 服務。
-
build
配置 DCM: 設定診斷服務、DID (Data Identifiers) 以及通訊參數。
-
tune
配置 DEM: 定義各個診斷事件、DTC 優先級、儲存機制(初次發生、確認發生等)。
-
integration_instructions
生成程式碼: 透過 EB tresos 工具生成對應的 BSW 程式碼。
4. 診斷通訊的路徑
診斷訊息的流動路徑通常為: