
【CAN错误帧分析】
阶段性排查方向总结
问题1:正常CAN高和CAN低的显性压差应为2V,最低为1.3V,CAN0总线压差普遍偏低1.28V到1.7V,增大总线终端电阻达到120欧姆。
上图左侧为错误帧的CANH、CANL实际总线电压波形图,差分电压为1.7V。右侧为总线在出现问题时的眼图最低压差达到1.28V。
问题2:排查以下ID的节点控制器CAN信号发出CAN差分电压是否为正常
应答定界符格式错误
标准帧:0x670、0x654、0x675、0x66C、0x65B、0x647、0x64B等等等~
扩展帧:0x120BB430、0x19FFD783、0x181F0144等等等~
帧结束格式错误
标准帧:0x666、0x672等等等~
扩展帧:0x120BB410、0x0CFF1C90、0x120BB400等等等~
数据场填充错误
标准帧:0x66F等等等~
扩展帧:0x181f0744等等等~
IDE位填充错误
标准帧:0x6FF、0x600、0x650、0x200等等等~
扩展帧:无
CRC序列填充错误
标准帧:0x674等等等~
扩展帧:0x181f0844等等等~
帧ID填充错误
标准帧:无
扩展帧:0x120bb400、0x181f1a40等等等~
CRC界定符错误
标准帧:0x65c
扩展帧:无
RTR位填充错误
标准帧:无
扩展帧:0x12BB520
问题3:拉载功率达到六十会有干扰信号,还需排查整车线束布线和屏蔽。
上图为ID:0x670 在拉载前后的波形图对比,毛刺较多的为拉载。
1、背景
CAN0路错误帧分析
1、CAN0路设备
PDU、节温器、Tbox、巡检、氢浓度探测器
2、故障现象
低功率时无异常、在拉载功率达到六十以上时CAN0开始出现错误帧,错误帧不连续,通常十秒左右出现一次,错误帧数量不等,在二三十至四五百之间每秒。在错误帧出现过多时将会导致节温器通讯故障,并且在错误帧过多时会导致CAN盒通讯中断。
3、目前排查结果
(1) CAN0路电压和终端电阻正常
(2) 更换海亿巡检器后依然有错误帧,更换易控巡检器后在60KW未出现错误帧但会干扰氢浓度传感器导致氢浓度传感器误报,系统停机。
(3) 更换氢浓度传感器后再拉载高功率依然存在错误帧
(4) 拔掉Tbox后拉载依然存在错误帧
(5) 拔掉节温器,拉载在高功率依然存在错误帧
(6) 在不同线束位置套磁环,发现在CAN1与整车连接处套磁环可一定程度减少错误帧数量。
(7) 剪断CAN0与整车预留OBD接口线束连接后依然在拉载高功率时出现错误帧
(8) 剪断CAN1整车线束屏蔽层,在CAN1线上套磁环拉载至92KW正常,无错误帧,拉载过程去掉磁环仍无错误帧。
(9) 在(7)的状态下再次拉载至60KW依然出现错误帧。
(10) 蒋CAN1屏蔽层与整车接地后进行拉载依然会出现错误帧。
2、正常状态CAN差分电压与眼图
上图为我们控制器在终端电阻为60欧姆时,测量CAN高、CAN低的实际电压波形图。
主要参数:
CANH:的高电平为3.8V,低电平为2.6V
CANL:的高电平为2.65V,低电平为1.73V
CAN差分(高-低):显性为2V,隐形为0V
眼图是逻辑脉冲的重叠,用于测量信号质量。 通俗点,就是把所有的“0”和“1”叠加到一起,观测,信号畸变程度的一种统计方法。
在 CAN 总线上可能同时挂接多个 CAN 节点; 而不同的 CAN 节点可能会使用不同的收发器和不同的波特率计算方法;不同 CAN 节点的距离又不可能相同,导致的线上压降。 等等原因,都是导致信号畸变的原因。从而影响到信号的正确接收。所以需要使用眼图分析的方法来查看传输的信号是否符合,是否有风险。
例如 CAN-bus 的 ISO11898-1 规定显性逻辑的差分输入电压要大于 0.9V。如上图所示, 如果要让 CAN 总线正常通信,眼图中灰色区域的电平最小值不能小于 0.9V。图中测量到的眼高为 1.75V,是符合通讯要求的。
3、出现错误帧状态下:CAN差分电压
这是一帧ID为0x670,字节8字节数据 1D 11 29 11 21 11 2E 11,发送后,因为压差普遍较低导致总线远端多个节点应答错误,多个设备同时发送应答错误帧,电流能力比强 把CAN差分电压达到3V。
正常状态:CAN差分(高-低):显性为2V,隐形为0V
错误帧状态:CAN差分(高-低):显性为1.3V,隐形为-0.98V
眼图最低幅值为1.28V ,不满足电平幅值1.3V 的最低要求 。
4、应答定界符格式错误
670
654
675
66C
120BB430
19FFD783
0x65B
181F0144
0x647
0x64B
5、帧结束格式错误
0x120BB410
0x0CFF1C90
0x666
0x120BB400
0x672
6、数据场填充错误
0x181f0744
0x66F
7、IDE位填充错误
0x6FF、0x600、0x650、0x200
8、CRC序列填充错误
0x674
0x181f0844
9、帧ID填充错误
0x120bb400
0x181f1a40
10、CRC定界符错误
0x65C
11、RTR位填充错误
0x12BB520