0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DEM功能詳解

832065824 ? 來源:汽車電子嵌入式 ? 2023-05-23 09:12 ? 次閱讀

前言

Dem是AUTOSAR中配置項(xiàng)最多,實(shí)現(xiàn)功能最為復(fù)雜的模塊之一,主要負(fù)責(zé)記錄故障診斷以及其關(guān)聯(lián)數(shù)據(jù),是實(shí)現(xiàn)診斷功能至關(guān)重要的模塊,本文將以最簡單的方式將Dem的功能聊具體,聊透徹。為了方便大家學(xué)習(xí),以下是本文的大綱。

6253b37e-f8fd-11ed-90ce-dac502259ad0.png

1.診斷故障基礎(chǔ)

當(dāng)人患了疾病,便需要醫(yī)治,醫(yī)生根據(jù)各種檢驗(yàn)結(jié)果找出病因,并得出診治策略。當(dāng)汽車出現(xiàn)故障時(shí),DTC故障碼就等同于“檢驗(yàn)結(jié)果”,汽車工程師通過該標(biāo)識(shí)碼便可以查表的方式獲得該故障信息,如故障觸發(fā)條件、故障解除條件、系統(tǒng)功能表現(xiàn)等,得出解決該故障的策略。 DTC(DiagnosticTrouble Code)顧名思義診斷故障碼,一種用來記錄當(dāng)ECU發(fā)生或者檢測到某種故障時(shí)呈現(xiàn)給大家的標(biāo)識(shí)碼。

1.1 DTC的組成

DTC故障碼是一個(gè)4個(gè)字節(jié)的標(biāo)識(shí)符,由以下兩部分組成:DTC Catogory與Failure Type,其中DTC Catogory 又可以根據(jù)Powertrain、Body、Chasis、N etwork四大子系統(tǒng)來進(jìn)一步定義其范圍,簡稱PBCU四大子系統(tǒng),如下表所示:

62779596-f8fd-11ed-90ce-dac502259ad0.png

1.2 DTC的意義

故障碼有以下兩點(diǎn)意義:

1)產(chǎn)線下線檢測:一輛車的零部件的開發(fā),系統(tǒng)集成,整車組裝,其中涉及的流程之長,零部件數(shù)量之多,可以說是相當(dāng)復(fù)雜。為了產(chǎn)線生產(chǎn)的車能正常下線,安全上路,就需要確保在車輛下線前,各零部件本身以及零部件相互配合是沒有問題的。因此在產(chǎn)線電檢流程中,會(huì)讀取整車故障碼,通過故障碼說明車輛是否正常。

2)車輛維修當(dāng)車輛出故障時(shí),維修工程師是如何快速定位到故障零部件呢?車輛是由上萬個(gè)零部件組成,如果依賴于維修工程根據(jù)經(jīng)驗(yàn)慢慢排查,效率會(huì)極其低下。因此,維修工程師會(huì)使用診斷儀讀取整車故障碼,并將故障碼與故障現(xiàn)象對(duì)照,快速得出維修策略。

1.3 DTC故障類型

以非排放相關(guān)的ECU為例,可以將DTC故障類型分為以下幾個(gè)部分:

硬件故障:RAM、Flash、CPU時(shí)鐘等硬件本身失效的問題

軟件故障:如配置字故障,標(biāo)定故障或客戶定義的軟件功能性故障

外部環(huán)境故障:電壓過高或者欠壓、環(huán)境溫度過高或過低等

通訊相關(guān)故障:如報(bào)文丟失、信號(hào)無效,Checksum/Rolling 障等

1.4DTC狀態(tài)位介紹

每個(gè)DTC都有一個(gè)字節(jié)用來表示該故障的狀態(tài),這個(gè)字節(jié)中每個(gè)bit的含義如下:

status Of DTC: bit field name Bit Bit state Description
testFailed 0 0 DTC is not failed at the time of the request
testFailedThisOperationCycle 1 0 DTC failed during the current operation cycle
pendingDTC 2 0 DTC was not failed on the current or previous
operation cycle
confirmedDTC 3 0 DTC is not confirmed at the time of the request
testNotCompletedSinceLastClear 4 0 DTC test was completed since the last code clear
testFailedSinceLastClear 5 0 DTC test never failed since last code clear
testNotCompletedThisOperationCycle 6 0 DTC test completed this operation cycle
warningIndicatorRequested 7 0 Server is not requesting warningIndicator to beactive

