问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

技术小课堂 | CAN总线应用常见问题(2)

创作时间:
作者:
@小白创作中心

技术小课堂 | CAN总线应用常见问题(2)

引用
与非网
1.
https://m.eefocus.com/article/1730635.html

CAN总线作为一种常用的通信协议,在汽车、工业自动化等领域得到广泛应用。然而,由于各种原因,CAN总线在使用过程中可能会出现各种故障。本文将讲解CAN总线应用过程中的常见问题和解决办法。

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

控制器配置低波特率通信正常而提高通信速率后无法通信的问题,主要是由于终端电阻未匹配导致的。CAN收发器芯片内部的CAN线CANH、CANL引脚是开漏结构,如下图1,总线上的寄生电容在显性状态时会被充电,而从显性状态切换到隐性状态的时候,总线上的电容要放电。如果CANH、CANL之间没有匹配电阻或者匹配的终端电阻太大,就会导致电容上的电荷放电速度过慢,从而在下降沿出现边沿下降过缓的现象,如图2,进而导致控制无法采到正确的电平,引发通信问题。


图1、CAN收发器芯片内部CANH、CANL结构


图2、显性状态切换到隐性状态边沿缓慢

解决方法

  • 匹配适当的终端电阻;

总线电容过大导致的通讯异常

CAN收发器为了实现CAN的仲裁与错误处理,采用单向驱动结构,即CAN波形的上升沿有驱动,而下降沿是通过整条总线与终端电阻放电产生的,所以终端电阻的第一作用是放电。CAN节点及CAN线束的电容会影响整个网络的电容,电容越大,下降边沿越缓,导致接收节点发生位采样错误,从而产生错误帧。

解决方法

  • 检查CAN总线上是否有外加电容、是否有保护器件(TVS等)的寄生电容过大等问题,适当去除,以降低电容,建议将单个CAN节点电容控制在 40pF~100pF范围内;
  • 降低工作波特率,波特率降低可以延长位时间,减小电容的影响,但若电容过大,则不一定有效;

CAN总线波形出现明显的共模震荡

共模振荡通常是由于传输线缆和PCB布局走线会耦合感性负载,而信号在感性负载下传输会出现信号共模抖动,可修改终端电阻中点的对地split电容调整信号质量,调整范围1nF~100nF,推荐值4.7nF。

图3、调整split电容或更换TPT1044、TPT1057、TPT1462可有效改善信号质量
图4、无split电容时共模抖动
图5、有split电容下共模无抖动
图6、TPT1044不增加Split电容下共模无抖动

总线干扰过大问题

CAN总线虽然有强大的抗干扰和纠错重发机制,但目前CAN被大量应用于新能源汽车、轨道交通、医疗、煤矿、电机驱动等行业,而这些场合的电磁环境比较复杂,所以如何抗干扰是工程师最为关心的话题。

为此可采用提高CAN双绞程度、加单双屏蔽层、使用CAN隔离模块、弱电远离强电、优化布线等方式以提高CAN通信抗干扰能力。同样在采用不合理的组网方式时,也可能会导致信号反射严重引起信号振铃,在总线产生振铃时,其总线差模信号会反复在显性电平和隐性电平阈值振荡,导致RXD产生误翻转,从而使接收数据受到干扰。

图7、常规CAN总线振铃干扰波形
图8、CAN SIC振铃抑制对比波形

总线错误状态和分析

按照CAN协议的规定,CAN总线上的节点始终处于以下三种状态之一:

  • 主动错误状态;
  • 被动错误状态;
  • 总线关闭状态;

这些状态依靠发送错误计数和接收错误计数来管理,错误类型包括位错误、ACK错误、填充错误、CRC错误、格式错误,根据计数值决定进入何种状态。错误状态和计数值的关系如下图所示。

图9、单元的错误状态

节点处于主动错误状态下检测到非法帧格式会主动输出错误帧,错误帧由6个显性位和8个隐性位组成;利用该特性可以使用示波器捕捉错误帧波形,分析错误类型和原因。

例如CAN的仲裁域波特率为500kbps时,以CANH触发为例。选择触发方式为脉宽触发,触发脉宽选择>11μs(保证大于5个连续显性位),触发电平>2.5V,即可抓取错误帧波形。

图10、错误帧波形

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号