精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

AutoSAR Dem配置項基礎知識梳理

汽車ECU開發 ? 來源:汽車ECU開發 ? 2023-07-24 17:26 ? 次閱讀

Dem負責DTC的處理,包括凍結幀、擴展數據、運行循環、debounce策略等。

從最上層來看,Dem分別是DemConfigSet、DemGeneral兩大部分。其中DemConfigSet是圍繞Event的配置,DemGeneral負責DTC和Event的通用部分,包括凍結幀、擴展幀、使能條件、運行循環等。

9b3abc50-2a03-11ee-a368-dac502259ad0.png

DemGeneral

DemGeneral分小部分,通用配置、凍結幀配置、擴展數據配置。

通用配置:

DemAvailabilitySupport:定義是否支持通過 Dem_SetEventAvailable接口設置Event的有效性 ,用于在運行時切換事件的可用性。

DemBswErrorBufferSize:配置BSW Event的數量,在Event配置里,需要配置event是BSW_KIND還是SWC_KIND;

DemClearDTCBehavior:定義Dcm回復肯定響應的時機。

VOLATILE:Dem清除RAM中的DTC數據之后,Dcm回復肯定響應;

NONVOLATILE_TRIGGER:Dem清除RAM中數據并且啟動NVM清除數據,Dcm回復肯定響應;

NONVOLATILE_FINISH:Dem清除RAM中數據,同時啟動并完成NVM清除數據,Dcm回復肯定響應。

DemClearDTCLimitation:DTC清除配置;

ALL_SUPPORTED_DTCS:支持所有的DTC值;

ONLY_CLEAR_ALL_DTCS: 僅支持清除所有DTC;

ONLY_CLEAR_SINGLE_AND_ALL_DTCS:支持單個和所有DTC清除;

DemDataElementDefaultEndianness:定義數據元素的字節序;

DemDebounceCounterBasedSupport、 DemDebounceTimeBasedSupport :定義是否支持計數或計時debounce。這個配置限制了Event中debounce處理。

DemDtcStatusAvailabilityMask:設置0x19服務支持的狀態位;

DemEnvironmentDataCapture:設置凍結幀和擴展數據的獲取是同步還是異步,也就是在當前周期,還是下個周期;

?DemEventCombinationSupport:是否支持多個Event映射到一個DTC;

?DemEventDisplacementStrategy:配置DTC的替代策略,這AutoSAR提供了幾種,也可以自定義。

?DemEventMemoryEntryStorageTrigger:定義凍結幀和擴展數據的觸發存儲的條件,一般是選test_fail,意味著test_fail從0—>1觸發。

?DemGeneralInterfaceSupport:環境數據和eventstatus改變是否,提供callback接口,一般選擇false;

?DemImmediateNvStorageLimit:定義NVM立即寫的限制數量,DemGeneral/DemImmediateNvStorageSupport和DemConfigSet/DemDTCClass/DemImmediateNvStorage需要開啟;

?DemMaxNumberEventEntryEventBuffer:定義環境數據緩存的大小;

?DemMaxNumberPrestoredFF:定義預存儲快照的最大數量;一般存儲的凍結幀里有快速變化的數據,需要配置;

?DemResetConfirmedBitOnOverflow:定義當事件存儲被取代時,confirmed位是否復位,一般設置為true;

?DemStatusBitHandlingTestFailedSinceLastClear:定義老化和內存替代后是否設置“TestFailedSinceLastClear”狀態位。

?DemStatusBitStorageTestFailed:定義testfail位是否存儲;

?DemSuppressionSupport:定義是否支持DTC或者Event抑制;

?DemTypeOfDTCSupported:定義DTC的格式;

?DemTypeOfFreezeFrameRecordNumeration:定義如何分配快照號

?DemNvRamBlockIds:設置Event Memory數量,從NvM引用;

?DemOperationCycle:運行循環設置,這里雖然可以配置不同的運行循環,但是循環的控制還是需要在代碼里去實現;

?DemStorageCondition:設置環境數據是否可以存儲;用于Event引用;

?DemDTCofgroup:可以將DTC分成不同的組,后面會詳細講。

凍結幀配置:

1.DemDataElementClass:用于配置所需的凍結幀數據以及擴展數據,這些數據可以來自模塊定義好的,也可以通過SR接口獲取,

2.DemDidClass:定義凍結幀的數據的DID;

3.DemFreezeFrameClass:選擇需要參考的DemDidClass;

4.DemFreezeFrameRecRecordClass:定義凍結幀的觸發條件,以及是否更新;