具體解釋如下: Bit0:請求時(shí)刻測試結(jié)果為失敗; Bit1:在當(dāng)前點(diǎn)火循環(huán)至少失敗過1次;

Bit2:在當(dāng)前或者上一個(gè)點(diǎn)火循環(huán)測試結(jié)果不為失??;

Bit3:請求時(shí)刻DTC被確認(rèn),一般確認(rèn)是在一個(gè)點(diǎn)火周期內(nèi)發(fā)生錯(cuò)誤1次;

Bit4:自上次清除DTC之后測試結(jié)果已完成,即測試結(jié)果為PASS或者FAIL結(jié)果;

Bit5:自上次清除DTC后測試結(jié)果都不是FAIL;

Bit6:在當(dāng)前點(diǎn)火周期內(nèi)測試結(jié)果已完成,即為PASS或FAIL狀態(tài);

Bit7:ECU沒有得到點(diǎn)亮警示燈請求

1.5凍結(jié)幀與擴(kuò)展數(shù)據(jù)

從上文可知,DTC中8bit位可以描述DTC狀態(tài),但8個(gè)bit位能夠承載的信息是有限的,僅能說明故障是當(dāng)前故障還是歷史故障。故障發(fā)生時(shí)的車速,溫度,油量,電量等關(guān)鍵信息怎么記錄呢?

UDS中規(guī)定了凍結(jié)幀可以用來記錄故障發(fā)生時(shí)的詳細(xì)情況,擴(kuò)展數(shù)據(jù)可以提供故障碼相關(guān)的擴(kuò)展信息,包括老化計(jì)數(shù)器。

類型 組成 內(nèi)容
凍結(jié)幀 由一系列DID組成,用戶可以自定義DID內(nèi)容 描述車速,溫度,油量,等信息
擴(kuò)展信息 由一系列DID組成,DID內(nèi)容由BSW規(guī)定 描述故障碼的額外信息,比如老化周期數(shù)量。

2.DEM詳解

2.1 DEM主要功能

Dem全稱Diagnostic Event Manager,負(fù)責(zé)診斷故障事件的處理,存儲(chǔ)診斷故障事件以及故障事件相關(guān)聯(lián)的數(shù)據(jù)(故障發(fā)生時(shí)溫度,車速等)。簡而言之,Dem發(fā)揮了AUTOSAR架構(gòu)中故障”中央處理器作用”,用戶軟件模塊只需要將故障上報(bào)給DEM,所有故障信息的處理都由DEM執(zhí)行:

1.故障確認(rèn)前:用戶模塊上報(bào)故障的Debounce防抖處理,確保對(duì)應(yīng)故障不為誤報(bào)故障。

2. 故障確認(rèn)時(shí):故障事件確認(rèn)時(shí)的故障數(shù)據(jù)存儲(chǔ)至NVM,保證故障能長期保存。

3. 故障確認(rèn)后:故障的老化,替代,實(shí)現(xiàn)故障修復(fù)后,故障能被清除的功能。例如,儀表上的發(fā)動(dòng)機(jī)故障燈,在發(fā)動(dòng)機(jī)修好后一段時(shí)間后就會(huì)熄滅。

2.2 DEM與其他模塊關(guān)系

1)DEM在AUTOSAR架構(gòu)位置

Dem位于AUTOSAR架構(gòu)系統(tǒng)服務(wù)層,系統(tǒng)服務(wù)層提供了以下服務(wù):

1.操作系統(tǒng)調(diào)度與監(jiān)控服務(wù)、

2.通信網(wǎng)絡(luò)管理服務(wù)

3.存儲(chǔ)服務(wù)

4.診斷服務(wù)(UDS通信服務(wù)以及故障服務(wù))

5.ECU狀態(tài)管理服務(wù)

從下面架構(gòu)圖可以看出,Dcm與Dem作為“診斷雙雄”,完整提供了所有的診斷服務(wù)。區(qū)別在于,Dcm主修“UDS診斷通信服務(wù)”,對(duì)下與通信協(xié)議棧聯(lián)系,與外部診斷儀交互提供診斷通信服務(wù)(10,22等服務(wù));Dem主修故障診斷服務(wù),與上層SWC,BSW模塊交互,接收故障上報(bào),與NVM交互使用存儲(chǔ)功能。

628a348a-f8fd-11ed-90ce-dac502259ad0.png

???

AUTOSAR架構(gòu)圖

???

2)Dem與其他模塊依賴關(guān)系

629d24be-f8fd-11ed-90ce-dac502259ad0.png

???

