波特率, dbc文件详解, 常用can工具介绍与对比
波特率, dbc文件详解, 常用can工具介绍与对比
目录
一、波特率
波特率
是一个设备在一秒钟内发送(或接收)了多少字节的数据, 比如Info CAN上的波特率是500kb/s, 可以简单地理解成传输速度.
以上波特率必须和后续的can工具匹配上, 不然can工具无法接收或发送信号.
下一节课程将会讲到PCAN-Explorer 5的使用, 其第一步就是要配置波特率.
二、dbc文件
dbc文件
, 网上说是database communication的简称, 这翻译也没毛病, 就是将某条can总线上发送和接收到的原始信号(各种16进制码)映射成人类可以看懂的英文信号, 这个信号解析文件, 就是dbc文件.
没有dbc时显示原始的can信号如下:
加了dbc后, 每个信号帧, 每个信号帧和信号都可以看的懂了, 以下截图标红的+号展开后就可以看到各种英文信号了(不好意思这里没截到好图,后续更新上):
之前我们讲过整车can网络一共是5条can总线, 那就会有5个dbc文件来分别解析各条can总线上的信号.
三、常用can工具及其对比
3.1 PCAN工具
配套硬件: PCAN-USB
配套软件: PCAN-Explorer 5 (或PCAN-View).
PCAN-View 免费是只能收发和发送原始报文, 无法导入dbc文件
PCAN-Explorer 5支持导入dbc文件,支持信号画图表和VBScript宏等等
3.2 Vehicle SPY 3工具
配套硬件: neoVI_FIRE2
配套软件: Vehicle Spy 3
通过以上两个can工具的截图, 可以看出
共同点:
can信号接收区:
叫Receiver 或Message, 业界简称都是Rx
can信号发送区:
叫Transmit 或叫Tx Panel, 业界简称都是Tx
信号帧:
即包含了多种can信号的报文帧
帧ID:
为了区别各个信号帧, 分别给个信号帧定义的一个ID, 这个ID一般不会变, 后续被其他节点订阅, 也都是根据帧ID来的. 即FrameID
信号代号:
其实应该叫信号帧代号, 一个信号代号对应一个帧ID
帧内容:
信号帧的实际内容, 其实就是信号帧里的各种信号数据.
发送区信号值设定:
发送信号前都可以设置信号值后再发送出去
不同点:
CAN设备对比
配套硬件 | 配套软件 | license 数量 | 总价格 | 配置 |
---|---|---|---|---|
PCAN-USB | PCAN-Explorer 5 | 可多台电脑复用 | 2100~2773(RMB)(不含软件) | 1路CAN |
neoVI Fire2 | Vehicle Spy 3 | 可多台电脑复用 | 约5.6W(RMB)(软件+硬件) | 8路CAN 4路LIN |
我们都知道以上工具不仅可以接收can信号, 还可以模拟发送can信号.
所以你可以将can工具理解成信号收发器.
以上信号收发器, 仿真了真实车辆的相关信号, 达到了无车辆情况下, 我们也可以仿真地进行信号发送和接收.
以上都不是太重点, 重点请看下面内容
四、通过dbc文件了解整车can网络的信号
4.1 查看INFO CAN dbc文件
我们通过PCAN-Explorer的File->Open菜单项导入infocan.dbc,
也就是说这个dbc是用来解析Info(娱乐) CAN总线上的信号的.
以下是infocan.dbc
的主要信号截图(非全部, 以下两种截图最多是30%信号量)
之前我们说过Info的主要的两个节点: VAES节点
, IPK节点
即车机娱乐系统节点 及 组合仪表节点
在Info can总线上的发送帧
有:
VAES_INFOCAN_**:
是INFOCAN上的VAES(车机娱乐系统)节点的信号发送帧
IPK_INFOCAN_**:
是INFOCAN上的IPK(仪表)节点的信号发送帧
在Info can总线上订阅(接收)帧有:
GW_INFOCAN_**:
是INFOCAN上接收到来自Gateway(网关)中心控制节点的信号帧.
订阅(接收)方有可能是Info can上的VAES或IPK节点.
我们来看看其他4条can的dbc相关信号.
4.2 查看PT CAN dbc文件
PT CAN(动力总成CAN总线)
以下是ptcan.dbc的主要信号截图(非全部, 以下截图最多是20%信号量)
BMS_PTCAN_**:
是PTCAN上的BMS(电池管理系统)节点的发送帧
ECM_PTCAN_**:
是PTCAN上ECM(发动机控制模块)节点的发送帧
GW_CHCAN_**:
是PTCAN上接收到来自Gateway(网关)中心控制节点的信号帧
4.3 查看CH CAN dbc文件
CH CAN(底盘控制CAN总线)
以下是chcan.dbc的主要信号截图(非全部, 以下截图最多是20%信号量)
EPB_CHCAN_**:
是CHCAN上的EPB(电子转向助力)节点信号发送帧
EPS_CHCAN_**:
是CHCAN上的EPS(车身电子稳定系统)节点信号发送帧
GW_CHCAN_**:
是CHCAN上接收到来自Gateway(网关)中心控制节点的信号帧
4.4 查看 Body CAN dbc文件
Body CAN(整车控制总线)
以下是bodycan.dbc的主要信号截图(非全部, 以下截图最多是20%信号量)
AC_CHCAN_**:
是BODYCAN上的AC(空调)节点信号发送帧
BCM_CHCAN_**:
是BODYCAN上的BCM(车身控制模块)节点信号发送帧
GW_CHCAN_**:
是BODYCAN上接收到来自Gateway(网关)中心控制节点的信号帧
4.5 查看Diag CAN dbc文件
Diag CAN(诊断CAN总线)
以下是diagcan.dbc的主要信号截图(非全部, 以下截图最多是20%信号量)
Tbox_DIAGCAN_**:
是DIAGCAN上的Tbox(远程控制模块)节点的发送帧
GW_DIAGCAN_**:
是DIAGCAN上接收到来自Gateway(网关)中心控制节点的信号帧
综上:
网关(Gateway)
这个中心控制节点, 其信号量是最多的,
嘴哥试过, 如果将CAN工具直接连上网关的5条CAN总线, 即使不模拟任何节点, 也可以收到一堆的can信号, 但这些都是网关定义的原始信号.
直到我们模拟发送节点信号后, 网关才将其之前的原始信号值更新, 并将这些更新的信号值源源不断的广播到其他另外4条can总线.
五、原文链接
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)