【DBC专题】
目录
1 打开“CANdb++ Editor”,在”Signals”中增加一个信号;
2 在“CANdb++ Editor”右侧的”Message”中增加一个ID;
3 对ID中的信号添加接收的节点。
4 对ID中的信号增加“值描述”。
5、END
推荐阅读(单击下方文字即可跳转至对应博文):
1、【DBC专题】-1-如何使用CANdb++ Editor创建并制作一个DBC
2、【DBC专题】-2-CAN Signal信号的Multiplexor多路复用在DBC中实现
3、【DBC专题】-4-DBC文件中的Signal信号字节顺序Motorola和Intel介绍
5、【DBC专题】-6-Signal信号字节顺序Motorola_LSB/MSB/Sequential/Backward,Intel_Standard/Sequential等6类格式详解
DBC(Data Base CAN)文件用于描述单个CAN网络的通信,DBC文件格式比较固定、不会产生歧义和理解误差,便于交流。下面在已有的DBC中增加帧Frame ID和信号Signal。
1 打开“CANdb++ Editor”,在”Signals”中增加一个信号;
1.1 右击“Signals”,在上下文中选择“New”,弹出如下对话框;
1.2 编辑“Signal'New_Signal_6’”对话框中的信息;
1.2.1 编辑信号基本信息:
修改前:
修改后:
注:
“Name:”表示该信号的名称;
“Length[Bit]:”表示该信号的长度,以Bit度量;
“Byte Order:”表示数据格式,有“Motorola(大端模式)”,“Intel(小端模式)”可选,根据实际情况选择;
“Value Type:”表示数据是有/无符号类型(若偏移量为0,需要表示负数,则该项选择Signed; 若偏移量为负数,需要表示负数,则该项选择Unsigned。);
“Factor:”表示分辨率;
“Offset:”表示偏移量;
“Minimum:”和“Maximum”表示该信号实际范围;
“Init.Value:”表示该信号的初始值;
“Unit:”表示单位。
解析数据时:实际的信号物理值 = 分辨率 * CAN信号值 + 偏移量
1.2.2 对该信号添加备注:
修改前:
修改后:
2 在“CANdb++ Editor”右侧的”Message”中增加一个ID;
2.1 右击“Message”,在上下文中选择“New”,弹出如下对话框;
2.2 编辑“Message'New_Message_4’”对话框中的信息;
2.2.1 编辑ID基本信息:
修改前:
修改后:
注:
“Name:”表示新增ID的名称;
“ID:”用十六进制表示,如果是标准帧,范围:0~0x7FF;
“DLC:”表示新增ID实际的长度,最大为8.
2.2.2添加该ID的信号:
修改前:
修改后:
2.2.3定义该ID发送节点:
修改前:
修改后:
2.2.4将信号拖动到合适的位置
修改前:
修改后:
2.2.5定义该ID的周期和发送类型
修改前:
修改后:
2.2.6给该ID添加备注:
3 对ID中的信号添加接收的节点。
3.1 双击Message里ID中的信号:
修改前:
修改后:
4 对ID中的信号增加“值描述”。
4.1 在菜单栏中选择“View”à“Value Tables”
4.2 在空白的位置右击,并在上下文中选择“New”;
4.3 在弹出的对话框中,编辑相关信息;
4.4 对Message中的信号增加“值描述”。
4.4.1 双击Message里ID中的信号:
4.4.2 对该信号增加“值描述”
修改前:
修改后:
综上,新增CAN_ID和CAN_Signal已经完成。
5、END
欢迎大家给我留言,如果觉得好,动动你的手指,“点赞”+“收藏”
获取更多汽车行业资讯,以及工具链的使用,可以关注微信公众号“汽车电子助手”
或者扫描下方二维码进行关注