CAN通信出问题现象
使用的设备
致远电子的 USBCAN-1 CAN分析仪,结合其上位机可以读取到CAN报文所有信息。
现象
当外界有强干扰的时候,CAN报文的周期增加,同时对应的错误帧的数量也会上升。
例如:ID为0x156的报文发送频率为50Hz,对应的周期为0.02s。当外界有强干扰的时候,报文的周期会增加(0.02s--->0.025s)部分报文识别为错误帧,同时错误帧的数量会持续增加。
带来的直观现象就是,在受干扰的这一小段时间内接收不到0x156报文。
解决方法
CAN线选型
由双线芯双屏蔽层的CAN信号线改为三线芯双屏蔽层的CAN信号线。
CANH,CANL------->CANH,CANL,CANG
这样所有的CAN模块之间的相对电平为约为0V,模块之间基本没有压差。
(还没有实测转换之后是否有效果)(老师说这样有效果)
CAN线板内走线
CAN线中转在电路板上完成,即电路板上设置两个CANH,CANL。
这样的优点是分支可以做的非常短,对于CAN线来说,CAN线的分支不能超过30cm。
(还没有测试这样连接是否有效果)(老师说这样有效果)
CAN终端匹配电阻
不同线型的CAN线:
对于一条CAN线来说
如果CAN线呈现 "一"字型,那么两端各需要接120Ω电阻。
如果CAN线呈现“人”字型,那么三段各需要接120Ω电阻。
以此类推。
某一CAN线型上的匹配电阻:
对于“一”字型,当CAN线上有多个120Ω电阻时,在有高频干扰的时候,会出现问题:报文周期会变并且误码会一直存在。
对于“人”字型,当CAN线上缺少一个120Ω电阻时,在有高频干扰的时候,会出现如上的相同的问题。
(亲测有效)
终端电阻的布置
终端电阻的布置一般有如上两种硬件电路设计
实际测试效果来说,②的效果要远好于①。