当前位置: 首页 > article >正文

车载网络测试-DBC文件解读【创建修改DBC】

1 背景

上文介绍了DBC文件对工程师的意义、DBC文件结构以及DBC文件的相关属性。本文主要介绍如何根据需求新建或者修改DBC文件,以便完成项目的实际需求。上一专题链接如下:
车载网络测试-DBC文件解读

2 需求

某车型的一路CAN总线通信矩阵(部分描述)需求:

  • 报文发送节点:CCU
  • 报文接收节点:ZCU_L
  • 网络类型:标准帧CANFD
  • 报文名:BMS_111
  • 报文ID:0x111
  • 报文周期:20ms
  • 信号:BMS_Checksum_111、BMS_Init_Sts等
    详细需求如下图:
    在这里插入图片描述

3 创建DBC文件

3.1 新建DBC模板

1. 通过CANoe软件打开CANdb++Editor进行创建DBC空白模板
打开CANoe软件——>Tools——>CANdb++Editor。
在这里插入图片描述
2. 点击File——>Create Database…
在这里插入图片描述
3. 选择CANoe Template.dbc模板
在这里插入图片描述

4. 创建后的空白DBC如下图:
在这里插入图片描述

5. 点击保存DBC,并按照需求命名
在这里插入图片描述
以上,完成了DBC空白模板的创建,主要有Networks、ECUs、Network Nodes、Messages、Signals组成;根据需求我们实际只需关注Network Nodes、Messages、Signals的添加即可。

3.2 创建网络节点

1. 点击Network Nodes——>右键新建
在这里插入图片描述
2. 根据需求将新建的Network Node命名为ZCU_L——>点击确认
CCU节点的创建同上述操作;
在这里插入图片描述
3. 创建的CCU、ZCU_L网络节点如下:
在这里插入图片描述

3.3 创建信号

个人习惯先创建信号,再把信号添加到报文里面,当然也可以先创建报文,顺序对DBC的创建无任何影响,大家根据个人习惯操作即可。

1. 点击Signal——>右键选择新建即可
在这里插入图片描述

2. 根据需求添加信号属性

  • 信号名:BMS_Init_Sts
  • Byte Order:Motorola
  • Value Type:Unsigned
  • Factor:1
  • Minimum:0
  • Maximum:1
  • Value Table:none 因为还没有可用的Value Table
    在这里插入图片描述

3. 新建Value Table
点击View——>选择Value Tables
在这里插入图片描述
命名Value Tables,命名一定要方便后续识别
在这里插入图片描述
根据需求添加Value Description
在这里插入图片描述
创建完成的Value Tables如下图:
在这里插入图片描述
然后,再次回到该信号属性页去选择Value Tables即可;
以下是创建完成的BMS_Init_Sts信号
在这里插入图片描述
需求定义的所有信号创建方式同上方法,所有创建完成后如下图:
在这里插入图片描述

3.4 创建报文

1. 点击Message——>右键选择新建
在这里插入图片描述
2. 创建报文属性

  • 报文名:BMS_111
  • 报文类型:CAN标准帧
  • 报文ID:0x111
  • DLC:8
    如下图:

在这里插入图片描述

3. 添加报文的信号
方法1
点击Signal——>选择Add——>选择该报文下的信号——>OK
在这里插入图片描述
如下图:报文0x111下的信号已成功添加
在这里插入图片描述
方法2
找到需要添加的信号——>长按信号拖动至对应报文下即可
在这里插入图片描述

4. 添加报文的发送节点
如下图,0x111报文的发送节点为CCU,接收节点为ZCU_L;
在这里插入图片描述

点击Transmitter——>点击Add——>选择CCU——>OK
在这里插入图片描述
5. 添加报文的接收节点
如下图,无任何可选择的节点;需要去找到该报文的信号,在信号属性里面去添加;
在这里插入图片描述
找到0x111报文——>选择所携带的信号BMS_Init_Sts——>点击Receivers——>选择Add——>选择ZCU_L——>OK
在这里插入图片描述
6. 对该报文下的信号进行排布
如下图,实际添加信号后,根据需求该信号在报文的位置有误;需求:Byte1 bit12;
在这里插入图片描述
直接长按信号进行拖动
在这里插入图片描述
7. 添加报文Attribute属性
如下图,新建的DBC为空,需要导入Attribute属性;可以选择以往类似项目的DBC模板进行导入或者使用CANoe安装包中的模板;
在这里插入图片描述
导入Attribute属性的方法
选择File——>选择Import Attribute Definitions…
在这里插入图片描述
如下图,显示Import completed就成功了。
在这里插入图片描述
以下属性的定义在上一专题已经详细介绍,本文不进行阐述。
属性设置
根据需求进行报文发送类型和周期的设置即可;
在这里插入图片描述

3.5 一致性检测

如果进行一致性检测无报错,就没问题了!
在这里插入图片描述

4 总结

以上是DBC文件的新建方法,修改的方法和新建基本上方法一致。希望能在项目中给大家带来些许帮助,如果存在描述问题的地方,欢迎找我一起交流、讨论!


http://www.kler.cn/a/579133.html

相关文章:

  • 深入理解JavaScript中的深拷贝与浅拷贝
  • 人工智能里的深度学习指的是什么?
  • Android Framework 常见面试题
  • Python 文件和异常(写入文件)
  • clickhouse修改和删除数据
  • 特征表示深度解析:颜色、纹理、形状与编码
  • linux学习(五)(服务器审查,正常运行时间负载,身份验证日志,正在运行的服务,评估可用内存)
  • 观看文艺汇演问题
  • Scala 中的String常量池
  • 网络原理--JVM简介
  • 微服务与无服务器:我的理解与实践
  • C#实现软件重启的功能
  • Mysql表的复合查询
  • Java初级入门学习
  • 若依vue前端queryParams搜索下拉框无法重置或者重置值有问题
  • Linux Shell脚本-分隔符问题
  • ArduPilot开源代码之AP_OSD
  • 深度学习编译器(整理某survey)
  • 前端 | 向后端传数据,判断问题所在的调试过程
  • GDB调试技巧:多线程案例分析(保姆级)