6、数据传输率为l Mb/s或2Mb/s;
7、SPI速率为0 Mb/s~10 Mb/s;
8、供电电压为1。9 V~3。6 V。
2。1。2引脚功能描述
nRF24L01的封装及引脚排列如图所示。各引脚功能如图2。1所示:
图2。1 nRF24L01封装图
CE:使能发射或接收;
CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01;
IRQ:中断标志位;
VDD:电源输入端;
VSS:电源地;
XC2,XC1:晶体振荡器引脚;
VDD_PA:为功率放大器供电,输出为1。8 V;
ANT1,ANT2:天线接口;
IREF:参考电流输入。
2。1。3 工作模式
通过配置寄存器可将nRF24L01配置为发射、接收、空闲及掉电四种工作模式,如表2。1所示:
表2。1 nRF24L01工作模式
模式 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主要作用是降低电流损耗,在该模式下晶体振荡器仍然是工作的;待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式;待机模式下,所有配置字仍然保留。在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的数值仍然保留[2]。
2。1。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[3]。 STC89C52单片机nRF24L01的病房无线呼叫系统设计(4):http://www.youerw.com/tongxin/lunwen_91209.html