• 482查看
  • 0回复

[系统功能] DBC文件解读、制作

[复制链接]


该用户从未签到

发表于 21-1-2024 11:08:18 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


01

Motorola、Intel格式

讲这2个格式首先说一下大小端格式。

大端模式:

低地址中存放的是字数据的低字节,高地址存放的是字数据的高字节。例:

(16位宽的数0x1234在小端模式CPU内存中的存放方式(假设从地址0x4000开始存放))


内存地址

0x4000

0x4001

存放内容

0x34

0x12


大端模式:

字数据的高字节存储在低地址中,而字数据的低字节则存放在高地址中。例:


内存地址

0x4000

0x4001

存放内容

0x12

0x34

在dbc中,

Motorola格式:

Motorola格式跟大端格式一样,低地址代表高字节,高地址代表低字节。与Intel不一样,Motorola格式有2种表达方式,一种是Motorola_LSB,另一种是Motorola_MSB,但实际上它们代表的数据结构是一样的,只是表达方式不一样而已,其中Motorola_LSB的起始位是从低字节开始的,而

Motorola_MSB的起始位是从高字节开始的。

以某段报文为例:

DBC文件解读、制作w1.jpg

使用db++查看layout:

DBC文件解读、制作w2.jpg

DBC文件解读、制作w3.jpg

可以看到文本阅读和db++中看到的startbit是不一样的。db++的sb是lsb,而文本中显示的是msb。

从图中可以看到:motorola格式的msb为高字节的最高位。

Intel格式:

  Intel格式跟小端格式一样,低地址代表低字节,高地址代表高字节。

例:

DBC文件解读、制作w4.jpg

DBC文件解读、制作w5.jpg

02

物理值、总线值转换

公式如下:

physical_value =raw_value * factor + offset

raw_value=(physical_value - offset)/ factor

例子:

DBC文件解读、制作w6.jpg

以车速信号为例:

假设实际车速为50km/h,那么根据公式

(50-0)/0.00390625=12800=0x3200,那么0x3200就是填充在报文中的总线值。

03

dbc文件详解

DBC文件解读、制作w7.jpg
dbc包含上图所示的几种信息,接下来咱们逐一解释下。


    VERSION、BS_

    分别表示版本和波特率信息,都可以忽略不填;

    BU_

    定义总线上的节点名称;

    BO_ MessageId(10进制数表示) MessageName: MessageSize Transmitter

    BO_表示报文关键字,需要描述报文的ID、名字、长度和发送方;

  • SG_SignalName : StartBit|SignalSize@ByteOrder ValueType (Factor,Offset) [Min|Max]Unit Receiver

    SG_为信号关键字,需要描述信号的名字、起始位、长度、字节顺序(motorola为0,Intel为1)、数值类型(+表示无符号,-表示有符号)、精度、偏移量、最值、单位、接收方;

  • CM_Object MessageId/NodeName “Comment”

    CM_为注释信息,可以为信号、报文添加解释信息,这些在db++文件中和导入到CAN设备后都可以显示出来;

  • BA_DEF_ ObjectAttributeName ValueType Min Max;

    BA_DEF_DEF_AttributeName DefaultValue;

    用来做属性定义,一般只有主机厂才会生成特别详细的dbc文件内容;

04

小工具分享

其实写这篇文章的初衷是有同事想要帮忙制作dbc文件,于是便写了一个

xls2dbc的py脚本,这边演示一下,。

先来个生成过程的打印信息吧:

DBC文件解读、制作w8.jpg

脚本的具体功能:

首先在config.xlsx中写入信号列表.xlsx中报文、信号的属性的位置信息(列号),如下图:

DBC文件解读、制作w9.jpg

DBC文件解读、制作w10.jpg

然后执行py脚本即可生成dbc文件。没有py环境的可以在dist文件夹下找到同名的exe文件双击执行。

附个视频吧:

DBC文件解读、制作w11.jpg

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 1-2-2025 12:48 , Processed in 0.364862 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.