搜索
bottom↓
回复: 23

用nRF24L01无线模块接收10个不同频率的数据,老是出现数据丢失

[复制链接]

出0入0汤圆

发表于 2010-9-7 17:06:51 | 显示全部楼层 |阅读模式
我想用一个nRF24L01无线模块作为接收,另外10个nRF24L01无线模块作为发射,这10个模块各有一个固定的频率,且各不相同,这10个无顺序的发射数据,作为接收的那个模块的程序主函数里循环的设置成这10个频率接收,用外部中断来接收数据,这时问题就出现了,外部来中断时接收的那个频率可能与发射数据来的频率不同,此时这个数据就接收不到了,然后我将nRF24L01无线模块设置了自动应答模式,比原来好点了,可是要是达到了自动发射次数的最大值了数据还是没有接收到呢?
   我想请教一下高手们nRF24L01无线模块用什么方法接收数据时,保证数据部丢失呢??望高手指个方法啊

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入8汤圆

发表于 2010-9-7 17:26:58 | 显示全部楼层
一主多从 轮

出0入0汤圆

发表于 2010-9-7 17:27:37 | 显示全部楼层
建议你还是好好看看nRF24L01的Datasheet,里面有关于点对多点的通信。我是这么想,可以在10个发射模块中为接收模块配置一个地址,这个地址指向接收模块,而处于中心点的接收模块则储存好所有10个模块的地址,当发射模块发送数据时,数据包里带上目的接收模块的地址,当接收模块识别到无线数据的时候,先判断数据包里找不找得到预先储存的地址,如果找不到,就不处理。没有必要为10个模块设置不同的频率,你这么干太复杂了。

出0入0汤圆

 楼主| 发表于 2010-9-8 08:24:05 | 显示全部楼层
回复【2楼】anyhu
-----------------------------------------------------------------------

很感谢你的回答,但是我这10个发射模块可能同时发送数据,这个时候会出现同频干扰的问题哦,一个接收模块同时接收10个相同频率的数据时那不就乱了嘛,我用这个模块就想想解决同频干扰的问题,因为这10个发射模块可能同时发射数据

出0入0汤圆

发表于 2010-9-8 09:06:12 | 显示全部楼层
现在真正能解决同频干扰的只有类似于蓝牙的那种跳频机制,看似简单实现起来难度还有有的。点对多点无线通信通常没有真正意义上的并发,都会有先有后,哪怕之间间隔是ms级的,nRF24L01本身的带宽就有2Mbps,你可以算一下它每ms可以送走多少数据,甚至你可以精确到us级,这样的速度处理起来,存在同频干扰的几率是很低的,除非你发完又发不停重复。算完之后你会明白由于并发产生同频干扰的概率有多低。更何况你这10独立的发射模块想要特意去做到并发,做到这个也不太容易吧。一切问题在于亲自尝试,没试过你怎么知道会不会有同频干扰或者别的问题,你都还没有做出东西来,空想有何意义,是不是?

出0入0汤圆

发表于 2010-9-8 09:20:28 | 显示全部楼层
弄10个接收就可以了
或者分时传输,比如统一分配一个时间起点,0-100ms第1个发,100-200,第二个发,

出0入0汤圆

 楼主| 发表于 2010-9-8 10:35:03 | 显示全部楼层
回复【4楼】anyhu
--------------------------------------------------------------------
但是 我现在就是想用10个不同的频率来发射,你有好的方法解决我这个丢失数据的问题吗

出0入0汤圆

发表于 2010-9-8 11:20:09 | 显示全部楼层
建议你使用无应答模式下,10个从机都统一接收地址,对从机的识别放到数据段里面去,其实跟modbus协议的从机地址差不多

出0入0汤圆

发表于 2010-9-8 15:40:13 | 显示全部楼层
回复【6楼】yayahello
-----------------------------------------------------------------------

