在汽车电子和CAN总线开发领域,DBC文件(Database Container)是定义CAN通信协议的核心文件,正确编辑和优化DBC文件,对于车辆网络通信的稳定性、数据解析的准确性至关重要。对于刚接触TSMaster的工程师来说,如何快速掌握DBC编辑技巧,并应用于实际项目开发,仍存在一定的学习门槛。本文将从基础功能解析到使用示例演示,系统介绍TSMaster DBC编辑器的核心操作。
本文关键词:TSMaster,DBC,数据库
目录
Catalog
1. 符号说明
2. 功能概要
3. DBC 编辑器窗体
4. 使用示例
1、符号说明
本文中所用到的一些样式和符号,可以参考以下表格说明。
2、功能概要
DBC编辑器可以用于CAN DBC数据库的创建、修改以及保存等,详细的功能如下:
▲ 创建CAN DBC数据库
▲ 打开CAN DBC文件,查看数据库中的节点、报文、信号、属性等信息
▲ 编辑CAN数据库内容
▲ 导出CAN数据库到DBC文件
▲ 检查数据库内容是否符合一致性要求
3、DBC 编辑器窗体
DBC编辑器主要包含以下五个功能区:
▲ 菜单栏(1)
▲ 数据库总览区(2)
▲ 属性配置区(3)
▲ 节点总览和报文布局区(4)
▲ 日志区(5)
图1:DBC编辑器初始界面
3.1 菜单栏
菜单栏包括新建、打开、保存、另存为、一致性检查、撤销和重做7个按钮,各图标说明如下。
3.2 数据库总览区
数据库总览区包括数据库节点搜索区和数据库节点区。
3.2.1 数据库节点搜索区
在搜索框内输入节点名称,可以高亮显示,如下图:
图2:搜索节点高亮显示
窗体图标说明如下:
3.2.2 数据库节点分类
数据库节点包括以下8类:
图3:数据库总览区节点图
3.2.3 数据库节点拖拽功能
数据库总览区的部分节点支持拖拽功能,支持拖拽功能的节点如下。
▲ 信号拖拽到报文,如下图所示,将信号New_Signal_0拖拽到New_Message_0时,会将信号New_Signal_0添加到New_Message_0下。
图4: 信号拖拽到报文(场景1)
如果信号已经绑定了报文,这种情况下拖拽信号到新的报文上,则会复制一个同名的信号。
图5: 信号拖拽到报文(场景2)
▲ 报文拖拽到节点,如下图所示,将信号New_Message_0拖拽到New_Network_0或者其下的【Tx Messages】时,会将信号New_Messages_0添加到【Tx Messages】下。
图6: 报文拖拽到节点
▲ 信号拖拽到节点,如下图所示,将信号New_Messages_0下的New_Signal_0信号拖拽到New_Network_0或者其下的【Mapped Rx Signals】时,会将信号New_Signal_0添加到【Mapped Rx Signals】下,New_Messages_0添加到【Rx Messages】下。
图7:信号拖拽到节点
▲环境变量拖拽到ECU,如下图所示,将环境变量New_Envar_0拖拽到ECUs下的New_Network_0或其下的【Environment Variables】时,会将环境变量New_Envar_0添加到【Environment Variables】下。
图8:环境变量拖拽到ECU
3.3 属性配置区
属性配置区包括数据库文件信息展示区和属性配置区两个部分。
3.3.1 数据库文件信息展示区
未导入DBC数据库时,该区域会提示导入或创建DBC数据库的信息。当创建或导入DBC数据库后,该区域会显示DBC文件的路径。当DBC数据库发生修改时,则在DBC文件路径后面额外增加一个“*”。如果修改的内容被完全撤回时,或者文件被另存为时,“*”将消失。
图9:导入DBC数据库后显示文件路径
3.3.2 数据库属性
可以配置数据库的名称,选择数据库类型,和配置属性的值。
图10:数据库属性页
3.3.3 节点属性
可以配置节点的名称,地址和配置属性的值。
图11:节点属性页
3.3.4 报文属性
配置报文的属性,具体属性字段及其说明如下。
图12:报文属性页(非J1939)
图13:报文属性页(J1939)
3.3.5 信号属性
配置信号的属性,具体属性字段及其说明如下。
图14: 信号属性页(非信号复用)
图15: 信号属性页(信号复用)
3.3.6 数值表属性
数值表用于对信号或者环境变量进行编码。数值表的属性及其说明如下。
图16: 数值表属性页
3.3.7 特性属性
特性用于对信号,报文,节点,数据库以及环境变量等绑定额外的属性,其可编辑的属性字段和说明如下。
图17: 特性属性页(未激活最大最小值编辑框)
图18: 特性属性页(激活最大最小值编辑框)
图19: 特性属性页(激活枚举表)
3.3.8 环境变量属性
配置环境变量的属性,可配置属性字段和说明如下。
图20: 环境变量属性页
3.4 节点总览和报文布局区
3.4.1 节点总览
点击不同节点,会在总览区域显示当前节点下的预览内容。
图21:报文总览页面
3.4.2 报文布局
报文布局区可以展示报文中信号在报文中的位置排列和长度,当所选节点为报文时,布局才能被选择,此时布局按钮为激活状态,否则为未激活状态。
图22: 报文布局页面
▲ 复用器: 选择报文的复用器名称,<none>为未使用/无复用器。
▲ 复用值: 选择复用器下的复用值,<none>为未使用/无复用值。
通过选择不同的复用器和复用值,布局中会显示对应的信号排列。
3.5 日志区
显示当前操作的状态和数据库信息完整度的信息,包括以下3种类型。
▲ 常规信息:用于提示当前操作状态的信息。
▲ 警告信息:提示当前操作或者数据库有异常但又构成严重错误的信息。
▲ 错误信息:提示当前操作或数据库有严重错误的信息。
图23:日志区页面
对于一致性检查的日志信息,点对应的行时,会跳转到该行信息所对应的数据库节点。
4
使用示例
4.1 创建DBC数据库
该部分示例演示创建CAN数据库,包括创建CAN节点、报文、信号以及环境变量,将信号绑定到报文,为报文添加发送节点,为环境变量添加访问节点等。
步骤1:创建CAN DBC数据库,点击菜单栏的【新建】按钮。
步骤2:选择数据库模板。在弹出的DBC模板选择框中,选择需要创建的DBC数据类型,支持CAN,CANFD,J1939,然后点击【确认】。
图24:DBC模板选择页面
步骤3:选择/输入DBC文件路径。在未保存DBC数据库之前不会创建新的DBC文件,或覆盖原来的DBC文件。
步骤4:右击【Network Nodes】,创建节点New_Network_0。
图25: 新建CAN网络节点
步骤5:右击【Messages】,创建报文New_Message_0。
图26:新建CAN报文
步骤6:右击【Signals】,创建New_Signal_0。
图27: 新建CAN信号
步骤7:右击【Environment Variables】,创建New_Envar_0
图28: 新建环境变量信号
步骤8:在左边的树结构中,将New_Signal_0拖拽到New_Message_0,然后将New_Message_0拖拽到New_Network_0。通过将New_Envar_0拖拽到ECUs下的New_Network_0节点或New_Network_0的【Environment Variables】节点,为环境变量New_Envar_0添加访问节点。
图29: 将信号绑定到报文、为报文添加发送节点和为环境变量添加访问节点
步骤9:点击【保存】按钮。
4.2 编辑DBC数据库
该部分示例演示导入CAN数据库并进行编辑,以及如何创建数值表和特性。
步骤1:导入DBC文件。点击菜单栏的【打开】按钮,导入4.1章节保存的DBC文件。
步骤2:修改CAN节点,报文、信号以及环境变量名称。
▲ 修改CAN节点名称。点击【ECUs】/【Network Nodes】下的New_Network_0,在右侧的属性编辑区中找到【名称】编辑框,输入ecu0并按下回车键。对于该界面其它的属性字段,也可以类似的方式修改。
图30:修改CAN网络节点名称
▲ 修改CAN报文名称。点击【Messages】下的报文节点,在属性编辑区找到【名称】输入框,输入msg0并回车。对于该界面其它的属性字段,也可以类似的方式修改。
图31:修改CAN报文名称
▲ 修改CAN信号名称。点击【Signals】下的信号节点/【Messages】下报文中的信号节点,在属性编辑区找到【名称】输入框,输入sig0并回车。对于该界面其它的属性字段,也可以类似的方式修改。
图32: 修改CAN信号名称
▲ 修改环境变量名称。点击【Environment Variables】下的环境变量节点,在属性编辑区找到【名称】输入框,输入env0并回车。对于该界面其它的属性字段,也可以类似的方式修改。
图33: 修改环境变量名称
步骤3:创建数值表。右击【Value Table】点击【新建】,在属性编辑界面的值-描述表格中点击新建,创建2对值-描述字段。
图34: 创建数值表
步骤4:为信号/环境变量添加数值表。点击信号或者环境变量节点,在属性编辑区找到【数值表】下拉框,选择New_Vt_0。
图35:为环境变量和信号添加数值表
步骤5:创建报文特性。右击【Attributes】点击【新建】,创建特性。在属性编辑区修改名称为msgAttr0,目标类型为报文,其它字段为默认。
图36:创建报文特性
此时点击【Messages】下的msg0节点,在属性编辑区可以查看到msgAttr0的值,也可以在该区域对msgAttr0进行编辑。
图37:报文特性查看和编辑界面
其它目标如信号、环境变量、以及绑定节点的信号、报文、环境变量等可以通过选择【目标类型】的下拉框进行绑定。特性也支持不同的数值类型,通过【数值类型】下拉框进行选择。
步骤6:编辑完成后,保存该DBC数据库到DBC文件。