Dem與其他模塊關(guān)系鏈路圖

???

NVM: Nvm能夠提供存儲(chǔ)服務(wù)給Dem使用,即提供診斷故障存儲(chǔ)所需的NVM BLOCK。需要注意的是,Nvm給Dem提供了兩類存儲(chǔ)服務(wù)接口,Nvm_WriteBlock()供DEM實(shí)時(shí)存儲(chǔ)診斷故障,NvM_SetRamBlockStatus()供Dem下電存儲(chǔ)診斷故障,上述存儲(chǔ)模式可以在DTC配置屬性中體現(xiàn)。

DCM:從上圖中可以看出,DCM在接收到診斷儀的19服務(wù)(get Dtc),14服務(wù)(Clear Dtc)時(shí),需要實(shí)時(shí)通過Dem獲取DTC數(shù)據(jù)以及對(duì)DTC進(jìn)行清除操作。

ECUM對(duì)Dem模塊執(zhí)行初始化以及ShutDown操作。

SWC(Monitor)監(jiān)控診斷故障事件Event,通過使用Dem_SetEventStatus()函數(shù),將Event狀態(tài)上報(bào)給Dem。使用Dem_SetOperationCycleState()對(duì)操作循環(huán)狀態(tài)進(jìn)行控制。

2.3 DEM核心Event

在介紹DEM的具體功能前,先引入概念“Diagnosticevent”,“Diagnostic event”也是DEM模塊中最重要的元素。對(duì)于AUTOSAR軟件架構(gòu),DTC只是展示給診斷儀使用者,而Event才是DTC狀態(tài)實(shí)際操控者,同時(shí)Event也是診斷NVM數(shù)據(jù)存儲(chǔ)實(shí)際控制者。

各位讀者肯定會(huì)有如下問題:

為什么要引入 “Diagnostic event”呢?

“Diagnostic event”來源?

“Diagnostic event”有哪些特性呢?

“Diagnostic event”怎么控制DTC?

“Diagnostic event”怎么控制診斷數(shù)據(jù)存儲(chǔ)?

接下來將會(huì)給大家一一解答上述問題。

1)Event與DTC的聯(lián)系與區(qū)別

區(qū)別:

1描述層級(jí):DTC是系統(tǒng)層面對(duì)于故障的描述,而Event是軟件層面對(duì)故障監(jiān)控的最小單元。

例子:某個(gè)電機(jī)故障會(huì)由電壓過高造成,但軟件是無法直接識(shí)別該故障,軟件只能監(jiān)控是否產(chǎn)生了電壓過高的時(shí)間Event,從而計(jì)算出是否產(chǎn)生DTC.

2.鏈接關(guān)系多個(gè)event可以mapping 同一個(gè)DTC;而同一個(gè)event不能mapping 多個(gè)DTC;

3.可見度DTC可以直接可見,但Event需通過進(jìn)一步手段才能看到,有時(shí)僅對(duì)ECU供應(yīng)商可見;

聯(lián)系:

1.DTC代表某類event集中表現(xiàn),而event則是某個(gè)DTC的具體實(shí)例;

2.event的優(yōu)先級(jí)決定了DTC的優(yōu)先級(jí);

3.event之間的依賴關(guān)系決定了DTC的依賴關(guān)系;

2)“Diagnostic event的上報(bào)方式

上文提到了SWC監(jiān)控故障Event的狀態(tài),并可以通過Dem_SetEventStatus(EventId,EventStatus)向DEM上報(bào)Event狀態(tài)。那么對(duì)于SWC,應(yīng)該怎樣上報(bào)Event狀態(tài)呢?周期調(diào)用Dem_SetEventStatus上報(bào)即為周期循環(huán)上報(bào);當(dāng)Event狀態(tài)變化時(shí),調(diào)用Dem_SetEventStatus上報(bào)為觸發(fā)上報(bào)。兩種上報(bào)方式各有優(yōu)缺點(diǎn),如下圖所示,切不可一刀切。

62ad2706-f8fd-11ed-90ce-dac502259ad0.png

一般來說,對(duì)于小型控制器,需要上報(bào)Event數(shù)量不多,可以選擇周期循環(huán)上報(bào)。

對(duì)于域控制器,需要上報(bào)的Event數(shù)量龐大,為了保證負(fù)載率穩(wěn)定,應(yīng)該選擇觸發(fā)上報(bào)。

3)“Diagnostic event”有哪些特性呢?

1.Event Kind

Event Kind根據(jù)故障事件上報(bào)方式可分為:BSW Event與SWC Event。

