解析CAN通信收不到数据现象

描述

前几天来自北京某公司的计工使用我们的GCAN-205模块时遇到了一个问题。

计工:“杨工,我在使用GCAN-205模块周期发送CAN数据时遇到了这样一个问题,当我使用USBCAN分析仪测试这个模块的时候,将模块上电后,USBCAN分析仪可以正常接收到模块发出的报文,但是还有些时候插上USBCAN分析仪只能收到几帧数据之后就再也收不到数据了,这时我如果对GCAN-205重新上电,就又能正常的收到数据了。我还特意把数据保存下来了,麻烦你帮我看一下。”

CAN

一般出现通讯问题都是需要先检查接线、终端电阻和波特率是否一致,但根据计工的描述来看,他遇到的问题不是由这三个问题引起的,因此我仔细的询问了计工到底是如何操作才会出现这种收不到数据的现象,得到的结果是:在总线上只有USBCAN分析仪和GCAN-205模块时,并且只有在反复重启USBCAN分析仪的软件时或是模块先上电再插入USBCAN分析仪时才会出现这种问题。

现象分析

基于计工的以上操作和现象,我们基本可以判断出导致这种现象的原因是在USBCAN分析仪关闭软件期间或没有接入GCAN-205模块时,总线上只有GCAN-205模块一个节点,当它发送数据时没有其他节点与他应答,导致GCAN-205模块发送错误,最终总线关闭,而在总线关闭的时候,再接入USBCAN分析仪就没法接收到数据了。找到产生问题的原因后我们让计工将这两个设备接入到实际的CAN总线系统中就可以了。

杨工总结

最后杨工在这里要提醒一下广大用户:CAN总线物理层有一个保护机制,当一个设备向总线上发送数据而没有其他设备应答的时候发送失败的设备会提示主动错误,同时错误计数会增加。当错误计数增长到一定数量的时候发送失败的设备就会主动关闭CAN总线,此时将不再向总线上发送数据了。进入总线关闭状态的设备只能通过复位或重新启动的方式才能让设备恢复正产通信模式。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分