CAN通信(二)——信号矩阵及DBC

时间:2024-04-11 19:15:59

CAN通信(二)——信号矩阵及DBC

CANoe

汽车电子在整车研发中占据非常重要的地位,汽车内部涉及到ECU之间的总线通信变得越来越复杂。
而CANoe就是开发测试分析整个ECU网络和单个ECU通信而设计的总线通信分析工具,从概念设计到测试验证,再到批量生产,CANoe的使用贯穿整个研发流程。

CANoe软件图标及软件初始界面如下图:
具体CANoe软件的操作,后续的文章会进行补充

CAN通信(二)——信号矩阵及DBC
CAN通信(二)——信号矩阵及DBC

DBC

CAN总线通讯的主要载体是报文,信号是报文的主要组成部分,没有DBC数据库,就无法解析信号。DBC相当于一部针对通信内容的百科辞典。在用CANoe软件读取信号的时候,需要加载DBC
通过CANoe中tools打开CANdb++
CAN通信(二)——信号矩阵及DBC
CANdb++的里面有两个主要的工作区
一、网络拓扑区域
CAN通信(二)——信号矩阵及DBC
二、相关对象的详细信息
CAN通信(二)——信号矩阵及DBC
DBC主要数据对象
CAN通信(二)——信号矩阵及DBC

节点

CAN通信(二)——信号矩阵及DBC
节点右侧的相关对象区域包含内容:
节点名称、发送的信号、接收的信号、发送的报文。

报文

CAN通信(二)——信号矩阵及DBC
报文右侧的相关对象区域包含内容:
定义(名称、帧格式、ID、DLC、发送方、周期)、接收方、属性、信号布局

信号

CAN通信(二)——信号矩阵及DBC
信号右侧的相关对象区域包含内容:
信号配置包括定义,报文映射,属性
物理值=总线值*比例因子+偏移量
信号排布
motorola型:高字节在前,低字节在后
Intel型:相反

环境变量

CAN通信(二)——信号矩阵及DBC
总之,在信号与报文、报文与节点关联完成后,就可以在通信矩阵中观察他们的收发关系。对应的信号矩阵,就是确定了他们收发关系的信号矩阵excel表。

信号矩阵

供应商在开发ECU软件的时候,主机厂是必须要提供其设计版的信号矩阵,明确具体的ECU收发的报文及对应的信号。通常情况下会包括如下部分(以车速为例介绍下):
CAN通信(二)——信号矩阵及DBC
个别信息解释如下:

CAN通信(二)——信号矩阵及DBC
LSB:16(起始位)
MSB:12(终止位)
Size:13(长度)

那么factor为啥是0.056
我们先确定了长度是13bit,并在报文中把该信号排布,那么可知:2^13=8192
从0-8191刚好为8192个数字,那么8191转化为十六进制的数是不是1FFFF,看看coding值范围
0x0000~~0x1FFF

但是设计的时候,车速规定的区间是0-300也及
最小值:0
最大值:300
并且coding规定了从0x0000~~0x14D5才是有效的

14D5转化为十进制数为5333
factor=300/5333=0.05625
反应到DBC中如下图:
CAN通信(二)——信号矩阵及DBC
是不是恍然大悟的感觉!