博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 詳解UDS CAN診斷:DiagnosticSessionControl Service(SID:0X10)

詳解UDS CAN診斷:DiagnosticSessionControl Service(SID:0X10)

發(fā)布人:美男子玩編程 時(shí)間:2022-11-30 來(lái)源:工程師 發(fā)布文章

診斷和通信管理功能單元(Diagnostic and communication management functional unit)包含10種服務(wù),本篇博文將詳細(xì)講解DiagnosticSessionControl Service(SID:0X10)的特性和協(xié)議。


圖片

本篇博文素材來(lái)源于:ISO 14229-1-2020:規(guī)范和要求。


在學(xué)習(xí)本篇博文之前推薦學(xué)習(xí):
詳解UDS CAN診斷:什么是UDS(ISO 14229)診斷?


DiagnosticSessionControl Service用于在服務(wù)器中啟用不同的診斷會(huì)話(huà)。


診斷會(huì)話(huà)有兩種:Default Session和Any Other Session,它們之間可以互相轉(zhuǎn)換,如下所示:


圖片圖片

不同服務(wù)在Default Session和Any Other Session中的權(quán)限不同,某些服務(wù)并不支持在Default Session中運(yùn)行,所有服務(wù)都可以在Any Other Session中運(yùn)行,如下圖(not applicable代表不支持服務(wù),x代代表支持服務(wù))所示:

圖片

1


診斷請(qǐng)求

診斷請(qǐng)求分為具有子功能的請(qǐng)求和沒(méi)有子功能的請(qǐng)求兩種。


首先來(lái)看看具有子功能的請(qǐng)求協(xié)議,如下所示:


圖片

我們只需要關(guān)注A_Data.A_PCI.SI和A_Data.Parameter 1~k數(shù)據(jù),其他參數(shù)數(shù)值取決于客戶(hù)的實(shí)際應(yīng)用。


具有子功能的請(qǐng)求A_Data.Parameter 1字節(jié)存儲(chǔ)的就是子功能數(shù)據(jù)。


沒(méi)有子功能的請(qǐng)求協(xié)議,如下所示:


圖片

A_Data.Parameter 1字節(jié)不再規(guī)定。


接著來(lái)看一看協(xié)議中對(duì)A_Data.A_PCI.SI和A_Data.Parameter 1~k數(shù)據(jù)的規(guī)定和使用。


啟用不同的診斷會(huì)話(huà)需要客戶(hù)端發(fā)送請(qǐng)求協(xié)議:0X10 0X**(A_Data.A_PCI.SI和A_Data.Parameter 1~k數(shù)據(jù))。


圖片

其中:

  • 0X10是服務(wù)ID(SID),1字節(jié);

  • 0X**是服務(wù)的子功能,范圍為:0X00~0XFF,1字節(jié)。


在ISO 14229-1-2020協(xié)議中規(guī)定了各類(lèi)數(shù)值子功能的意義和使用場(chǎng)景,如下所示:


圖片圖片

2


診斷響應(yīng)

診斷響應(yīng)有肯定響應(yīng)和否定響應(yīng)兩種類(lèi)型。


2.1、肯定響應(yīng)

肯定響應(yīng)協(xié)議中也只需要關(guān)注A_Data.A_PCI.SI和A_Data.Parameter 1~k數(shù)據(jù),如下所示:


圖片

肯定響應(yīng)表示服務(wù)端回復(fù)客戶(hù)端請(qǐng)求成功,響應(yīng)協(xié)議:0X50 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k數(shù)據(jù))。


圖片

其中:

  • 0X50是響應(yīng)服務(wù)的SID,相當(dāng)于0X10+0X40,1字節(jié);

  • 0X**是響應(yīng)服務(wù)的子功能,范圍為:0X00~0XFF,1字節(jié)。例如,客戶(hù)端使用0X01子服務(wù),此時(shí)肯定響應(yīng)的子服務(wù)就是0X01;

  • 0X&&記錄了包含服務(wù)器報(bào)告的特定會(huì)話(huà)參數(shù)值,范圍為:0X00~0XFF,4字節(jié),協(xié)議規(guī)定如下所示:


圖片

2.2、否定響應(yīng)

否定響應(yīng)表示客戶(hù)端或者服務(wù)端存在問(wèn)題,否定響應(yīng)會(huì)提示失敗原因。


否定響應(yīng)協(xié)議中只需要關(guān)注A_Data.A_PCI.NR_SI、A_Data.A_PCI. SI和A_Data.Parameter 1數(shù)據(jù),如下所示:


圖片

響應(yīng)協(xié)議:0X7F 0X** 0X&&(A_Data.A_PCI.NR_SI、A_Data.A_PCI. SI和A_Data.Parameter 1數(shù)據(jù))。


其中:

  • 0X7F是否定響應(yīng)固定數(shù)值,1字節(jié);

  • 0X**是診斷服務(wù)ID(SID),本篇博文使用的是0X10服務(wù),則否定響應(yīng)會(huì)返回0X10,1字節(jié);

  • 0X&&是NRC錯(cuò)誤碼,描述了返回錯(cuò)誤的原因,1字節(jié)。


DiagnosticSessionControl Service(SID:0X10)有3種類(lèi)型錯(cuò)誤,如下所示:


圖片


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

全息投影相關(guān)文章:全息投影原理


關(guān)鍵詞: CAN

技術(shù)專(zhuān)區(qū)

關(guān)閉