5.DemFreezeFrameRecNumClass:對需要record的數據進行打包成一個凍結幀結構;

對于快照數據:可以選擇一個DID映射一個數據,這樣的好處是數據和DID明確的,解析也方便,當時劣勢是占的空間大,每個DID需要占2個byte;另外一種方案是用一個DID定義一大塊內存,上層軟件去做數據打包,這樣就節省空間,劣勢就是需要自己打包,以及上位機按照下位機的格式進行數據解析。

擴展數據:

1.DemExtendedDataRecorderClass:選擇DemDataElementClass中的數據,并設置更新策略以及數據ID;

2.DemExtendedDataClass:打包擴展數據,用于Event引用。

DemConfigSet

DemConfigSet這個菜單主要是圍繞Event來展開配置的。首先來梳理一下Event和DTC的一些基礎信息

Event是指系統診斷事件,Dem用EventId來區分不同的診斷事件,通常使用來說Event和DTC是一一對應的,但是如果是使用Event combination,則可以多個Event對一個DTC。

Event的基礎信息包括Event Priority、Event occurrence、Event Kind。

1.Event Priority是指事件的優先級,其中1表示優先級最高,數據越大優先級越低;

2.Event occurrence主要是根據DemGeneral中配置的DemOccurrenceCounterProcessing來處理,一種是testfailbit 0—>1,一種是在confirmbit為1的情況下,testfail bit0—>1,兩者統計的大小會相差1.

3.Event kind主要是將Event分為BSW和SWC兩種,在DemGeneral中也配置了BSWerror的buffer大小。其兩者的區別是,BSW kind是通過配置來關聯到Dem模塊,比如在Busoff故障,可以直接在CANSM中直接關聯Dem。

4.BSW和SWC的區別在與,在Dem_PreInit后,就可以處理BSW kind故障,而SWC kind需要在Dem_Init后才能處理。

9b5d713c-2a03-11ee-a368-dac502259ad0.png

Eventdependencies

Event之間的依賴目的是過濾部分級聯故障以及節省存儲。其主要通過DemComponent來實現的,比如傳感本身發生故障,這時控制器讀取的數據也應該無效。

一個DemComponent是若干event的集合,在DemComponent內部,故障事件有優先級,當一個DemComponent內部最高優先級的故障事件狀態為Failed導致其他故障事件狀態也為Failed,或者父節點DemComponent的狀態為Failed導致子節點DemComponent內的故障事件狀態Failed,這種故障叫做連續錯誤(CONSECUTIVE FAULT),其他被認為是偶發錯誤(CAUSAL FAULT)。

另外如果DemComponent內部故障事件優先級被忽略,那么僅有當父節DemComponent的狀態為Failed導致子節點DemComponent內的故障事件狀態變成Failed被稱作是連續錯誤(CONSECUTIVE FAULT)。連續故障則不會記錄環境數據。

9b7a0662-2a03-11ee-a368-dac502259ad0.png

1.DTC format是指DTC的格式,分別為15031和14229兩種,15031的格式為U150293,14229為D50293。

2.DTC severity是指用于表示故障的嚴重程度,主要從售后的角度來看,分為,立即檢查、下次檢查、立即維修

3.DTCsignificance 是用于區分是ECU或系統的fault還是外部fault。

4.SuppressDTC output是指DemGeneral中DemSuppressionSupport 配置參數,如果參數配置為true,則可以通過Dem_SetDTCSuppression 接口抑制某些DTC,抑制后對外是不可見的。

5.DTCgroup只需要一個參數就可以確定,就是DTC的界限(下界),上圖中兩個DTC組它們的各自參數就是該組DTC的下界,一個DTC組中的包含的DTC是該組配置的DTC界限與本組緊接的下一組的界限之間的DTC,但是不包括這兩個界限。這就可以用于0x14或0x85服務進行單獨操作。當前內部預制了兩個組如下。

9b9a767c-2a03-11ee-a368-dac502259ad0.png

DemConfigSet-Debounce策略

基于計數器的Debounce策略

在這種策略下,Dem模塊會提供一個計數器(fault detection counter)用來記錄判斷的結果,當Diagnostic Monitor上報至dem的狀態為prefailed,計數器會按步長增加,當上報狀態為prepassed,計數器按步長減少。

9bb965aa-2a03-11ee-a368-dac502259ad0.png

1、5表示JumpDown功能,

3、4表示JumpUp功能,

2表示當前計數器小于DemDebounceCounterJumpDownValue ,所以JumpDown功能沒有激活,

6表示DemDebounceCounterJumpDownValue ,

