AutoSar之診斷事件管理

2021-09-25 15:19:25 字數 1778 閱讀 9457

​介紹下dem的定義過程。

診斷事件管理(dem)會處理和儲存sw-cs和bsw模組中檢測到的事件,並且儲存的事件資訊通過其他bsw模組或sw-cs的介面獲得。下圖展示了dem的配置:

dem的定義

診斷事件可由dem模組處理的原子單元來定義。診斷事件的狀態代表監控的結果。dem可以直接接收來自sw-c的監控結果,也可以通過rte接收來自其他bsw模組的監控結果。dem模組使用eventid管理系統診斷事件的狀態,並對單個測試結果執行所需的操作,例如儲存凍結幀。dem模組應該通過eventid或相關事件名來表示每個診斷事件。所有監控模組和bsw模組都使用eventid作為符號事件名。dem通過配置工具將符號名替換成數字。毋庸置疑,每乙個eventid都是獨一無二的,dem無法處理多個監控模組共享乙個id的情況。

dem模組使用內部監控狀態來儲存報告事件的狀態。比如,向dcm報告uds狀態。

dem模組支援下圖所示的幾個特定事件的配置引數。

事件優先順序

事件優先順序即事件的重要性級別排序。它用於確定當儲存的事件數量超過最大記憶體條目數量時,可以從事件記憶體中刪除哪些錯誤條目(事件記憶體已滿)。每個支援的事件,都會對應乙個表徵其優先順序的引數demdtcpriority,並且優先順序越高,其值越小。

事件型別

對於bsw和sw-c的事件需要分別處理,所以dem包含兩種事件型別:

這樣處理是非常有必要的,因為bsw事件可能在完整的dem初始化之前被報告,並且需要被緩衝。

事件儲存

引數demmemorydestinationref定義了事件及其相關資料的專用儲存位置。「永久事件記憶體」是由相關的dtc型別派生出來的隱性型別。與排放相關的事件自動分配給永久事件記憶體,因為事件的儲存作為「永久dtc」是根據其當前狀態動態派生的。永久故障碼與排放對應事件的屬性有關,而不是與nvm進行的持久儲存有關,nvm對每種事件記憶體型別都進行持久儲存。對於dcm-dem介面,使用引數dtcorigin來區分不同的記憶體區域。其目的是允許對不同的記憶體區域(主記憶體、使用者定義記憶體、永久記憶體和映象記憶體)進行特定的操作。

診斷監控

診斷監控是確定計算機適當功能的例行實體。此監控功能為監視路徑標識特定的故障型別(例如對地短路、開路負載等)。監視路徑表示被監視的物理系統或電路(例如,感測器輸入)。每個監視路徑都與乙個診斷事件相關聯。如果監控器自行退出,那麼只有在合格的結果(通過或失敗)可用之後才呼叫報故障的api函式。然而,通常情況下,監視器總是呼叫dem在計算上更有效,應該首選這種方法。因此,dem處理未變化結果的報告是特定實現的。分配在demcomponent中的事件的優先順序,以及demcomponent之間的依賴關係,用於過濾錯誤報告進入故障記憶體。

AutoSar之診斷事件管理

本文巨集觀上介紹下dem在autosar架構中的角色和位置。dem diagnostic event manager 診斷事件管理,屬於autosar bsw basic software 中的系統服務,在整個架構中所處的位置如下圖。闡述下圖中的概念 功能抑制管理 function inhibito...

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都屬於這類儲存器,可是它們兩...