CANoe作为专业的系统级总线网络开发和测试工具被众多整车厂和供应商的系统设计师、开发工程师和测试工程师所广泛使用,北汇信息作为Vector中国的合作伙伴,得益于Vector中国的大力支持,不断将CANoe运用到实际中,今天小编整理出一份基于CANoe软件中的CANdb++制作DBC文件的方法,给各位小伙伴们进行参考。

1. 什么是DBC文件?

DBC是Database CAN的缩写,是CAN网络的数据库文件,可定义CAN网络的节点(Network node)、报文(Message)、信号(Signal),包括各个节点会发送哪些报文和接收哪些报文,每个报文中包含哪些信号,每个信号位于报文的哪个位置,等等

2. DBC文件的作用:“解析”

通过定义好的DBC文件,我们可以将CAN网络中数据解析成具体的报文(Message)和信号(Signal),以方便我们来对其进行分析。

3. DBC文件的制作流程及步骤

1)打开CANoe,在Tools工具栏下选择CANdb++;

101419hjw888jp0w0l8zl8.png

2)进入CANdb++,选择File点击Create Database,在Template模板对话框中选择所需的模板,选择好路径命名保存后(名称中不要有中文),一个数据库结构就创建完成了。

101419d8rrrrkhhzhhn8ky.png
101419aw55d5h3334esa4z.png

3)接下来我们来填充DBC中的内容,我们先来创建Value Table:点击View -> Value Tables,打开Value Tables,然后右击选择New,进行配置。

101420elsnalvf0f0frn18.png 101420jdb666yg1bhagaba.png

4)定义信号:在Overall View界面,选中Signals右键选择New可进入Signal的编辑界面

101420hwh8hcoq8w9czhe5.png

Factor和Offset的计算公式:[Physical value] = ( [Raw value] * [Factor] ) + [Offset]
例: 报文的真实值为1,Factor的值为-1,Offset的值为1
我们收到的物理值为(1*Factor)+Offset=(1*-1)+1=0

5)定义报文:在Overall View界面,选中Message右键选择New可进入Message的编辑界面

101421fiei5e4892hrehxr.png
注:报文ID是唯一的,不可重复

6)将信号与报文相关联:
方法1:打开Message的编辑界面,选择Signal,点击Add,在Choose Objects界面选择要与该Message关联的Signal后点击OK。

方法2:直接将Signal拖拽带建好的Message中。

101421os3t8ws3wbtb35s9.png
方法1

101421z3f68b91n86sp60z.png
方法2
7)打开Message编辑界面后选择Layout可检查Signal在Message中的位置,这里Signal的排列顺序与创建Signal时选择的Byte order类型有关。
> Byte order类型分两种,分别是Intel格式和Motorola格式。
Intel格式:低字节在前,高字节在后,即Byte1为信号的低bit位,Byte2为高bit位(如图所示)。

Motorola格式:高字节在前,低字节在后,即Byte1为信号的高bit位,Byte2为低bit位(如图所示)。

101421aa2xb3rvtx392xk3.png
Intel格式

101421i7373xknb87dlvy8.png
Motorola格式

8)定义网络节点:在Overall View界面,选中Network nodes右键选择NEW可进入网络节点的编辑界面

101421ot4e7s6cdwkpgfd4.png

9)设置节点报文的收发:在Overall View界面,选中创建好的网络节点进入网络节点的编辑界面来设置节点报文的收发。
> 设置接收报文:选择Mapped Rx Sig(图中的A),点击Add(图中的2),选择好要接收的报文(图中的3),点击确定(图中的4)。

> 设置发送报文:选择Mapped Tx Sig(图中的B),点击Add(图中的2),选择好要发送的报文(图中的3),点击确定(图中的4)。

101422e40xsg4x4gglr6m5.png

10) 一致性检查:选择File点击Consistency Check,可查看是否有报错,有报错可按提示信息进行修改,空白说明无错误信息。

101422qjg3od59ozvlgdvv.png
101422x5nnuycaot2aroub.png

4. 一致性检查无误后我们的DBC文件就创建完成了,接下来我们看在CANoe中添加DBC文件的两种方法

> 方法一:在CANoe界面打开Simulation Setup界面,在Networks下选中Databases右键点击Add直接添加。

101422jgc6cgffow16whcr.png

> 方法二:在CANoe界面打开Simulation Setup界面,在Networks下选中Databases右键点击Import Wizard,选择好需要仿真的网络节点后选择“下一页”然后点击“完成”

101422ajsske0osz9jo98a.png 101423d07x978ma73x799x.png


结尾
CANoe是德国Vector公司推出的一款总线开发环境,是网络和ECU开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统开发过程。其丰富的功能和配置选项被OEM和供应商的网络设计工程师、开发工程师和测试工程师所广泛应用。
北汇信息作为Vector中国合作伙伴,不仅提供相应的工具、技术支持服务以及培训,还针对不同的应用场景(智能座舱、新能源三电系统、底盘系统、ADAS及V2X等)提供专业的解决方案。欢迎联系北汇信息,为您答疑解惑。