曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

DBC文件結構深度解析

汽車ECU開發(fā) ? 來源:csdn ? 2024-04-30 12:50 ? 次閱讀
1. DBC文件的構成

Bit_timing 波特率定義,必須部分,但通常為空nodes 定義網(wǎng)絡節(jié)點messages 定義消息和信號

2. 關鍵字

VERSION 版本

VERSION:

NS_ 為new symbol的縮寫,后面緊跟著一堆ns,一般是創(chuàng)建dbc時自動生成,不用太關心

NS_:

BS_ 定義CAN網(wǎng)絡的波特率

BS_: [baudrate:BTR1,BTR2]

BU_ 網(wǎng)絡節(jié)點

BU_: Nodename1 Nodename2 Nodename3 ……

BO_ 報文

BO_: message_id message_name : message_size transmitter {signal}

SG_ 信號

SG_: signal_name multiplexer_indicator : start_bit | signal_size @ byte_order value_type ( factor , offset ) [ minimum | maximum ] unit receiver {, receiver}

CM_ 對報文/信號的注解

CM_: Object MessageId/NodeName “Comment”

BA_DEF_ 對報文/信號/節(jié)點等的屬性定義

BA_DEF: _ Object AttributeName ValueType Min Max;

BA_DEF_ DEF_ 對報文/信號/節(jié)點等的屬性初始值定義

BA_DEF_DEF_: AttributeName DefaultValue;

BA_ 對報文/信號/節(jié)點等的屬性設置值定義

BA_: AttributeName projectValue

VAL_ 數(shù)值表定義

VAL_: MessageId SignalName N “DefineN” …… 0 “Define0”

VAL_TABLE_ 全局信號值表,用來對信號值解碼

VAL_TABLE_: name value “value_description” …0 “value_description”

EV_ 環(huán)境變量

EV_:

3.本文出現(xiàn)的符號

‘ | ’ ——可選擇

‘ ; ’——結束定義

[。..]——內(nèi)容可選(0或1次)

{。..}——內(nèi)容重復(0或多次)

(。..)——注釋

unsigned_integer:無符號整型

signed_integer:有符號整型

double:雙精度小數(shù)

char_string:字符串

C_identifier:C語言變量命名

4. 波特率的結構(BS_)

BS_: [baudrate:BTR1,BTR2];

其中BS_為關鍵字,用于定義CAN網(wǎng)絡的波特率;[ ]內(nèi)容表示為可選部分,可以省略(如下圖例子中即把該部分省略了);但關鍵字”BS_:”必須存在,省略則會出錯?!禗BC File Format Document》規(guī)范中明確提醒,必須保留BS_: 標簽。

5. 網(wǎng)絡節(jié)點的結構(BU_)

BU_: Nodename1 Nodename2 Nodename3 ……

BU_: GW ESC SAS ACU FRS FVCM

解釋:

BU_ 為關鍵字,表示網(wǎng)絡節(jié)點

Nodename1、Nodename2 網(wǎng)絡節(jié)點名字,由用戶自己定義;

注意事項:需要保證節(jié)點命名的唯一性

如示例中的BU_: VCU_Vehicle_Control_Unit MotorCtrol SCU PC Vector__XXX :

表示定義了:

VCU_Vehicle_Control_Unit

MotorCtrol

SCU

PC

Vector__XXX這五個網(wǎng)絡節(jié)點

其中:標識為Vector__XXX時表示未指明具體節(jié)點

6. 消息的結構(BO_)

BO_ message_id message_name : message_size transmitter {signal}

BO_ 306YRS2: 8 FVCM

解釋:

BO_ 為關鍵字,表示報文;

MessageId 報文ID,是以10進制數(shù)表示的;

(如例子中的996,代表報文ID為0x3E4,是longlong類型,也就是CAN ID的值;)

MessageName 報文的名字,命名規(guī)則和C語言變量相同;

