DBC文件—详解1

本文详细解释了DBC文件中的各个部分,包括版本信息、节点定义、广播消息BO和信号SG的结构,以及属性定义BA和值域信息VAL的使用,以CAN总线为例,展示了Vector厂家的消息和信号特性和控制逻辑。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VERSION ""

NS_ :

NS_DESC_

CM_

BA_DEF_

BA_

VAL_

CAT_DEF_

CAT_

FILTER

BS_:

BU_: ICM PEPS BCM

VAL_TABLE_ Vtsig_TrunkSts 1 "Open" 0 "Closed" ;

BO_ 1911 _0x777: 2 PEPS

 SG_ _0x777_Sig2 : 15|8@0+ (1,0) [0|0] ""  BCM

 SG_ _0x777_Sig1 : 7|5@0+ (1,0) [0|0] ""  ICM,BCM

//BO_定义了一个数据帧,每个数据帧都具有唯一的ID,其中ID为666,消息载体的大小为8字节,属于bcm

BO_ 1638 _0x666: 8 BCM

 SG_ _0x666_Sig2 : 4|4@0+ (1,0) [0|0] ""  PEPS

 SG_ _0x666_Sig1 : 7|3@0+ (1,0) [0|0] ""  ICM,PEPS

SG_定义了信号,其中定义名称为angle,占位长度为16位(从位0开始),值的范围是[0|3599.9],采用0.1的精度表示角度的变化,并以“degree”作为角度值的单位。

SG_ angle : 0|16@1- (0.1,-200) [0|3599.9] "degree" BU_ hmi_module

                                         @1发送周期1s

BA_DEF_ BO_  "GenMsgSendType" ENUM  "Cylic","Event";

BA_DEF_ BO_  "GenMsgClycleTime" INT 0 65535;

BA_DEF_  "BusType" STRING ;

BA_DEF_DEF_  "GenMsgSendType" "Cylic";

BA_DEF_DEF_  "GenMsgClycleTime" 0;

BA_DEF_DEF_  "BusType" "CAN";

BA_ "GenMsgClycleTime" BO_ 1911 100;

BA_ "GenMsgSendType" BO_ 1638 1;

VAL_ 1911 _0x777_Sig2 1 "Open" 0 "Closed" ;

VAL_ 1911 _0x777_Sig1 1 "Open" 0 "Closed" ;

NS_ :命名空间(Namespace)

Version:定义DBC文件的版本信息。

Nodes:定义总线网络中涉及到的所有节点及其ID等信息。

BU 总线上节点

BO_ (Broadcast Message Definition):定义广播信息。例如,车辆速度消息、方向盘角度、时间戳、GPS位置等等。

SG_ (Signal Definition):定义具体的信号信息。例如,车辆速度、转向灯、加速踏板位置等等。

CM_ (Comments):用于添加备注和注释,方便用户理解文件内容。

BA_DEF_ (Attribute Definition):定义属性,例如单位、发送周期、数据类型等等。

BA_ (Attribute Value):给信号添加属性信息。

Val_ (Value Table):给信号添加值域描述,例如用数字1-4代表车辆状态等。

  • BO_ 1000 TEST_MSG: 8 [0|255] Vector
  • 1
    • 这个消息的ID为1000(0x3E8);
    • 名称为TEST_MSG;
    • 消息载体的大小为8字节;
    • 值域在0到255之间这个消息属于“Vector”厂家。

SG_ Car_Speed : 8|8@1+ (0.01,0) [0|4700] "Km/h" Vector

  • 这个信号的名称为Car_Speed;
  • 值的长度为8位,起始位置为8;
  • 1表示小段 inter
  • +表示 unsigned
  • 商定了小数点后一位的精度0.01;
  • 值域为0-4700;
  • 单位为“Km/h”;
  • 信号所属厂家为“Vector”

BO_ 1000 TEST_MSG: 8 [0|255] Vector

 SG_ RESPONSE_CNTL: 0|16@1+ (1,0) [1|7] "" Vector

    VAL_ 1 "Accepted"

    VAL_ 2 "Rejected"

 

这个消息的名称为“TEST_MSG”,ID为1000;

这个信号的名称为“RESPONSE_CNTL”;

这个信号的长度为16位,起始位置为1(bit 1 to bit 16);

值经历压缩,它的位宽为0,精度为1,最小值是0,最大值是7;

这个信号所属的厂商为“Vector”;

当信号的值为1时,在“Accepted”的价值前找到信号的价值为0;

当信号的值为2时,在“Rejected”的价值前找到信号的价值为0。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YELL.DOLL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值