Event Kind 來源 上報(bào)方式 函數(shù)名
BSW Event BSW模塊 標(biāo)準(zhǔn)C接口 Dem_ReportErrorStatus
SWC Event SWC模塊 RTE接口 SetEventStatus(RTE)

2.Event priority

對(duì)于診斷,能夠存儲(chǔ)的故障事件以及對(duì)應(yīng)凍結(jié)幀等相關(guān)數(shù)據(jù)的數(shù)量是恒定的,需要軟件開發(fā)工程師提前配置。當(dāng)內(nèi)部存儲(chǔ)的故障事件已經(jīng)滿了,Event優(yōu)先級(jí)可以解決新的故障事件如何存儲(chǔ)的問題。

一般來說,診斷優(yōu)先級(jí)的設(shè)定由診斷系統(tǒng)工程師從整車功能出發(fā),根據(jù)診斷故障的重要性,安全性,嚴(yán)重性綜合評(píng)估。比如汽車的動(dòng)力故障遠(yuǎn)比空調(diào)故障嚴(yán)重,所以動(dòng)力相關(guān)故障優(yōu)先級(jí)一般會(huì)大于空調(diào)相關(guān)故障。

診斷事件優(yōu)先級(jí)有下面幾個(gè)重要特點(diǎn)

1)診斷事件優(yōu)先級(jí)數(shù)值越小,優(yōu)先級(jí)越高,數(shù)值為1優(yōu)先級(jí)最大。

2)Event優(yōu)先級(jí)僅在診斷事件已經(jīng)存滿情況下發(fā)揮作用,其余情況根據(jù)FIFO原則存儲(chǔ)。

3.Event occurrence

Event occurrence顧名思義就是故障事件上報(bào)計(jì)數(shù)器,故障上報(bào)次數(shù)越多,Event occurrence值越大,標(biāo)志著該故障越“老”?!靶隆薄稀收?a target="_blank">標(biāo)簽在后續(xù)新的故障事件如何存儲(chǔ)的仲裁機(jī)制上也會(huì)發(fā)揮重要作用,這部分內(nèi)容在后面的內(nèi)容會(huì)詳細(xì)說明。

Event occurrence存在以下特點(diǎn),如下所示:

1.每一個(gè)event memory entry都有對(duì)應(yīng)的Event occurrence。

2.Event occurrence最大值為255。

3.Event occurrence的計(jì)數(shù)方式有如下兩種配置選擇:

配置屬性 計(jì)數(shù)方式
DEM_PROCESS_OCCCTR_TF Bit0(TestFail)由0跳變至1,Event occurrence +1
DEM_PROCESS_OCCCTR_CDTC Bit0(TestFail)由0跳變至1和Bit3由0跳變至1,Event occurrence +1

2.4 EventMemory存儲(chǔ)內(nèi)容

上文對(duì)Event,凍結(jié)幀,擴(kuò)展數(shù)據(jù)等作了詳細(xì)描述,那么,這些數(shù)據(jù)在DEM中是怎么存儲(chǔ)的呢?DEM提供了Event Memory概念,將Event,凍結(jié)幀,擴(kuò)展數(shù)據(jù)全部歸納起來做了統(tǒng)一管理。廢話不多說,開始探索Event Memory吧。

EventMemory分類:

類型 含義
DemPrimaryMemory 存儲(chǔ)EventId,故障狀態(tài),凍結(jié)幀,擴(kuò)展數(shù)據(jù)
DemMirrorMemory
Permanent Event Memory 用于存儲(chǔ)OBD相關(guān)的DTC

Event Memory的組成架構(gòu)如下圖所示:

62cf7e5a-f8fd-11ed-90ce-dac502259ad0.png

Event Memory組成架構(gòu)圖

S1:Dem模塊必須支持PrimaryMemory,Mirror和Permanent memory可根據(jù)用戶需要具體選擇,一般用不上。

S2: Primary Memory是一個(gè)大小為DemMaxNumberEventEntryPrimary用于存儲(chǔ)故障數(shù)據(jù)的非易失性存儲(chǔ)空間。也就是PrimaryMemory由DemMaxNumberEventEntryPrimary個(gè)EventMemory Entry組成。

本質(zhì)上,DemMaxNumberEventEntryPrimary設(shè)置為多少,NVM就會(huì)提供多少個(gè)NVMBlock用于存儲(chǔ)Primary Memory,就只能存儲(chǔ)多少個(gè)Event信息。

