UDS服務(wù)基礎(chǔ)篇之85服務(wù)
前言
正如前文《UDS基礎(chǔ)之28服務(wù)》所說的28服務(wù)與85服務(wù)往往是搭配使用,因此講完28服務(wù)之后,本文將對85服務(wù)做一個(gè)專題介紹。那么針對85服務(wù),小T咨詢下大家如下幾個(gè)問題?
- 你知道85服務(wù)是干什么的嗎?
- 85服務(wù)是怎樣的請求與診斷格式?
- 85服務(wù)在使用的過程中需要注意哪些問題?
這篇,我們來一起探索并回答這些問題。為了便于大家理解,以下是本文的主題大綱:
正文
功能描述
根據(jù)ISO14119-1標(biāo)準(zhǔn)中所述,診斷服務(wù)85服務(wù)主要用于開啟或者停止DTC狀態(tài)位的更新功能,這個(gè)功能在主機(jī)廠規(guī)定的診斷服務(wù)規(guī)范當(dāng)中都會(huì)有實(shí)際的功能及作用。
下列文中使用到的Client可直接理解為上位機(jī)Tester,Server可直接理解為接受Tester診斷請求的ECU。
應(yīng)用場景
一般而言,對于85診斷服務(wù),主要應(yīng)用場景為以下場合:
- 用于在診斷刷寫的過程中關(guān)閉DTC記錄,因?yàn)樵谒懙倪^程中往往是針對某個(gè)ECU節(jié)點(diǎn)單獨(dú)進(jìn)行刷寫,其他的對手件ECU節(jié)點(diǎn)始終處于正常工作狀態(tài),那么此時(shí)應(yīng)當(dāng)發(fā)送功能尋址給到各ECU節(jié)點(diǎn)使得其停止記錄DTC,刷寫完成之后在重新開啟對手件DTC記錄功能即可。
- 用于某些特殊不需要記錄DTC的場景;
上述這些應(yīng)用場景較為常見,這里就不一一列舉。
除了在哪些應(yīng)用場景下使用,在此還需要針對85服務(wù)提出如下幾點(diǎn)注意事項(xiàng):
- 當(dāng)通過85服務(wù)控制DTC不報(bào)出時(shí),也就意味著當(dāng)前DTC的狀態(tài)將不會(huì)更新,DTC狀態(tài)將保持現(xiàn)狀;
- 一旦85服務(wù)控制DTC報(bào)出或者session超時(shí)回到默認(rèn)會(huì)話或者軟件復(fù)位等操作時(shí),那么此時(shí)DTC狀態(tài)將會(huì)繼續(xù)保持更新;
- 當(dāng)85服務(wù)控制DTC不報(bào)出時(shí),此時(shí)執(zhí)行14清除DTC服務(wù)時(shí),DTC的狀態(tài)將會(huì)正常被14服務(wù)處理,不會(huì)收到85服務(wù)的影響;
- 如果某event并沒有Mapping DTC,那么85服務(wù)將不會(huì)對這個(gè)event做任何處理,因?yàn)?5服務(wù)處理的基本對象是DTC;
- 如果某故障event發(fā)生會(huì)觸發(fā)安全行為,此時(shí)如果執(zhí)行85服務(wù)抑制DTC,同時(shí)觸發(fā)14服務(wù)那么DTC狀態(tài)將會(huì)被清除,相應(yīng)的安全行為可能失效,因?yàn)閷τ诎踩P(guān)鍵系統(tǒng),一般建議出現(xiàn)這種情況時(shí),已觸發(fā)的安全行為不應(yīng)該被同步抑制;
DTC控制基本原理:
如下圖1所示,針對85服務(wù)的通信控制過程會(huì)經(jīng)過如下幾個(gè)AUTOSAR BSW模塊進(jìn)行處理,然后完成最終的通信控制,具體步驟如下:
-
Client 發(fā)送診斷指令給到Server,Server接收到指令后內(nèi)部會(huì)置位某全局變量;
-
軟件內(nèi)部故障觸發(fā)時(shí),會(huì)首先檢查如下兩個(gè)條件是否滿足才會(huì)進(jìn)行event的處理;
- enable condition是否滿足;
- DTC控制有無關(guān)閉(85服務(wù));
只有當(dāng)enable condition滿足并且抑制DTC上報(bào)的開關(guān)為FALSE的情況下,上報(bào)的故障事件才能夠得到進(jìn)一步處理;
服務(wù)請求
服務(wù)請求是Client發(fā)送給到Server的診斷服務(wù)指令。
請求格式
按照ISO14229-1標(biāo)準(zhǔn)所述,如下圖2所示為85服務(wù)診斷請求格式,即上述DTC控制原理中診斷服務(wù)請求格式:
一般來說參數(shù)DTCSettingControlOptionRecord幾乎不使用,僅用到前面兩個(gè)參數(shù),一個(gè)是SID,另外一個(gè)是DTCSettingType。
下圖3中各參數(shù)解釋如下:
如下圖4所示,為上述subfunction(DTCSettingType)中的各項(xiàng)取值的具體含義:
請求實(shí)例
關(guān)閉DTC監(jiān)控(OFF)
以抑制DTC上報(bào)為例,85服務(wù)診斷請求實(shí)例如下圖5所示:
開啟DTC監(jiān)控(ON)
以開啟DTC上報(bào)為例,85服務(wù)診斷請求實(shí)例如下圖6所示:
服務(wù)響應(yīng)
服務(wù)響應(yīng)是針對Client對Server診斷請求的響應(yīng)。
正響應(yīng)格式
如下圖7所示,為85診斷服務(wù)的正響應(yīng)格式:
從上圖中可以看出,85診斷服務(wù)的正響應(yīng)由以下二個(gè)部分組成:
- Response ID:該參數(shù)固定為SID+0x40 = 0xC5;
- SubFunction:該參數(shù)為上述診斷請求格式中DTCSettingType;
正響應(yīng)實(shí)例
關(guān)閉DTC監(jiān)控(OFF)
如下圖8所示,為上述85 02請求示例所對應(yīng)的正響應(yīng):
其中,0x02就是跟診斷請求中的DTCSettingType保持一致即可。
開啟DTC監(jiān)控(ON)
如下圖9所示,為上述85 01請求示例所對應(yīng)的正響應(yīng):
負(fù)響應(yīng)NRC支持
絕大多數(shù)情況下,Server針對Client的請求都會(huì)給到正響應(yīng),比如發(fā)生重啟前需確保整車處于安全狀態(tài),如引擎熄火,車速不能超過3km/h等,或者為了防止不按照診斷請求格式進(jìn)行請求,那么Server需要通過某種方式來告訴Client執(zhí)行不成功的原因在哪里以便于調(diào)查問題直至得到正響應(yīng)。
因此ISO14229-1針對所有的診斷服務(wù)提供了一種統(tǒng)一的診斷負(fù)響應(yīng)的診斷格式:7F +SID + NRC。
其中NRC全稱為Negetive Responce Code,每個(gè)NRC具有唯一的含義來代表當(dāng)前診斷請求錯(cuò)誤的原因所在。當(dāng)然每個(gè)診斷服務(wù)支持的NRC不盡相同,具體支持的NRC需要參考ISO14229-1標(biāo)準(zhǔn)文檔,對于85服務(wù)而言支持的NRC如下圖:
- 當(dāng)診斷請求的subfuntion不在Server支持的范圍內(nèi)時(shí),則Server會(huì)回復(fù)”7F 85 12“;
- 當(dāng)發(fā)送報(bào)文長度或者格式不對時(shí),則Server會(huì)回復(fù)"7F 85 13";
- 例如當(dāng)嘗試請求復(fù)位時(shí)且當(dāng)前車速條件不滿足,此時(shí)Client發(fā)送診斷指請求時(shí),Server將會(huì)回復(fù)“7F 85 22”來告訴請求者當(dāng)前進(jìn)入編程會(huì)話的條件不滿足,請?jiān)俅螜z查進(jìn)入編程會(huì)話的條件。
- 當(dāng)communicationType與nodeIdentificationNumber均超出規(guī)定的范圍時(shí),則Server會(huì)回復(fù) “7F 85 31”;
復(fù)位時(shí)且當(dāng)前車速條件不滿足,此時(shí)Client發(fā)送診斷指請求時(shí),Server將會(huì)回復(fù)“7F 85 22”來告訴請求者當(dāng)前進(jìn)入編程會(huì)話的條件不滿足,請?jiān)俅螜z查進(jìn)入編程會(huì)話的條件。文章來源:http://www.zghlxwxcb.cn/news/detail-624509.html
- 當(dāng)communicationType與nodeIdentificationNumber均超出規(guī)定的范圍時(shí),則Server會(huì)回復(fù) “7F 85 31
更多精彩內(nèi)容,敬請關(guān)注公眾號(hào)“ADAS與ECU之吾見”!
文章來源地址http://www.zghlxwxcb.cn/news/detail-624509.html
到了這里,關(guān)于UDS服務(wù)基礎(chǔ)篇之85的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!