本系列學習筆記基于 AUTOSAR Adaptive Platform 官方檔案 R20-11 版本 AUTOSAR_EXP_PlatformDesign.pdf,作者:Zijian/TENG
原文地址(獲取最新更新):https://www.cnblogs.com/tengzijian/p/15135074.html
縮寫
- DM:Diagnostics Management
- UDS:Unified Diagnostic Services
- DoIP:Diagnostic communication over Internet Protocol
- ISO:International Organization for Standardization
- AP:AUTOSAR Adaptive Platform
- CP:AUTOSAR Classic Platform
- FC:Functional Cluster
- DEXT:Diagnostic Extract Template
- SWCL:Software Clusters
- AA:Adaptive Application
- UCM:Update and Configuration Management
- DCM:Diagnostic Communication Mannger
- DEM:Diagnostic Event Mannger
- DTC:Diagnostics Trouble Code
9 診斷
9.1 概覽
診斷管理 DM 實作了 ISO 14229-5(UDSonIP),ISO 14229-5 基于 14229-1(UDS)和 ISO 13400-2(DoIP),DM 是 AP Foundation 層上的 Functional Cluster(FC),DM 的配置基于傳統 CP 的 AUTOSAR Diagnostic Extract Template(DEXT),DM 支持 DoIP 作為傳輸層協議,DoIP 是一個車輛發現協議,用于和診斷基礎設施(診斷儀、工廠/售后測驗儀)的 off-board 通信,車載或遠程診斷一般會使用其他傳輸層協議,為此 AP 提供了擴展自定義傳輸層的 API,UDS 廣泛用于車輛的生產和售后維修,
9.2 軟體簇
The atomic updateable/extendable parts are managed by SoftwareClusters(SWCL)
SoftwareClusters(SWCL)管理原子可升級/可擴展部分,SWCL 包含與部署/更新功能/應用相關的所有部分,DM 支持為每個安裝的 SWCL 分配獨立的診斷地址,SWCL 也和 UCM 的軟體包耦合,所以 SWCL 可以被更新或者新安裝的一臺機器上,
9.3 診斷通信子簇(DCM)
診斷通信子簇實作了診斷服務(好比 CP 中的 DCM),目前只支持有限的診斷服務,后續的 Release 將擴展支持更多的 UDS 服務,除了 ISO 14229-1 中的偽并行客戶端支持,DM 還進行了擴展,可以在默認會話下支持客戶端的全并行處理,滿足了現代汽車架構的需求:
- 多診斷客戶端/測驗儀的資料采集
- 后臺訪問
- 傳統維修車間和產線使用場景
9.4 自適應應用診斷
DM 作為診斷服務端,分發診斷請求(比如 Routine Control 和 DID 服務)到 AA 所映射的 Providing Port,AA 需要提供專門的 DiagnosticPortInterface,
9.5 專用/通用介面
DiagnosticPortInterface 有不同的抽象層級:
- RoutineControl 訊息
- 專用介面:API 宣告包含所有請求和回應訊息引數和原始資料型別,DM 負責序列化,每個 RoutineControl 訊息有自己的 API,
- 通用介面:請求/回應訊息的 API 宣告只包含一個位元組陣列(Byte-Vector)引數,應用負責序列化,多個 RoutineControl 訊息共用同一個 API,
- DataIdentifier 訊息
- 專用介面:API 宣告包含所有請求(用于寫)和回應(用于讀)的訊息引數和原始資料型別,DM 負責序列化,
- 通用介面:請求/回應訊息的 API 宣告只包含一個位元組陣列(Byte-Vector)引數,應用負責序列化,
- 獨立 DataElement:每個請求/回應訊息引數有自己的介面,這是最高級別的抽象,任何請求/回應訊息格式的改變都不會影響 API,不僅如此,一個診斷訊息的引數可能來自/分發到不同的行程,
9.6 診斷會話
DM 要求支持偽并行,診斷會話要能反應不同的診斷客戶端和服務端的會話,診斷服務端是通過 UDS 請求中的 Target Address 來確定,且在 AP 中運行時動態分配,
9.7 事件存盤子簇(DEM)
事件存盤子簇負責 DTC(Diagnostics Trouble Code)的管理(好比 CP 中的 DEM),Active DTC 表示一個檢測到的問題(對產線和維修站很重要),DM 管理 DTC 的存盤、配置的 SnapshotRecords(當發生 DTC 時的一組環境資料)和/或 ExtendedDataRecords(屬于 DTC 的統計資料,如重復發生次數),
檢測邏輯叫做 Diagnostic Monitor,Monitor 向 DM 的 DiagnosticEvent 報告最近的測驗結果,UDS DTC 狀態源自一個或多個 DiagnosticEvent,DTC 可以存盤在主存盤(通過 $19 02/04/06 訪問)或可配置的用戶存盤(通過 $19 17/18/19 訪問),
DM 支持基于計數器或者基于時間的消抖,此外,DM 提供有關內部轉換的通知:
- DTC 狀態更改
- 監視 DiagnosticEvent 重新初始化的需要
- Snapshot 或 ExtendedDataRecord 是否更改
如果 DTC 在配置的操作回圈數內都處于非 Active 狀態,則 DTC 將從 DTC 存盤中擦除,DM 支持對啟用和存盤條件的全域處理,啟用條件可用于在特殊條件下控制 DTC 的更新,例如在欠壓條件下禁用所有與網路相關的 DTC,
更多關于 Adaptive AUTOSAR 文章
https://www.cnblogs.com/tengzijian/category/1995263.html
其他診斷相關參考檔案
- AP:AUTOSAR_TPS_ManifestSpecification.pdf 第四章 Diagnostic Design
- FO:AUTOSAR_RS_Diagnostics.pdf
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/296156.html
標籤:其他
