快速读懂CAN报文 DBC文件 解析文件

DBC文件是CAN报文数据库,用于解读CAN总线数据。它描述了CAN帧内的信号,包括ID、位置、转换细节和单位。通过DBC,原始CAN数据可以转换为物理值,例如发动机转速。信号定义包括名称、单位、起始位、位计数等。Influx Dialog等软件可以帮助解析和编辑DBC文件,简化CAN通信的理解。
AI助手已提取文章相关产品:

CAN DBC 指的是CAN 报文的数据库。简单地说,通过CAN 总线通信的数据类型可以用DBC 文件来读取和理解。DBC 是一种基于ASCII 的翻译,是在20世纪90年代发展起来的标准文件,现在正在被全世界的汽车工业所使用。这些文件可以通过描述CAN 帧内的数据来帮助识别它。作为这些CAN 数据库,文本文件包含了将原始CAN 总线解码为物理值的信息。因此,它也在作为一个信号库发挥作用。

对于DBC 文件来说,信号不是一个电气输入或输出,而是一个物理参数,如温度、发动机转速、电压等。DBC 是处理8字节十六进制CAN 报文和原始CAN 数据的识别和转换的最常用方法。一个CAN 帧中的数据可以分成8个单byte的值、64个单bit值、一个64-bit 值或这些值的任何组合。数据字段最多可以包含8个字节的数据。一个CAN 帧可以包含0到64个单独的信号(对于64个通道,它们都将是二进制的)。

DBC文件包含以下信息:

● 当前信号报文的CAN ID

● 信号在CAN 报文中出现的位置

● 信号的字节顺序

● 信号的转换细节

● 信号的单位

现在让我们借助使用 Influx Dialog 软件的例子来详细了解一下。

DBC 中定义的名为ECU 的报文中的RPM(发动机转速)信号

★ 报文的定义:

该报文定义包含以下信息:

● CAN ID:传输报文时使用的CAN ID

● 报文的名称

● CAN 报文的类型(CAN 标准帧/扩展帧或CAN FD 标准帧/扩展帧)

● 数据长度代码(DLC)--CAN 报文中数据的长度

● 发送器:传输报文的CAN 节点/控制单元

★ 信号的定义:

该信号定义包含以下信息:

● 信号名称:消息中存在的信号的名称

● 单位:信号中存在的物理数据的单位

● 起始位:信号的起始位

● 位计数:信号的位计数

● Byte Order:信号的字节顺序,摩托罗拉(Big Endian)/英特尔(Little Endian)

● 类型:数据类型

● Factor(系数):信号的转换系数

● Offset(偏移):信号的转换偏移

● 最小和最大的信号值


★ 界定信号出现的位置

● bit 的位置是由起始位、位数和字节序定义的。

● 对于案例中的这个信号,起始位是48,位数是16,摩托罗拉的字节顺序是48。

● 因此,从收到的原始CAN 报文中,64位的CAN 数据,在摩托罗拉字节顺序中,从48到63的16位数据是发动机的转速数据。

★ 使用来自DBC的信息在接收到的原始数据中应用转换公式

举例来说:

从DBC中,我们得到的信息是:转换系数是0.25,偏移量是0。

因此,当我们将其应用于转换公式((A*raw)+B)时

因子A=0.25,偏移量B=0。

十六进制的0xFFFF是十进制的65535

(0.25*65535+0) =16383.75

我们知道这个DBC 信号的单位是RPM,所以物理值是16383.75 RPM。

由此可见,DBC 文件有助于了解哪些数据是通过CAN 总线进行通信的。手动完成这些翻译看起来可能是一项不可能完成的任务,但通过软件将使其变得快速而简单。

许多Windows 应用程序可以在PC 上读取DBC 文件,包括 Influx Dialog Plus、Influx Module Analyser、Influx ReXdesk,Mathworks 的MATLAB Vehicle Network Toolbox、Vector 的CAN db++等等。

另外,用Windows Notepad 也可以读取和编辑DBC 文件,但相比之下有些复杂。

Influx Dialog 软件是一个创建/编辑DBC 的有效工具。

您可能感兴趣的与本文相关内容

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值