DBC学习(一)

DBC是描述CAN网络通信的数据库文件,用于定义电子节点和CAN信息。本文介绍了DBC的打开方式,使用CANdb++ Editor工具进行编辑,并详细解析了DBC中的网络、节点、消息和信号等内容,阐述了DBC在软件开发和测试中的应用。
摘要由CSDN通过智能技术生成

一、什么是DBC?

DBC(CAN data base)是描述网络上所有电子节点(ECU)之间CAN通信信息的数据库文件。注意三个关键词:网络电子节点CAN信息,DBC文件只用于描述CAN通信,通常一个DBC文件只能包含一个CAN网络的节点信息,因此,为了描述整车的网络拓扑信息,需要多个DBC文件。

例如下面的整车网络拓扑示意图:

众多电子节点划分为不同的功能区块,区块内的节点通过CAN总线相互连接形成独立的功能子网(如动力子网PTCAN、车身子网BodyCAN等),中央网关(GateWay)将不同的功能子网相连为跨网通信提供支持,不同子网上的节点还可以通过单独连接建立私有通信,某些节点(如BCM)还会通过LIN总线建立下属网络。这里功能子网的通信就需要用DBC来描述,并且每一个功能子网都有自己的DBC文件。

二、如何打开DBC?

使用Vector CANdb++ Editor工具可以打开、编辑以及创建DBC文件,通常在安装了CANoe或CANalyzer软件之后会带有该工具:CANdb.exe,执行文件位于软件安装目录下的Exec32文件夹下:

一般如果安装了CANdb工具系统会自动关联DBC文件格式(.dbc),这样便可以直接双击DBC文件打开。

DBC文件也可以通过文本方式打开(如使用windows系统的记事本程序),但是可读性远不如CANdb工具,但这种方式在研究DBC某些内容或想要通过脚本解析DBC文件时比较有用。

另外,需要说明的是CANdb工具分两个版本,CANdb++ Standard和CANdb++ Admin,Admin版支持的功能更多更强,我们一般使用的都是Standard版,后文介绍均基于该版本进行。

三、DBC里有什么?

下图是用CANdb工具打开DBC文件后的窗口界面,左侧窗格含有一个树型导航目录,右侧窗格展示当前选中目标的详细内容:

树型目录的分类与前面提到的三个关键词刚好对应:

Networks —— 网络

Network nodes —— 电子节点

Messages & Signals —— CAN信息

除此之外,这里还有ECUs和Environment variables两项,ECUs下包含的其实是每个ECU的Network Node和Environment Variables,Network Node就是上面说的电子节点,这个在后面会讲,Environment Variables在使用CANoe仿真节点时会用到。

  • Networks

Networks从网络的视角来观察总线上存在的节点、报文及信号,我们展开Networks下的PTCAN网络可以看到下面包括Tx Messages、Signals和本网络上的多个节点,如下图所示:

Tx Messages下列出了该网络总线上所有的报文,其实就是每个节点发送报文的集合。Signals下列出了该网络总线上所有的信号。节点部分列出了每个节点自身的发送和接收信号。

下面来看一下Network的属性参数,通过右击网络名(PTCAN)选择Edit Network打开网络编辑对话框,在Attributes选项卡下可以查看当前支持的参数项:

下面简要说明一下图示中各项属性参数的含义:

参数项

说明

NmType

指定网络管理类型:NmAsr(AutosarNm)

NmAsrBaseA

  • 12
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值