简单认识dbc文件

文章目录

  • dbc概述
  • dbc文件的编辑
  • dbc 属性
  • dbc 文件内容浅析
    • dbc - Networks
    • dbc - ECUs
    • dbc - Network nodes
    • dbc - Messages
    • dbc - Signals
  • dbc的用途

dbc概述

DBC(CAN data base)是描述网络上所有电子节点(ECU)之间CAN通信信息的数据库文件。
注意三个关键词:网络、电子节点和CAN信息,通常一个DBC文件只能包含一个CAN网络的节点信息。

dbc文件的编辑

安装 CANoe 软件后会带有 CANdb.exe 工具,使用此工具可以打开、编辑和创建 dbc 文件。

dbc 属性

不同的DBC属性决定不同功能的报文, 一般实际项目中涉及的报文为4类:应用报文,诊断报文,网络管理报文,XCP报文。不同作用的报文其在协议栈中的信号流路径是不同的。

报文类型 Type
应用报文 Norma / APP
网络管理报文 NM
诊断报文 DIAG
xcp报文 XCP

dbc 文件内容浅析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XLLiExIW-1681998518328)(images/26034af6ecc916bf89d530de991639a5bd251e475f1053093253179b19604a14.png)]

左侧树形目录对应:

Networks —— 网络
Network nodes —— 电子节点
Messages & Signals —— CAN信息

除此之外,还有ECUs和Environment variables两项,ECUs下包含的其实是每个ECU的Network Node和Environment Variables,Environment Variables在使用CANoe仿真节点时会用到。

dbc - Networks

Networks 从网络的视角来观察总线上存在的节点、报文和信号。
注意:Networks下面只有一个CAN网络信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o5i40d2f-1681998518329)(images/09ee8d4910d2f6e519a2558602acfa888dcafa0b7a2f13fecf093011b1bd1c2e.png)]

Tx Messages: 列出该网络上所有的报文,实际就是每个节点发送报文的集合。
Signals:列出该网络总线上所有的信号。
各个节点:单个节点的收发信号

dbc - ECUs

ECUS 下有各个 Network Node, 在这个节点下有 Environment variables 和 Network Node两项。
其中 Network Node 下的是单个节点的收发信号。

dbc - Network nodes

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5ZM96UM8-1681998518330)(images/45fa3374ce2822a8292476ec296936707029a53383fbd18d1dbf3807232680a9.png)]

与Networks不同,Nodes部分从单个节点的视角来观察与节点相关的总线报文及信号,以 BMS 节点为例,展开后下面包含Tx Messages、Rx Messages、Mapped Tx Signals(映射Tx信号)以及Mapped Rx Signals(映射Rx信号)。

  • Tx Messages:节点发送报文
  • Rx Messages:节点接收报文
  • Mapped Tx Signals:节点发送信号
  • Mapped Rx Signals:节点接收信号

那这里的收发报文信号和树型目录最下部的Messages和Signals有什么区别呢:
Messages与Signals下包含的报文信号比节点下的报文信号要多,并且有可能会包含实际没用到的报文信号,因为所有创建的报文信号都会在Messages与Signals下显示,但只有映射到节点的报文信号才会在Network及Node下显示。

dbc - Messages

Message是CAN总线上传输信息的最小单位,一条Message最大包含8个Byte的数据(CAN FD则最大支持64个Byte的数据)
Messages从用途角度可以分为三大类:应用(APP/Normal)报文、网络(NM)报文和诊断(DIAG)报文。

dbc - Signals

Signal 是 Message 里最小的元素单位,通过在某条报文上右击选择Edit Message打开报文编辑窗口,然后选择Layout选项卡可以查看当前报文的信号布局:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-osX8gzBA-1681998518330)(images/6d84a0b588e8be3480c7d010c10fb25f66e12a11d7a3b17b86751ae837c96576.png)]

dbc的用途

软件开发方面主要配合Vector的Geny或Davinic Configuration协议栈配置工具来实现CAN通信栈的配置及代码生成;
软件测试主要用Vector的CANoe等测试工具来实现节点仿真、报文解析等功能。

你可能感兴趣的:(汽车电子,CAN,dbc)