S3:每個(gè)Event Memory Entry存儲(chǔ)的內(nèi)容有:EventId,Occurance Counter,凍結(jié)幀,擴(kuò)展數(shù)據(jù),老化周期等。

2.5 EventMemory management

當(dāng)SWC或者BSW上報(bào)Event后,會(huì)經(jīng)過哪些處理最終變成Flash中的Event Memory呢?

從下圖中可以看出,Event上報(bào)后需要經(jīng)過下列處理: Event使能條件檢測

Event控制DTC Bit位更新 Event Memory Retention

62f5902c-f8fd-11ed-90ce-dac502259ad0.png

Event Memory management流程圖

1)Event使能條件檢測

Event使能條件就相當(dāng)于Dem中的一個(gè)閘門,只有在條件合適的情況下Event才能真正進(jìn)入Dem的處理流程中。

6314a11a-f8fd-11ed-90ce-dac502259ad0.png

Event使能條件流程圖

從圖中可以看出,Event上報(bào)至最終能到第二階段Event控制DTC bit位跳變,需要經(jīng)歷很多流程,接下來對(duì)上述流程進(jìn)行詳解。

S1:首先,需要判斷當(dāng)前是否開啟了操作循環(huán),操作循環(huán)一般指的是點(diǎn)火循環(huán),一個(gè)操作循環(huán)可以認(rèn)為是DTC檢測的一個(gè)周期。如果操作循環(huán)開啟了,則開始下列的Enable Condition判斷,否則直接退出整個(gè)Event Memorymanagement流程。

S2::EnableCondition判斷指的是Event上報(bào)增加的一個(gè)附加條件判斷,Dem通過對(duì)應(yīng)的接口給SWC使用,SWC實(shí)現(xiàn)附件條件處理。一般可以用來處理一些電壓,車輛模式等限制條件。如果Enable Condition條件滿足,則進(jìn)行85服務(wù)判斷;如果Enable Condition條件不滿足,則直接退出Event Memorymanagement流程。

S3: 若現(xiàn)在使用了85服務(wù)抑制DTC使能,則直接退出整個(gè)Event Memory management流程。若沒有執(zhí)行85服務(wù),開始Event Debounce流程。

S4:經(jīng)過Debounce后,如果最終Event結(jié)果為Pass或者Fail,則開始下一階段Event控制DTC跳變;否則直接跳出退出整個(gè)Event Memory management流程。

Event Debounce “Debounce”顧名思義,指對(duì)于Event的防抖處理,防止Event誤報(bào)導(dǎo)致DTC誤報(bào)。 SWC通過Dem_SetEventStatus(EventId,EventStatus)上報(bào)Passed/Failed/PrePassed/Prefailed四種狀態(tài)。 1)當(dāng)SWC上報(bào)Passed和Failed狀態(tài)時(shí),Dem不需要進(jìn)行Debounce處理。 2)當(dāng)SWC上報(bào)Prefailed和Prepassed狀態(tài)時(shí),Dem需要進(jìn)行Debounce處理。

本質(zhì)上,Dem提供的Debounce為通過特定機(jī)制,處理PrePassed/Prefailed至Passed/Failed狀態(tài)變化。

Dem提供了兩種Debounce機(jī)制,即“Base Time”和“Base Counter”

1.基于計(jì)數(shù)器的Debounce策略

基于Counter的Debounce策略的幾個(gè)重要參數(shù)如下表格:

參數(shù) 含義
FDC(Fault Detection Counter) 錯(cuò)誤計(jì)數(shù)器,值范圍為-128-127
DemDebounceCounterFailedThreshold 使Event診斷事件狀態(tài)最終為Failed的Debounce Counter閾值
DemDebounceCounterPassedThreshold 使Event診斷事件狀態(tài)最終為Passed的Debounce Counter閾值
DemDebounceCounterIncrementStepSize 當(dāng)SWC上報(bào)Prefailed,錯(cuò)誤計(jì)數(shù)器增加量
DemDebounceCounterDecrementStepSize 當(dāng)SWC上報(bào)Prepassed,錯(cuò)誤計(jì)數(shù)器增加量

6337287a-f8fd-11ed-90ce-dac502259ad0.png

基于Couneter的Debounce機(jī)制

