[STM8] 485一主多从通信问题

[复制链接]
6579|49
 楼主| weimina1022 发表于 2016-1-15 11:58 | 显示全部楼层 |阅读模式
10台从机 从机收发数据正常 但是主机有时候收不到从机回复的数据
JY-DX-JY 发表于 2016-1-15 12:00 | 显示全部楼层
从机和主机是如何通讯的?主机轮询吗?
 楼主| weimina1022 发表于 2016-1-15 13:10 | 显示全部楼层
JY-DX-JY 发表于 2016-1-15 12:00
从机和主机是如何通讯的?主机轮询吗?

是的,主机轮询,主机每500ms发送一次查询,从机接收到查询并回复了当前状态,但是主机有时候接收不到,会报某个模块通信中端,过一会又能收到,所以不定时地会告警
JY-DX-JY 发表于 2016-1-15 13:19 | 显示全部楼层
收不到多发几次试试。
Larm1 发表于 2016-1-15 14:11 | 显示全部楼层
500ms查询一次没有理由收不到,使用中断还是查询接收?首先确认是没有收到数据,还是接收到数据解析错误?
 楼主| weimina1022 发表于 2016-1-15 15:05 | 显示全部楼层
Larm1 发表于 2016-1-15 14:11
500ms查询一次没有理由收不到,使用中断还是查询接收?首先确认是没有收到数据,还是接收到数据解析错误? ...

主机不是我这边做的,不清楚是什么接收,听说是用人家自己的从机不存在这种问题,用我们的从机就出现这种问题了。我抓的报文看,从机发送出去的数据会有个别误码情况,可能是这样导致主机解析错误,不过主机20s内接收不到某一从机的回复,才会告警,所以误码导致的告警可能性不大吧
 楼主| weimina1022 发表于 2016-1-15 15:10 | 显示全部楼层
JY-DX-JY 发表于 2016-1-15 13:19
收不到多发几次试试。

每个从机多发一次,担心主机能正常响应吗 如果多发那就不是一问一答了
JY-DX-JY 发表于 2016-1-15 15:21 | 显示全部楼层
你如果确认数据已经发出去了,并且没错,那就是主机的问题了。
 楼主| weimina1022 发表于 2016-1-15 15:45 | 显示全部楼层
JY-DX-JY 发表于 2016-1-15 15:21
你如果确认数据已经发出去了,并且没错,那就是主机的问题了。

现在考虑的就是发送出去的数据受到干扰后 产生误码 导致主机接收的就是误码 所以解析不了  ,从抓的报文来看,主机发送的都没有误码的,从机发送的平均几秒钟就有一条报文里 某个字节误码,是不是从机的485芯片没有主机的芯片抗干扰性好导致的
JY-DX-JY 发表于 2016-1-15 15:47 | 显示全部楼层
对比一下就知道了。主机的板子方便看电路板吗?
 楼主| weimina1022 发表于 2016-1-15 15:52 | 显示全部楼层
JY-DX-JY 发表于 2016-1-15 15:47
对比一下就知道了。主机的板子方便看电路板吗?

主机的板子没有  我也只会点软件 硬件的东西啥也不懂:(
JY-DX-JY 发表于 2016-1-15 16:01 | 显示全部楼层
几秒钟就有一个字节误码,这误码率也太高了。
玄德 发表于 2016-1-15 16:52 | 显示全部楼层
首先要保证没有误码。查查误码的原因。

其次,如果是半双工(485方式),双方都存在角色转换的问题。中间有没有留出充足的时间,如何协调?




lyn3210 发表于 2016-1-15 16:55 | 显示全部楼层
以前有过,是电感问题。
JY-DX-JY 发表于 2016-1-15 16:58 | 显示全部楼层
在最短的时间内把数据发出去,然后立即转为接收状态准备接收数据。
 楼主| weimina1022 发表于 2016-1-15 17:19 | 显示全部楼层
玄德 发表于 2016-1-15 16:52
首先要保证没有误码。查查误码的原因。

其次,如果是半双工(485方式),双方都存在角色转换的问题。中间 ...

这个之前考虑到,从机接收完延时6ms,才转换为发送状态,发送完成后延时1ms转换为接收状态
玄德 发表于 2016-1-15 17:22 | 显示全部楼层
本帖最后由 玄德 于 2016-1-15 17:27 编辑
weimina1022 发表于 2016-1-15 17:19
这个之前考虑到,从机接收完延时6ms,才转换为发送状态,发送完成后延时1ms转换为接收状态 ...


真是这样,就好办了。

以前做过一对48,200米以上,波特率大概2000,没问题。


 楼主| weimina1022 发表于 2016-1-15 17:22 | 显示全部楼层
玄德 发表于 2016-1-15 16:52
首先要保证没有误码。查查误码的原因。

其次,如果是半双工(485方式),双方都存在角色转换的问题。中间 ...

误码感觉怀疑是干扰导致的,功率干扰有没有什么好的解决办法啊
 楼主| weimina1022 发表于 2016-1-15 17:25 | 显示全部楼层
JY-DX-JY 发表于 2016-1-15 15:21
你如果确认数据已经发出去了,并且没错,那就是主机的问题了。

从机转换为发送状态后,是不是还要延时几ms,再发送数据?好像听说刚转换为发送状态时发送数据是不稳定的?
玄德 发表于 2016-1-15 17:26 | 显示全部楼层

导线,用两层屏蔽网那种,内层接电路地,外层接机壳(可能只接一端)。

先确定是不是干扰,放到好的环境测试,离干扰远点或者关闭干扰源。


您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

23

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部