來源:電控知識搬運工
車輛的診斷需要有Tester端和ECU端,Tester端和ECU端通過一問一答的形式進行通信,因而Tester端和ECU端都需要遵循同樣的診斷通信協議,常用的診斷協議有ISO 14230,ISO 15031,ISO 15765,還有我們熟悉的ISO 14229就是UDS協議,在協議里面定義了診斷的請求,診斷響應的報文格式,以及ECU怎樣處理診斷請求報文,以及診斷服務的應用。
UDS是Unified Diagnostic Services的縮寫,在國際標準ISO 14229-1中定義,UDS標準中除了定義服務的用法,以及服務的格式以外,還定義了一些標準化的數據,而到OEM要使用UDS協議時,除了要使用標準定義的服務以及標準數據以外,還要依據自身的情況,定義屬于OEM的特定數據,比如說,定義所要遵循的服務,需要支持的DID,需要支持的DTC等這些內容,這樣形成的符合某OEM的診斷規范才能用于ECU診斷功能的開發以及驗證。
隨著車輛ECU的增多,車輛網絡拓撲結構也越來越負責,比如說一輛車需要有多種總線(CAN總線,LIN,以太網,FlexRay),所以在2013年釋放的UDS協議中,除了對通用診斷服務的定義以外,還增加了關于UDS在各個總線中應用的定義。
如果我們說UDS診斷服務是實現人或設備與ECU控制器交流的一種語言,那么診斷服務的響應規則就如同是語法,而SID(Service ID)定義就如同詞匯。因此了解響應規則和SID的意義就基本能了解與ECU溝通的方法和含義。本文先來介紹一下響應規則。
1.尋址方式
在總線上往往有著眾多ECU設備,作為診斷設備既可以與所有的ECU一起溝通,也可以指定某一個ECU單獨溝通。所以尋址方式就有功能尋址(Functionally Addressed)和物理尋址(Physically Addressed)兩種。
功能尋址
功能尋址可以廣播診斷請求Request,同時等待總線上的ECU給與響應。
物理尋址
物理尋址指定發送特定診斷請求Request,等待指定ECU給與響應。
因此我們的診斷報文一般會有三個CAN ID,其中DiagRequest(診斷物理請求報文)和DiagState(診斷功能請求報文)是ECU接收來自Client的報文,而DiagRespone(診斷響應報文)是ECU反饋的報文。
例如下圖的0x7FF和0x731分別是功能請求報文和物理請求報文,而0x7B1則是診斷響應報文。
2.請求和響應格式
診斷請求Request
UDS服務中共定義了26個服務請求SID(Service ID),每個SID代表了一類指令。由于有些服務請求還需要表達具體的功能類型,比如是開啟還是關閉,是讀取還是修改等,因此UDS中還定義了Sub-function來補充SID的意圖。另外服務請求有時候還需要告知ECU具體的參數信息Parameter,例如計數信息。因此診斷請求的格式基本上是SID + Sub-function + Parameter三部分組成的,其中SID一個byte,Sub-function一個byte(其中最高位是禁止肯定響應指示位,0則表示需要肯定響應,1則表示禁止肯定響應),Parameter根據具體情況定義。
肯定響應Postive Response
收到Client的診斷請求后,ECU可能反饋肯定響應或者否定響應。肯定響應在診斷請求的SID上+0x40表示確認。例如診斷請求SID為0x10,則肯定響應反饋0x50。
否定響應Negative Response
USD診斷服務的否定響應中包含有導致否定響應原因的編碼,稱為否定響應碼(NRC, Negative Response Code)。否定響應碼的取值范圍為0x00 - 0xFF,被分為三組:
0x00:服務器內部實現否定響應碼判斷邏輯時使用,表示要給出肯定響應。
0x01 – 0x7F:診斷通信相關的否定響應碼。
0x80 – 0xFF:服務器收到診斷服務請求時,由于某些條件不滿足要求而給出的否定響應碼。給出這些否定響應碼而不是給出0x22的目的是為了提供請求的服務不能被執行的更詳細的原因。
當ECU反饋為否應響應時格式為,NR_SI(否定響應服務碼0x7F) + SID(否定的請求服務SID)+ NRC(否定響應碼,表示否定的理由)。
這里列舉了常用的診斷服務所支持的否定響應碼。如下表:
否定響應碼定義及其取值
下表中列出了ISO14229-1:2013(E)中定義的否定響應碼及其使用條件。
審核編輯:湯梓紅
-
控制器
+關注
關注
114文章
16960瀏覽量
182884 -
以太網
+關注
關注
40文章
5582瀏覽量
174772 -
CAN
+關注
關注
57文章
2885瀏覽量
466721 -
總線
+關注
關注
10文章
2947瀏覽量
89339 -
ecu
+關注
關注
14文章
914瀏覽量
55439
原文標題:UDS診斷服務響應規則介紹
文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
UDS在CAN和以太網上的實現方案

TSMaster 的 CAN UDS 診斷操作指南(上)

TSMaster 的 CAN UDS 診斷操作指南(下)

Aurix TC364D是否可以通過某些UDS服務停用HSM?
UDS診斷命令備忘錄
基于MM32F0140系列MCU實現UDS Bootloader的設計
UDS診斷協議在純電動汽車電機控制器中的應用說明
淺析UDS中的肯定響應抑制SPRMIB

汽車UDS協議棧與XCP協議棧

評論