[nRF24L01+] 3. Radio Control 无线电控制
3. Radio Control 无线电控制
nRF24L01+可以配置为:power down
, standby
, Rx/Tx mode
3.1. 无线控制状态图
当VDD电压大于1.9V时,进入上电复位状态,并保持复位状态,直到进入掉电模式:
需要注意的是:
-
从待机模式到TX/RX模式的过度时间,和反过来,从TX/RX模式到待机模式的过渡时间是相同的;
-
芯片从掉电模式进入TX/RX模式前,必须经过待机I模式;也就是说需要在进入掉电模式后等待
Tpd2stby
(见表16,估计是晶体振荡器建立时间及稳定之类的时间)后,才能将CE
拉高(至少10us)进入RX/TX模式 -
晶体振荡器的启动时间与晶体等效电感成正比。在一些晶体数据表中,等效串联电感Ls称为L1或Lm,Cs称为C1或Cm。
Tpd2stby = Ls/30mH * 1.5ms
,可以这么粗略的计算 -
如果芯片掉电,原来寄存器的值不会保存,所以需要从新开始配置;
3.2. Power Down Mode 掉电模式
可以通过把CONTROL
寄存器的PWR_UP
清零, 进入掉电模式,900nA;只有寄存器和SPI是活动的,以便可以通过SPI修改寄存器的值,即更改工作状态。
3.3. 待机1模式
把CONTROL
寄存器的PWR_UP
置1,可以进入待机I模式,26uA;这个模式下只有晶振一部分是活动的,它是在保持最小启动时间下的平均电流消耗最小的一个状态;
思考:这个状态下,晶振电路是工作的,也是耗电的;在按键扫描电路中,可以先使用电平触发让芯片从掉电模式下启动,然后再开始扫描判定是哪个按键按下,如此应该可以得到最小的功耗;前提是在掉电模式下GPIO的中断可以唤醒!
此外,在RX或者TX模式下,CE
拉低芯片同样会进入待机1模式;而拉高CE
则可以进入RX或者TX模式,取决于配置和寄存器的状态;
3.4. 待机II模式
相比待机I模式下,在待机II模式下更多的时钟和缓冲器处于活动状态下,因此更耗电;当CE
拉高准备进入TX模式时,如果此时的TX-FIFO为空(没有要发送的数据)就会进入待机II模式;而一旦TX-FIFO填充了数据,将在延迟130us等待PLL和配置稳定后进入TX模式。
3.5. RX接收模式
当PWR_UP
、PRIM_RX
控制位置一并且CE
管脚拉高时,会进入RX模式;
在RX模式下,接收机会持续将调制后的数据呈现给基带协议引擎,如果找到有效的数据包(通过匹配地址和有效的CRC),则数据包会出现在RXFIFO里;如果RX FIFO已满就会丢弃接收到的数据。
在MCU重新配置芯片为待机I或者掉电模式前,它都会一直保持在RX模式下;但是如果自动协议功能(Enhanced ShockBurst)启用后,芯片可以进入其他模式以执行协议;
在RX模式下,接收功率检测器(RPD,Received Power Dectector)信号可用。RPD当在接收频率信道内检测到高于-64dBm的RF信号时,会被设置为拉高的信号; RPD信号在呈现给寄存器之前会经过滤波,射频信号至少存在40us后才能被拉高。
RPD当成功接受到数据包时,状态将会被锁存,可以用来指示发射机的信号强度(也就是说如果地址或者CRC错误了,也会被置位,这样就知道你的接收机发送的信号到底有没有被收到了);如果没有收到数据包时,会保留最后一个接受周期的状态,这个状态会作为MCU将CE
拉低或者RX接收超时的结果,由增强型协议功能控制。
RPD的值需要等待 Tstby2a +Tdelay_AGC= 130us + 40us
后才是正确的(好理解,因为接收机自己配置好需要时间);接收的增益会随着温度变化而改变,所以RPD的曾因判定阈值也是如此:- 5dB at T = -40°C, + 5dB at 85°C
3.6. TX发射模式
进入TX模式需要把PWR_UP
置一, PRIM_RX
清零,往TX_FIFO
里存入数据,最后再把CE
管脚拉高至少10us
; 24L01+将会保持在TX模式,一直等到一包的数据发送完成;当CE=0
时,24L01+将会返回到待机I模式下;
TX模式下,PLL是在开环下运行的(不知道是否为其原因),不要在TX模式下超过4ms(在增强协议模式下,不会超过4ms)。
a. 如果CE=1
,所有的TX_FIFO
都会被清空,同时在发送过程中必要的ACK和可能的重发机制都会被执行。如果TX_FIFO为空
但是CE=1
仍然为高时,将会进入待机II模式;此模式下一旦TX_FIFO
不为空(SPI的数据传输进来后,管脚CSN
拉高),就会立即进入TX模式发送数据包;
b. 此操作模式使CE脉冲高至少10µs。这允许传输一个数据包。这是正常操作模式。数据包传输后,nRF24L01+进入待机I 模式。
3.7. Air data rate 空中数据速率
通过RF_SETUP
寄存器的RF_DR
控制,接收机和发射机的速率要配置成一样的;
空中数据速率是nRF24L01+在发送和接收数据时使用的调制信令速率。它可以是250kbps、1Mbps或2Mbps。
使用较低的空中数据速率可以获得更好的接收灵敏度,相比于更高的空气数据速率。但是,高空中数据速率会降低平均电流消耗,降低空中碰撞的概率。
3.8. RF Channel Frequency
nRF24L01+可以在2.400GHz至2.525GHz的频率范围内工作。RF信道频率设置的编程分辨率为1MHz,(525-400=125,即0~125)。
F0 = 2400 + RFCH [MHz]
RF信道频率决定nRF24L01+使用的信道中心。频道在250kbps和1Mbps时占用小于1MHz的带宽,在2Mhz时占用小于2MHz的带宽。
3.9. PA(Power Amplifier) Control
PA(功率放大器)控制用于设置nRF24L01+功率放大器的输出功率。PA控制由RF_SETUP
寄存器中的RF_PWR
位设置。