Part Number:ISO1050
在使用时,按照手册上推荐的原理图进行设计,当连接1至4个设备是,工作正常,波形良好,当连接到12个设备后,工作异常,单片机会一直报CANerror ,导致单片机无法正常发送命令,如果使用USB转CAN读取数据会发现,开始只发送一条CAN数据,但是,在总线上会有15条同样的数据连续发出。如果用示波器读取会发现开始会连续不停的发送同一条数据,当数那条数据发送结束,单片机就会报CANerror 导致无法工作,通讯速率1M,通讯距离3米。
Amy Luo:
您好,
连接12个设备时,CAN总线波形是怎样的?您可以附上单端和差分的CAN波形吗?与连接1至4个设备时有什么区别吗?
检查下除了CAN总线最远端的两个节点需要端接120Ω电阻外,其他节点不需要端接。
,
user6416550:
是正常连接的,在CAN总线最远端有一个120Ω电阻,在ISO1050最近端也有120Ω电阻,测试的波形不正常,不是矩形波
,
Amy Luo:
测试的波形不是矩形波,是RC充电波形吗?如果是RC充电波形,那么应该是总线上的电容负载太大的缘故。
CANH到GND和CANL到GND的电容最终将作为跨CAN总线的差分电容。
隔离CAN数据表给出的上升/下降时间是基于100 pF总线电容,如果差分电容增加,上升和下降时间将会减慢。
影响总线电容的元件有:
1、外部保护组件,如CMC,TVS等
2、电缆(典型的CAT5电缆可提供50 pF/m的相互电容)
3、连接器
4、总线上的节点数(每个节点将提供特定的差分电容)
,
user6416550:
不是这个原因,我测试了一下,很奇怪
,
user6416550:
我找到一个文章,感觉这里说的挺对的,我分享给您看一下www.zlg.cn/…/1084.html
,
Amy Luo:
非常感谢您的分享!很实用的文章。
您的CAN波形上是有上述文档中提到的边沿台阶吗?尝试使用文档中的方法,比如减少分支长度、在长分支末端加上电阻,是否有改善?
,
user6416550:
是的,就是根据这个改了一下,就好了
,
Amy Luo:
好的,感谢您的反馈!
,
user6416550:
没关系,这样也能帮助更多的人
,
Amy Luo:
嗯嗯,是的,很高兴您的问题得到解决,也非常感谢您的分享!
,
user6416550:
还有就是提个建议,在咱们的数据手册上增加些这样处理问题的办法,不一定每个总线都适合120Ω+120Ω,可以根据示波器的波形,来调整匹配电阻的阻值
,
Amy Luo:
您是在长分支末端加终端电阻解决的这个问题吗?
,
user6416550:
是的
,
Amy Luo:
好的,感谢反馈!
其实这个端接电阻不是由CAN收发器决定的,它是由 CAN标准ISO118982规定的,看下面截图,也说明这个端接电阻值与总线拓扑, bit rate, slew rate和总线中的节点数有关。
,
user6416550:
确实,应该是根据需要和实际情况来匹配负载电阻,这样才能保证通讯正常,可能是我的工作频率太高了1M的速率,如果吸收不及时就有可能造成反射的情况,从而引起回波,产生振荡。
,
Amy Luo:
下面文档希望对您设计CAN总线有帮助,也有对应英文的 English Document: SLLA486
有关隔离式 CAN 总线设计的几大设计问题 (Rev. A)
,
user6416550:
好的,谢谢您