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

[复制链接]
 楼主| 发表于 2007-12-11 11:39 | 显示全部楼层 |阅读模式
1个主机A发,一个子机B,轮询110个子机C,轮询到的子机要回发数据给主机显示。AB很近,C20米内。<br />无线通信模块是买的别的公司做好的,我看了下用的是cc1000。10mw,标称150m通信距离/1m天线/开阔。<br />实际用的时候,感觉通信能力不强,遇到如下现象。。。<br />&nbsp;&nbsp;&nbsp;&nbsp;最早测试的时候,采取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……。这样折腾半天,基本上可以完成通信功能,但是经常会有子机回发数据收不到,与摆放位置方向有关!还是觉得不可靠。<br />&nbsp;&nbsp;&nbsp;&nbsp;现在我开始怀疑c1000的模块是否适合我们的产品,通信这玩意我们不专业啊,所以来求教内行了。一个问题是在短距离内(10来米吧)多个子机(10+个)的时候同样的软件为什么通信效果差异这么大,软件问题or硬件问题?还有就是方向性为什么这么强,摆放位置太容易影响通信了,多个&nbsp;c1000一进入工作状态是否会互相影响导致功率分配问题?<br />&nbsp;&nbsp;&nbsp;&nbsp;虚心求教了!
发表于 2007-12-11 11:48 | 显示全部楼层

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

特别是蜂窝网,不统一协调的话绝对是死路一条。
发表于 2007-12-11 11:49 | 显示全部楼层

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

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

感觉问题多多

考虑到信道冲撞了没?<br />预留了通信余量没有?<br />还是小徐那句话,通信协议没有搞好,一团糟
 楼主| 发表于 2007-12-11 13:42 | 显示全部楼层

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

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

不是三言两语能够解决

到目前俺还没看懂你的问题了<br />哈哈
 楼主| 发表于 2007-12-11 15:40 | 显示全部楼层

瓜。。

-&nbsp;-||<br />近处通信良好,稍微有点距离就不行拉,为什么
发表于 2007-12-11 16:20 | 显示全部楼层

原因太多了

1,本身灵敏度和功率不高<br />2,各种衰减<br />3,信道阻塞
 楼主| 发表于 2007-12-11 16:54 | 显示全部楼层

c1000问题?

那我应该在硬件上找问题,而不是软件上咯?
发表于 2007-12-11 18:48 | 显示全部楼层

楼主的理解不对

不管接收有多少个节点,彼此是不会互相影响的,无线干扰的条件是“三同”——同时、同地、同频。同地、同频的无线网络只能靠协议避免“同时”来进行通讯,所以协议是重要的,但与通讯距离无关。
 楼主| 发表于 2007-12-12 09:14 | 显示全部楼层

春哥。。

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

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

远距下会有误码甚至丢包,你的协议必须有相应的机制应对。
发表于 2007-12-12 13:41 | 显示全部楼层

往往外

几个问题:<br /><br />1.只是主机加大功率否?<br />2.110个子机的分布情况?&nbsp;用图画画.我老人家眼神不好<br />3.现在只是子机上传有误?<br />4.通讯是分时吗?&nbsp;你怎么同步的?&nbsp;不是分时,简单说通讯流程?<br />5.通讯模块有没有效验机制?<br /><br /><br />等待你的回答
发表于 2007-12-12 14:25 | 显示全部楼层

这样试试.

你子机可以先搞少点,比如你一个主机对应两个子机,主机固定,两个子机在你规定的距离范围内是否可以正常通讯?然后你再多加子机测试.
发表于 2007-12-13 10:15 | 显示全部楼层

建议

1.确认你的所有模块的发射功率和接收门限设置(仔细核对你软件中的寄存器的设置值,如果厂家提供了源码的话);<br />2.将一个模块设置成纯接收状态,将所有其收到的数据信息从串口输出,这样你就可以观察一下到底是通信过程中哪一部分的问题(是A发的B没收到,还是B发的A没收到,还是B根本没发出来,等等,多分析一下这些数据,就容易找出问题了。<br /><br />另:CC1100的模块(10mW)试用过,通信距离80米左右还是比较可靠的,通信失败率50%左右的话可以做到180米左右,当然,这些数据和周期的建筑,交通环境特别是天气有很大关系。
发表于 2007-12-13 20:51 | 显示全部楼层

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

<br />模块之间是有干扰的,太近魂出现混乱。<br />&nbsp;&nbsp;&nbsp;&nbsp;比如A、B距离太近,那么A、B通讯正常,但A、B接收其他模块的灵敏度将受到影响。<br /><br />我遇到过。建议任何模块间的距离都大于3米,再试试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

20

帖子

1

粉丝
快速回复 返回顶部 返回列表