薛定谔的猫

NRF24L01使用心得

0
阅读(26108)

 

 

 

 

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供电)。如上图