MessageSize 報文數(shù)據(jù)域字節(jié)數(shù),為無符號整型數(shù)據(jù),CAN 2.0為最大8字節(jié),CAN FD 最大64字節(jié);

Transmitter 該報文的網(wǎng)絡節(jié)點;如果該報文沒有指定發(fā)送節(jié)點,則該值需設置為” Vector__XXX”。

如示例中的BO_ 201959408 MSG1: 8 VCU_Vehicle_Control_Unit

報文ID:201959408(0xC09A7F0)

報文名:MSG1

分隔符 : “:”

報文長度:8字節(jié)

報文發(fā)送者:VCU_Vehicle_Control_Unit

(由VCU_Vehicle_Control_Unit這個節(jié)點發(fā)出的,數(shù)據(jù)域長度為8字節(jié),ID為201959408(0xC09A7F0),名字命名為MSG1的報文)

7. 信號的結構(SG_)

SG_ signal_namemultiplexer_indicator : start_bit | signal_size @ byte_order value_type ( factor , offset ) [ minimum | maximum ] unit receiver {, receiver}

SG_ YRS2_Checksum : 7|8@0+ (1,0) [0|255] “bit” FRS

SG_ YRS_LongitSensorState : 15|2@0+ (1,0) [0|3] “bit” FRS

SG_ YRS_LongitAcce : 23|16@0+ (0.001,-2) [-2|2] “g” FRS

SG_ YRS_AliveCounter : 59|4@0+ (1,0) [0|15] “bit” FRS

解釋:

SG_ 為關鍵字,表示信號;

SignalName(SigTypeDefinition) : 表示該信號的名字 和 多路選擇信號的定義;

SigTypeDefinition是可選項,有3種格式:

a)空,表示普通信號。

b)M,表示多路選擇器信號。

c)m50,表示被多路選擇器選擇的信號,50,表示當M定義的信號的值等于50的時候,該報文使用此通路。

StartBit、 SignalSize 表示該信號起始位、信號長度;

ByteOrder 表示信號的字節(jié)順序:0代表Motorola格式,1代表Inter格式;

ValueType 表示該信號的數(shù)值類型:+表示無符號數(shù),-表示有符號數(shù);

Factor,Offset 表示因子,偏移量;這兩個值用于信號的原始值與物理值之間的轉換。

轉換如下:物理值=原始值*因子+偏移量;

Min|Max 表示該信號的最小值和最大值,即指定了該信號值的范圍;這兩個值為double類型;

Unit 表示該信號的物理單位,為字符串類型;

Receiver 表示該信號的接收節(jié)點;若該信號沒有指定的接收節(jié)點,則必須設置為” Vector__XXX”。

如示下面的例中:

第一個信號 :

SG_ S_Check : 45|10@0+ (0.00625,0) [0|160] “M” EL3160_60,ESC

表示定義了一個命名為 S_Check的普通信號,其起始位是第45位,信號長度10 bit;

信號是Motorola格式,數(shù)值類型為無符號類型數(shù);因子為0.00625,偏移量為0;信號取值范圍為0到160;

信號物理單位為字符串”M”;該信號接收節(jié)點為EL3160_60,ESC這兩個節(jié)點。

、

第二個信號:

SG_ Send_Mux M : 7|8@0+ (1,0) [0|0] “” EL3160_60,ESC

表示定義了一個命名為 Send_Mux的多路選擇器信號,其起始位是第7位,信號長度8 bit;

信號是Motorola格式,數(shù)值類型為無符號類型數(shù);因子為1,偏移量為0;信號取值范圍為0到0;

信號物理單位為字符串””;該信號接收節(jié)點為EL3160_60,ESC這兩個節(jié)點。

該信號做選擇通道使用。

第三個信號:

SG_ S_Level_A_Voltage m50 : 15|16@0+ (0.00625,0) [0|160] “V” EL3160_60,ESC

表示定義了一個命名為S_Level_A_Voltage的被選擇信號,其起始位是第15位,信號長度16 bit;

