波特率结构用来定义 CAN 总线的波特率,形式如下:
BS_:
DBC 文件中,BS_ 关键字通常为空,波特率一般由外部工具设定。
5. 网络节点的结构(BU_)
网络节点是 CAN 网络中的控制单元(ECU),定义的格式如下:
BU_: Node1 Node2 Node3 ...
BU_ 后面列出所有的网络节点名称,这些节点名称通常与实际的 ECU 名称一致。
6. 消息的结构(BO_)
消息(Message)是 CAN 总线上传输的基本单位。其定义格式如下:
BO_ MessageID MessageName: DLC Node
MessageID:消息的 ID(标识符)。
MessageName:消息的名称。
DLC:数据长度代码(Data Length Code),表示数据的字节长度。
Node:发送该消息的节点名称。
7. 信号的结构(SG_)
信号(Signal)定义了消息中包含的具体数据。其格式如下:
SG_ SignalName : StartBit|SignalLength@ByteOrder+Sign (Factor, Offset) [Minimum|Maximum] "Unit" ReceiverNodes
SignalName:信号的名称。
StartBit:信号在消息中的起始位。
SignalLength:信号的长度(以位为单位)。
ByteOrder:字节顺序,0 表示 Intel(小端),1 表示 Motorola(大端)。
Sign:符号位,+ 表示无符号,- 表示有符号。
Factor:缩放因子。
Offset:偏移量。
Minimum/Maximum:信号的物理最小值和最大值。
Unit:信号的单位(例如 "km/h")。
ReceiverNodes:接收该信号的节点列表。
8. 注解的结构(CM_)
注解(Comment)用于添加额外说明,格式如下:
CM_ Message|Signal|Node "CommentText";
Message|Signal|Node:注解的对象,可以是消息、信号或节点。
CommentText:注解内容,使用双引号括起来。
9. 特征(属性)的结构(BA_DEF_、BA_DEF_DEF_、BA_)
特征(属性)用于定义自定义属性,结构包括:
BA_DEF_:定义属性的类型和适用对象,格式为:
BA_DEF_ ObjectType "AttributeName" AttributeType [Min|Max];
BA_DEF_DEF_:定义属性的默认值,格式为:
BA_DEF_DEF_ "AttributeName" DefaultValue;
BA_:为具体的对象赋值,格式为:
BA_ "AttributeName" ObjectType ObjectName Value;
10. 数值表的结构(VAL_)
数值表用于对信号的离散值进行定义,格式如下:
VAL_ MessageID SignalName Value "ValueDescription" ... ;
Value:信号的离散值。
ValueDescription:值对应的描述。
11. 全局信号值表的结构(VAL_TABLE_)
全局信号值表类似于数值表,但它可以应用于多个信号,格式如下:
VAL_TABLE_ TableName Value "ValueDescription" ... ;
TableName:表格的名称,之后可以在信号定义中引用。
这 11 个部分共同构成了一个完整的 DBC 文件,通过这些结构,可以详细描述 CAN 总线上的消息和信号,使得不同的设备能够解析和理解这些数据。
-------------------------------------------------
素材来源:汽车商友圈
拆车邦《新能源汽车对标样件》——驱动电机对标件、电机控制器样件对标、电池包竞品分析、充电机对标件。切磋交流:shbinzer。
拆车邦-新能源汽车驱动电机、电机控制器PEB、车载充电机OBC、DCDC减速器逆变器、电池包总成三电高压配件等。
品类包括:奥迪、极狐、爱驰、本田、奔驰、宝马、别克、比亚迪、保时捷、宝骏、北京、标志、宾利、奔腾、北汽、长安 长城、大众、东风、DS、电咖、丰田、福特、飞凡汽车、传祺、埃安、哈弗、海马、汉腾、吉利、捷豹、几何、极氪、凯迪拉克、雷克萨斯、领克、林肯、李想、小鹏、劳斯莱斯、理念、领涂、迈凯轮、哪吒、欧拉、极星、奇瑞、起亚、现代、日产、荣威、三菱、斯科达、赛力斯、上汽、腾势、天际、五菱汽车、蔚来、沃尔沃、wey、威马、雪佛来、雪铁龙、宇通、云度、智己、知豆、特斯拉等等。返回搜狐,查看更多