基于嵌入式NRF24L01 单芯片2.4GHz收发器的无线数据传输技术设计方案
原标题:基于嵌入式NRF24L01器件的无线数据传输技术设计方案
对于初学者来说,最痛苦的莫过于看英文技术手册,所以当初小白的自己就会想,要是有人将这些手册翻译成中文就好了。但是对于高手而言,他又不屑于翻译手册,因为他直接就能看懂,根本不需要翻译。所以在寻找NRF24L01+的中文手册无果之后,萌生了翻译这篇文章的想法。首先无线数据传输这个技术我很感兴趣,其次这个芯片非常适合初学者去掌握模块的使用方法,这个模块的应用也相当广泛,所以历经一星期的时间将其翻译成了中文,方便他人,亦是方便自己。
nRF24L01+是一款带有嵌入式基带协议引擎(EnhancedShockBurst™)的单芯片2.4GHz收发器,适用于超低功耗无线应用。nRF24L01+设计用于2.400-2.4835GHz的全球ISM频段。要用nRF24L01+设计无线电系统,您只需要一个MCU(微控制器)和一些外部无源组件。您可以通过串行外设接口(SPI)来操作和配置nRF24L01+。寄存器映射可通过SPI访问,其中包含nRF24L01+中的所有配置寄存器,并且可在芯片的所有操作模式下访问。嵌入式基带协议引擎(EnhancedShockBurst™)基于数据包通信,支持从手动操作到高级自治协议操作等各种模式。内部FIFO确保无线电前端和系统MCU之间的数据流畅通。EnhancedShockBurst™通过处理所有高速链路层操作来降低系统成本。无线电前端使用GFSK调制。它具有用户可配置的参数,如频道,输出功率和空中数据速率。nRF24L01+支持250kbps,1Mbps和2Mbps的空中数据速率。高空中数据速率与两种省电模式相结合,使nRF24L01+非常适合超低功耗设计。nRF24L01+与nRF24L01直接兼容,并与nRF2401A,nRF2402,nRF24E1和nRF24E2在空中兼容。nRF24L01+中的互调和宽带阻塞值与nRF24L01相比有了很大的改进,并且nRF24L01+的内部滤波功能增加了满足RF监管标准的余量。内部稳压器确保高电源抑制比(PSRR)和宽电源范围。
nRF24L01+的特点包括:
•信号
X全球2.4GHzISM频段操作
X126个RF通道
X公共RX和TX接口
XGFSK调制
X250kbps,1和2Mbps空中数据速率
X1MHz非重叠信道间隔,1Mbps
X2MHz非重叠信道间隔,2Mbps
•发射机
X可编程输出功率:0,-6,-12或-18dBm
输出功率为0dBm时X11.3mA
•接收器
XFastAGC改善动态范围
X集成通道过滤器
在2Mbps时X13.5mA
2Mbps时灵敏度为-82dBm
在1Mbps时X-85dBm灵敏度
250kbps时灵敏度为-94dBm
•RF合成器
X完全集成的合成器
X无需外部回路滤波器,VCO变容二极管或谐振器
X接受低成本±60ppm16MHz晶振
•增强ShockBurst™
X1到32个字节的动态净荷长度
X自动数据包处理
X自动数据包事务处理
X6数据管道MultiCeiver™用于1:6星形网络
•能源管理
X集成稳压器
X1.9至3.6V电源范围
X具有快速启动时间的空闲模式,用于高级电源管理
X26μA待机I模式,900nA掉电模式
X最大1.5ms从掉电模式启动
XMax130us从待机I模式启动
•主机接口
X4针硬件SPI
X最大10Mbps
X3级32个字节的TX和RXFIFO
X5V宽容输入
•紧凑型20引脚4x4mmQFN封装
1.1无线电控制
本章介绍nRF24L01+无线电收发器的工作模式和用于控制无线电的参数。nRF24L01+内置状态机,用于控制芯片工作模式之间的转换。状态机从用户定义的寄存器值和内部信号中获取输入。
1.1.1操作模式
您可以在掉电,待机,RX或TX模式下配置nRF24L01+。本节详细介绍这些模式。
1.1.1.1状态图
图4中的状态图显示了操作模式及其功能。状态图中突出显示了三种不同的状态:
•推荐的操作模式:是正常操作期间使用的推荐状态。
•可能的操作模式:可能的操作状态,但在正常操作期间不使用。
•过渡状态:在振荡器启动和PLL建立期间使用的时间限制状态。
当VDD达到1.9V或更高时,nRF24L01+进入上电复位状态,保持复位状态直到进入掉电模式。
1.1.1.2掉电模式
在掉电模式下,nRF24L01+使用最小电流消耗来禁用。所有可用的寄存器值都将保持不变,并且SPI保持活动状态,从而可以更改配置以及数据寄存器的上载/下载。关于启动时间,请参见第16页的表16.通过将CONFIG寄存器中的PWR_UP位设置为低电平来进入掉电模式。
1.1.1.3待机模式
1.1.1.3.1待机I模式
通过将CONFIG寄存器中的PWR_UP位设置为1,器件进入待机I模式。待机I模式用于在保持较短的启动时间的同时将平均电流消耗降至最低。在这种模式下,只有部分晶体振荡器处于活动状态。只有在CE设置为高电平且CE设置为低电平时,才会切换到活动模式,nRF24L01将从TX和RX模式返回到待机I模式。
1.1.1.3.2待机II模式
在备用-II模式下,额外的时钟缓冲器处于活动状态,与待机I模式相比,使用更多的电流。如果CE在具有空TXFIFO的PTX器件上保持高电平,则nRF24L01+进入待机II模式。如果一个新的数据包上传到TXFIFO,PLL会立即启动并在正常的PLL建立延迟(130μs)后发送数据包。寄存器值保持不变,并且在两种待机模式下均可激活SPI。有关启动时间,请参阅第24页上的表16。
1.1.1.4接收模式
RX模式是将nRF24L01+无线电用作接收器的主动模式。要进入该模式,nRF24L01+必须将PWR_UP位,PRIM_RX位和CE引脚设置为高电平。在接收模式下,接收器解调来自RF信道的信号,不断向基带协议引擎提供解调数据。基带协议引擎不断搜索有效的数据包。如果找到了有效的数据包(通过匹配的地址和有效的CRC),数据包的有效负载将显示在RXFIFO的空闲时隙中。如果RXFIFO已满,则接收的数据包将被丢弃。nRF24L01+保持在RX模式,直到MCU将其配置为待机I模式或掉电模式。但是,如果基带协议引擎中的自动协议功能(EnhancedShockBurst™)已启用,nRF24L01+可以进入其他模式以执行协议。在接收模式下,接收功率检测器(RPD)信号可用。RPD是在接收频道内检测到高于-64dBm的RF信号时设置为高电平的信号。内部RPD信号在提供给RPD寄存器之前被过滤。在RPD设置为高电平之前,RF信号必须至少存在40μs。第25页第6.4节描述了如何使用RPD
1.1.1.5发送模式
TX模式是传输数据包的主动模式。要进入该模式,nRF24L01+必须将PWR_UP位设置为高电平,将PRIM_RX位设置为低电平,TXFIFO中的有效负载和CE上的高电平脉冲超过10μs。nRF24L01+一直处于TX模式,直到完成发送数据包。如果CE=0,则nRF24L01+返回待机I模式。如果CE=1,则TXFIFO的状态决定下一个操作。如果TXFIFO不为空,则nRF24L01+将保持在TX模式并发送下一个数据包。如果TXFIFO为空,则nRF24L01+进入待机II模式。处于TX模式时,nRF24L01+发送器PLL工作在开环状态。重要的是,一次不要将nRF24L01+保持在TX模式下的时间超过4ms。如果启用增强ShockBurst™功能,则nRF24L01+绝不会在TX模式下长于4ms。
(译者注:测试连续往TXFIFO中传输数据,看接收端是否能正确接收数据。并观察状态。猜测:空中发送数据比SPI传输速度更快,接收端能正确接收数据)
1.1.1.6操作模式配置
A.如果CE保持高电平,则所有TXFIFO都清空,并执行所有必要的ACK和可能的重传。只要TXFIFO被重新填充,传输就会继续。如果CE仍为高电平时TXFIFO为空,则nRF24L01+进入待机II模式。在这种模式下,只要在将数据包上载(UL)到TXFIFO后CSN置为高电平,数据包的传输就会开始。
B.该工作模式将CE脉冲至少持续10μs。这允许传送一个分组。这是正常的操作模式。数据包传输完成后,nRF24L01+进入待机I模式。
1.1.1.7时间信息
本节中的时序信息涉及模式之间的转换和CE引脚的时序。如表16所述,从TX模式到RX模式或反向模式的转换与从待机模式到TX模式或RX模式(最大130μs)的转换相同。
为使nRF24L01+从掉电模式进入TX模式或RX模式,必须首先通过待机模式。在CE设置为高电平之前,nRF24L01+离开掉电模式后,必须延迟Tpd2stby(见表16)。
注:如果VDD关闭,寄存器值将丢失,您必须在进入TX或RX模式之前配置nRF24L01+。
1.1.2空中数据速率空中数据速率是nRF24L01+在发送和接收数据时使用的调制信号速率。它可以是250kbps,1Mbps或2Mbps。使用较低的空中数据速率比较高的空中数据速率提供更好的接收器灵敏度但是,空中数据传输速率较高,平均电流消耗较低,并且可减少空中碰撞的可能性。空中数据速率由RF_SETUP寄存器中的RF_DR位设置。发射机和接收机必须以相同的空中数据速率进行编程才能相互通信。nRF24L01+与nRF24L01完全兼容。为了与nRF2401A,nRF2402,nRF24E1和nRF24E2兼容,空中数据速率必须设置为250kbps或1Mbps。
1.1.3射频频道频率
RF信道频率决定了nRF24L01+使用的信道的中心。该信道在250kbps和1Mbps的带宽下占用带宽小于1MHz,在2Mbps带宽下带宽小于2MHz。nRF24L01+可以在2.400GHz至2.525GHz的频率下工作。RF信道频率设置的编程分辨率为1MHz。在2Mbps时,信道占用比RF信道频率设置的分辨率更宽的带宽。为确保2Mbps模式下不重叠的通道,通道间隔必须为2MHz或更高。在1Mbps和250kbps时,信道带宽与RF频率的分辨率相同或更低。
RF通道频率由RF_CH寄存器根据以下公式设置:
F0=2400+RF_CH[MHz]
您必须使用相同的RF信道频率编程发射机和接收机才能彼此通信。
1.1.4接收功率检测器测量
位于寄存器09中的接收功率检测器(RPD)位0触发接收的功率电平高于-64dBm,这些功率电平出现在您接收的RF信道中。如果接收功率小于-64dBm,则RDP=0。当nRF24L01+处于接收模式时,可以随时读出RPD。这提供了该频道当前接收功率电平的快照。接收到有效数据包后,RPD状态将被锁存,然后指示来自您自己的发射机的信号强度。如果没有收到数据包,RPD在接收周期结束时被锁存,因为主机MCU设置CE低或RX超时由EnhancedShockBurst™控制。当接收模式启用且等待时间Tstby2a+Tdelay_AGC=130us+40us后,RPD状态正确。RX增益随温度变化,这意味着RPD阈值也随温度而变化。在T=-40°C时,RPD阈值降低了-5dB,并在85°C时增加了+5dB。
1.1.5PA控制
PA(功率放大器)控制用于设置nRF24L01+功率放大器的输出功率。在TX模式下,PA控制有四个可编程步骤,参见表17.PA控制由RF_SETUP寄存器中的RF_PWR位设置
1.1.6RX/TX控制
RX/TX控制由CONFIG寄存器中的PRIM_RX位置1,并将nRF24L01+设置为发送/接收模式。
责任编辑:David
【免责声明】
1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。
2、本文的引用仅供读者交流学习使用,不涉及商业目的。
3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。
4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。
拍明芯城拥有对此声明的最终解释权。