CAN通讯常见的硬件问题

1、低波特率通信正常,高波特率无法通信

问题:终端电阻未匹配。CAN收发器芯片内部的CAN线CANH、CANL引脚是开漏结构,如下图 1,总线上的寄生电容在显性状态时会被充电,而从显性状态切换到隐性状态的时候,总线上的电容要放电。如果CANH、CANL之间没有匹配电阻或者匹配的终端电阻太大,就会导致电容上的电荷放电速度过慢,从而导致在下降沿出线边沿下降过缓的现象,如图 2,从而就会出现通信问题。
解决方法:匹配适当的终端电阻。

2、总线电容过大导致的通讯异常。
问题:总线电容过大。总线电容过大会影响CAN差分波形上升下降速度,如上图。
解决方法:a. 检查CAN总线上是否有外加电容、是否有保护器件(TVS等)的寄生电容过大等问题,适当去除,以降低电容。注意,这里尤其需要注意的是TVS的寄生电容!!!b. 降低工作波特率。波特率降低可以延长位时间,减小电容的影响,但若电容过大,则不一定有效。

3、应用中易损坏,更换模块后正常。
问题:保护不足。CAN模块由于体积受限,内部保护电路等级不高。在一些环境恶劣的应用现场,干扰能量过大易造成损坏。
解决方法:根据损坏情况适当增加保护电路。下图是推荐的典型保护电路简图。

L1为共模电感,用于滤除差分线上的共模干扰,其阻抗选择范围为120Ω/100MHz ~2200Ω/100MHz,典型值选取600Ω/100MHz;

C1、C2为信号线上的滤波电容,给干扰提供低阻抗的回流路径,我一般取33pF,太大了会对通讯造成影响;

C3为接口地和数字地之间的跨接电容,典型取值为1000pF,耐压要求达到2KV以上,C3容值可根据测试情况进行调整;

D1、D2为瞬态抑制二极管,因为TVS只是用来静电防护,TVS的功率不作要求。TVS管的结电容对信号传输有一定的影响,CAN接口推荐使用结电容小于100pF的TVS管。

如果设备为金属外壳,同时单板可以独立的划分出接口地,那么金属外壳与接口地直接电气连接,且单板地与接口地通过1000pF电容相连;如果设备为非金属外壳,那么接口地PGND与单板地GND直接电气连接。

4.5V模块匹配3.3V MCU,错误帧多或发不出数据。
可能原因:电平不匹配。5V模块匹配3.3V MCU在测试中可能并无异常,但由于某些参数的微小变化,就会导致电平不能正常识别。图4标示了模块TXD输入高电平的最低值0.7VCC,如小于该值,则存在风险。
解决方法:选择3.3V模块匹配3.3V MCU,或增加电平转换电路

5.CAN布线注意点:

采用双绞线传输信号,建议用屏蔽双绞线减少干扰

确保每端有120Ω 终端电阻,总线两端都需要终端电阻匹配

CAN的波形:

阻抗测量的方法:

直接用万用表测量对地电阻即可:

本文参考自:

CAN通讯常见的几个问题及解决方法

CAN接口异常分析指南 - 知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值