新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > SAE J1939協(xié)議(五)

SAE J1939協(xié)議(五)

作者: 時間:2016-12-12 來源:網絡 收藏
>>>>

多包報文

本文引用地址:http://2s4d.com/article/201612/328876.htm
  • 采用多包報文,在連接管理報文的協(xié)調下進行多幀傳輸。

  • 長度大于8字節(jié)的報文無法用單個CAN數據幀來裝載。因此,它們必須被拆分為若干個小的數據包,然后使用單個的數據幀對其逐一傳送。而接收方必須能夠接收這些單個的數據幀,然后解析各個數據包并重組成原始的信息。

  • CAN數據幀包含一個8字節(jié)的數據域。由于組成長信息的單個數據包必須能被識別出來以便正確重組,因此把數據域的首字節(jié)定義為數據包的序列編號。每個數據包都會被分配到一個從1到255的序列編號。由此可知,多幀傳輸最大的數據長度是(255包×7字節(jié)/包=)1785個字節(jié)。

>>>>

序列編號

  • 序列編號是在數據拆裝時分配給每個數據包,然后通過網絡傳送給接收方。接收方接收后,利用這些編號把數據包重組成原始信息。

  • 序列編號從1開始,依次分配給每個數據包,直到整個數據都被拆裝和傳送完畢。這些數據包從編號為1的數據包開始按編號的遞增順序發(fā)送。

  • 第一個數據傳送包包含序列編號1和字符串的頭7個字節(jié),其后的7個字節(jié)跟隨序列編號2存放在另一個CAN數據幀中,再隨后的7個字節(jié)與編號3一起,直到原始信息中所有的字節(jié)都被存放到CAN數據幀中并被傳送。

>>>>

數據包

  • 傳送的每個數據包(除了傳送隊列中的最后一個數據包)都裝載著原始數據中的7個字節(jié)。而最后一個數據包的數據域的8個字節(jié)包含:數據包的序列編號和參數組至少一個字節(jié)的數據,余下未使用的字節(jié)全部設置為“FF 16”。

  • 多包廣播報文的數據包發(fā)送間隔時間為50到200毫秒。對于發(fā)送到某個指定目標地址的多包消息,發(fā)送者將保持數據包(在CTS允許多于一個數據包時)發(fā)送間隔的最長時間不多于200毫秒。響應者必須知道這些數據包都具有相同的標識符。

  • 數據包被順序接收。按照序列編號的順序把多包消息的數據包重新組合成一多字節(jié)字符串。這個字符串被作為長信息的應答傳送給應用程序模塊。

>>>>

實例

下圖是多幀傳輸機制的實例:



關鍵詞: SAEJ1939協(xié)

評論


技術專區(qū)

關閉