KopherUDS:ECU-side UDS 診斷中介軟體
KopherUDS 是可配置的 ECU-side UDS 診斷中介軟體,整合 DCM、DEM、NM、DoCAN、DoIP、DID、DTC、Routine、SecurityAccess 與 programming service hooks。
重點摘要
Summary
KopherUDS 提供可配置的車用 UDS diagnostic middleware,把 DCM、DEM、NM、DoCAN / ISO-TP 與 DoIP / TCP-IP 組成可重用的診斷 runtime,再透過 project callbacks 對接 DID、DTC、Routine、I/O、memory、flash 與 boot 行為。
PC 端的互動診斷、自動化測試、Trace 與報告由 KITE UDS Tester 負責。Kopher Config、KopherUDS 與 KITE UDS Tester 可使用同一套 DID、DTC、Routine、session 與 security 定義,減少 ECU 與 PC 工具各自維護一份診斷資料的成本。
Product Role
| 元件 | 工程角色 |
|---|---|
| Kopher Config | 管理診斷定義、驗證專案規則並產生 ECU configuration。 |
| KopherUDS | 在 ECU runtime 內執行診斷服務、事件管理、網路狀態與 transport。 |
| KITE UDS Tester | 從 PC 執行互動診斷、自動化驗證、Trace 與報告輸出。 |
| KopherBoot | 負責 PBL / SBL、flash programming、secure boot、recovery 與安全更新生命週期。 |
這些產品共享診斷資料與部分 BSW foundation,讓 configuration、ECU runtime、PC validation 與 programming flow 使用一致的診斷模型。
Runtime Architecture
| 層級 | KopherUDS 責任 |
|---|---|
| Application / Boot Integration | DID、DTC、Routine、I/O、memory、flash / boot callbacks。 |
| DCM | Diagnostic Session、SecurityAccess、service routing、P2 / P2* timing、positive / negative response 與 pending flow。 |
| DEM | Event、debounce、snapshot、extended data、DTC status、clear / report / ControlDTCSetting。 |
| NM / ComM / PduR | Network wake / sleep、diagnostic communication hold 與訊息路由。 |
| Transport | DoCAN / ISO-TP 與 DoIP / TCP-IP。 |
| Platform Services | CAN / Ethernet driver、NvM / Fee / Ea、Flash Driver 與目標 MCU。 |
Application hooks 保持 project-specific。共用診斷核心負責協定與狀態管理,實際資料來源、硬體 I/O、Routine、memory protection 與 flash policy 由 ECU 專案整合。
Configurable UDS Services
KopherUDS 提供可依 ECU profile 選用的 UDS service modules,涵蓋 session、ECU control、DTC、DID、memory、SecurityAccess、communication、Routine 與 programming 等常用流程。
| 分組 | Dedicated core handlers |
|---|---|
| Session / ECU Control | 0x10 DiagnosticSessionControl、0x11 ECUReset、0x3E TesterPresent |
| DTC | 0x14 ClearDiagnosticInformation、0x19 ReadDTCInformation、0x85 ControlDTCSetting |
| Data / I/O | 0x22 ReadDataByIdentifier、0x24 ReadScalingDataByIdentifier、0x2E WriteDataByIdentifier、0x2F InputOutputControlByIdentifier |
| Memory / Security / Communication | 0x23 ReadMemoryByAddress、0x27 SecurityAccess、0x28 CommunicationControl |
| Routine / Programming | 0x31 RoutineControl、0x34 RequestDownload、0x35 RequestUpload、0x36 TransferData、0x37 RequestTransferExit |
Authentication、periodic DID、dynamic DID、file transfer、secured data transmission、response on event 與 link control 等需求,可依 OEM、transport、security、storage 與 ECU profile 擴充。
每個 ECU 可依產品需求配置 service、subfunction、session、security level 與 callback 行為,讓共用診斷核心適用於不同控制器與車載網路架構。
DID、DTC 與 Routine Integration
- DID 支援 list / range、多 DID、sync / async client-server、sender / receiver 與 optional NvM path。
- DEM 可承接 event、debounce、snapshot、extended data 與 DTC state,再由 DCM 提供 clear、report 與 ControlDTCSetting 路徑。
- RoutineControl 支援 StartRoutine、StopRoutine、RequestRoutineResults,實際 routine logic 由 project callback 實作。
- Memory 與 programming services 提供 negotiation、transfer state 與 callbacks;允許區域、erase / write、驗證及 recovery policy 由專案或 KopherBoot 負責。
SecurityAccess Integration
UDS 0x27 透過 configurable GetSeed / CompareKey callbacks 分離診斷 service core 與實際演算法。DCM policy 可處理 pending、attempt counter、delay timer 與 NRC 0x35 / 0x36 / 0x37,再由專案選擇 software algorithm、HMAC 或 HSM / SHE-backed key service。
這種邊界讓 UDS service flow 保持穩定,同時避免把 OEM key policy 或 protected key material 固定寫進共用診斷核心。
Engineering Workflow
- 定義 DID、DTC、Routine、session、SecurityAccess、timing 與 transport profile。
- 由 Kopher Config 驗證規則並產生 KopherUDS 所需的 ECU configuration。
- 將 DCM、DEM、NM、transport 與 application / boot callbacks 整合到目標 MCU。
- 以 KITE UDS Tester 執行互動診斷、自動化測試、Trace 與 report export。
- 對照 generated configuration、PC evidence 與 on-target behavior 完成專案驗收。
Project Delivery
KopherBit 可協助完成診斷規格整理、Kopher Config configuration、KopherUDS stack integration、application callbacks、transport 與 platform services 串接,以及 KITE UDS Tester 測試案例、Trace 與 report。交付範圍可依 ECU、OEM 診斷規範與開發階段調整。
FAQ
KopherUDS 與 KITE UDS Tester 有什麼差別?
KopherUDS 是 ECU-side diagnostic middleware;KITE UDS Tester 是 PC diagnostic instrument。前者在 ECU 內處理 DCM、DEM、NM 與 transport,後者從外部執行 service request、response / NRC 分析、自動化測試、Trace 與報告。
KopherUDS 的服務範圍如何配置?
工程團隊可依 ECU profile 選擇 session、DID、DTC、Routine、SecurityAccess、memory、communication 與 programming services,再配置 subfunction、session、security level、timing 與 project callbacks。OEM-specific services 也可在相同 architecture 上擴充。
是否支援 DoCAN 與 DoIP?
架構提供 DoCAN / ISO-TP 與 DoIP / TCP-IP 的整合路徑。實際 driver、PduR、ComM、NM、network profile 與 on-target timing 需要在 ECU 專案中完成配置與驗證。
KopherUDS 與 KopherBoot 如何分工?
KopherUDS 提供 application-side ECU 診斷核心與 programming service hooks;KopherBoot 負責 boot stage、flash flow、startup trust、recovery 與安全更新生命週期。兩者可共享診斷 BSW foundation,但產品責任不同。
需要可量產的整車控制器平台?
查看 KopherBit 針對商用電動車、電動巴士、卡車與特種車提供的 VCU 平台與工程服務。