如上圖所示,在基于Counter的Deboucne機(jī)制中,Dem會(huì)提供一個(gè)計(jì)數(shù)器(FDC)用于記錄判斷的結(jié)果,當(dāng)SWC上報(bào)給Dem的Event狀態(tài)為Prefialed,計(jì)數(shù)器會(huì)按照步長增加,當(dāng)達(dá)到設(shè)定的限值時(shí),故障狀態(tài)變成Failed。當(dāng)上報(bào)狀態(tài)為PrePassed時(shí),計(jì)數(shù)器按照步長減少,當(dāng)達(dá)到設(shè)定的限值時(shí),故障狀態(tài)變成Passed。

2.基于時(shí)間的Debounce策略

基于時(shí)間的Debounce策略的幾個(gè)重要參數(shù)如下表格:

參數(shù) 含義
DebounceTimeBasedTaskTime 基本的檢測周期
DemDebounceTimeFailedThreshold 定義故障狀態(tài)從PreFailed跳轉(zhuǎn)至Failed需要多少個(gè)DebounceTimeBasedTaskTime周期
DemDebounceTimePassedThreshold 定義故障狀態(tài)從PrePassed跳轉(zhuǎn)至Passed需要多少個(gè)DebounceTimeBasedTaskTime周期

6346b100-f8fd-11ed-90ce-dac502259ad0.png

基于時(shí)間的Debounce機(jī)制

在這種策略下,當(dāng)SWC開始上報(bào)Event狀態(tài)后,Dem模塊會(huì)提供一個(gè)計(jì)時(shí)器用于記錄判斷的結(jié)果,計(jì)時(shí)器的增長方向由Event狀態(tài)決定。當(dāng)計(jì)時(shí)器累積到一定閾值后,故障狀態(tài)變?yōu)镻assed或者Failed。

3)Event 控制DTC狀態(tài)更新

當(dāng)Event經(jīng)過一系列處理,最終能夠?qū)TC狀態(tài)進(jìn)行更新,DTC 8個(gè)bit更新邏輯如下:

DTC Bit0 更新邏輯

Bit位更新 條件
0 -> 1 經(jīng)Debounce后最終上報(bào)狀態(tài)為Failed
1 -> 0 經(jīng)Debounce后最終上報(bào)狀態(tài)為Passed
OR
使用14服務(wù)清除DTC
OR
復(fù)位事件狀態(tài)

636564d8-f8fd-11ed-90ce-dac502259ad0.png

DTC Bit0 更新邏輯圖

DTC Bit1更新邏輯

Bit位更新 條件
0 -> 1 經(jīng)Debounce后最終上報(bào)狀態(tài)為Failed
1 -> 0 操作循環(huán)更新
OR
使用14服務(wù)清除DTC

63819662-f8fd-11ed-90ce-dac502259ad0.png

DTC Bit1 更新邏輯圖

DTC Bit2更新邏輯

Bit位更新 條件
0 -> 1 經(jīng)Debounce后最終上報(bào)狀態(tài)為Failed
1 -> 0 (操作循環(huán)更新 AND TestFailedThisOperationCycle == 0)
OR
使用14服務(wù)清除DTC
OR
TestNotCompeleteThisOperationCycle == 0

639d2ac6-f8fd-11ed-90ce-dac502259ad0.png

DTC Bit2 更新邏輯圖

DTC Bit3更新狀態(tài)

Bit位更新 條件
0 -> 1 經(jīng)Debounce后最終上報(bào)狀態(tài)為Failed
AND
Fialure Counter > = 故障確認(rèn)閾值
1 -> 0 達(dá)到老化條件
OR
使用14服務(wù)清除DTC
OR
故障溢出被替換

63c1967c-f8fd-11ed-90ce-dac502259ad0.png

DTC Bit3 更新邏輯圖

DTC Bit4更新邏輯

Bit位更新 條件
0 -> 1 經(jīng)Debounce后最終上報(bào)狀態(tài)為Failed
1 -> 0 使用14服務(wù)清除DTC

63d616a6-f8fd-11ed-90ce-dac502259ad0.png

DTC Bit4 更新邏輯圖

DTC Bit5更新邏輯

Bit位更新 條件
0 -> 1 經(jīng)Debounce后最終上報(bào)狀態(tài)為Failed
1 -> 0 使用14服務(wù)清除DTC

63ef8b68-f8fd-11ed-90ce-dac502259ad0.png

DTCBit5 更新邏輯圖

DTC Bit6更新邏輯

Bit位更新 條件
0 -> 1 經(jīng)Debounce后最終上報(bào)狀態(tài)為Failed
1 -> 0 使用14服務(wù)清除DTC
OR
操作循環(huán)更新

640ea28c-f8fd-11ed-90ce-dac502259ad0.png

