DBC和J1939理解(也許不正確,探索階段)

2021-09-24 23:23:25 字數 1118 閱讀 5264

version "hinbnnnyynnnyynnnnnnnnnnnnynnnyyynnynnnnnn/4//%%/4/'%**4nnn///"

ns_ : 

ns_desc_

cm_ba_def_

ba_val_

cat_def_

cat_

filter

ba_def_def_

ev_data_

envvar_data_

sgtype_

sgtype_val_

ba_def_sgtype_

ba_sgtype_

sig_type_ref_

val_table_

sig_group_

sig_valtype_

sigtype_valtype_

bs_:

bu_: nmtmaster

bo_ 1919 hbguard_127: 1 vector__***

sg_ toggle : 7|1@1+ (1,0) [0|0] "" vector__***

sg_ state : 0|7@1+ (1,0) [0|0] "" vector__***

bo_ 1918 hbguard_126: 1 vector__***

sg_ toggle : 7|1@1+ (1,0) [0|0] "" vector__***

sg_ state : 0|7@1+ (1,0) [0|0] "" vector__***

解釋:1、version 使用者自定義,也可以為空

2、ns_,new symbol 該資訊在我們建立dbc檔案時就已經自動生成。這一部分的資訊一般預設即可

3、bs_,波特率

4、bu_,網路節點

5、bo_,報文幀關鍵字,表示報文幀 ,sg_訊號關鍵字

j1939是在dbc之上的協議,主要作用是can id 規劃

zynq CAN中斷傳送J1939資料

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

J1939 多包報文傳輸

以j1939 rc retarder configration 報文為例,19個位元組,需要分3條報文傳送。1 將要傳送多包報文之前先會廣播一條id為0x18ecff 形式的一條報文tpcm 以目前理解最後 為源位址,rc報文的話為0f 資料場會提示接下來將會傳送多少條報文,包含什麼資訊 rc 2 ...

CAN匯流排 J1939 速成指南 1

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