• 正文
    •   现场通讯故障描述
  • 相关推荐
申请入驻 产业图谱

ZLG嵌入式笔记(连载28) | CAN总线故障排查:从问题到解决的实战案例

02/28 15:14
1237
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

在工业现场的煤安监控网络中,CAN总线通信常因复杂环境出现数据丢失问题。本文以一起煤安监控网络中CAN总线数据丢失的故障排查案例,简述了排查过程和解决方法,为工业现场CAN通信故障提供了参考。

  现场通讯故障描述

用户现场为一煤安监控网络,节点包括一个主站设备、两个分站设备,主站设备对分站设备进行轮询式数据查询。故障出现时发现分站上传的数据出现缺失现象。致远电子工程师将专业工具——CANScope分析仪接入故障网络捕获数据,然后进行分析。

图1 CANScope总线综合分析仪

  对故障通讯网络快速体检

监控系统上电工作后,记录一段时间数据,通过【报文帧统计功能】分析,此次测试样本为135个帧,成功报文119个,正确率为88.15%。错误帧类型主要包括CRC定界符错误、帧结束错误、应答定界符错误、数据场填充错误。使用CANScope分析仪捕获到网络中的错误数据,如图2所示。

图2 报文帧统计结果

  数据丢失分析

用户程序采取轮询的方式查询分站数据,存在固有的数据周期,通过【流量分析功能】发现,未丢数据的周期中,包含7条有效报文,如图3所示。

图3 未丢数据周期丢数据的周期中出现了红色的错误帧,如图4所示。有效报文数量=周期报文总数-错误帧数量。正常模式下CAN总线中出现错误帧后底层会实现自动重发,保证报文不会因为错误帧而丢失,然而在本网络中这一机制未能实现。通过检查软件,发现软件工程师在CAN控制器初始化代码中禁用了重发功能,导致错误帧不能重发。

图4 丢数据周期

  错误帧分析

通过修改代码解决了数据重发的问题,但是网络中偶尔冒出的错误帧仍然是工程师的一块心病,错误重发机制的使能仅仅是治标不治本,那么究竟是什么原因导致CAN网络中出现错误帧呢?需要对型号质量进行分析,这里用到了CANScope的信号质量分析功能。通过观察错误帧的波形,发现CAN信号上存在很严重的共模干扰,使得CAN_H和CAN_L上的单线波形畸变严重,如图5所示。

图5 波形分析选取一条错误帧使用【FFT分析功能】进行分析可以看到该错误帧信号上的频域特性,其中在27KHz频点上存在很强的能量,幅值甚至达到了1.38V,如图6所示。CAN总线的显隐性电平的压差很小,1V左右的干扰很容易导致电平识别错误,从而出现错误帧。

图6 FFT分析这一干扰是否具有统计特性呢?使用【干扰统计功能】针对所有样本数据做干扰频点强度排序,发现干扰最强的频点集中在27KHz附近,如图7所示。因此判断在CAN网络附近应该存在这样一个干扰源。后经过仔细排查,发现这一干扰频率与开关电源的开关频率最吻合,由于所有CAN节点未做隔离导致电源串扰,引发错误帧。更换电源后故障消失,问题解决。

图7 干扰统计

致远电子

致远电子

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。收起

查看更多
点赞
收藏
评论
分享
加入交流群
举报

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录