写.dbc文件教程及注意点

写.dbc文件教程及注意点

1. 小白上手参考教程(搬运):https://zhuanlan.zhihu.com/p/338105813

2.注意点(及时更新)

1.在通讯矩阵(也叫通讯协议)信号名称(Signal Name)一列中常常会出现Reserved信号(也叫预留信号)。新手在创建信号时,无需管它,忽略即可。因为在8字节64位的报文中出现空缺是很正常的。
2.在编辑信号的过程中,在Signal_Definition界面中会出现Length、Byte Order、Value Type、Factor、Offset、Minimum、Maximum几个框。
Length:信号的长度,单位Bit,具体协议里有。
Byte Order:信号的排列方式,有Intel和Motorola两种(还未深入研究,之后会补充)。
Value Type:总线类型,推荐无符号整型(Unsigned)。
接下来重点讲Factor、Offset、Minimum、Maximum:
首先先明确一点,这几项的目的是将总线值和物理值对应起来(映射关系)。通讯协议中会给Physical Range(物理值范围)、Normal(总线值范围)、Resolution(精度,常常和Factor一致)。Minimum、Maximum都指物理值
直接给到Physical Range 和 Normal之间的转换关系:
[Physical Range]=([Normal]*[Resolution])+[Factor]
举常见两个栗子说明:
ex1:所有值都非负,协议给到Physical Range(0~ 8031.875)、Normal(0~64255)、Resolution(0.125),这种情况比较简单。选好长度16位,无符号整型后,将Factor设为0.125(之前也说和过一般和Resolution一致),Offset设为0(因为所有值为非负,不需要偏移),Minimum设为0,Maximum设为8031.875。解释一下Factor,8031.875/64255=0.125,Factor可以理解为总线值(0 ~ 64255)映射到物理值(0 ~ 8031.875)映射关系的比例系数
ex2:最小值有负,协议给到Physical Range(-7.8125~ 7.8125)、Normal(0~250)、Resolution(1/16),这里选好长度8位,无符号整型后,将Factor设为0.0625=1/16,Offset设为-7.8125(需要偏移),Minimum设为-7.8125,Maximum设为7.8125。在思考映射关系的过程中,会出现一个疑问:总线值是先偏移再乘Factor呢?还是先乘Factor再偏移呢?明确一下,答案是后者!
3.给信号加标签时,和信号的Signal Default值无关,直接从0x0,0x1…编写。
4.最后一个建议是给主机厂的同学,写协议的时候注意报文的格式(ID范围,信号长度等,该分开要分开),信号的名称不可过长(可采用缩写)。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值