AutoSar之診斷事件管理①

​最近一段時間,整理下Dem的知識和大家分享。

本文宏觀上介紹下Dem在AutoSar架構中的角色和位置。

Dem(Diagnostic Event Manager)診斷事件管理,屬於Autosar BSW(Basic Software)中的系統服務,在整個架構中所處的位置如下圖。

闡述下圖中的概念:

功能抑制管理(Function inhibitor Manager, FiM)

代表對軟件組件所需動作(例如抑制特定監視器)的事件進行評估和分配。當監測狀態發生變化時,Dem通知並更新功能抑制管理器(FiM),以便根據分配的依賴關係抑制或釋放功能實體。

診斷通信管理器(Diagnostic Communication Manager, Dcm)

負責UDS和SAEJ1979通信路徑和診斷服務的執行,從而處理來自外部測試人員或OBD系統的診斷請求。它轉發來自外部掃描工具的請求,並進一步負責封裝響應消息(DTC、狀態信息等),這些消息隨後將被傳輸到外部診斷掃描工具。

J1939 (J1939 Dcm)診斷通信管理器,負責SAE J1939-73診斷通信協議。

軟件組件(SW-C)和底層軟件(BSW)模塊,可以訪問Dem來更新和檢索當前監控狀態、UDS狀態等信息。SW-Cs和BSW模塊可以從Dem中檢索數據,例如打開或關閉指示燈。底層監控是SW-C/ BSW模塊的子組件。

數據提供:SW-Cs和BSW模塊將提供Dem所需的數據(即事件相關數據),例如,能夠創建事件存儲。

NVRAM管理器(NvM)提供了在NVRAM中存儲數據塊的機制。NVRAM(最大大小取決於配置)被分配給Dem, Dem使用NVRAM塊實現UDS狀態信息和相關數據的永久存儲(例如過電覆位)。

RTE爲BSW實現調度機制,例如爲ECU中使用的每個BSW模塊分配優先級和內存保護。

爲什麼需要診斷呢?可能學校裏的同學不太理解。診斷的功能在ECU設置中不可或缺,尤其在日益嚴格的法規面前。大家可能不太相信,目前我們做的國六項目中,有40%以上的代碼是在爲滿足功能安全和法規要求而存在。我以前在學校做控制器的時候,也是非常隨意,什麼診斷,什麼功能安全,什麼ASIL等級,什麼失效模式,統統不care。但是企業做產品時,這些問題必須要考慮,有些問題權利機關擔心我們不考慮,通過寫入法規來嚴格要求我們的產品。

上面提到的Dem,其實主要有兩方面的作用:需要關閉適當的功能和給錯誤處理提供有用的信息。你想象一下,如果感覺不舒服去醫院,通過多項檢查得出肝不太好的結論。把上面的一系列過程比作軟件診斷,Dem在其中就是通過化驗數據的處理得出這個人的病症(故障)在肝,並將這個病症存儲,例如存寫在病歷中。有了病症(故障)信息,醫生就可以建議患者不要喝酒(這如同(Fim功能抑制,將喝酒功能禁用),也可以將病症(故障)信息告訴家屬(這如同Dcm診斷通訊管理),診斷系統是類似的。

使用AutoSar 官方文件中描述來總結一下:
Dem服務組件,負責處理和存儲診斷事件(故障)和相關數據。此外,Dem向Dcm提供故障信息(例如,從事件內存中讀取所有存儲的DTD)。Dem提供了與應用層和其他BSW模塊的接口。

有關AUTOSAR的材料,可以關注微信公衆號“汽車控制與人工智能”後,回覆“AUTOSAR”獲取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章