是否在处理CAN总线问题时感到头疼?是否在寻找简单直接的方法来解决那些看似复杂的连接故障?本文将为您提供实用技巧,让您能够轻松应对这些难题。
CAN总线因其高效、可靠的数据交换能力,在汽车、工业控制、航空航天等多个关键领域得到广泛应用。随着技术进步,CAN总线的应用已扩展至电池储能、医疗器械、智能建筑等新兴领域,使得对CAN总线测试的需求日益增长。确保数据传输的可靠性和系统的稳定运行,对CAN总线系统的精心设计、精确调试和持续监控至关重要。本文汇总了在日常测试过程中典型的物理层连接问题,并提供了相应的解决策略。
Q1:断线/CAN_H和CAN_L接反/接线不当
直观现象:CAN通讯报错,无法继续
解决方法
如可以看出线缆损坏,直接换线即可,外表看不出来的可以使用断路测试仪检查每一个引脚;接反的话反接即可。
Q2:线缆类型错误:非CAN线/非双绞线
有可能现场用的线缆看起来是用于CAN方面的,但实际不是CAN线缆,不符合标准定义,例如误买交叉式的DB9线缆。
解决方法
检查线缆的引脚分配,如果不符合标准就更换线缆;如果符合标准,再检查其它方面。
Q3:网络上只有1个正常通讯的节点
一个正常工作的CAN网络至少有两个或者更多CAN节点。如果只有一个CAN节点正常工作,它的错误状态就会进入被动错误,因为它发送报文后没法接收到对方的确认回复。
解决方法
监测节点的错误状态:
■ Bus Light:超过96个错误时,进入“error active”
■ Bus Heavy:超过127个错误,进入“error passive”
■ Bus Off:超过255个错误,进入“bus off”
注意:如果只有一个正常工作的CAN节点而且它发送了一条CAN报文,那么这个报文就会很快速地一直被重发,直到它收到另外一个节点的确认回复或进入被动错误状态。
Q4:终端电阻错误
高速CAN总线必须在CAN线两端各接入120 Ω 终端电阻(CAN_L与CAN_H之间),这样做有利于减少线缆的信号反射并确保CAN收发器能正常工作。
解决方法
直接测量CAN_L与CAN_H之间的终端电阻,有经验的用户可利用虹科PCAN-Diag FD的示波器上波形形状评估终端电阻的情况(看侧翼振铃等)。
Q5:波特率错误
同一个网络的各节点波特率应保持一致。如果不一致,还会影响其他节点通讯。
Tips:
■ 相同的波特率但是时钟频率不同,这个主要是针对CAN FD网络,在CAN FD网络里,波特率越高就会越接近物理极限。所以在同一条网络,不建议用户使用不同的时钟频率——建议使用40或80MHz的时钟频率。
■ 相同的波特率但是采样点不同,如果两个节点的采样点不同,可能导致信号采样不准确,造成数据位解析错误。这样的情况下,节点之间的通信可能会出现冲突、数据丢失或解析错误,影响系统的正常运行。
解决方法
配置设备时需保持主要参数设置一致,采用虹科PCAN-Diag FD检测CAN/CAN FD网络的波特率。
Q6:相同ID引起的通讯冲突
在CAN总线通讯中,每个报文都有一个唯一的标识符(ID)来区分不同的消息,如果两个节点发送了具有相同ID的消息,就会导致通讯冲突,这样就没法仲裁哪条报文的优先级更高,每次冲突都会使得错误计数器加1。
解决方法
可通过虹科PCAN-Diag FD的trace记录功能以及错误帧记录功能查找,或用虹科PCAN-View/PCAN-Explorer 6软件在线监控,查找哪些CAN报文发生了冲突。
Q7:CAN线过长
传统CAN总线波特率与长度相关(见下表关系,此表表示的是理论值,与现实可能有出入)。
1Mbit/s的波特率,在一个完美的布线系统里面不能超过40m(理论值),但其实最大的线缆长度也与所用收发器有关。对于CAN FD来讲,波特率也取决于线缆长度,尽管CAN FD的波特率更高,如果总线长度超过40米,CAN报文就会失效,因为ACK位到来的太晚。
解决方法
根据实际情况缩短线缆的长度。
Q8:总线负载率过高
总线负载过高会引起传输故障。这个通常是指发送的报文过多,特别是在波特率和cycle time较高的情况下容易发生。或者是一条CAN报文发生错误,然后CAN控制器一直尝试重发该报文,这会导致总线负载增加,总线负载率过高可能导致通信速度变慢,数据传输延迟增加,甚至导致通信错误和数据丢失。
解决方法
■ 减少报文
■ 延长报文发送周期
■ 提高总线波特率
■ 如果使用CAN2.0,后续可考虑使用CAN FD
这些信息可以通过虹科PCAN-Diag FD或者虹科CAN总线分析软件PCAN-View/PCAN Explorer 6获取。
面对这八种常见的CAN总线问题,您可以通过虹科提供的免费CAN总线分析工具——PCAN View软件,轻松进行故障排查和诊断。
当出现上述图中情况,又或总线状态一直在变化,时而正常时而报错,证明总线可能出现以上错误,我们可以一一排查,进而解决问题。此外,以上所描述的报错,用虹科CAN总线分析软件PCAN-View/PCAN Explorer 6,通过报文状态,还能进行进一步的解析。