J1939 多包報文傳輸

2021-09-24 11:42:30 字數 457 閱讀 9039

以j1939 rc(retarder configration)報文為例,19個位元組,需要分3條報文傳送。

1、將要傳送多包報文之前先會廣播一條id為0x18ecff**形式的一條報文tpcm(以目前理解最後**為源位址,rc報文的話為0f),資料場會提示接下來將會傳送多少條報文,包含什麼資訊(rc)。

2、隨後以一條id為0x18eb00**形式tpdt傳送3條報文,傳輸資料多於8位元組的報文資訊(rc報文為19個位元組),8個位元組資料場第1個位元組為序號,即第幾條報文,rc有3條,會有三條資料場第一位元組分別為為01 ,02 ,03 的三條報文,傳輸完rc報文的19個位元組的資訊。

3、當要傳輸的資料長度超過8個位元組的時候,首先使用tpcm進行廣播,廣播內容包含即將傳輸報文的pgn、總的資料報長度等資訊,然後使用tp.dt進行資料傳輸(tpdt中不含有pgn資訊,只含有報文包序和具體的7位元組資料),相臨兩個tpdt之間的時間間隔是50ms到200ms。

zynq CAN中斷傳送J1939資料

1 手冊 認真翻譯上邊的一段話 示例 使用中斷的方式來想txfifo中寫入資料 在中斷模式中,寫操作可以持續直到can.isr txfll 產生乙個中斷。資料能夠持續寫入txfifo直到txfifo被寫滿。當txfifo寫滿的時候,can.isr txfll 和 can.sr txfll 被設定成1...

CAN匯流排 J1939 速成指南 1

這是乙個can擴充套件幀的完整結構圖,針對剛入門的小夥伴來說。不需要每乙個元素都理解,思想的套路是讓大家先能看懂報文。至於其他的元素就在實際的工作中進行擴充套件學習。擴充套件幀頭部有32位的仲裁字段,仲裁欄位中對於我們最有用的就是11位的識別符號和18位的拓展識別符號 這29位的資料就組成了我們通常...

452 J1939廣播多幀報文的例程分析

全部學習彙總 借助乙個簡單的例子來看一下j1939廣播多幀報文的傳送實現。為什麼不叫多幀報文而叫廣播多幀報文呢?因為在j1939中存在兩種多幀報文的傳送模式,乙個是廣播另外乙個是點對點的。而兩個流程是不同的。上面的這個流程圖就是j1939的廣播多幀報文的實現,這個是我從vector的乙份檔案中擷取出...