也是可以实现的。可以这么干:10个发送模块要具备接收功能,全都初始化为一个频率,没有发射任务时让它们全部休眠,当其中一个发射模块出现发射任务时,首先使用默认的频率,通知其他九个模块,让它们屏蔽掉发射任务,然后这个模块才进入预先设定的发射频率,等到数据发送完成后,再跳回默认频率,通知其他9个模块解除屏蔽。如果仅仅是简单的错开频率想完全避免同频干扰,并且避开收发一体程序的复杂性,那你的想法是行不通的。或者你想得根本就太简单了。

出0入0汤圆

 楼主| 发表于 2010-9-8 17:19:38 | 显示全部楼层
回复【8楼】anyhu
-----------------------------------------------------------------------

恩 是啊 我也越来越发现我想的这条路走着费劲了,真的很感谢你的帮助!
   唉 我的问题是越来越多啦
   发射接收数据都很正常,可是这个其中的状态寄存器STATUS一直没闹明白,我把这个寄存器里的数据读出来后通过串口发送到串口调试助手里,都是00,这个时候我很郁闷,就把主函数里的程序都屏蔽了,只留了3句话,把0x70写入STATUS,然后读出来,然后发送到电脑里,居然是F8,而不是70,哪位高手指点一下啊???这是为什么啊

出0入475汤圆

发表于 2010-9-9 14:52:37 | 显示全部楼层
你这个10个发射端异频非协调随即发射,一个接收端想要接收所有的发射端数据,这个是不可能的!
实际上如果你可能使用TDMA就应该可以了,这样的话就是一个频道也行的 ,反正是分时。实际上8楼差不多就是这个意思,反正就是保证了同一时刻只有一个发射工作,这个只是解决了信息源本身不会冲突的问题(频率冲突或者接收端只能同时接受一个信息源顾此失彼的冲突),那么怎么协调(同步)又成了问题,他是使用了另外10个接收机作为抑制接收,那这样的话实际上还不如在接收端直接就用10个接收机一对一了,处理起来还更简单一些,是吧

出0入0汤圆

 楼主| 发表于 2010-9-9 16:40:56 | 显示全部楼层
回复【10楼】1a2b3c
-----------------------------------------------------------------------

谢谢高手的指点,就是啊,是我开始的时候想的太不全面了,看来我要换换思路了,真的很感谢各位的帮助!

出0入0汤圆

发表于 2010-9-9 16:53:05 | 显示全部楼层
不丢才怪。就算一对一,你没用协议也是丢的一塌糊涂。

出0入0汤圆

 楼主| 发表于 2010-9-10 16:01:20 | 显示全部楼层
回复【12楼】biansf2001 花溅泪
-----------------------------------------------------------------------
哦?是嘛?我的一对一的也没丢数据啊

出0入0汤圆

发表于 2010-9-24 21:04:58 | 显示全部楼层
mark啊!!!

出50入4汤圆

发表于 2010-10-18 23:59:18 | 显示全部楼层
mark下,我用905 数据量大的时候也丢 不得不用协议解决

出0入0汤圆

发表于 2011-5-15 20:36:15 | 显示全部楼层
楼主,我最近也在调试多对一的通信,也是很头疼,您最后是怎么实现的呢?  能分享下您的经验吗?或者把您的程序让我看下。。。

出0入0汤圆

发表于 2011-5-15 20:46:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-5-16 11:57:44 | 显示全部楼层
mark!

出0入0汤圆

发表于 2012-4-1 19:31:55 | 显示全部楼层
楼主你好,麻烦问一下,24L01这十个频率是怎么设置的?方便把程序给我看看么

出0入0汤圆

发表于 2012-4-1 21:18:21 | 显示全部楼层
必须有协议区别id不同,

出0入0汤圆

发表于 2012-4-1 22:07:28 | 显示全部楼层
大侠。。能给我你写的24L10一对一的程序。。我正在学这东西。。买了这模块可是一直调不出来。。求解

出0入0汤圆

发表于 2012-4-3 09:12:57 | 显示全部楼层
邮箱xie546443279@163.com

出0入0汤圆

发表于 2012-4-3 18:49:28 | 显示全部楼层
楼主你好,我现在刚把24L10调成多对一的,但是只能是一个频段内不同通道,麻烦问一下,这个频段怎么设置?我想实现不用频段的一对多通信
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 02:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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