NRF24L01使用心得
0赞
nRF24L01芯片概要
nRF24L01是一款单片型射频收发芯片,其工作于世界通用的2.4-2.5GHz的ISM频段。芯片内置集成频率合成器、功率放大器、晶体振荡器、解调器、调制器以及增强型ShockBurst模式控制器等功能模块。输出功率、频道选择以及协议的设置可以利用SPI接口进行设置。该芯片功耗非常低,以-6dBm 的功率发射时,工作电流只有9.0mA,接收模式时工作电流只有12.3mA。内置的掉电模式和待机模式使得节能变的更容易实现。

应用领域
1、Wireless mouse, keyboard, joystick 无线鼠标,键盘,游戏机操纵杆
2、Keyless entry 无钥门禁系统
3、Wireless data communication 无线数据传输
4、Alarm and security systems 警报与安全系统
5、Home automation 家庭自动化
6、Surveillance 监控系统
7、Automotive 汽车
8、Telemetry 遥感勘测
9、Intelligent sports equipment 智能运动设备
10、Industrial sensors 工业传感器
11、Toys 玩具
引脚功能
|
Pin No. |
Pin Name |
Pin Type |
Pin Dscriptions |
|
1 |
GND |
Ground |
GND地 |
|
2 |
VCC |
Power |
1.9V-3.6V power 1.9-3.6v电源 |
|
3 |
CE |
Digital Input |
Chip Enable Activates RX or TX mode RX或TX模式选择 |
|
4 |
CSN |
Digital Input |
SPI Chip Select SPI片选信号 |
|
5 |
SCK |
Digital Input |
SPI Clock SPI时钟 |
|
6 |
MOSI |
Digital Input |
SPI Slave Data Input 从SPI数据输入 |
|
7 |
MISO |
Digital Output |
SPI Slave Data Output, with tri-state option 从SPI数据输出,三态输出 |
|
8 |
IRQ |
Digital Output |
Maskable interrupt pin 可屏蔽中断引脚 |
引脚分布图

