无线通讯中,如果发送端A只负责发送,无法判断接收端B是否接收到了A发送的数据时,怎么能避免发送碰撞的问题呢,困饶啊.发送端A如何发送才能避免碰撞?(接收端B不回馈给A信号)
我也在折腾这些。
可以考虑发送前侦听载波,若有载波,则延时发送。可能还要多发几个数据包。
用CC RF的你们可以考虑用TI的simpliciti协议栈了
www.ti.com/simpliciti,类试ZIGBEE
我目前使用的系统中采用的如2楼所说方案,其实就是时分复用技术了!
TI已经给我邮EZ430-RF2500不知道开发板光盘中有没simpliciti原代码,网上下的TI给生成库了,只能看到编译后的反汇编代码
具体该如何去侦听呢?如果我发送端很多的话,一个接收器该怎么判断呢,例如:1,2..........1000号发送器,都向一个接收器B发送1.....1000这一千个数.1号发送器发数字1,1000号发送器发数字1000,肯定会有碰撞的,两个同时发送,接收器就接不会也不知道有两个在发送数据。如果依次侦听延时,那时间会很长的。有些晕啊。不太明白。
你这个网络结构就是不合理的!而且你的数据传输是单方向的,一个路由不可能能接这么多节点啦!还有看你各节点占用信道时间及路由处理数据速度等等!
建议你选择ZIGBEE
现在只是初步设想,当然以后会有多个接收器分担上千个发送器发送来的数据,一个路由大概负责300个接受器左右吧,问题是怎么进行发送前的侦听,当侦听到没有别的发送端发送数据时,我再发送.这个程序该怎么写呢
请看数据手册CCA部分!
TI官方的程序你可以去下载参考,很详细!
我看了一下,手册上的CCA,说的好像是同一芯片的发送和接收考虑是否占用信道问题,我想咨询的是多个芯片之间的发送碰撞问题.该怎么处理呢.
多张射频卡同时上传数据,我也碰到了。
引用:
我看了一下,手册上的CCA,说的好像是同一芯片的发送和接收考虑是否占用信道问题,我想咨询的是多个芯片之间的发送碰撞问题.该怎么处理呢.
|
|
多张射频卡同时上传数据,我也碰到了。很头疼,需要很有技巧性。大家讨论一下。
Again:请问EZ430-RF2500多少银子?通过哪个公司买?好像Lierda没有吧
偶是TI免费送的!TI官方价格$49,可能国内还没有刚上市的!
咋样才能获赠?TI的东西用量大?能否把原理图和例程共享?
13.56MHz的卡都有防碰撞,常见的是时隙防碰撞。
射频中发送前侦听载波是一个好的办法。
我也想到侦听了,但是该如何进行侦听呢,如果终端比较多,时序需要仔细布置吧,如果同时侦听呢?
是随机延时么?伪随机序列怎么样?听过没用过.谢谢
你可以采用唤醒机制,比如平时节点都是睡眠的,你的接收端用来唤醒这些节点(接收端功耗不计的情况下)。由接收端发送的唤醒数据包中的地址来控制哪个节点返回数据,这样的话就不存在多节点同时上传得问题。也就是所谓的查询方式