AutoSar之診斷事件管理

2021-09-25 15:19:25 字數 1438 閱讀 7083

本文巨集觀上介紹下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模組的子元件。

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之診斷事件管理

介紹下dem的定義過程。診斷事件管理 dem 會處理和儲存sw cs和bsw模組中檢測到的事件,並且儲存的事件資訊通過其他bsw模組或sw cs的介面獲得。下圖展示了dem的配置 dem的定義 診斷事件可由dem模組處理的原子單元來定義。診斷事件的狀態代表監控的結果。dem可以直接接收來自sw c的...

AUTOSAR實驗之DIO配置

利用eb tresos軟體為工程新增相應dio用作診斷io,本例則基於s32v234平台,增加pgood,fsob故障診斷管腳功能。對於pmic晶元,除了電壓電流等波動引發故障暫存器置位意外,存在通用的故障診斷管腳,即pgood和fsob,兩者區別可以通俗理解為故障程度的不同。對於ov,uv,ili...

AUTOSAR之FEE模組介紹

fee flash eeprom emulation 即flash模擬eeprom。為什麼要用flash模擬eeprom?下面我們來看下兩者之間的區別。non volatile memory,非易失性儲存器,就是斷電後可以儲存資料的儲存器。我們知道flash和eeprom都屬於這類儲存器,可是它們兩...