信號是Motorola格式,數(shù)值類型為無符號類型數(shù);因子為0.00625,偏移量為0;信號取值范圍為0到160;

信號物理單位為字符串”V”;該信號接收節(jié)點為EL3160_60,ESC這兩個節(jié)點。

其中byte_order分為motorola和intel兩種格式,motorola對應0,intel對應1。這兩種格式是區(qū)別如下:

如果在同一個字節(jié)內(nèi),則沒有區(qū)別,如果跨越多個字節(jié)則有區(qū)別,motorola格式是高位(msb)在低字節(jié)(說明:CAN消息的字節(jié)排列Byte0 Byte1 … Byte7,Byte0是低字節(jié)),intel格式是高位(msb)在高字節(jié)。

Intel格式

第一字節(jié)的bit0對應的是lsb(第一行的紅色箭頭),第二字節(jié)的bit14對應的是msb(第二行的紅色箭頭)。起始bit是lsb對應的bit0。

Motorola格式

第二字節(jié)的bit9對應的是lsb(第二行的紅色箭頭),第一字節(jié)的bit7對應的是msb(第一行的紅色箭頭)。起始bit是lsb對應的bit9。當然也可以修改起始位置,例如將起始位置改為bit8,如下圖:

55~58行定義的是信號的選項值,其結構如下:‘VAL_’ message_id signal_name { value_description } ‘;’

注意,行結尾有一個分號。其中value_description的定義如下:value_description = double char_string ;

以上是需要解析的部分,注意字符部分都限制在32字節(jié)內(nèi),不太方便。

8. 注解的結構(CM_)

CM_ Object MessageId/NodeName “Comment”

解釋:

CM_ 為關鍵字,表示注解信息;

Object 表示進行注解的對象類型,可以是節(jié)點“BU_”、報文“BO_”、消息”SG_”;

MessageId/NodeName 表示進行注解的對象,若前面的對象類型是信號或者報文,則這里的值應為報文的ID(10進制數(shù)表示);若前面的對象類型為節(jié)點,則這里的值應為節(jié)點的名字;

Comment 表示進行注解的文本信息;

如示例中的 CM_ SG_ 996 HUD_HeightLv “Control hud height level”;

表示對ID為996(0x3E4)這條報文下的名為”HUD_HeightLv ”的信號進行注解說明,說明的內(nèi)容為“Control hud height level”。

又如 CM_ BU_ HUD “Head Up Display“;表示對HUD這個節(jié)點進行注解說明,說明的內(nèi)容為” Head Up Display “。

注釋以 “” 包圍,注釋內(nèi)部不允許出現(xiàn)“號。

9. 特征(屬性)的結構(BA_DEF_ BA_DEF_DEF_ BA_)

和特征相關的Tag一共有三條:

9.1 報文/信號/節(jié)點等的屬性定義(BA_DEF_)

特征名稱類型定義。格式如下:

BA_DEF_ ObjectAttributeNameValueTypeMin Max;

解釋:

BA_DEF 標簽

Object 特征類型,可以是BU_(節(jié)點特征定義)、BO_(報文特征定義)、SG_(信號特征定義)、空格(項目特征定義);

AttributeName 特征名稱(C語言變量格式)

ValueType 特征值類型(只能是十進制、十六進制、浮點數(shù)、枚舉、字符5種類型)

Min Max 數(shù)值類型這里出現(xiàn)范圍,枚舉類型這里是枚舉值,字符類型,這里是空。

9.2 報文/信號/節(jié)點等的屬性初始值定義(BA_DEF_DEF_) 特征默認值定義。格式如下:

BA_DEF_DEF_ AttributeNameDefaultValue;

解釋:

BA_DEF_DEF_ 標簽

AttributeName 特征名稱(C語言變量格式)

DefaultValue 該特征的默認設置值

9.3 報文/信號/節(jié)點等的屬性設置值定義(BA_)特征項目設置值定義,格式如下:

BA_ AttributeName projectValue;