DTCBit6更新邏輯圖

DTC Bit7更新邏輯

Bit位更新 條件
0 -> 1 經(jīng)Debounce后最終上報(bào)狀態(tài)為Failed
AND
點(diǎn)燈條件滿足
1 -> 0 使用14服務(wù)清除DTC
OR
點(diǎn)燈條件不滿足

DTCBit7更新邏輯

4)Retention條件檢測

當(dāng)DTC狀態(tài)完成更新后,Dem將開始進(jìn)行Retention條件檢測。Dem給用戶提供多種策略用以判斷是否需要分配Event Memory Entry。分配策略由配置DemEventMemoryEntryStorageTrigger決定,具體如下面表格所示:

DemEventMemoryEntryStorageTrigger 分配條件
DEM_TRIGGER_ON_TEST_FAILED DTC bit0 由0跳變成1
DEM_TRIGGER_ON_CONFIRMED DTC bit3 由0跳變成1
DEM_TRIGGER_ON_PENDING DTC bit2 由0跳變成1
DEM_TRIGGER_ON_FDC_THRESHOLD DTC bit0 由0跳變成1
OR
DTC bit1由0跳變成1
OR
DTC bit2由0跳變成1
OR
DTC bit3由0跳變成1

5)Event Memory Retention處理

Event上報(bào)經(jīng)過了使能條件檢測,Event控制DTC Bit位狀態(tài)更新,Retention條件檢測重重難關(guān),最終被允許進(jìn)入Event Memory,Dem會(huì)怎樣將Event(DTCs),DTC狀態(tài),快照,擴(kuò)展數(shù)據(jù)存入Event Memory中呢?

基本思路如下:

642871e4-f8fd-11ed-90ce-dac502259ad0.png

Event Memory Retention處理機(jī)制

S1:在Event Mmeory所有Event Mmeory Entry中搜索,檢查該Event及相關(guān)數(shù)據(jù)是否已經(jīng)存入Event Memory中,如果已經(jīng)存在,則進(jìn)入Event MemoryEntry Storage。如果不存在,則在Event Memory中尋找空間用于存儲(chǔ)Event內(nèi)容,如果Event Memory中空間已滿,則需要使用Replacement機(jī)制。

S2:當(dāng)進(jìn)入Event memory Storage,Occurance Counter需要加1,判斷是否需要更新凍結(jié)幀,擴(kuò)展數(shù)據(jù)。 EventDisplacement處理 Event Memory存儲(chǔ)了數(shù)量為DemMaxNumberEventEntryPrimary的Event MemoryEntry,當(dāng)Event Memory Entry已滿,需要進(jìn)行Replacement,即根據(jù)一定的策略決定新增的Event如何存儲(chǔ)。Dem模塊提供了一套完善的機(jī)制用于Replacement,該機(jī)制有三個(gè)核心原則:

1.Event Priority(數(shù)字越小存儲(chǔ)優(yōu)先級(jí)越高)

2.Event Active或者Event Passive狀態(tài)(Active優(yōu)先級(jí)高于Passive優(yōu)先級(jí))

3.Event Occurance Counter(最近發(fā)生的存儲(chǔ)優(yōu)先級(jí)高于之前發(fā)生的)

被替換的Event對(duì)應(yīng)DTC中Bit2,Bit3 ,Bit5會(huì)被設(shè)置為0.

下圖展示了整套Event Displacement機(jī)制,體現(xiàn)了三個(gè)核心原則在替換機(jī)制中的作用。

64423c78-f8fd-11ed-90ce-dac502259ad0.png

Event Displacement機(jī)制

總結(jié)

DEM是以DTC為核心的AUTOSAR基礎(chǔ)軟件模塊,實(shí)現(xiàn)了對(duì)DTC的監(jiān)控上報(bào),存儲(chǔ)等功能,如果需要對(duì)AUTOSAR診斷進(jìn)行進(jìn)一步學(xué)習(xí),還需要對(duì)DCM,Doip,Cantp等模塊進(jìn)行系統(tǒng)性學(xué)習(xí)。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)
    +關(guān)注

    關(guān)注

    8

    文章

    6760

    瀏覽量

    88619
  • 配置
    +關(guān)注

    關(guān)注

    1

    文章

    187

    瀏覽量

    18322
  • DEM
    DEM
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

    15278

原文標(biāo)題:一文讀懂AUTOSAR系列 – DEM功能詳解

