詳解UDS CAN診斷:什么是UDS(ISO 14229)診斷?
1
UDS診斷概念
UDS(Unified Diagnostic Services,統(tǒng)一的診斷服務(wù))診斷協(xié)議是在汽車電子ECU環(huán)境下的一種診斷通信協(xié)議。簡(jiǎn)單來(lái)說(shuō),可以理解為UDS診斷協(xié)議就是ISO 14229協(xié)議,在ISO 14229協(xié)議中定義了UDS服務(wù)用法、服務(wù)格式等信息。
UDS診斷最主要目的是為了能夠快速準(zhǔn)確判斷車輛或者某個(gè)控制器的故障以及故障原因,從而為維修提供可靠的依據(jù)。
2
UDS診斷組成部分
截止到2020年,UDS診斷由以下8個(gè)部分組成:
ISO 14229-1-2020:規(guī)范和要求;
ISO 14229-2-2013:會(huì)話層服務(wù);
ISO 14229-3-2012:CAN實(shí)現(xiàn)的統(tǒng)一診斷服務(wù)(UDSonCAN) ;
ISO 14229-4-2012:FlexRay實(shí)現(xiàn)的統(tǒng)一診斷服務(wù)(UDSonFR) ;
ISO 14229-5-2013:Internet協(xié)議實(shí)現(xiàn)的統(tǒng)一診斷服務(wù)(UDSonIP);
ISO 14229-6-2013:K線實(shí)現(xiàn)的統(tǒng)一診斷服務(wù)(UDSonK-Line) ;
ISO 14229-7-2015:本地互聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)的統(tǒng)一診斷服務(wù)(UDSonLIN);
ISO 14229-8-2020:時(shí)鐘擴(kuò)展外圍接口實(shí)現(xiàn)的統(tǒng)一診斷服務(wù)(UDSonCXPI)。
在開(kāi)放系統(tǒng)互連(OSI)基本參考模型中規(guī)定了各類物理層通信對(duì)應(yīng)部分的UDS診斷協(xié)議。例如,CAN通信(ISO 11898-1、ISO 11898-2和ISO 11898-3)在應(yīng)用層的UDS診斷協(xié)議是ISO 14229-1和ISO 14229-3。
3
UDS診斷服務(wù)
UDS診斷是一種定向通信的交互協(xié)議(Request/Response),診斷方(Tester)發(fā)送服務(wù)請(qǐng)求,ECU返回響應(yīng)(肯定響應(yīng)/否定響應(yīng))。
UDS診斷包括6大類,26種服務(wù),每種服務(wù)都有自己獨(dú)立的ID,即SID(Service Identifier)。
UDS診斷服務(wù)的通信協(xié)議基本相似,但又有所區(qū)別。
以診斷和通信管理功能單元(Diagnostic and Communication Management functional unit )為例,服務(wù)請(qǐng)求和響應(yīng)有兩類:一類是具有Subfunction(子功能),另一類是不具有Subfunction(子功能)。
不具有Subfunction(子功能)的UDS診斷服務(wù)請(qǐng)求和響應(yīng)機(jī)制如下圖所示:
診斷方(Tester)向ECU發(fā)送指定的請(qǐng)求數(shù)據(jù)(Request),這條數(shù)據(jù)中需要包含SID,且SID處于該應(yīng)用層數(shù)據(jù)的第一個(gè)字節(jié)。
ECU接收到請(qǐng)求數(shù)據(jù)(Request)后會(huì)返回響應(yīng),可返回肯定響應(yīng)或者否定響應(yīng)。
肯定響應(yīng)(Positive Response)格式為:(SID+0X40)+數(shù)據(jù)。例如,請(qǐng)求0X10服務(wù),肯定響應(yīng)第1個(gè)字節(jié)為0X50;請(qǐng)求0X22服務(wù),肯定響應(yīng)第1個(gè)字節(jié)為0X62。
否定響應(yīng)(Negative Response)格式為:0X7F+SID+NRC。例如,請(qǐng)求0X10服務(wù),否定響應(yīng)第1個(gè)字節(jié)為固定的0X7F,第2個(gè)字節(jié)為0X10,第3個(gè)字節(jié)為NRC。NRC是否定響應(yīng)碼,可以根據(jù)返回的NRC判斷是什么原因?qū)е碌姆穸憫?yīng)。
具有Subfunction(子功能)的UDS診斷服務(wù)請(qǐng)求和響應(yīng)機(jī)制如下圖所示:
診斷方(Tester)向ECU發(fā)送指定的請(qǐng)求數(shù)據(jù)(Request),這條數(shù)據(jù)中需要包含SID,且SID處于該應(yīng)用層數(shù)據(jù)的第一個(gè)字節(jié)。
ECU接收到請(qǐng)求數(shù)據(jù)(Request)后會(huì)返回響應(yīng),可返回肯定響應(yīng)或者否定響應(yīng)。
肯定響應(yīng)(Positive Response)格式為:(SID+0X40)+Subfunction(子功能)+數(shù)據(jù)。例如,請(qǐng)求0X10服務(wù),Subfunction(子功能)為0X02,肯定響應(yīng)第1個(gè)字節(jié)為0X50,第2個(gè)字節(jié)為0X02。
否定響應(yīng)(Negative Response)格式為:0X7F+SID+NRC。例如,請(qǐng)求0X10服務(wù),否定響應(yīng)第1個(gè)字節(jié)為固定的0X7F,第2個(gè)字節(jié)為0X10,第3個(gè)字節(jié)為NRC。NRC是否定響應(yīng)碼,可以根據(jù)返回的NRC判斷是什么原因?qū)е碌姆穸憫?yīng)。
本篇博文不再贅述UDS服務(wù)所有類型的協(xié)議格式,在之后的博文中會(huì)詳細(xì)講解每種類型每個(gè)ID服務(wù)的協(xié)議和功能。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。