CAN 报文的信号解析

1. 信号的本质

问题:CAN报文与信号之间的关系是什么样的?信号在哪里?ECU 发出一帧CAN报文中一般会含有多少个信号?

  • 信号分布在CAN报文的 数据域
  • 协议规定一帧 can报文的数据域 最多8个字节
  • 企业在设计报文时,一般都固定设置8个字节

这么看来,可以知道,信号的本质就是一系列的二进制的0、1 bit

 

2. 信号矩阵Matrix

主机厂制定信号在数据域中的分布、信号值的换算是通过信号矩阵来的。信号矩阵一般是车企的保密资料。

1. 信号矩阵表一般包含哪些字段?

报文ID、报文的发送周期、信号起始位、信号位的长度、信号值的换算、单位等等。

如下是一个防抱死系统,msg 187的信号矩阵表的信息, 含有4个信号,每个信号的信号名、起始位,周期,长度、系数等都不一样。

 

2.1 CAN报文数据域8个字节的二维布局

 一维数据实际按照二维布局,如下:

 根据上面的信号的起始位置,就是按照上面这个二维布局来看。

车速信号起始位是40,长度为13, 按照Motorola编码方式,是往上数13个bit,如下

 

 

根据监听的报文 00 00 00 00 06 40 00 00 计算真实车速

 如上将车速的13个bit 按照MSB, LSB排列:

 0 0 1 1 0 0 1 0 0 0 0 0 0 ,=1600