文章出處:【微信號(hào):汽車電子嵌入式,微信公眾號(hào):汽車電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AutoSAR Dem配置項(xiàng)基礎(chǔ)知識(shí)梳理

    Dem負(fù)責(zé)DTC的處理,包括凍結(jié)幀、擴(kuò)展數(shù)據(jù)、運(yùn)行循環(huán)、debounce策略等。
    的頭像 發(fā)表于 07-24 17:26 ?6662次閱讀
    AutoSAR <b class='flag-5'>Dem</b>配置項(xiàng)基礎(chǔ)知識(shí)梳理

    如何使用高程DEM建立三維地圖模型

    如何使用高程DEM建立三維地圖模型(Arcgis ArcScene)
    發(fā)表于 04-30 09:26

    德州儀器公司的DEM-SOT23LDO評(píng)估模塊(DEM)幫助

    The Texas Instruments DEM-SOT23LDO demonstrationmodule (DEM) helps designers evaluate the operation
    發(fā)表于 05-31 09:58 ?27次下載

    DEM-CIB EVALUATION FIXTURE COM

    The DEM-CIB computer interface board is a develop- ment and evaluation tool that interfaces
    發(fā)表于 06-01 16:48 ?5次下載

    DEM-DAI1801,DEM-PCM1801: Evalu

    DESCRIPTIONThe DEM-PCM1801 is a basic evaluation fixture forthe PCM1801 16-bit stereo audio A/D
    發(fā)表于 06-13 10:00 ?14次下載

    DEM-DAI1690 EVM User's Gui

    DEM-DAI169
    發(fā)表于 06-26 10:43 ?3次下載

    DEM-DAI1742: Evaluation Fixtur

    DEM-DAI1742: Evaluation Fixture
    發(fā)表于 06-26 11:45 ?8次下載

    DEM-DAI1741: Evaluation Fixtur

    DEM-DAI1741: Evaluation Fixture
    發(fā)表于 06-26 11:48 ?14次下載

    DEM-PCM1725: Evaluation Fixtur

    DEM-PCM1725: Evaluation Fixture
    發(fā)表于 06-26 11:52 ?7次下載

    基于DEM的數(shù)字降水徑流模型

    DEM是目前用于流域地形分析的主要數(shù)據(jù),在流域地形分析及水系構(gòu)建等方面形成了比較成熟的算法,基于DEM的水文模擬技術(shù)的應(yīng)用給傳統(tǒng)的水文模擬方法帶來了根本性的變化?;跂鸥?/div>
    發(fā)表于 04-06 14:57 ?12次下載

    開關(guān)電源各功能電路詳解

    開關(guān)電源各功能電路詳解開關(guān)電源各功能電路詳解開關(guān)電源各功能電路詳解
    發(fā)表于 12-14 18:00 ?182次下載

    基于機(jī)載InSAR生成DEM技術(shù)研究試驗(yàn)_王通

    基于機(jī)載InSAR生成DEM技術(shù)研究試驗(yàn)_王通
    發(fā)表于 03-16 14:32 ?0次下載

    輸電線路的DEM裁剪算法

    傳統(tǒng)獲取帶狀目標(biāo)數(shù)字高程模型( DEM)數(shù)據(jù)的包圍盒方法存在效率低、數(shù)據(jù)下載量大的問題。為此,提出基于空間分析的平滑緩沖區(qū)DEM裁剪提取算法和基于矩形拼接的DEM裁剪拼接算法,利用空間分析和矩形拼接
    發(fā)表于 02-24 15:36 ?0次下載

    LM4040DEM3-4.1+T PMIC - 電壓基準(zhǔn)

    電子發(fā)燒友網(wǎng)為你提供Maxim(Maxim)LM4040DEM3-4.1+T相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有LM4040DEM3-4.1+T的引腳圖、接線圖、封裝手冊、中文資料、英文資料,LM4040DEM3-4.1+T真值表,LM
    發(fā)表于 11-28 22:44
    LM4040<b class='flag-5'>DEM</b>3-4.1+T PMIC - 電壓基準(zhǔn)

    LM4040DEM3-2.5+T PMIC - 電壓基準(zhǔn)

    電子發(fā)燒友網(wǎng)為你提供Maxim(Maxim)LM4040DEM3-2.5+T相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有LM4040DEM3-2.5+T的引腳圖、接線圖、封裝手冊、中文資料、英文資料,LM4040DEM3-2.5+T真值表,LM
    發(fā)表于 11-28 22:44
    LM4040<b class='flag-5'>DEM</b>3-2.5+T PMIC - 電壓基準(zhǔn)