解釋:

BA_ 標簽

AttributeName 特征名稱(C語言變量格式)

projectValue 該特征的設置值

舉例:

BA_DEF_ BO_ “GenMsgCycleTime” INT 0 65535;

BA_DEF_DEF_ “GenMsgCycleTime” 2200;

BA_ “GenMsgCycleTime” BO_ 400 100;

表示對定義了一個針對消息類型的特征,特征名為”GenMsgCycleTime”,特征值是整型數(shù)據(jù),取值范圍在0到65535之間;

默認值為2200;

項目設置值 CAN ID ==400的消息的該特征值設置為100

在DBCView4.3里面是把BA_DEF_ 和 BA_DEF_DEF_合并在一起了,用了特征視圖來管理,如下圖。

然后把 特征項目設置值定義 BA_ AttributeName projectValue; 和元素合并在一起了。

10. 數(shù)值表的結構(VAL_)格式如下:

VAL_ MessageId SignalName N “DefineN” …… 0 “Define0”;

解釋:

VAL_ 為關鍵字,表示數(shù)值表定義;

MessageId 表示該信號所屬的報文ID(10進制數(shù)表示);

SignalName 表示信號名;

N “DefineN” …… 0 “Define0” 表示定義的數(shù)值表內(nèi)容,即該信號的有效值分別用什么符號表示 。

如示例中的 VAL_ 996 HUD_OffSt 1 “Active” 0 “Not Active”;

表示對ID為996(0x3E4)的這條報文下的,一個命名為”HUD_OffSt”的信號,進行其數(shù)值表的定義;

用”Active”取代1;用”Not Active”取代0。只有自然數(shù)類型的信號才可以使用數(shù)值表表示。

信號的值的表示方法有兩種:

1) 物理值=原始值*因子+偏移量;(常規(guī)表示,前面有提到)

2) 數(shù)字表,用來表示邏輯值;

11. 全局信號值表(用來對信號值解碼)的結構(VAL_TABLE_) 格式如下:

VAL_TABLE_ value_table_namevalue_table_value “value_description” … 0 “value_description”;

描述:

a)一個value table中以“空格”分隔;

b)value_table_name表示value table的名稱, 命名必須滿足“符號字符串”要求;

c) value_table_value表示value table的值,十進制表示;

d) value_description表示value table的值描述;

e)當一個value table存在多個值描述時,以(value_table_value “value_description”)的形式接著追加,value table內(nèi)的兩個值描述以“空格”分隔;

f)完成一個value table定義,需以“分號;”結尾;

g)多個value table需要換行。

VAL_TABLE_ ESC_QDCFRS 1 ”ERROR“ 0 ”NO_ERROR“ ;

VAL_TABLE_ ESC_BrakeTempTooHigh 1 ”ABNORMAL“ 0 ”NORMAL“ ;

VAL_TABLE_ ESC_DTC_Active 1 ”ACTIVE“ 0 ”INACTIVE“ ;

VAL_TABLE_ ESC_Vehiclestandstill 3 ”RESERVED“ 2 ”INVALID“ 1 ”STANDSTILL“ 0 ”NOT_STANDSTILL“ ;

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • DBC
    DBC
    +關注

    關注

    2

    文章

    57

    瀏覽量

    7966

原文標題:DBC的結構詳細分析

