打印

无线多机通信容易失败啊,内行高人帮忙解惑

[复制链接]
2451|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zzaqtf|  楼主 | 2007-12-11 11:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1个主机A发,一个子机B,轮询110个子机C,轮询到的子机要回发数据给主机显示。AB很近,C20米内。
无线通信模块是买的别的公司做好的,我看了下用的是cc1000。10mw,标称150m通信距离/1m天线/开阔。
实际用的时候,感觉通信能力不强,遇到如下现象。。。
    最早测试的时候,采取A-B-A-C1-A-B-A-C2-……-A-B-A-C110的查询方式,110个子机和主机放近时通信很好(2米。。),但是隔房间5米左右完全不通信;如果用1个子机的话20来米通信都没问题。询问厂家给的解释也是含糊的。我觉得软件上对于每个子机都是一样的,分时查询么,做有线485时没出这样的问题,所以怀疑接多个C的时候10mw功率分配不够了。于是我们采取加天线、主机换100mw模块,软件也妥协,采取A-B-A-C1-A-C2……-C110-A-B-A-C1-A-C2……-C110……。这样折腾半天,基本上可以完成通信功能,但是经常会有子机回发数据收不到,与摆放位置方向有关!还是觉得不可靠。
    现在我开始怀疑c1000的模块是否适合我们的产品,通信这玩意我们不专业啊,所以来求教内行了。一个问题是在短距离内(10来米吧)多个子机(10+个)的时候同样的软件为什么通信效果差异这么大,软件问题or硬件问题?还有就是方向性为什么这么强,摆放位置太容易影响通信了,多个 c1000一进入工作状态是否会互相影响导致功率分配问题?
    虚心求教了!

相关帖子

沙发
xwj| | 2007-12-11 11:48 | 只看该作者

多机通讯必须得有正确得协议来协调

特别是蜂窝网,不统一协调的话绝对是死路一条。

使用特权

评论回复
板凳
chunyang| | 2007-12-11 11:49 | 只看该作者

单纯增加主机的发射功率意义不大,通讯是双向的

    建筑物内的衰减很严重,传输多经也非常明显,要注意天线的位置和天线的增益,死区在节点多的时候难以本质上避免,需要外引天线到合适的位置。协议上完全按485的组网方法就可以了,但要有容错能力,误码不应导致信道死锁。

使用特权

评论回复
地板
木头东瓜| | 2007-12-11 11:54 | 只看该作者

感觉问题多多

考虑到信道冲撞了没?
预留了通信余量没有?
还是小徐那句话,通信协议没有搞好,一团糟

使用特权

评论回复
5
zzaqtf|  楼主 | 2007-12-11 13:42 | 只看该作者

帮我鉴定下解决方案啊大大们

a , 先谢谢3位本区经典人物~
软协议问题应该不大,有线没什么问题,转无线的时候无非在收转发的时候给足够的延时。大大们可否有类似多机通信范例?
我很想知道10mw的c1000可以胜任我要做的工作吗?工作时间大概要持续10小时,出错当然越少越好。
还有我开始提出的问题,为什么同样的软件多机无线的时候,通信效果差异会那么大?
同信道下的2个c1000都处于收状态的时候,互相有无联系?主机发序号信号给100个子机的时候,100个子机都会收到主机信号,那对应序号的子机收的信号能量只有单子机时的1/100吗?

使用特权

评论回复
6
木头东瓜| | 2007-12-11 14:18 | 只看该作者

不是三言两语能够解决

到目前俺还没看懂你的问题了
哈哈

使用特权

评论回复
7
zzaqtf|  楼主 | 2007-12-11 15:40 | 只看该作者

瓜。。

- -||
近处通信良好,稍微有点距离就不行拉,为什么

使用特权

评论回复
8
木头东瓜| | 2007-12-11 16:20 | 只看该作者

原因太多了

1,本身灵敏度和功率不高
2,各种衰减
3,信道阻塞

使用特权

评论回复
9
zzaqtf|  楼主 | 2007-12-11 16:54 | 只看该作者

c1000问题?

那我应该在硬件上找问题,而不是软件上咯?

使用特权

评论回复
10
chunyang| | 2007-12-11 18:48 | 只看该作者

楼主的理解不对

不管接收有多少个节点,彼此是不会互相影响的,无线干扰的条件是“三同”——同时、同地、同频。同地、同频的无线网络只能靠协议避免“同时”来进行通讯,所以协议是重要的,但与通讯距离无关。

使用特权

评论回复
11
zzaqtf|  楼主 | 2007-12-12 09:14 | 只看该作者

春哥。。

也就是说对于同样的协议软件,近处如果良好,那么远了也应该良好。
我可以确保所有收发都是分时的,而且时间余量绝对够。初次涉及此专业,很多问题啊,希望有前辈指引下。
10mw C1000模块,能保证110个无线设备进行基于485协议的通信吗。收2000个错4个,是我最好成绩。。。最坏是2000个错400个,软件无变动。所以对C1000能力表示怀疑啊

使用特权

评论回复
12
chunyang| | 2007-12-12 12:11 | 只看该作者

“近处如果良好,那么远了也应该良好”的看法是没有依据

远距下会有误码甚至丢包,你的协议必须有相应的机制应对。

使用特权

评论回复
13
leasor| | 2007-12-12 13:41 | 只看该作者

往往外

几个问题:

1.只是主机加大功率否?
2.110个子机的分布情况? 用图画画.我老人家眼神不好
3.现在只是子机上传有误?
4.通讯是分时吗? 你怎么同步的? 不是分时,简单说通讯流程?
5.通讯模块有没有效验机制?


等待你的回答

使用特权

评论回复
14
oyggj| | 2007-12-12 14:25 | 只看该作者

这样试试.

你子机可以先搞少点,比如你一个主机对应两个子机,主机固定,两个子机在你规定的距离范围内是否可以正常通讯?然后你再多加子机测试.

使用特权

评论回复
15
infree| | 2007-12-13 10:15 | 只看该作者

建议

1.确认你的所有模块的发射功率和接收门限设置(仔细核对你软件中的寄存器的设置值,如果厂家提供了源码的话);
2.将一个模块设置成纯接收状态,将所有其收到的数据信息从串口输出,这样你就可以观察一下到底是通信过程中哪一部分的问题(是A发的B没收到,还是B发的A没收到,还是B根本没发出来,等等,多分析一下这些数据,就容易找出问题了。

另:CC1100的模块(10mW)试用过,通信距离80米左右还是比较可靠的,通信失败率50%左右的话可以做到180米左右,当然,这些数据和周期的建筑,交通环境特别是天气有很大关系。

使用特权

评论回复
16
不起眼| | 2007-12-13 20:51 | 只看该作者

建议你将模块距离拉开一点调试。


模块之间是有干扰的,太近魂出现混乱。
    比如A、B距离太近,那么A、B通讯正常,但A、B接收其他模块的灵敏度将受到影响。

我遇到过。建议任何模块间的距离都大于3米,再试试。

使用特权

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

本版积分规则

5

主题

20

帖子

1

粉丝