沈阳理工大学学士学位论文
2.6.1 nRF24L01概述
nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz~2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。nRF24L01主要特性如下:
1、GFSK调制,硬件集成OSI链路层; 2、具有自动应答和自动再发射功能; 3、片内自动生成报头和CRC校验码; 4、数据传输率为l Mb/s或2Mb/s; 5、SPI速率为0 Mb/s~10 Mb/s;
6、125个频道与其他nRF24系列射频器件相兼容; 7、QFN20引脚4 mm×4 mm封装; 8、供电电压为1.9 V~3.6 V;
2.6.2 工作模式
nRF24L01的封装及引脚排列如图所示。各引脚功能如图2.7所示。
图2.7 nRF24L01封装图
CE:使能发射或接收;
CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01; IRQ:中断标志位; VDD:电源输入端; VSS:电源地;
XC2,XC1:晶体振荡器引脚;
17
沈阳理工大学学士学位论文
VDD_PA:为功率放大器供电,输出为1.8 V; ANT1,ANT2:天线接口; IREF:参考电流输入。
2.6.3 工作模式
通过配置寄存器可将nRF24L01配置为发射、接收、空闲及掉电四种工作模式,如表2.4所示。
表2.4 nRF24L01工作模式
模式 接收模式 发射模式 发射模式 待机模式2 待机模式1 掉电
PWR_UP
1 1 1 1 1 0
PRIM_RX
1 0 0 0 - -
CE 1 1 1→0 1 0 -
FIFO寄存器状态
-
数据在TX FIFO 寄存器中 停留在发送模式,直至数据发送完
TX_FIFO为空 无数据传输
-
待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式;待机模式下,所有配置字仍然保留。在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留[13]。 2.6.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
18
沈阳理工大学学士学位论文
变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。
接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。
在写寄存器之前一定要进入待机模式或掉电模式。如下图,给出SPI操作及时序图:
图2.8 SPI读操作
图2.9 SPI写操作
19
沈阳理工大学学士学位论文
2.6.5 配置字
SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。
nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。nRF24L01 的配置寄存器共有25个,常用的配置寄存器如表2.5所示。
表2.5 常用配置寄存器
地址(H) 00 01 02 03 04 07 0A~0F 10 11~16
寄存器名称 CONFIG EN_AA EN_RXADDR SETUP_AW SETUP_RETR STATUS RX_ADDR_P0~P5 TX_ADDR RX_PW_P0~P5
功能 设置24L01工作模式 设置接收通道及自动应答 使能接收通道地址 设置地址宽度
设置自动重发数据时间和次数 状态寄存器,用来判定工作状态 设置接收通道地址 设置接收接点地址 设置接收通道的有效数据宽度
20
沈阳理工大学学士学位论文
2.7 总体原理图设计
总体原理图如图2.10所示:
图2.10 总体原理图
21