之前講解到CAN物理層和數據鏈路層的相關知識,這些屬于ISO 11898-1、ISO 11898-2和ISO 11898-3協議方面的知識,本篇博文開啟新篇章,講解依托于CAN通信的應用層服務:UDS(ISO 14229)診斷協議。
本篇博文素材來源于:ISO 14229-1-2020:規范和要求。
UDS(Unified Diagnostic Services,統一的診斷服務)診斷協議是在汽車電子ECU環境下的一種診斷通信協議。簡單來說,可以理解為UDS診斷協議就是ISO 14229協議,在ISO 14229協議中定義了UDS服務用法、服務格式等信息。
UDS診斷最主要目的是為了能夠快速準確判斷車輛或者某個控制器的故障以及故障原因,從而為維修提供可靠的依據。
截止到2020年,UDS診斷由以下8個部分組成:
在開放系統互連(OSI)基本參考模型中規定了各類物理層通信對應部分的UDS診斷協議。例如,CAN通信(ISO 11898-1、ISO 11898-2和ISO 11898-3)在應用層的UDS診斷協議是ISO 14229-1和ISO 14229-3。
UDS診斷是一種定向通信的交互協議(Request/Response),診斷方(Tester)發送服務請求,ECU返回響應(肯定響應/否定響應)。
UDS診斷包括6大類,26種服務,每種服務都有自己獨立的ID,即SID(Service Identifier)。
UDS診斷服務的通信協議基本相似,但又有所區別。
以診斷和通信管理功能單元(Diagnostic and Communication Management functional unit )為例,服務請求和響應有兩類:一類是具有Subfunction(子功能),另一類是不具有Subfunction(子功能)。
不具有Subfunction(子功能)的UDS診斷服務請求和響應機制如下圖所示:
診斷方(Tester)向ECU發送指定的請求數據(Request),這條數據中需要包含SID,且SID處于該應用層數據的第一個字節。
ECU接收到請求數據(Request)后會返回響應,可返回肯定響應或者否定響應。
肯定響應(Positive Response)格式為:(SID+0X40)+數據。例如,請求0X10服務,肯定響應第1個字節為0X50;請求0X22服務,肯定響應第1個字節為0X62。
否定響應(Negative Response)格式為:0X7F+SID+NRC。例如,請求0X10服務,否定響應第1個字節為固定的0X7F,第2個字節為0X10,第3個字節為NRC。NRC是否定響應碼,可以根據返回的NRC判斷是什么原因導致的否定響應。
具有Subfunction(子功能)的UDS診斷服務請求和響應機制如下圖所示:
診斷方(Tester)向ECU發送指定的請求數據(Request),這條數據中需要包含SID,且SID處于該應用層數據的第一個字節。
ECU接收到請求數據(Request)后會返回響應,可返回肯定響應或者否定響應。
肯定響應(Positive Response)格式為:(SID+0X40)+Subfunction(子功能)+數據。例如,請求0X10服務,Subfunction(子功能)為0X02,肯定響應第1個字節為0X50,第2個字節為0X02。
否定響應(Negative Response)格式為:0X7F+SID+NRC。例如,請求0X10服務,否定響應第1個字節為固定的0X7F,第2個字節為0X10,第3個字節為NRC。NRC是否定響應碼,可以根據返回的NRC判斷是什么原因導致的否定響應。
發布日期: 2024-06-27
發布日期: 2024-04-15
發布日期: 2024-03-08
發布日期: 2024-05-09
發布日期: 2024-01-11
發布日期: 2024-05-08
發布日期: 2024-06-20
發布日期: 2024-05-08
發布日期: 2025-04-24
發布日期: 2025-04-24
發布日期: 2025-04-24
發布日期: 2025-04-24
發布日期: 2025-04-24
尋找更多銷售、技術和解決方案的信息?
廣州綠測電子科技有限公司(簡稱:綠測科技)成立于2015年11月,是一家專注于耕耘測試與測量行業的技術開發公司。綠測科技以“工程師的測試管家”的理念向廣大客戶提供專業的管家服務。綠測科技的研發部及工廠設立于廣州番禺區,隨著公司業務的發展,先后在廣西南寧、深圳、廣州南沙、香港等地設立了機構。綠測科技經過深耕測試與測量領域多年,組建了一支經驗豐富的團隊,可為廣大客戶提供品質過硬的產品及測試技術服務等支持。
技術工程師
020-22042442