博客專欄

        EEPW首頁 > 博客 > 詳解UDS CAN診斷:什么是UDS(ISO 14229)診斷?

        詳解UDS CAN診斷:什么是UDS(ISO 14229)診斷?

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

        1


        UDS診斷概念

        UDS(Unified Diagnostic Services,統(tǒng)一的診斷服務(wù))診斷協(xié)議是在汽車電子ECU環(huán)境下的一種診斷通信協(xié)議。簡單來說,可以理解為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)。


        在開放系統(tǒng)互連(OSI)基本參考模型中規(guī)定了各類物理層通信對應(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ù)請求,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ù)請求和響應(yīng)有兩類:一類是具有Subfunction(子功能),另一類是不具有Subfunction(子功能)。


        不具有Subfunction(子功能)的UDS診斷服務(wù)請求和響應(yīng)機(jī)制如下圖所示:


        圖片

        診斷方(Tester)向ECU發(fā)送指定的請求數(shù)據(jù)(Request),這條數(shù)據(jù)中需要包含SID,且SID處于該應(yīng)用層數(shù)據(jù)的第一個(gè)字節(jié)。


        ECU接收到請求數(shù)據(jù)(Request)后會(huì)返回響應(yīng),可返回肯定響應(yīng)或者否定響應(yīng)。


        肯定響應(yīng)(Positive Response)格式為:(SID+0X40)+數(shù)據(jù)。例如,請求0X10服務(wù),肯定響應(yīng)第1個(gè)字節(jié)為0X50;請求0X22服務(wù),肯定響應(yīng)第1個(gè)字節(jié)為0X62。


        否定響應(yīng)(Negative Response)格式為:0X7F+SID+NRC。例如,請求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ù)請求和響應(yīng)機(jī)制如下圖所示:


        圖片

        診斷方(Tester)向ECU發(fā)送指定的請求數(shù)據(jù)(Request),這條數(shù)據(jù)中需要包含SID,且SID處于該應(yīng)用層數(shù)據(jù)的第一個(gè)字節(jié)。


        ECU接收到請求數(shù)據(jù)(Request)后會(huì)返回響應(yīng),可返回肯定響應(yīng)或者否定響應(yīng)。


        肯定響應(yīng)(Positive Response)格式為:(SID+0X40)+Subfunction(子功能)+數(shù)據(jù)。例如,請求0X10服務(wù),Subfunction(子功能)為0X02,肯定響應(yīng)第1個(gè)字節(jié)為0X50,第2個(gè)字節(jié)為0X02。


        否定響應(yīng)(Negative Response)格式為:0X7F+SID+NRC。例如,請求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)請聯(lián)系工作人員刪除。



        關(guān)鍵詞: UDS

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 遂宁市| 奈曼旗| 资兴市| 措勤县| 北辰区| 腾冲县| 泗水县| 牟定县| 大兴区| 成武县| 盈江县| 昔阳县| 五常市| 海伦市| 保德县| 绥化市| 云和县| 正蓝旗| 如皋市| 尚志市| 牙克石市| 定兴县| 淳安县| 河间市| 安龙县| 浦北县| 会昌县| 昌平区| 梁河县| 澄迈县| 多伦县| 鹿邑县| 北宁市| 陆河县| 萝北县| 沅江市| 工布江达县| 高安市| 江陵县| 小金县| 曲水县|