TECH ARTICLE

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. 診斷通訊的路徑

診斷訊息的流動路徑通常為:

外部診斷儀 arrow_right_alt 通訊硬體 (CAN/Eth) arrow_right_alt PduR arrow_right_alt DCM sync_alt DEM / SWC

教學影片