診斷通訊
UDS 診斷架構:DEM、DCM、NM 與 KopherUDS 技術說明
UDS 是車用診斷通訊的核心協定。本文說明 DEM 事件管理、DCM 診斷通訊、NM 網路管理與 KopherUDS 在開發、產線與售後診斷中的角色。
摘要
UDS(Unified Diagnostic Services, ISO 14229)是車用 ECU 診斷、資料讀取、故障碼管理、例程控制與刷寫流程常用的通訊協定。它可透過 CAN、CAN FD 或 Ethernet 等傳輸方式運作。
在工程實作中,UDS 通常會和事件管理、通訊管理、網路管理、資料識別碼與安全存取機制一起設計。
DEM、DCM、NM 的分工
| 模組 | 主要功能 |
|---|---|
| DEM | 管理故障事件、DTC 狀態、快照資料與老化邏輯 |
| DCM | 管理診斷服務、Session、Security Access、DID、Routine |
| NM | 管理網路喚醒、睡眠、節點狀態與通訊可用性 |
| Transport | 處理 CAN TP、DoIP 或其它診斷傳輸 |
常見 UDS 服務
| 服務 | 用途 |
|---|---|
| 0x10 Diagnostic Session Control | 切換預設、延伸或程式化 session |
| 0x22 Read Data By Identifier | 讀取 ECU 資料、版本、狀態與量測值 |
| 0x19 Read DTC Information | 讀取故障碼與事件狀態 |
| 0x27 Security Access | 控制受保護服務的存取權限 |
| 0x31 Routine Control | 執行測試、校正或產線流程 |
| 0x34 / 0x36 / 0x37 | 韌體下載、資料傳輸與刷寫結束 |
KopherUDS 的定位
KopherUDS 是面向車用 ECU 的診斷通訊堆疊,可依專案需求配置診斷服務、DID、DTC、例程控制、安全存取與刷寫流程。它適合需要快速導入診斷功能,但又希望保留工程客製彈性的控制器專案。
導入診斷前需要準備的資料
| 資料 | 說明 |
|---|---|
| DID 清單 | 資料識別碼、長度、讀寫權限與資料來源 |
| DTC 清單 | 故障事件、狀態位元、觸發條件與恢復條件 |
| Session 設計 | 預設、延伸、程式化 session 與服務權限 |
| Security 設計 | Seed/Key、權限層級與錯誤鎖定策略 |
| 測試規格 | 正向、負向、邊界與刷寫測試案例 |
FAQ
UDS 是否只用於售後維修?
不是。UDS 同時用於開發測試、產線 EOL、售後維修、資料讀取、DTC 分析與 ECU 刷寫。
DEM 和 DCM 可以分開導入嗎?
可以,但實務上 DTC 讀取、事件狀態與診斷服務高度相關,建議在同一份診斷規格中一起定義。
KopherUDS 可以搭配 KITE UDS Tester 嗎?
可以。KopherUDS 負責 ECU 端診斷能力,KITE UDS Tester 可用於驗證服務回應、DTC、DID、刷寫與產線測試流程。