登录注册
论坛
一粒金砂(中级)
134
0
485点对多通信,采用modbus通信协议,菊花型连接,FPGA发送数据,挂载两个设备接收数据(地址01和02)。采用串行方式发送(及按照时间顺序,发送一帧数据,延时一段时间),接收设备没有出现问题,现在需要改进,不断的像一个设备02发送数据,在发送数据的空闲,及在延时的时间内(延时时长大于发送一帧数据所需要的时间),插入一帧数据。出现的问题是插入这一帧数据以后,设备02在插入数据帧的地方数据出现问题,02设备的没有按规律变化,请问这个是什么原因?希望出现的情况是02设备数据不受影响,01设备数据通信正常。下图为FPGA仿真和02设备的波形图。
扫一扫,分享给好友
版主
1万
141
总线上只要出现数据,所有节点都将收到。要使其中某一节点不受插入数据的影响,应该在发给自己的数据都收到后关闭串口接收,待延时时长到达之后再打开。不过,这样的操作可不规范,至少协议不再具有通用性。更好的处理办法是严格执行协议,非本节点的数据根本就不应该响应,自然也不会出现数据问题,可见还是你的协议解析程序编制的有问题。
发表回复 回帖后跳转到最后一页
论坛威望大于30000或网友提名:坛子里公认的技术导师
EEWorld Datasheet 技术支持
查看 »