基本特征
1、Built-in true single chip GFSK transceiver 内置真正的GFSK单片收发芯片
2、Enhanced ShockBurst™增强型ShockBurst功能
3、Auto ACK & retransmit 自动答复以及自动重发功能
4、Address and CRC computation 地址及CRC校验
5、On the air data rate 1 or 2Mbps 空中无线速率1或2Mbps
6、Digital interface (SPI) speed 0-10 Mbps SPI接口速率:0-10Mbps
7、125 RF channel operation 125个可选工作频道
8、Short switching time enable frequency hopping 很短的频道切换时间,可以用于调频
9、5V tolerant signal input pads 允许5V的信号输入
10、Power supply range: 1.9 to 3.6 V 工作电压范围:1.9-3.6V
参考数据
|
Parameter |
Value |
Unit |
|
Max.supply voltage 最大电源电压 |
3.6 |
V |
|
Min.supply voltage 最小电源电压 |
1.9 |
V |
|
Max. output power 最大输出功率 |
0 |
dBm |
|
Max. data rate 最大数据传输率 |
2000 |
kbps |
|
Supply current in TX mode @ 0dBm output power 0dBm发射功率下电源电流 |
11.3 |
mA |
|
Supply current in RX mode @ 2000 kbps 接收模式下电源电流(2000kbps) |
12.3 |
mA |
|
Temperature range 温度范围 |
-40 to +85 |
℃ |
|
Sensitivity @ 1000 kbps 灵敏度(1000kbps) |
-85 |
dBm |
|
Supply current in Power Down mode 掉电模式下电源电流 |
900 |
nA |
电气特性
条件:VCC= +3V, GND接地, TA = - 40ºC 到+ 85ºC
|
符号 |
参数(条件) |
最小值 |
典型值 |
最大值 |
单位 |
|
|
操作条件 |
||||
|
VCC |
电源 |
1.9 |
3.0 |
3.6 |
V |
|
温度 |
工作温度 |
-40 |
+27 |
+85 |
℃ |
|
|
数字输入脚 |
||||
|
VIH |
高电平输入电压 |
0.7Vcc |
|
5.25 |
V |
|
VIL |
低电平输入电压 |
GND |
|
0.3Vcc |
V |
|
|
数字输出脚 |
||||
|
VOH |
高电平输出电压(IOH=-0.5mA) |
Vcc-0.3 |
|
Vcc |
V |
|
VOL |
低电平输出电压(IOL=0.5mA) |
GND |
|
0.3 |
V |
|
|
常用射频条件 |
||||
|
fop |
工作频率 |
2400 |
|
2525 |
MHz |
|
fXTAL |
晶振频率 |
|
16 |
|
MHz |
|
△f1M |
频移@1000kbps |
|
±160 |
|
kHz |
|
△f2M |
频移@2000kbps |
|
±320 |
|
kHz |
|
RGFSK |
ShockBrust模式下数据传输率 |
>0 |
|
2000 |
kbps |
|
FCHANNEL |
频道间距@1000kbps |
|
1 |
|
MHz |
|
FCHANNEL |
频道间距@2000kbps |
|
2 |
|
MHz |
|
|
发射操作 |
||||
|
PRF |
最大输出功率 |
|
0 |
+4 |
dBm |
|
PRFC |
射频功率控制范围 |
16 |
18 |
20 |
dB |
|
PRFCR |
射频电源 |
|
|
±4 |
dB |
|
PBW |
载波调制的20dB带宽 |
|
|
2000 |
kHz |
|
PRF2 |
第一邻近通道发射功率2MHZ |
|
|
-20 |
dBm |
|
PRF3 |
第二邻近通道发射功率4MHZ |
|
|
-50 |
dBm |
|
IVDD |
输出功率0dBm下电流 |
|
11.3 |
|
mA |
|
IVDD |
输出功率-20dBm下电流 |
|
7.0 |
|
mA |
|
IVDD |
-6dBm输出功率ShockBrust模式下电流 |
|
0.05 |
|
mA |
|
IVDD |
待机模式下电流 |
|
32 |
|
uA |
|
IVDD |
掉电模式下电流 |
|
900 |
|
nA |
|
|
接收操作 |
||||
|
IVDD |
2000kbps数据传输率下,单通道工作电流 |
|
12.3 |
|
mA |
|
IVDD |
1000kbps数据传输率下,单通道工作电流 |
|
11.8 |
|
mA |
|
RXSENS |
在0.1%BRE(@2000kbps)下的灵敏度 |
|
-82 |
|
dBm |
|
RXSENS |
在0.1%BRE(@1000kbps)下的灵敏度 |
|
-85 |
|
dBm |
运行模式
|
Mode |
PWR_UP |
CE |
PRIM_RX |
FIFO寄存器状态 |
|
RX mode 接收模式 |
1 |
1 |
1 |
---- |
|
TX mode 发送模式 |
1 |
1 |
0 |
数据存在TX FIFO中 |
|
TX mode 发送模式 |
1 |
1→0 |
0 |
停留在发送模式,直到数据发送完毕 |
|
Stand by-Ⅰ 待机模式-Ⅰ |
1 |
1 |
0 |
TX FIFO为空 |
|
Stand by-Ⅱ 待机模式-Ⅱ |
1 |
0 |
X |
无数据传输 |
|
Power down 掉电模式 |
0 |
X |
X |
---- |
1、待机模式(Stand by)
待机模式Ⅰ是用来最大限度地减少平均电流消耗,同时保持较短的启动时间。这种模式下,晶振是正常工作的。在待机模式下Ⅱ,部分时钟缓冲器处于工作状态。当 CE为高电平且发送端TX FIFO为空时进入待机模式Ⅱ。在待机模式期间,配置字内容仍然存在。SPI接口有可能处于被激活状态。
2、掉电模式(Power down)
在掉电模式下。nRF24L01各功能关闭,保持电流消耗最小。在进入掉电模式时,设备处于不工作状态,但是所有寄存器的内容依然存在。同时,SPI口也有可能处于被激活状态。掉电模式是由CONFIG寄存器中的PWR_UP位来控制的。
设备配置
设备的所有配置都在配置寄存器中,这些所有的寄存器是通过SPI接口进行配置的。
SPI接口
此SPI接口为标准SPI接口,其最大的数据传输率为10Mbps。大多数寄存器都是可读的。
SPI指令设置
可能用到的指令详见表8-1。当CSN为低电平后,SPI接口等待执行指令。每一条指令的执行都必须经CSN由高到底的变化。
SPI指令格式
<命令字:高位到低位(每字节)>
<数据字节:低位到高位,高位在前>
|
指令名称 |
指令格式 |
操作 |
|
R_REGISTER |
000A AAAA |
读寄存器 AAAAA为读的寄存器地址 |
|
W_REGISTER |
001A AAAA |
写寄存器 AAAAA为写的寄存器地址 只有在掉电和待机模式下可操作 |
|
R_RX_PAYLOAD |
0110 0001 |
读RX有效数据:1-32字节,从0开始,完成后,FIFO寄存器中有效数据被清楚。应用于接收模式下 |
|
W_TX_PAYLOAD |
1010 0000 |
写TX有效数据:1-32字节,从0开始。应用于与发送模式下。 |
|
FLUSH_TX |
1110 0001 |
清楚TX FIFO寄存器,用于发送模式。 |
|
FLUSH_RX |
1110 0010 |
清楚RX FIFO寄存器,用于接收模式。 传输应答过程中不执行该指令,否则,应答信号无法完整传输。 |
|
REUSE_TX_PL |
1110 0011 |
重新使用上一包数据。只要CE为高电平,数据包总会被重新发送。TX有效数据将会一直被使用直到W_TX_PAYLOAD或FLUSH TX被取消。数据包传输过程中必须禁止TX有效数据的使用。 |
|
NOP |
1111 1111 |
空操作 可以用来读状态寄存器 |
中断
中断引脚(IRQ)为低电平触发,当寄存器中的TX_DS, RX_DR 或MAX_RT为高电平时,中断即可触发。当MCU给中断源写“1”时,中断引脚被禁用。通过设置可屏蔽中断位为高,可以禁止中断响应。默认状态下,所有中断源是被禁止的。
SPI时序
在写寄存器之前,必须确保设备处于待机或是掉电模式。下列图中,给出了SPI的操作以及时序。
其中:
CN---SPI的指令位
SN--状态寄存器位
DN—数据位(注:低字节到高字节,高字节在前)
飞
图9-1 SPI读操作

图9-2 SPI写操作
发
图9-3 SPI的NOP操作时序图
重要的时序数据
下表是芯片的时序信息
TY-nRF2L401的模式转换时间
|
nRF24L01timing |
Max. |
Min. |
Name |
|
Power Down→Standby mode 掉电模式到待机模式 |
1.5ms |
|
Tpd2stby |
|
Standby modes→TX/RX mode 待机模式到发送或接收模式 |
130μs |
|
Tstby2a |
|
Minimum CE high ™ CE高电平维持时间 |
|
10μs |
Thce |
|
Delay from CE pos. edge to CSN low CSN为低电平时,CE上升沿延迟时间 |
|
4μs |
Tpece2csn |
从掉电模式直接转到发送或接收模式前必须有1.5ms的待机模式。要注意的是:当关掉电源VCC后设置字将会丢失,此时,设备要想转向发送或是接收模式,就必须重新设置。
增强型ShockBurst时序图如下
图10-1 增强型ShockBurstTM模式发送一数据包时序图(2Mbps)
典型应用

注:若单片机为3V电源供电,本模块可以与单片机同电源;若单片机为5V电源供电,则二者必须独立供电(即本模块3V供电,单片机5V供电)。如上图
