串口转CAN设备由于数据量过大引起的通信失败的问题如何解决

描述

GCAN-201 模块(CAN232/485MB)是集成 1 路标准 CAN-bus 接口、1 路标准串行接口(RS-232/RS-485)的工业级 CAN-bus 与串行总线通讯连接器(网桥)。采用GCAN-201模块,用户可以将原本使用RS-232/RS-485总线进行通讯的设备,在不需改变原有硬件结构的前提下使其获得 CAN-bus 通讯接口。

来自北京市某公司的崔工在使用GCAN-201模块的时候遇到一个问题:他的CAN总线系统中有传感器、显示器、控制器等很多个设备,然后崔工现场还有一个使用RS485通信的传感器也想接入现有的CAN总线系统实现统一监控和控制,但是他在实际调试使用时发现,当他只将RS485通信的传感器和CAN通信的显示器分别连接到GCAN-201设备时,显示器可以收到传感器的数据并且可以正常解析,但是当崔工把其他CAN总线通信的设备都连接上时,显示器就收不到传感器的数据了。

在了解了崔工遇到的问题后,我马上建议他测试一下目前CAN总线通信系统中的数据流量,因为“只将RS485通信的传感器和CAN通信的显示器分别连接到GCAN-201设备时是可以正常通讯的”这说明设备GCAN-201两端的参数配置没有问题,那么就基本可以判断问题出现在整个的CAN总线系统中。由于崔工手边并没有USBCAN,于是只能使用GCAN-201测试,测试后,崔工发给我如下截图。

在串口调试助手中,我们发现串口端接收到了大量的数据,而且速度很快,这说明了原有的CAN总线系统数据量非常庞大,而这也是导致GCAN-201的RS485侧的传感器数据上不来的主要原因——数据的转换速度已经达到了极限。

定位问题后,其实就很好解决了,我们只需要将没有用的CAN总线数据过滤掉,不让没有用的数据经过GCAN-201模块发送到RS485总线上就可以解决了。因此我先让崔工确定一下显示器发送给RS485的传感器的CAN帧ID,之后我们进入GCAN-201的配置模式,选择“CAN参数”选项卡,在下边的“滤波参数”中输入显示器发送给传感器的数据的帧ID,之后确认保存。

重新将GCAN-201模块上电后,我们再次使用GCAN-201测试了一下CAN总线通信系统中的数据,发现串口调试助手中只能接收到当初我们设置好的帧ID的数据了,说明我们的设置已经生效。这时再将现场中的设备全部接到一起后显示器就可以正常收到传感器的数据了。

在这里杨工要提醒一下广大用户,在使用我们公司GCAN-201设备前一定要了解想要接入的CAN总线的实时数据量,如果接入的是CAN总线数据量较大的系统(如:汽车CAN总线系统)中时,则必须要设置GCAN-201模块的CAN总线滤波功能,设置完滤波后,GCAN-201模块就只会接收之前设置好的帧ID的数据了,而其他总线上的数据不予转换。

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

全部0条评论

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

×
20
完善资料,
赚取积分