文章出處:【微信號:eng2mot,微信公眾號:汽車ECU開發(fā)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    關于CANdb++ Editor編寫DBC文件時Factor的設置問題求解

    求助CANdb++ Editor編寫DBC文件時 Factor設置的問題: 編輯DBC文件時,當我設置Signal的Factor時,如果設置了0.0001,
    發(fā)表于 04-12 07:03

    labview CAN DBC加載解析程序

    labview CAN DBC加載解析程序
    發(fā)表于 08-18 11:42

    ZCAN PRO解析DBC Singal 起始位與XNET解析的起始位不同;解析的信號不符合大端邏輯

    上圖中的DBC文件使用記事本打開,Data_Field信號,起始位為23,長度為48,大端方式存儲;(按照這個方式存儲,明顯已經(jīng)溢出) 上圖為該信號在ZCANPRO軟件中打開,解析的起始位為23
    發(fā)表于 10-18 13:53

    labview怎么解析dbc文件

    我用的是研華的can卡,用labview解析dbc文件
    發(fā)表于 05-12 10:07

    AUTOSAR架構深度解析 精選資料推薦

    AUTOSAR架構深度解析本文轉載于:AUTOSAR架構深度解析目錄AUTOSAR架構深度解析A
    發(fā)表于 07-28 07:40

    labview加載DBC文件錯誤

    本帖最后由 溜溜球18 于 2021-12-16 16:05 編輯 labview解析DBC,調(diào)用的周立功ZDBC.DLL,加載DBC格式文件總是失敗,是什么原因
    發(fā)表于 12-09 17:23

    CAN報文解析需要知道DBC的哪些信息排序方式

    CAN總線中報文數(shù)據(jù)讀取方法motorola編碼格式的CAN報文解析需要知道DBC的哪些信息排序方式讀取方式發(fā)送方式注motorola編碼格式的CAN報文解析知道CAN報文的DBC,即
    發(fā)表于 01-12 07:28

    Android系統(tǒng)文件結構解析

    Android系統(tǒng)文件結構解析
    發(fā)表于 03-19 11:23 ?0次下載

    配置DBC變量文件資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是配置DBC變量文件資料免費下載
    發(fā)表于 07-03 08:00 ?18次下載
    配置<b class='flag-5'>DBC</b>變量<b class='flag-5'>文件</b>資料免費下載

    使用candb++制作dbc文件筆記

    今天又來分享一篇工具使用的文章,candb++的工具,也是Vector的,用來制作、編輯或者是查看dbc文件,今天主要來分享dbc文件的創(chuàng)建。
    的頭像 發(fā)表于 12-26 14:04 ?5121次閱讀

    【產(chǎn)品應用】如何通過IoT云平臺對CAN數(shù)據(jù)進行實時DBC解析?

    DBC文件是用來描述CAN總線通訊信息數(shù)據(jù)的一種文件,其中包含了CAN總線中協(xié)議數(shù)據(jù)及其所代表的具體意義。在汽車路試中,對于車輛錯誤故障信息,需對CAN報文數(shù)據(jù)進行實時DBC
    的頭像 發(fā)表于 03-20 23:10 ?743次閱讀

    labview讀取解析CAN DBC文件

    labview讀取解析can總線dbc文件
    發(fā)表于 07-03 09:18 ?117次下載

    CAN DBC文件解析

    CAN DBC 指的是CAN 報文的數(shù)據(jù)庫。簡單地說,通過CAN 總線通信的數(shù)據(jù)類型可以用DBC 文件來讀取和理解。DBC 是一種基于ASCII 的翻譯,是在20世紀90年代發(fā)展起來的
    的頭像 發(fā)表于 08-14 11:35 ?4159次閱讀
    CAN <b class='flag-5'>DBC</b><b class='flag-5'>文件</b><b class='flag-5'>解析</b>

    用Labview開發(fā)的DBC文件轉Excel表格文件的VI

    使用Labview軟件開發(fā)的DBC文件轉Excel表格文件的VI
    發(fā)表于 10-25 18:23 ?43次下載

    TSMaster如何同時記錄標定變量和DBC信號至BLF文件

    客戶在使用TSMaster軟件標定功能時,有如下使用場景:將DBC文件中的信號與A2L文件中的標定變量同時記錄在一個記錄文件。針對此應用場景,TSMaster軟件提供了一種方法來滿足此
    的頭像 發(fā)表于 03-25 08:20 ?1113次閱讀
    TSMaster如何同時記錄標定變量和<b class='flag-5'>DBC</b>信號至BLF<b class='flag-5'>文件</b>