Adaptive AUTOSAR 學習筆記 14 - 診斷


本系列學習筆記基於 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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM