天天看點

CAN總線多幀即連續幀資料發送 拆包與重裝

1939協定支援多幀資料發送即資料超過8個的幀發送

使用者可以通過ID來識别目前幀是否為多幀發送(連續幀),如果是多幀發送ID,舉例:1C EC F4 56 其中 F4和56為目标位址和源位址,重點關注1C和EC,通過ID的這兩個位元組來判斷是否為連續幀。

當通過ID判斷該幀為連續幀後,開始解析這一幀的資料。舉例:10 0D 00 02 FF 00 06 00,其中10為控制字,0D 00為整個消息的位元組數 低位在前,02為資料包個數,即這個連續幀資料包含2個标準幀組成,FF 保留 預設即為FF,00 06 00 消息的參數組編号 即 這個消息識别碼 使用者可以通過這個消息識别碼來确定如何來解析這組資料。那麼,這幀資料最後表示含義即為:我要向你發送一個 消息參數組編号為(00 06 00),總位元組數為(0D),幀數為(02)的一個連續幀。

控制字的含義:

10:向目标位址請求發送資料;

11:用于響應源位址的發送請求,即告訴源位址 你可以給我發資料了;

13:消息結束,即目标位址已經從源位址将資料收過來了;

FF:放棄連接配接。

控制字不同 後邊的 資料含義也不同:

11:以前邊的發送資料舉例 11 02 01 FF FF 00 06 00,02  可以發送的資料包數 即 告訴源位址我可以接收2幀資料,01  下一個要發送的資料包編号,兩個FF為 保留位元組,00 06 00 消息的參數組編号。整個幀的意思即  我可以接收消息參資料組編号(00 06 00)的(02)幀資料,你從(01)開始發送資料吧

13:還是以前邊的發送資料舉例 13 0D 00 02 FF 00 06 00,0D 00 接收到的整個消息的位元組數,02 接收到的全部資料包數,FF 保留,00 06 00消息的參數組編号。整個幀的意思即 我收到了消息參數組編号(00 06 00)的(02)個标準幀資料,共計(0D)個位元組。

CAN總線多幀即連續幀資料發送 拆包與重裝
CAN總線多幀即連續幀資料發送 拆包與重裝
CAN總線多幀即連續幀資料發送 拆包與重裝
CAN總線多幀即連續幀資料發送 拆包與重裝
CAN總線多幀即連續幀資料發送 拆包與重裝

繼續閱讀