[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位设置。

[nRF24L01+] 3. Radio Control 无线电控制的更多相关文章
- WHAT IS PPM Encoder ?
About PPM Encoder The PPM encoder allows to encode up to 8 PWM (pulse width modulated) signals into ...
- linux查看端口及端口详解
今天现场查看了TCP端口的占用情况,如下图 红色部分是IP,现场那边问我是不是我的程序占用了tcp的链接,,我远程登陆现场查看了一下,这种类型的tcp链接占用了400多个,,后边查了一下资料,说E ...
- Magic xpa 2.5发布 Magic xpa 2.5 Release Notes
Magic xpa 2.5發佈 Magic xpa 2.5 Release Notes Magic xpa 2.5 Release NotesNew Features, Feature Enhance ...
- 在Asp.Net MVC中实现RequiredIf标签对Model中的属性进行验证
在Asp.Net MVC中可以用继承ValidationAttribute的方式,自定制实现RequiredIf标签对Model中的属性进行验证 具体场景为:某一属性是否允许为null的验证,要根据另 ...
- linux 常用端口列表
常见端口表汇总 1 tcpmux TCP Port Service Multiplexer 传输控制协议端口服务多路开关选择器 2 compressnet Management Utility com ...
- uCGUI窗口重绘代码分析
一.概述 µC/GUI的窗口重绘是学习者理解窗口工作原理和应用窗口操作的重点.µC/GUI的窗口重绘引入了回调机制,回调机制可以实现图形系统调用用户的代码,由于图形系统使用了剪切算法,使得屏幕重绘的效 ...
- USB设备类型代码(class类型)
Base Class E0h (Wireless Controller) This base class is defined for devices that are Wireless contro ...
- boolean attribute(布尔值属性) attribute vs property
boolean attribute(布尔值属性) boolean attribute HTML - Why boolean attributes do not have boolean val ...
- 网络-05-端口号-F5-负载均衡设-linux端口详解大全--TCP注册端口号大全备
[root@test1:Standby] config # [root@test1:Standby] config # [root@test1:Standby] config # [root@test ...
- 网络-02-端口号-linux端口详解大全
端口详解 1 tcpmux TCP Port Service Multiplexer 传输控制协议端口服务多路开关选择器 2 compressnet Management Utility compr ...
随机推荐
- nacos v2.2 k8s部署启动报错:nacos server did not start because dumpservice bean construction failure. errMsg102, errllsg dataSource or tableName is null
背景 最近搭建个nacos环境,用的镜像是2.2版本的,yaml如下: nacos-conf apiVersion: v1 kind: ConfigMap metadata: name: nacos- ...
- GIS数据获取:气象数据免费下载网站
本文对目前主要的气象数据获取网站加以整理与介绍. 本文为"GIS数据获取整理"专栏中第二篇独立博客,因此本文全部标题均由"2"开头.本文对目前主要的气象 ...
- Excel 更改数据同步更新到Mysql数据库
刚上班,领导给我提出一个需求,想要每天更新Mysql数据库中的原有商品订单状态,添加新的商品订单状态.因为公司目前的数据库只能添加数据,不能更改数据,想要更改原有的数据,只能将原有的数据清空,再导入新 ...
- Python性能测试框架:Locust实战教程
01认识Locust Locust是一个比较容易上手的分布式用户负载测试工具.它旨在对网站(或其他系统)进行负载测试,并确定系统可以处理多少个并发用户,Locust 在英文中是 蝗虫 的意思:作者的想 ...
- MinIO使用记录
探索MinIO:高性能.分布式对象存储解决方案 注:本文除代码外多数为AI生成 最近因为有项目需要换成Amazon S3的云存储,所以把之前做过的minio部分做一个记录,后面也会把基于这版改造的S3 ...
- SQLServer的操作以及一些概念
初始SQLServer 创建数据库 create database 数据库名 创建表 选择数据库 USE MyDb; 创建表 CREATE TABLE t_user ( id INT, usernam ...
- 【算法】用c#实现自定义字符串编码及围栏解码方法
编写一个函数/方法,它接受2个参数.一个字符串和轨道数,并返回ENCODED字符串. 编写第二个函数/方法,它接受2个参数.一个编码字符串和轨道数,并返回DECODED字符串. 然后使用围栏密码对其进 ...
- card 卡片 html
{% extends 'base.html' %} {% block content %} <div class="container"> <h1>客户信息 ...
- [oeasy]python0070_ 字体样式_下划线_中划线_闪动效果_反相_取消效果
字体样式 回忆上次内容 m 可以改变字体样式 0-10 之间设置的都是字体效果 0 复原 1 变亮 2 变暗 从3到10 又是什么效果 呢?? 真的可以blink闪烁吗? 3m 3m 实现斜体字的效果 ...
- oeasy教您玩转vim - 42 - # 剪切进入
剪切进入 回忆上节课内容 上次我们了解到了各种寄存器 :reg 无名寄存器"" 数字寄存器"0-"9 行内删除专用寄存器"- 指定寄存器" ...