常用的创建和编辑CAN DataBase(DBC文件)有两种方法,一种是下载CANdb++,Vector免费的工具;另一种就是使用CANoe创建,不过需要付费购买软硬件。两种方法创建DBC文件的方式都是一样的。
本篇博文讲解如何使用CANoe软件创建和编辑DBC文件。
1
新建DBC文件
打开CANoe,进入Tools菜单栏,点击CANdb++Editor打开DBC编辑软件。
在DBC编辑器中,点击File -> Create DataBase,选择合适的DBC模板,并选择一个文件夹作为DBC文件的保存路径。
我一般选择CANoeTemplate或者CAN Template。
新建成功效果如下:
2
新建节点
在Network nodes处右击,选择New新建一个节点(ECU),为其命名,例如ECU01和ECU02等。
节点创建好后,界面如下所示:
3
创建CAN报文
在Messages处右击,选择New新建一个报文。
在Name处输入本条CAN message的名称,注意(不得使用中文,不得以数字开头)。
在Type处选择CAN Standard或者CAN Extended。
在ID处填入此CAN报文的CAN ID。
DLC处写入此报文的长度(单位是字节)。
CAN报文创建成功如下所示:
根据需要可以创建多个报文。
4
创建CAN报文的信号
在Signals处右击,选择New新建一个信号。
在Name处键入此信号的名称。
Length处填入此信号的长度(单位为Bit)。
Byte Order(字节序)选择以Intel型填充还是以Motorola型填充。
Intel型 :小端字节序,字节内部bit排序从高位开始。
Motorola型:大端字节序,字节内部bit排序从低位开始。
ValueType:值的类型,有符号整数和无符号整数以及浮点数类型。
Factor:比例因子,表示数值需要乘以这个因子进行转换。
Offset:偏移量,表示数值需要加上这个偏移量进行转换。
Minimum:参数的最小值。
Maximum:参数的最大值。
Calculate minimum and maximum:点击这个按钮可以计算最小值和最大值。
Value Table:值表的名称,当前为空,表示没有关联的值表。
这些参数共同定义了一个8位有符号整数的LED信号参数,包括其长度、字节顺序、数据类型、初始值、比例因子、偏移量、最小值和最大值。
CAN报文信号创建成功如下所示:
根据需要可以创建多个信号。
6
将报文和信号关联
双击报文,进入报文界面,切换到Signals栏,点击Add将信号添加到报文中。
如果CAN报文DLC设置得比添加进去的信号所占的字节数多,就会弹出这个窗口,点击否(N)即可,如果点击是(Y),系统会修改这条CAN报文的长度为刚刚添加进去的信号所占的字节数。
添加完成后如下图所示,右边会列出这个报文里所有的信号,以及信号所占的字节和起始位。
如果设置信号在CAN报文中的起始位和位置,双击信号,在Startbit处修改起始位。
也可以在这条CAN报文的Layout中通过鼠标拖动修改信号所处的位置。
双击左侧CAN报文,在弹出的窗口中点击Layout,鼠标按住方框中标记的信号拖动即可改变信号所在的位置。
6
设置CAN报文发送者和接收者
双击节点ECU1,在Mapped RX Sig中添加需要接收的报文中的信号,在Tx message中添加该节点发送的报文。
此时我们展开左侧,可以看到ECU1节点已经有了对应的发送和接收报文以及信号。
以上就是如何在CANoe中新建和使用CAN DataBase(DBC文件)的基本步骤。通过这些步骤,你可以创建一个简略版的CAN DBC。