7表示DemDebounceCounterJumpUpValue,

8表示DemDebounceCounterFailedThreshold ,

9表示DemDebounceCounterPassedThreshold ,

10、12表示故障確認,由于計數器的值達到了fail的限值,

11故障恢復,由于計數器的值達到pass的限值,

13表示Dem接收的狀態為failed,所以故障直接置位;

14表示Dem接到的狀態為passed,所以故障恢復;

15表示DemDebounceCounterIncrementStepSize,

16表示DemDebounceCounterDecrementStepSize,

基于次數的debounce涉及的配置項含義如下:

1、FDC(fault detection counter):錯誤計數器,其范圍為-128~127;

2、DemDebounceCounterFailedThreshold:故障從prefailed狀態跳轉至failed的限值;

3、DemDebounceCounterPassedThreshold:故障從prepassed狀態跳轉至passed狀態的限值。

4、DemDebounceCounterIncrementStepSize:當Diagnostic Monitor上報Prefailed,錯誤計數器的增加量;

5、DemDebounceCounterDecrementStepSize:當Diagnostic Monitor上報Prepassed,錯誤計數器減少量;

6、DemDebounceCounterJumpDown:是否使能JumpDown功能,JumpDown功能是指當上一次Diagnostic Monitor上報的狀態是prefailed,而這次上報的是prepassed,且當前計數器的值大于DemDebounceCounterJumpDownValue,錯誤計數器的值會重置為DemDebounceCounterJumpDownValue。如果JumpDown功能禁止,計數器按照步長減少。

7、DemDebounceCounterJumpDownValue:當JumpDown功能使能,該變量定義了計數器的重置值。

8、DemDebounceCounterJumpUp:是否使能JumpUp功能,JumpUp功能是指當上一次Diagnostic Monitor上報的狀態是prepassed,而這次上報的是prefailed,且當前計數器的值小于DemDebounceCounterJumpUpValue,錯誤計數器的值會重置為DemDebounceCounterJumpUpValue。如果JumpUp功能禁止,計數器按照步長增加。

9:DemDebounceCounterJumpUpValue:當JumpUp功能使能,該變量定義了計數器的重置值。

基于時間的Debounce策略

計數器的初始值為0,其范圍為-128~127,當Dem接收到Diagnostic Monitor發送的狀態值開始計數,計數器的增長方向有接收到的狀態決定,當計數器的值在一定時間達到閾值,完成此次判斷,如果在未達到閾值之前,Dem收到的狀態發生變化,計數器會重新開始計數,并且計數方向也發生轉變。

9be474ca-2a03-11ee-a368-dac502259ad0.png

t failed:表示故障failed需要的時間,該值等于DebounceTimeBasedTaskTime乘以DemDebounceTimeFailedThreshold;

t passed:表示故障passed需要的時間,該值等于DebounceTimeBasedTaskTime乘以DemDebounceTimePassedThreshold;

1、表示Diagnostic Monitor傳至Dem的狀態為prefailed;并經過t failed時間故障狀態編程failed;

2、表示Diagnostic Monitor傳至Dem的狀態為prepassed;此時計數器重新開始計數;

3、由于2時刻開始計數未達到閾值時,Dem接收的狀態發生變化,此時計數器開始重新計數,并計數方向發生變化,經過t failed時間后,故障狀態編程failed。

4、Dem接收到的狀態為failed,所以故障直接置位了;

5、Dem接收到的狀態為passed,所以故障直接恢復了;

6、表示故障已發生;

7、表示故障未發生;

對于基于時間Debounce的策略主要配置以下幾個參數:

1、DebounceTimeBasedTaskTime:該變量定義基本的檢測周期

2、DemDebounceTimeFailedThreshold:定義故障狀態從prefailed跳轉至failed需要多少個DebounceTimeBasedTaskTime周期;

3、DemDebounceTimeFailedThreshold:定義故障狀態從prepassed跳轉至passed需要多少個DebounceTimeBasedTaskTime周期;





審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1367

    瀏覽量

    114545
  • 計數器
    +關注

    關注

    32

    文章

    2254

    瀏覽量

    94372
  • AUTOSAR
    +關注

    關注

    10

    文章

    350

    瀏覽量

    21482
  • 觸發器
    +關注

    關注

    14

    文章

    1996

    瀏覽量

    61057
  • NVM
    NVM
    +關注

    關注

    1

    文章

    40

    瀏覽量

    19109

原文標題:AutoSAR Dem配置項梳理

