NRF24L01实用无线通信技术_第1页
NRF24L01实用无线通信技术_第2页
NRF24L01实用无线通信技术_第3页
NRF24L01实用无线通信技术_第4页
NRF24L01实用无线通信技术_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、NRF24L01是一款工作在2.42.5GHZ频段世界通用ISM频段(不受管制的频段)的单片无限收发器芯片,通信距离可达300米。RF-射频。GFSK-高斯频移键控。一、模块介绍(1) 2.4Ghz 全球开放 ISM 频段免许可证使用(2) 最高工作速率 2Mbps ,高效 GFSK 调制,抗干扰能力强,特别适合工业控制场合(3) 126 频道,满足多点通信和跳频通信需要(4) 内置硬件 CRC 检错和点对多点通信地址控制(5) 低功耗 1.9 - 3.6V 工作,待机模式下状态为 22uA ;掉电模式下为 900nA(6) 内置 2.4Ghz 天线,体积小巧 15 mm X 29 mm(7)

2、 模块可软件设地址,只有收到本机地址时才会输出数据(提供中断指示 ) ,可直接接各种单片机使用,软件编程非常方便-中断方式接收数据。(8) 内置专门稳压电路,使用各种电源包括 DC/DC 开关电源均有很好的通信效果(9) 2.54 MM 间距接口, DIP 封装(10) 工作于 Enhanced ShockBurst 具有 Automatic packet handling, Auto packet transaction handling, 具有可选的内置包应答机制,极大的降低丢包率。二、注意事项(1) VCC 脚接电压范围为 1.9V3.6V 之间,不能在这个区间之外,超过 3.6V 将会

3、烧毁模块。推荐电压 3.3V 左右。(2) 除电源 VCC 和接地端,其余脚都可以直接和普通的 5V 单片机 IO直接相连,无需电平转换。当然对 3V 左右的单片机更加适用了。三、NRF24L01模块蛇形部分应该为天线(无线通信);中间方形部分应该为NRF24L01芯片,上面跑道形状为晶振。四、8个引脚GND,VCC(接3.3V)CE-芯片使能CSN-片选非SCK-SPI1 CLKMOSI,MISO-SPI数据线IRQ-中断信号线VDD_PA 电源输出-给RF的功率放大器提供的+1.8V电源 ANT1-天线接口 1 ANT2-天线接口 2五、工作模式-软件编程部分。1、收发模式:在 Enhan

4、ced ShockBurstTM 收发模式下, NRF24L01 自动处理字头和 CRC 校验码。在接收数据时,自动把字头和 CRC 校验码移去。在发送数据时,自动加上字头和 CRC 校验码,在发送模式下,置 CE 为高,至少 10us ,将时发送过程完成后。Enhanced ShockBurstTM 发射流程:(编程相关)A. 把接收机的地址和要发送的数据按时序送入NRF24L01 ;B. 配置 CONFIG 寄存器,使之进入发送模式。C. 微控制器把 CE 置高(至少 10us ),激发 NRF24L01 进行 Enhanced ShockBurstTM 发射;D.NRF24L01 的 E

5、nhanced ShockBurstTM 发射 (1) 给射频前端供电; (2)射频数据打包 ( 加字头、 CRC 校验码 ) ; (3) 高速发射数据包; (4)发射完成, NRF24L01 进入空闲状态。Enhanced ShockBurstT M接收流程 A. 配置本机地址和要接收的数据包大小; B. 配置 CONFIG寄存器,使之进入接收模式,把 CE 置高。C. 130us 后, NRF24L01 进入监视状态,等待数据包的到来;D. 当接收到正确的数据包 ( 正确的地址和 CRC 校验码 ) , NRF2401 自动把字头、地址和 CRC 校验位移去;E. NRF24L01 通过把

6、 STATUS 寄存器的 RX_DR 置位 (STATUS 一般引起微控制器中断 ) 通知微控制器; F. 微控制器把数据从 NewMsg_RF2401 读出 ;G. 所有数据读取完毕后,可以清除 STATUS 寄存器。 NRF2401 可以进入四种主要的模式之一。2、配置模式3、空闲模式4、关机模式工作模式由 PWR_UP(寄存器一位)、 PRIM_RX(寄存器一位)和 CE 决定,六、配置NRF24L01模块NRF2401 的所有配置工作都是通过 SPI 完成,共有30字节的配置字。我们推荐 NRF24L01 工作于 Enhanced ShockBurstTM 收发模式,这种工作模式下,系

