分享

nRF24L01无线模块

 风舞狂鲨 2014-05-08

nRF24.L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。


1 主要特性

  GFSK调制:

  硬件集成OSI链路层;

  具有自动应答和自动再发射功能;

  片内自动生成报头和CRC校验码;

  数据传输率为l Mb/s或2Mb/s;

  SPI速率为0 Mb/s~10 Mb/s;

  125个频道:

  与其他nRF24系列射频器件相兼容;

  QFN20引脚4 mm×4 mm封装;

  供电电压为1.9 V~3.6 V。

2 引脚功能及描述

  nRF24L01的封装及引脚排列如图1、2所示。各引脚功能如下:

  引脚说明1

  CE:使能发射或接收;

  CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01:

  IRQ:中断标志位;

  VDD:电源输入端;

  VSS:电源地:

  XC2,XC1:晶体振荡器引脚; 引脚说明2

  VDD_PA:为功率放大器供电,输出为1.8 V;

  ANT1,ANT2:天线接口;

  IREF:参考电流输入。

引脚 名称 引脚功能 描述
1 CE 数字输入 RX或TX模式选择
2 CSN 数字输入 SPI片选信号
3 SCK 数字输入 SPI时钟
4 MOSI 数字输入 从SPI数据输入脚
5 MISO 数字输出 从SPI数据输出脚
6 IRQ 数字输出 可屏蔽中断脚
7 VDD 电源 电源(+3V)
8 VSS 电源 接地(0V)
9 XC2 模拟输出 晶体振荡器2脚
10 XC1 模拟输入 晶体振荡器1脚/外部时钟输入脚
11 VDD-PA 电源输出 给RF的功率放大器提供的+1.8V电源
12 ANT1 天线 天线接口1
13 ANT2 天线 天线接口2
14 VSS 电源 接地(0V)
15 VDD 电源 电源(+3V)
16 IREP 模拟输入 参考电流
17 VSS 电源 接地(0V)
18 VDD 电源 电源(+3V)
19 DVDD 电源输出 去耦电路电源正极端
20 VSS 电源 接地(0V)

3 工作模式

  通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表1所示。

模式 PWR_UP PRIM_RX CE FIFO寄存器状态
接收模式 1 1 1 -
发射模式 1 0 1 数据在TX FIFO 寄存器中
发射模式 1 0 1→0 停留在发送模式,直至数据发送完
待机模式2 1 0 1 TX FIFO 为空
待机模式1 1 - 0 无数据传输
掉电 0 - - -
表 (1)

  待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;

  待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式;

  待机模式下,所有配置字仍然保留。

  在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。

4 工作原理

  发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便再次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。

  接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。

5 配置字

  SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。

  nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。nRF24L01

  的配置寄存器共有25个,常用的配置寄存器如表2所示。

地址(H) 寄存器名称 功能
00 CONFIG 设置24L01工作模式
01 EN_AA 设置接收通道及自动应答
02 EN_RXADDR 使能接收通道地址
03 SETUP_AW 设置地址宽度
04 SETUP_RETR 设置自动重发数据时间和次数
07 STATUS 状态寄存器,用来判定工作状态
0A~0F RX_ADDR_P0~P5 设置接收通道地址
10 TX_ADDR 设置接收接点地址
11~16 RX_PW_P0~P5 设置接收通道的有效数据宽度
表 (2)

  6 nRF24L01应用原理框图

  nRF24L01无线模块

  图(2)

6 跳频功能实现

  由于2.4G频段没有使用授权限制,目前家用电器、手机、无线网络都集中在此频段,干扰问题难以避免。如何避开在家庭市场中易与其它无线传输间(Bluetooth、HomeRF)发生干扰成了首要解决的问题。

  跳频技术 (Frequency-Hopping Spread Spectrum; FHSS)是在2.4GHz频带以一定的频宽将其划分为若干个无线电频率信道(Radio Frequency Channel;RFC),并且以使用接收和发送两端一样的频率跳跃模式(Frequency Hopping)来接发讯号及防止数据撷取。其工作原理是,收发双方传输信号的载波按照预定规律进行离散变化。以达到避开干扰,完成传输。简单的说,跳频技术FHSS不是抑制干扰而是容忍干扰。图3是跳频实现的流程图。

  nRF24L01无线模块

  图 (3)


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多