jiamingz 发表于 2014-11-26 09:25:55

CAN网络误区总结

高速CAN通信异常。针对该问题做了调查。同时整理下以前CAN调试的一起问题,总结下的经验,与大家共享。如有错漏,请指出。一.该项目高速CAN异常主要有两个原因:
1)三个节点都有终端电阻,根据ISO11898,高速CAN终端电阻需要根据总线拓扑结构来定,只需要2个终端电阻。
2)波特率异常,MCU时钟设置不精确,导致1M波特率有错误帧。
二.经验总结:
误区一:CAN网络只要通信正常就说明终端电阻匹配正常。
      一般情况下,不要终端电阻或匹配异常,低速网路也可以正常通信,但高速CAN网络必须要终端电阻。低速CAN网络终端匹配电阻大于>500欧姆(常用560欧姆),高速CAN网络终端匹配电阻为120欧姆。影响低速CAN网络的主要因素是总线的负载电容,影响高速CAN网络的主要因素是终端电阻。且低速CAN网络和高速CAN网络的拓扑结构也有很大差异。如下图:

http://mm.263.com/wm2e/mail/mailOperate/mailOperateAction_mailInnerFileDownloadImg.do?mailCodeType=img&emailIdentity=0053c87c450f37d7@008b@50f9936c8c755097&folderId=10&usr=jiamingz@hwtc.com.cn&sid=MWo3aTNhMW0waTFuNGc2ejlA&innercid=image001.jpg@01CFA26B.E39CFAF0
误区二:高速CAN网络中,每个节点都需要匹配电阻。
   终端电阻是相对于CAN网络来讲,而不是节点。根据ISO11898,高速CAN终端电阻需要根据总线拓扑结构来定,网络的两端一定要有终端电阻。
误区三:使用kvaser做测量,CAN网络必须要3个以上的节点才能正常通信。
       在我们原来使用时,发现过这种情况,必须挂上额外的节点,CAN网络才能正常通信,这是因为kvaser中做了光耦隔离,kvaser节点中并没有终端电阻。只要在网络中接入终端电阻,通信就可以正常。
误区四:挂上kvaser会导致高速CAN网络通信异常。
       这个的主要原因是CAN网络中的波特率异常,导致kvaser发送错误帧。kvaser内部做了光耦隔离,对总线的干扰影响相对较小。
误区五:只要使用两根双绞线,CAN就可以正常通信。
      CAN能否正常通信,主要看总线的拓扑结构,匹配电阻和负载电容。低速CAN错误连接可能会正常通信.ISO11898规定,高速CAN总线长度不能超过40m,高速CAN匹配电阻为120欧姆,同时要求节点CAN支线长度不能超过0.3m;
ISO11898规定,低速CAN总线长度不超过10km,支线不超过6m.
http://mm.263.com/wm2e/mail/mailOperate/mailOperateAction_mailInnerFileDownloadImg.do?mailCodeType=img&emailIdentity=0053c87c450f37d7@008b@50f9936c8c755097&folderId=10&usr=jiamingz@hwtc.com.cn&sid=MWo3aTNhMW0waTFuNGc2ejlA&innercid=image002.jpg@01CFA26B.E39CFAF0

注:kvaser是可连接PC的CAN调试器。

rifjft 发表于 2014-11-26 09:48:18

学习学习,还有吗……{:shy:}

jiaxinhui 发表于 2014-11-26 09:50:03

对搞CAN通讯的朋友有一定的帮助,谢谢楼主提供。                                                               

johnlj 发表于 2014-11-26 10:05:46

总结的非常好,对初学者有帮助

lxjiiing 发表于 2014-11-26 10:51:22

正在使用CAN总线,非常有用。感谢

苏格拉底de猪 发表于 2014-11-26 11:39:19

总结的非常好

yyzz20022001 发表于 2014-11-26 11:48:15

影响低速CAN网络的主要因素是总线的负载电容,影响高速CAN网络的主要因素是终端电阻      

这个表示不能接受,高速通讯中 电容影响更大,can波形的下降沿增加,无法满足通讯时序
我们在现场使用中,经常由于线路中的负载电容太大造成can时序中下降沿过慢,无法正常通讯,此时减小终端电阻,使波形边沿改善(但损失幅值)而正常通讯。

jiamingz 发表于 2014-11-26 12:06:27

yyzz20022001 发表于 2014-11-26 11:48
影响低速CAN网络的主要因素是总线的负载电容,影响高速CAN网络的主要因素是终端电阻      

这个表示不能接 ...

感谢回复,接受你的意见。总线负载电容对CAN总线通信影响确实非常大,通常总线的负载电容不是那么容易控制,能够调整的也只有是匹配电阻。

老谷 发表于 2014-11-26 15:37:19

收藏备用,谢谢

ryphoon 发表于 2014-11-26 15:47:46

学习了,正在研究CAN

orson 发表于 2014-11-26 16:49:53

讲的非常好,今天在应用中发现ZLG的USBCAN-2E-U两路can同时使用时要求另一路不用的can必须加120欧姆,否则通讯异常,估计是我的上位机的问题!

乌托青年 发表于 2014-11-26 16:58:26

学习哈,非常不错

cwei 发表于 2014-11-26 19:00:47

终端匹配电阻也不一定就是两个需要根据具体接法确定

jiamingz 发表于 2014-11-26 20:26:44

cwei 发表于 2014-11-26 19:00
终端匹配电阻也不一定就是两个需要根据具体接法确定

设计一定要遵循规范,否则会有非常多匪夷所思的问题。

shian0551 发表于 2014-11-26 20:27:36

还有,尽可能加 共模电感.个人觉得很重要.

LiuYH 发表于 2014-12-19 15:07:18

总结的不错。上次在调CAN的时候,当节点数大于8个的时候就出现通信异常了,一查,发现原来在每个节点上都加了120的匹配电阻,去掉了其他电阻,保留终端电阻就解决了

wochai 发表于 2014-12-19 20:27:23

我工作中遇到的CAN速率是20K,不知大家用的是多高?

sgweilong 发表于 2014-12-20 12:25:07

对于CAN BUS,如果真要究真的话,建议看看ISO11898原文。
没有高速和低速这种分类,实际上是高速CAN和容错CAN。
ISO11898讲的就是“高速”CAN,至于容错CAN很多人一辈子都接触不到。

所谓的1Mbps/40m到5Kbps/10Km的这种,都是ISO11898“高速”CAN的范畴,或者叫“高速”CAN的低速应用。
CAN的低速应用实际上违背了ISO11898标准,但是不妨碍在中国大行其道,也证明了这种总线的超强性能!
页: [1]
查看完整版本: CAN网络误区总结