AUTOSAR协议解析篇(一)-J1939协议解析
SAE J1939協議是基于CAN2.0B協議之上的應用層協議,但是SAE J1939協議并不僅僅是個應用層協議,她對物理層,數據鏈路層,網絡層,應用層,故障診斷, 網絡層管理層等都做了詳細的規定,只不過這其中很多規定都跟CAN2.0B一致。我們這里只介紹J1939的應用層,對軟件開發來說已經足夠。對熟悉CAN2.0B協議的小伙伴來說,其實只要掌握下面幾個關鍵點,J1939就瞬間不再神秘。
J1939協議是基于CAN2.0B的應用層協議,所有J1939報文都是使用29位標志符。
CAN報文中我們有11位標志符的標準幀也有29位標志符的擴展幀,在J1939協議中,我們所有報文都是29位標志符, 數據域則跟CAN報文的數據沒有區別。
CAN報文是基于ID的,而J1939協議是基于PGN的。
這一點幾乎就是J1939協議的全部內容。CAN2.0B使用29位的標志符來區分不同的報文,J1939對這29標志符進行了重新的分類和解釋。打個不是很恰當的比方, 以前CAN2.0B協議根據人的體重來區分不同的人,只要一樣重(ID)就認為是相同的人群,體重越瘦的就越是受CAN2.0B協議喜歡(優先級越高),現在J1939也是測量體重, 只不過是把人的腦袋,軀干,雙手,雙腿分別測量,然后對這幾個重量進行某種運算(比如腦袋重量的平方,軀干重量與雙手重量乘積,以及雙腿重量這三個數字之和), 只要運算的結果(PGN)一致,就認為這些人是一個人群。
也就是說,J1939對CAN2.0B中的29位標志進行了重新解釋,我們使用下面這張圖來說明一下:
總結
以上是生活随笔為你收集整理的AUTOSAR协议解析篇(一)-J1939协议解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AUTOSAR专业知识篇(八)-大众ID
- 下一篇: AUTOSAR专业知识篇(八)-ID.3