打印
[STM8]

485一主多从通信问题

[复制链接]
5764|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 | 只看该作者
收不到多发几次试试。

使用特权

评论回复
5
Larm1| | 2016-1-15 14:11 | 只看该作者
500ms查询一次没有理由收不到,使用中断还是查询接收?首先确认是没有收到数据,还是接收到数据解析错误?

使用特权

评论回复
6
weimina1022|  楼主 | 2016-1-15 15:05 | 只看该作者
Larm1 发表于 2016-1-15 14:11
500ms查询一次没有理由收不到,使用中断还是查询接收?首先确认是没有收到数据,还是接收到数据解析错误? ...

主机不是我这边做的,不清楚是什么接收,听说是用人家自己的从机不存在这种问题,用我们的从机就出现这种问题了。我抓的报文看,从机发送出去的数据会有个别误码情况,可能是这样导致主机解析错误,不过主机20s内接收不到某一从机的回复,才会告警,所以误码导致的告警可能性不大吧

使用特权

评论回复
7
weimina1022|  楼主 | 2016-1-15 15:10 | 只看该作者
JY-DX-JY 发表于 2016-1-15 13:19
收不到多发几次试试。

每个从机多发一次,担心主机能正常响应吗 如果多发那就不是一问一答了

使用特权

评论回复
8
JY-DX-JY| | 2016-1-15 15:21 | 只看该作者
你如果确认数据已经发出去了,并且没错,那就是主机的问题了。

使用特权

评论回复
9
weimina1022|  楼主 | 2016-1-15 15:45 | 只看该作者
JY-DX-JY 发表于 2016-1-15 15:21
你如果确认数据已经发出去了,并且没错,那就是主机的问题了。

现在考虑的就是发送出去的数据受到干扰后 产生误码 导致主机接收的就是误码 所以解析不了  ,从抓的报文来看,主机发送的都没有误码的,从机发送的平均几秒钟就有一条报文里 某个字节误码,是不是从机的485芯片没有主机的芯片抗干扰性好导致的

使用特权

评论回复
10
JY-DX-JY| | 2016-1-15 15:47 | 只看该作者
对比一下就知道了。主机的板子方便看电路板吗?

使用特权

评论回复
11
weimina1022|  楼主 | 2016-1-15 15:52 | 只看该作者
JY-DX-JY 发表于 2016-1-15 15:47
对比一下就知道了。主机的板子方便看电路板吗?

主机的板子没有  我也只会点软件 硬件的东西啥也不懂:(

使用特权

评论回复
12
JY-DX-JY| | 2016-1-15 16:01 | 只看该作者
几秒钟就有一个字节误码,这误码率也太高了。

使用特权

评论回复
13
玄德| | 2016-1-15 16:52 | 只看该作者
首先要保证没有误码。查查误码的原因。

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




使用特权

评论回复
14
lyn3210| | 2016-1-15 16:55 | 只看该作者
以前有过,是电感问题。

使用特权

评论回复
15
JY-DX-JY| | 2016-1-15 16:58 | 只看该作者
在最短的时间内把数据发出去,然后立即转为接收状态准备接收数据。

使用特权

评论回复
16
weimina1022|  楼主 | 2016-1-15 17:19 | 只看该作者
玄德 发表于 2016-1-15 16:52
首先要保证没有误码。查查误码的原因。

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

这个之前考虑到,从机接收完延时6ms,才转换为发送状态,发送完成后延时1ms转换为接收状态

使用特权

评论回复
17
玄德| | 2016-1-15 17:22 | 只看该作者
本帖最后由 玄德 于 2016-1-15 17:27 编辑
weimina1022 发表于 2016-1-15 17:19
这个之前考虑到,从机接收完延时6ms,才转换为发送状态,发送完成后延时1ms转换为接收状态 ...


真是这样,就好办了。

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


使用特权

评论回复
18
weimina1022|  楼主 | 2016-1-15 17:22 | 只看该作者
玄德 发表于 2016-1-15 16:52
首先要保证没有误码。查查误码的原因。

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

误码感觉怀疑是干扰导致的,功率干扰有没有什么好的解决办法啊

使用特权

评论回复
19
weimina1022|  楼主 | 2016-1-15 17:25 | 只看该作者
JY-DX-JY 发表于 2016-1-15 15:21
你如果确认数据已经发出去了,并且没错,那就是主机的问题了。

从机转换为发送状态后,是不是还要延时几ms,再发送数据?好像听说刚转换为发送状态时发送数据是不稳定的?

使用特权

评论回复
20
玄德| | 2016-1-15 17:26 | 只看该作者

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

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


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

23

帖子

1

粉丝