文章出處:【微信號:eng2mot,微信公眾號:汽車ECU開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    AUTOSAR存儲模塊的基礎知識

    AUTOSAR存儲模塊的解釋文章很多,本文整理存儲模塊基礎知識
    發表于 10-08 09:30 ?6614次閱讀

    第25章 DHCP動態主機配置協議基礎知識

    。(本章的知識點主要整理自網絡) 25.1 初學者重要提示 25.2 DHCP基礎知識參考資料 25.3 DHCP基礎知識點25.4 DHCP函數 25.5總結
    發表于 11-20 14:55

    關于AUTOSAR架構的知識點看完你就懂了

    關于AUTOSAR架構的知識點看完你就懂了
    發表于 10-18 07:41

    C語言基礎知識的樹狀結構是如何組成的

    該圖是關于C語言基礎知識的樹狀結構圖,也許里面有些地方看起來不夠主流,但是可能更合理。以后將會對該圖的所有細節知識點以通俗易懂的方式逐個梳理,敬請關注!...
    發表于 11-08 07:39

    STM32的中斷基礎知識配置過程,絕對實用

    STM32的中斷基礎知識配置過程,絕對實用
    發表于 11-17 07:10

    嵌入式系統概述知識梳理

    《嵌入式系統》 |(一)嵌入式系統概述 知識梳理《嵌入式系統》 |(二)ARM Cortex M3 體系結構 知識梳理嵌入式系統》 |(三) STM32最小系統
    發表于 12-22 06:53

    電源管理基礎知識電源管理基礎知識電源管理基礎知識

    電源管理基礎知識電源管理基礎知識電源管理基礎知識
    發表于 09-15 14:36 ?76次下載
    電源管理<b class='flag-5'>基礎知識</b>電源管理<b class='flag-5'>基礎知識</b>電源管理<b class='flag-5'>基礎知識</b>

    LAN9352評估板基礎知識配置

    本文主要介紹了LAN9352評估板基礎知識配置
    發表于 06-05 17:29 ?9次下載

    適合C語言小白看的基礎知識梳理總結

    C語言是當代人學習及生活中的必備基礎知識,應用十分廣泛,下面為大家帶來C語言基礎知識梳理總結,C語言零基礎入門絕對不是天方夜譚!
    的頭像 發表于 01-04 11:07 ?4715次閱讀

    OpenVINO開發配置應必備哪些基礎知識

    通過第一篇文章我們已經了解什么是OpenVINO,它的諸多功能與全應用場景支持人工智能落地的能力。本篇我們將重點介紹OpenVINO開發流程與開發必備的基礎知識與相關API函數對象。 環境配置
    的頭像 發表于 05-18 09:10 ?1802次閱讀
    OpenVINO開發<b class='flag-5'>配置</b>應必備哪些<b class='flag-5'>基礎知識</b>?

    嵌入式C語言基礎知識梳理

    該圖是關于C語言基礎知識的樹狀結構圖,也許里面有些地方看起來不夠主流,但是可能更合理。以后將會對該圖的所有細節知識點以通俗易懂的方式逐個梳理,敬請關注!...
    發表于 11-03 14:06 ?13次下載
    嵌入式C語言<b class='flag-5'>基礎知識</b><b class='flag-5'>梳理</b>

    關于AUTOSAR-DEM模塊的簡要介紹和幾點思考

    DEM全稱“Diagnostic Event Management”,該模塊作為AUTOSAR架構中的BSW模塊之一,對于ECU軟件開發也是必需的軟件模塊
    的頭像 發表于 04-15 17:12 ?3129次閱讀

    DEM功能詳解

    DemAUTOSAR配置最多,實現功能最為復雜的模塊之一,主要負責記錄故障診斷以及其關聯數據,是實現診斷功能至關重要的模塊,本文將以最簡單的方式將
    的頭像 發表于 05-23 09:12 ?6169次閱讀
    <b class='flag-5'>DEM</b>功能詳解

    AUTOSAR Fee模塊配置詳解

    AUTOSAR Fee的配置跟Ea類似,方法都可以觸類旁通。
    的頭像 發表于 06-01 10:05 ?4445次閱讀
    <b class='flag-5'>AUTOSAR</b> Fee模塊<b class='flag-5'>配置</b>詳解

    在TI SoC上集成AUTOSAR基礎知識

    電子發燒友網站提供《在TI SoC上集成AUTOSAR基礎知識.pdf》資料免費下載
    發表于 10-11 11:50 ?0次下載
    在TI SoC上集成<b class='flag-5'>AUTOSAR</b>:<b class='flag-5'>基礎知識</b>