在干扰严重环境下nrf24l01传输距离怎么办

403 Forbidden
403 Forbidden工具类服务
编辑部专用服务
作者专用服务
nRF24L01在ARM-Linux环境下自组网协议设计
随着移动通信与计算机网络的快速发展,逐渐形成了以两技术为基础的交叉领域,即自组网。自组网一般理解为具有无线通信功能的终端设备之间组成的临时网络,这里的终端设备不分主次,地位平等,既可以作为主机收发数据,也可以作为路由器进行分组转发。自组网由于具备移动的特点,使得网络节点的拓扑状态、位置及个数等因素经常变化,所以提供一种新的路由协议以适应这种动态的网络拓扑显得尤为重要,也是当前研究移动自组网的核心问题。  网络的终端节点采用可灵活移动的嵌入式设备,设备驱动程序在嵌入式系统当中占有重要的地位,目前,各式各样的嵌入式设备层出不穷,不同的嵌入式设备都有为各自量身打造的驱动程序,本文以S3C6410为开发平台,对嵌入式交叉编译环境及驱动开发进行详细的研究与设计。主要内容包括在嵌入式ARM-Linux环境下设计驱动程序,驱动射频芯片nRF24L01收发数据,通过设计移动自组网协议来实现无线数据通信。本文主要解决以下两个方面的问题:  (1)驱动程序设计实现以ARM11为核心的nRF24L01设备驱动(本设计使用的处理器为三星公司的S3C6410X)。设计nRF24L01驱动程序,以Linux作为操作系统,以Mini6410开发板作为硬件平台,主要包括U-boot移植,Linux内核移植,根文件系统制作等步骤。在Linux操作系统下编程,分为用户层和驱动层。用户层即为应用程序,负责数据的存储和发送;驱动程序通过操作nRF24L01的连接引脚进行通信。应用程序与驱动程序通过库和内核相连解决数据的传递和共享。通过设计此驱动,用户可以通过调用指令函数操作nRF24L01执行发送,接收或转发数据等命令。  (2)设计移动自组网协议移动自组网络由于具有拓扑易变、消息在无线信道上易于发生碰撞、无线通信带宽有限等特点,使得路由问题较传统网络更难解决,所以提供一种高效的路由协议以适应这种动态的网络拓扑显得尤为重要,也是当前研究移动自组网的核心问题。本设计以广播的形式进行组网研究,目前存在一些现有的自组网广播机制,文章在比较各种机制的优缺点之后,选择了一种适用于本次设计环境的广播机制,并结合本设计硬件特点对该机制进行了一些改进,设计了一种稳定高效的广播协议。
学科专业:
授予学位:
学位授予单位:
导师姓名:
学位年度:
在线出版日期:
本文读者也读过
相关检索词
万方数据知识服务平台--国家科技支撑计划资助项目(编号:2006BAH03B01)(C)北京万方数据股份有限公司
万方数据电子出版社NRF24L01无线射频技术前景一片美好
在2.4GHz非授权频段上,目前已经云集了蓝牙、Wi-Fi、Zigbee等多个标准无线协议,本来各协议可以相安无事开发自己的专有应用,但现
在,非标准无线射频协议的涌入打破了这一平衡,该协议意图蚕食蓝牙、Zigbee已有的市场。在本次IIC上,Nordic、TI等多家公司展出了非标准
无线射频协议的应用,受到工程师的关注。
“非标准无线射频协议的优势是低功耗、低成本、易开发。”挪威Nordic半导体公司亚太区销
售经理陈志谦指出,“比如我们基于nRF24L01的无线鼠标的电流消耗相比竞争对手协议要低数百倍。因此电池寿命可以提高15到600倍!”他强调:该
芯片支持的数据率可以高达2Mbps,接收模式电流消耗仅有12.5mA!
不单是支持高速数据传输,nRF24L01还支持无线组网,
陈志谦表示:“片上配有MultiCeiver逻辑,可支持同时接收六路无线设备数据,这样的一个典型应用是便携式PC配有无线键盘、无线鼠标、
******机(VoIP)、无线游戏控制杆、遥控器和无线写字板等。”另个典型应用是利用该器件组建个人智能运动设备网络,例如可以装在手表上,来监测
心率、速度、压力和距离。
由于在2.4GHz非授权频段上已经有多种无线应用,如何确保信息发送接收的在干扰状态下保持连续性就很重要。对此,陈志谦表示nRF24L01片
上的检测功能可以检测任何固定频率的网络,例如,如果检测到附近有工作的无线局域网,nRF24L01可以利用很短的时间快速从拥挤的通道中转换出来。另
外,nRF24L01集成了自动发送和接收数据包、发送和应答信号、检测和重发都是丢失数据包、存储没有收到应答信号的数据包等功能,所以可以自动重发丢
失的数据包,可以确保用户终端的可靠性。
在低成本、易开发方面,陈志谦表示:“由于全部的射频部分、协议和滤波都集成在了芯片里,所以降低了用户的成本,建立一个完整的系统所需的外部元件是晶振、电阻、电容和低成本的MCU,MCU和nRF24L01通过异步串行口或同步串行口连接。”
内嵌了ANT协议,可以方便地组建无线网络。ANT是一个无线个人局域网(PAN)通讯技术,可以确保连接数据完整性,并是一个低成本、低功耗无线网络协
议。该协议调制方式是采用GFSK调制,支持星型和端对端等多种组网形式,支持的节点是2到数千个以上,所以,它不但威胁到蓝牙应用还威胁到Zigbee
在IIC上,Nordic展示的一个应用是利用nRF24Z1组建一个CD级音质的无线音箱,陈志谦表示这个系统的传输速率可以达到4Mbps,足
以传输高质量的音频信号。他还特别指出,有的供应商利用这个系统组建了传输视频压缩图象的无线系统。据了解,联想Lenovo在最近发布的世界上首个数字
家庭娱乐中心也采用了由Nordic提供的无线高保真音频传输方案,构建基于这一技术的5.1无线家庭影院系统。
无独有偶,在本次
IIC上,TI展台也展示了基于Chipcon芯片的2.4GHz非标准射频协议的TPMS方案、无线鼠标方案、游戏手柄方案。上海立奇国际贸易公司技术
总监简大翔表示:“采用射频传输的优势是功耗比蓝牙低很多,我们的鼠标在电池供电状态下可以使用8个月以上。”
虽然蓝牙、ZigBee、UWB或WLAN都是标准协议,但是协议复杂、开发难度大、周期长等都是其软肋,非标准射频协议异军突起也使OEM在无线网络方面的选择性更大,未来发展如何?我们将拭目以待。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。在干扰严重环境下NRF24L01怎么办
在干扰严重环境下NRF24L01怎么办
发布: | 作者: | 来源:
| 查看:273次 | 用户关注:
& & 由于NRF24L01工作在2.4G ISM频段,这个频段上有很多其它的设备在共用,所以存在着很多干扰信号,大致分为两类:连续干扰(WLAN信号)和突发干扰(Bluetooth信号)。 在大部分时间里,NRF24L01持续地工作在一个没有干扰的频点,但是在设备上电时或检测到干扰后,PTX和PRX需要搜索频点,以找到一个没有干扰的频点来通讯。对于频点搜索和干扰躲避,实现起来
& & 由于NRF24L01工作在2.4G ISM频段,这个频段上有很多其它的设备在共用,所以存在着很多干扰信号,大致分为两类:连续干扰(WLAN信号)和突发干扰(Bluetooth信号)。 在大部分时间里,NRF24L01持续地工作在一个没有干扰的频点,但是在设备上电时或检测到干扰后,PTX和PRX需要搜索频点,以找到一个没有干扰的频点来通讯。对于频点搜索和干扰躲避,实现起来比较灵活,用户可以根据实际应用情况,自己定义算法和规则。&1、 频点搜索& &(1) NOACK包传输& & & & 常用方法是:PRX和PTX按照预先定义的频点序列,以不同的速度进行频率切换,同时进行数据包收发,由于PRX和PTX的频率切换速度不同,因此,在某个时刻,某个频点,如果PRX收到数据包,同时PTX也收到PRX发的软件应答包,则说明该频点没有干扰,从而PRX和PTX停止频率切换,固定在该频点进行通讯。& & & & 在搜索频点时,可以用命令REUSE_TX_PL来发送数据包,从而加快搜索速度。 在通讯过程中,如果通讯的任何一方在一段时间不能收到数据包或者应答包,则再次进入搜索频点阶段或者休眠状态。& &(2)ACK包传输& & & & 对于ACK模式传输的包,PTX可以通过MAX_RT或TX_DS中断来判断数据包是否发送成功,如果发送失败,PTX就重传,如果几次重传仍然失败,就切换到下一频点开始发送;PRX如果一段时间没有接收包,就切换到下一个频点接收。由于PTX和PRX的频率切换速度不一样,因此,就在某一时刻,如果双方在某频点收发成功,则表示该频点可用。2、 &干扰检测& &当存在蓝牙突发干扰时,由于蓝牙通常在一个频点的驻留时间小于625 us,将重发延迟设置为700us就可以保证两次发射不会都受干扰。 对于连续的干扰信号比如WLAN信号,在PRX模式下,用户可以通过CD来检测,CD检测的具体操作方法请看比较表格“CD检测”项。 但是,在PTX模式下,通过CD来检测连续干扰,则不是很好的方法。这是因为:& &(1)、需要切换到RX模式检测CD,会耗费较大的电流,浪费较多的时间。& &(2)、很多设备在空中传输包的时间大约100-300us,有可能检测时没有干扰,过几us后,又有干扰出现。& &(3)、蓝牙等跳频设备,可能会干扰NRF24L01的一个包,但NRF24L01下一次重传却可能成功。& &(4)、天线的方向性及多路径衰减也会影响CD的检测。&本文本自智凡单片机:.cn&
本页面信息由华强电子网用户提供,如果涉嫌侵权,请与我们客服联系,我们核实后将及时处理。
应用与方案分类
&&& 目前,处理器性能的主要衡量指标是时钟nRF24L01应用笔记
我的图书馆
nRF24L01应用笔记
感谢小蚂蚁电子工作室在百度空间的分享。
最近百度上一些朋友都在为头疼,我这段时间又比较忙不能花太多时间一个一个去帮忙调试,干脆今天抽点儿时间写个应用笔记,希望能给大家提供一些方法和帮助。有问题可以跟帖留言,我看到会尽量帮大家。
是公司生产的一个单芯片射频收发器件,是目前应用比较广泛的一款无线通讯芯片,具体手册资料网上大把,我就不再重复它的特性什么的了,直接说说它的调试方法,供大家参考。
01是收发双方都需要编程的器件,这就对调试方法产生了一定的要求,如果两块一起调,那么通讯不成功,根本不知道是发的问题还是收的问题,不隐晦的说,我当时也是没理清调试思路才浪费了大半天时间看着模块干瞪眼。正确的方法应该是先调试发送方,能保证发送正确,再去调接收,这样就可以有针对性的解决问题。
至于怎么去调发送方,先说下发送方的工作流程:
·配置寄存器使芯片工作于发送模式后拉高端至少
·读状态寄存器
·判断是否是发送完成标志位置位
·清数据缓冲
网上的程序我也看过,大多都是成品,发送方发送等应答(自动重发)触发中断。可是这样的流程就已经把接收方给牵涉进来了,就是说一定要接收方正确收到数据并且回送应答信号之后发送方才能触发中断,结束一次完整的发送。可是这跟我们的初衷不相符,我们想单独调试发送,完全抛开接收,这样就要去配置一些参数来取消自动应答,取消自动重发,让发送方达到发出数据就算成功的目的。
SPI_RW_Reg(WRITE_REG + EN_AA, 0x00); //失能通道自动应答
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x00); //失能接收通道
//失能自动重发
(注:以下贴出的寄存器描述由于中文资料上有一个错误,故贴出原版英文资料)
有了以上这三个配置,发送方的流程就变成了发送触发中断。这样就抛开了接收方,可以专心去调试发送,可是怎么样才知道发送是否成功呢,要用到另外两个寄存器,和。
这样就很清晰了,我们可以通过读取的值来判断是哪个事件触发了中断,寄存器、、位分别对应自动重发完成中断,数据发送完成中断,数据接收完成中断。也就是说,在之前的配置下,如果数据成功发送,那么的值应该为。这样就可以作为一个检测标准,另外一个标准可以看寄存器,第位的描述:发送缓冲器满标志,为满,为有可用空间;第位的描述:发送缓冲器空标志,为空,为有数据;同样可以看到接收缓冲器的对应标志。这样在数据发送成功后,发送寄存器当然应该是空的,接收缓冲因为在之前已经失能,所以也应该是空,也就是说成功发送之后的寄存器值应该是。
有了这两个检测标准,我们即使不用接收方也可以确定发送方是否成功发送。当发送方调试成功之后,在程序里让它一直发送,然后我们就可以去调试接收方,思路是一样的,同样说下接收方工作流程先。
·配置寄存器使芯片工作于接收模式后拉高端至少
·读状态寄存器
·判断是否是接收完成标志位置位
·读取数据缓冲区的数据
·清数据缓冲
然后在初始化配置寄存器的时候要和发送方保持一致,比较重要的是要失能自动应答,使能通道接收:
SPI_RW_Reg(WRITE_REG + EN_AA, 0x00); //失能通道自动应答
//接收要使能接收通道
这样就可以了,接收方就可以进入接收模式去接收数据了,这次的调试就会灵活一些,因为是接收数据,可以在接收方添加一个显示设备把数据直观的显示出来,去对照看是否正确,当然还可以使用和发送方一样的方法:观察和的值,对照寄存器描述,接收正确时的值应该是,对于的情况就多了些,因为数据宽度的不同也会造成寄存器的值不一样,最大支持字节宽度,就是说一次通讯最多可以传输个字节的数据,在这种情况下,接收成功读数据之前寄存器值应该为,读数据之后就会变成;如果数据宽度定义的小于字节,那么接收成功读数据之前寄存器值应该为,读数据之后就会变成。这个看起来挺复杂,其实很清晰,大家可以试着分析下,对照数据手册分析每个位的状态就可以得到结果。
好了,到这里对的调试基本上就算通了,但是要明白这些只是调试方法,最终的产品如果不加上应答和重发的话那么数据的稳定性是很难保证的,所以在基本的通讯建立之后就要把发送的配置改为:
//使能接收通道自动应答
SPI_RW_Reg(WRITE_REG + EN_RXADDR, 0x01); //使能接收通道
SPI_RW_Reg(WRITE_REG + SETUP_RETR, 0x1a); //自动重发次,间隔
接收方的配置也要更改:
SPI_RW_Reg(WRITE_REG + EN_AA, 0x01); //失能通道自动应答
//接收要使能接收通道
这样发送和接收就进入了一个标准状态,发送等应答(自动重发)触发中断;接收应答触发中断,一切按部就班,程序里加上自己的应用部分就能实现很多功能了,呵呵,这个帖子就先到这,明白芯片工作原理之后写程序就有目的性了,下一篇再说说程序中查询法和中断法以及具体的程序实例。写了一个多小时了,得忙会儿工作,别被老板逮着了,哈哈。。。祝大家成功
发表评论:
TA的最新馆藏[转]&[转]&[转]&[转]&[转]&[转]&

我要回帖

更多关于 nrf24l01视频教程 的文章

 

随机推荐