7、统的程序编制会更加简单,并且稳定性也会更高,ShockBurstTM 的配置字使 NRF24L01 能够处理射频(RF)协议,在配置完成后,在 NRF24L01 工作的过程中,只需改变其最低一个字节中的内容,以实现接收模式和发送模式之间切换。ShockBurstTM 的配置字可以分为以下四个部分:数据宽度:声明射频数据包中数据占用的位数。这使得 NRF24能够区分接收数据包中的数据和 CRC 校验码;地址宽度:声明射频数据包中地址占用的位数。这使得 NRF24能够区分地址和数据;地址:接收数据的地址,有通道 0 到通道 5 的地址;CRC :使 NRF24L01 能够生成 CRC 校验码和解码

8、。当使用 NRF24L01 片内的 CRC 技术时,要确保在配置字 (CONFEN_CRC)中 CRC 校验被使能,并且发送和接收使用相同的协议。NRF24L01 配置字的 CONFIG 寄存器的位描述如下表所示:七、使用方法具体参考中文说明书1、NRF24L01中断:低电平触发;接收到新数据,数据发送完毕,重传到达最大次数都会引起中断,通过读取状态字可查询中断事件。2、NRF24L01在接收模式可以接收6路不同通道的数据;不同的通道使用不同的地址但是共用相同的频道(通道)-这意味着可以有6个被配置成发送状态的nRF24L01可以和一个配置成接收状态的nRF24L01通信,并且接收方可以区分(

9、多对一通信)。数据通道0有一个唯一的40bit的可设置的地址。其余的通道1到通道5地址前32位相同,而后8位不同。所有的数据通道都可以实现Enhanced ShockBurst模式。3、寄存器地址与指令见中文说明书-编程相关。4、CE-使能发射或接收 CSN-用于SPI传输的允许和禁止(0使能,1关闭)5、SPIx_ReadWriteByte(reg); SPIx_ReadWriteByte(value);外设NRF24L01可以识别寄存器与数据,reg值为特定的数据,NRF24L01收到该数据后会认为将要读写该寄存器。6、NRF24L01_Read_Reg-该函数在设为接收模式时使用。NRF

10、24L01_Write_Reg-该函数在设为发送模式时使用。-函数SPIx_ReadWriteByte (reg)执行后可能读该寄存器也可能写该寄存器。八、两种模式发送、接收对比-具体内容见中文资料。1、ShockBurst 模式下 nRF24L01 可以与成本较低的低速 MCU 相连 高速信号处理是由芯片内部的射频协议处理的 nRF24L01 提供 SPI 接口 数据率取决于单片机本身接口速度 ShockBurst 模式通过允许与单片机低速通信而无线部分高速通信 减小了通信的平均消耗电流。在 ShockBurstTM接收模式下 当接收到有效的地址和数据时 IRQ 通知 MCU,随后 MCU

11、可将接收到的数据从 RX FIFO寄存器中读出-无应答。在 ShockBurstTM 发送模式下 nRF24L01 自动生成前导码及 CRC 校验,数据发送完毕后 IRQ 通知 MCU 减少了 MCU 的查询时间 也就意味着减少了 MCU 的工作量同时减少了软件的开发时间,nRF24L01 内部有三个不同的 RX FIFO 寄存器 6 个通道共享此寄存器 和三个不同的 TX FIFO寄存器 在掉电模式下 待机模式下和数据传输的过程中 MCU 可以随时访问 FIFO 寄存器 这就允许 SPI接口可以以低速进行数据传送 并且可以应用于 MCU硬件上没有 SPI 接口的情况下-ShockBurstT

12、M模式没有发送与接收模式的转换。 2、增强型 ShockBurstTM模式可以使得双向链接协议执行起来更为容易、有效。典型的双向链接为发送方要求终端设备在接收到数据后有应答信号,以便于发送方检测有无数据丢失 一旦数据丢失 则通过重新发送功能将丢失的数据恢复。增强型的ShockBurstTM模式可以同时控制应答及重发功能而无需增加MCU工作量。nRF24L01 在接收模式下可以接收 6路不同通道的数据 ,每一个数据通道使用不同的地址 但是共用相同的频道,也就是说 6 个不同的 nRF24L01 设置为发送模式后可以与同一个设置为接收模式的nRF24L01 进行通讯;而设置为接收模式的 nRF24

