uds診斷服務通常是通過can匯流排實現。對於can診斷幀有兩種不同的分類方式,按照定址方式可以分為物理定址、功能定址,按照幀類別可以分為單幀、首幀、流控幀、連續幀。
定址方式
在匯流排上往往連著眾多ecu裝置(如圖1所示),作為診斷裝置既可以單獨與某一ecu進行通訊,也可以同時與所有匯流排上的ecu裝置通訊。
1. 物理定址
物理定址是指匯流排上始終只有乙個ecu響應診斷裝置發出的診斷命令,實現點對點通訊,例如圖1中匯流排上僅ecu a響應診斷裝置的診斷命令。
2. 功能定址
功能定址是指匯流排上的所有ecu對可以同時響應診斷裝置發出的診斷命令,實現一對多的通訊方式,例如圖1中ecu a、ecu b、ecu c 、ecu d可以同時響應診斷裝置的診斷命令。
幀類別對於幀的型別,通過需要傳送的資料長度來確定。在正常定址模式下,當資料長度小於等於7byte,則用單幀的形式傳送,當資料長度大於7byte,資料需要分多幀才能傳送完成,則需要使用到首幀、流控幀、連續幀,不同幀的機制如圖2所示。
首幀是指傳送的第一幀,目的是把前7byte資料傳送給接收方,並告知接收方資料沒有發完,然後接收方會回一幀流控幀,告知傳送方是否可以接著傳送,並且告知接收方一次最多能接收的資料量,以及傳送方接下來傳送的資料幀(連續幀)之間的時間間隔要求。
對於不同的幀,通過can訊息的資料場中pci(protocol control information)來區分,圖3、圖4詳細說明了不同幀的pci的定義。
以下是對pci段的詳細解釋。
其中:dl:有效資料的長度,不包括pcibyte;
fs:表示是傳送方否可以繼續傳輸訊息,0表示可以繼續傳送,1表示等待傳送,2表示資料溢位,一次傳送的資料大於接收方所能接收的量;
bs:接收方一次能接收的資料最大量;
stmin:表示兩個連續幀之間的最小時間間隔,參照圖1中的定義;
sn:連續幀的序列號;
uds幀格式 UDS診斷服務響應規則
如果我們說uds診斷服務是實現人或裝置與ecu控制器交流的一種語言,那麼診斷服務的響應規則就如同是語法,而sid service id 定義就如同詞彙。因此了解響應規則和sid的意義就基本能了解與ecu溝通的方法和含義。本文先來介紹一下響應規則。1.定址方式 在匯流排上往往有著眾多ecu裝置,作為診...
UDS請求和響應的資料幀格式
其實診斷通訊的機制很簡單,可以模擬client server通訊方式,即客戶端傳送request,伺服器收到request之後進行處理,然後向客戶端傳送response。但是,診斷協議有自己的特色,它規定了在request和response的格式,在收到request的時候要做格式的檢查。同時由於定...
UDS診斷入門學習資料
uds診斷入門學習資料學習資料 1.統一診斷服務 unified diagnostic services uds 一 2.統一診斷服務 unified diagnostic services uds 二 3.統一診斷服務 unified diagnostic services uds 三 4.統一診...