CAN通讯故障分析

一、现象

 CAN监控器上出现错误帧。

 

 二、分析过程

1、检查匹配电阻。两端均为120R电阻,全部断电后万用表测量为60R。(60R为最佳匹配电阻)

2、测试发现单独接发送端,将接收端断开,问题消失,锁定问题为接收端问题。

3、经过核查得知,发送端为500K波特率,接收端为250K波特率,导致问题出现。

三、总结

1、匹配电阻需两端120R。

2、总线上只要有一个节点波特率不一致,将导致总线数据传输异常。此次为监控端、发送端为500K,接收端为250K。

四、知识扩充

1、发生“位填充错误”,可能是CAN波形的上升沿/下降沿出现的位置不准确。
如果你用的是内部晶振HSI,很容易出现这种错误,改用外部晶振HSE即可。
内部晶振频率误差在2%以内,外部晶振频率误差要小得多。
一个8字节数据的扩展帧,由128个左右的位(包括ID、校验等)组成,靠后的位的上升沿/下降沿会因为频率误差累积导致其出现的位置不准确,可以用带存储功能的数字示波器分析出来。

2、如果是点对点通信,两个收发器的波特率和位时间配置如果不一样的话,很容易出现这样的问题。
楼主应该已经检查过通信两端的CAN控制器配置,不过还要检查一下两个MCU的主频是否相同、CAN总线的分频是否相同,CAN总线的H/L线有没有接反,已经终端电阻是否已经匹配。

 

  • 1
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值