13、L01 可以对这 6 个发射端进行识别,数据通道 0 是唯一的一个可以配置为 40 位自身地址的数据通道;15 数据通道都为 8 位自身地址和 32 位公用地址;所有的数据通道都可以设置为增强型 ShockBurst 模式。nRF24L01 在确认收到数据后记录地址,并以此地址为目标地址发送应答信号(接收端先接收再发送) 在发送端 数据通道 0被用做接收应答信号 因此 数据通道 0 的接收地址要与发送端地址相等以确保接收到正确的应答信号(发送端先发送再接收应答信号)-增强型ShockBurstTM模式有发送与接收模式的转换。nRF24L01 配置为增强型的ShockBurstTM-发送模式下时

14、 只要 MCU有数据要发送 nRF24L01 就会启动 ShockBurstTM模式来发送数据,在发送完数据后 nRF24L01(自动)转到接收模式并等待终端的应答信号,如果没有收到应答信号 nRF24L01 将(自动)重发相同的数据包 直到收到应答信号或重发次数超过SETUP_RETR_ARC 寄存器中设置的值为止 如果重发次数超过了设定值 则产生 MAX_RT 中断 只要收到确认信号 nRF24L01 就认为最后一包数据已经发送成功 接收方已经收到数据 把 TX FIFO中的数据清除掉并产生 TX_DS中断 IRQ引脚置高3、两种数据双方向的通讯方式 如果想要数据在双方向上通讯,PRIM_

15、RX 寄存器必须紧随芯片工作模式的变化而变化 处理器必须保证 PTX和 PRX(发射源、接收源)端的同步性 在 RX_FIFO和 TX_FIFO寄存器中可能同时存有数据。九、通信机制1、自动应答RX-自动应答功能减少了外部 MCU的工作量,自动应答模式使能的情况下 收到有效的数据包后 系统将进入发送模式并发送确认信号 发送完确认信号后 系统进入正常工作模式-接收端,发送与接收模式自动切换;发送端也是自动切换。2、自动重发功能 ART (TX):自动重发功能是针对自动应答系统的发送方, SETUP_RETR寄存器设置:启动重发数据的时间长度。在每次发送结束后系统都会自动进入接收模式并在设定的时间

16、范围内等待应答信号 ,接收到应答信号后 系统自动转入正常发送模式 如果 TX FIFO 中没有待发送的数据且 CE 脚电平为低 则系统将进入待机模式 I ,如果没有收到确认信号 则系统返回到发送模式并重发数据直到收到确认信号或重发次数超过设定值,达到最大的重发次数。有新的数据发送或 PRIM_RX寄存器配置改变时丢包计数器复位。 3、数据通道 nRF24L01 配置为接收模式时可以接收 6 路不同地址相同频率的数据 每个数据通道拥有自己的地址,并且可以通过寄存器来进行分别配置-各通道通信频率相同。 数据通道是通过寄存器 EN_RXADDR 来设置的, 默认状态下只有数据通道 0 和数据通道 1

17、 是开启状态的。 每一个数据通道的地址是通过寄存器 RX_ADDR_Px 来配置的,通常情况下不允许不同的数据通道设置完全相同的地址。 数据通道 0 有 40 位可配置地址;数据通道 15 的地址为 32 位共用地址+各自的地址的最低字节。4、SPI 指令设置:CSN 为低后 SPI 接口等待执行指令;每一条指令的执行都必须通过一次 CSN由高到低的变化。 5、SPI 指令格式:数据字节从低字节到高字节,每一字节高位在前。R_REGISTER 和 W_REGISTER 寄存器可能操作单字节或多字节寄存器,当访问多字节寄存器时首先要读/写的是最低字节的高位,在所有多字节寄存器被写完之前可以结束写

18、 SPI操作 ,在这种情况下没有写完的高字节保持原有内容不变。6、中断 nRF24L01 的中断引脚 IRQ 为低电平触发,当状态寄存器中 TX_DS RX_DR 或 MAX_RT 为高时触发中断;当 MCU 给中断源写 1 时 中断引脚被禁止,可屏蔽中断可以被 IRQ 中断屏蔽 通过设置可屏蔽中断位为高 则中断响应被禁止 默认状态下所有的中断源是被禁止的 7、SPI 时序 SPI 操作及时序-在写寄存器之前一定要进入待机模式或掉电模式。十、深入学习-区分硬件与软件实现的功能1、软件开启自动应答及自动重发功能;通信中则是硬件实现自动重发及自动应答功能,代码中无应答部分,进而也无判断发送失败然后重发-“自动”的意思就是硬件实现。2、发送与接收模式都要同时设定发送与接收地址-因为发送

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论