UDS學習筆記(三)——協議的理解

在理解了CAN總線之後,我們就需要學習UDS協議了。百度一下UDS協議,出現很多的兩個標準是ISO14229,ISO15765。ISO14229就是我們說的UDS診斷協議了,那還有一個ISO15765又是什麼呢?這麼多的標準要把腦袋都搞大了。那我們就從實際的數據包進行分析吧,讓我們知道這兩個協議的對數據包的影響,那我們就很容易的理解這兩個標準了。

首先我們要知道無論是UDS協議還是ISO15765,這兩個都只對幀中的數據域進行定義,相對於對CAN總線的進一步封裝。以下就是CAN總線中的數據域

請求    02 10 02 xx xx xx xx xx

肯定響應    02 50 02 xx xx xx xx xx

否定響應    03 7F 10 22 xx xx xx xx

第一眼看上去,這些字符串很迷茫,不過很容易能夠看出每幀都包含了八字節數據,同時第一個字節表示的是餘下的七個字節中的有效數據。而這個表示方法是通過ISO15765封裝的,而後面的10通過UDS查閱可以知道是診斷會話控制,02則是編程子服務。因此當診斷機想要對控制器進行切換診斷狀態爲編程模式時,應該發送1002數據,然後通過ISO15765封裝成“021002”,最後就發送到CAN總線上。看完這個是不是就很好理解了呢?參考文章

在看完這個的時候,你的腦海裏面就應該產生一個框架了,數據是怎麼產生的?當應用想要讓控制器切換狀態時,然後一層層的封裝數據。接下來的介紹就是從網絡層應用層再到應用

那麼接下來就介紹ISO15765了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章