基于嵌入式NRF24L01器件的无线数据传输技术

描述

对于初学者来说,最痛苦的莫过于看英文技术手册,所以当初小白的自己就会想,要是有人将这些手册翻译成中文就好了。但是对于高手而言,他又不屑于翻译手册,因为他直接就能看懂,根本不需要翻译。所以在寻找 NRF24L01+ 的中文手册无果之后,萌生了翻译这篇文章的想法。首先无线数据传输这个技术我很感兴趣,其次这个芯片非常适合初学者去掌握模块的使用方法,这个模块的应用也相当广泛,所以历经一星期的时间将其翻译成了中文,方便他人,亦是方便自己。

nRF24L01 +是一款带有嵌入式基带协议引擎(Enhanced ShockBurst™)的单芯片 2.4GHz 收发器,适用于超低功耗无线应用。 nRF24L01 +设计用于 2.400-2.4835GHz的全球 ISM 频段。要用 nRF24L01 +设计无线电系统,您只需要一个MCU(微控制器)和一些外部无源组件。您可以通过串行外设接口(SPI)来操作和配置 nRF24L01 +。寄存器映射可通过 SPI 访问,其中包含 nRF24L01 +中的所有配置寄存器,并且可在芯片的所有操作模式下访问。嵌入式基带协议引擎(Enhanced ShockBurst™)基于数据包通信,支持从手动操作到高级自治协议操作等各种模式。内部 FIFO 确保无线电前端和系统 MCU 之间的数据流畅通。 Enhanced Shock Burst™通过处理所有高速链路层操作来降低系统成本。无线电前端使用 GFSK 调制。它具有用户可配置的参数,如频道,输出功率和空中数据速率。nRF24L01 +支持 250 kbps,1 Mbps 和 2Mbps 的空中数据速率。高空中数据速率与两种省电模式相结合,使 nRF24L01 +非常适合超低功耗设计。nRF24L01 +与 nRF24L01 直接兼容,并与 nRF2401A,nRF2402,nRF24E1 和 nRF24E2 在空中兼容。 nRF24L01 +中的互调和宽带阻塞值与 nRF24L01相比有了很大的改进,并且 nRF24L01 +的内部滤波功能增加了满足 RF 监管标准的余量。内部稳压器确保高电源抑制比(PSRR)和宽电源范围。

nRF24L01 +的特点包括:

•信号

  • X 全球 2.4GHz ISM 频段操作
  • X 126 个 RF 通道
  • X 公共 RX 和 TX 接口
  • X GFSK 调制
  • X 250kbps,1 和 2Mbps 空中数据速率
  • X 1MHz 非重叠信道间隔,1Mbps
  • X 2MHz 非重叠信道间隔,2Mbps

•发射机

  • X 可编程输出功率:0,-6,-12 或-18dBm

输出功率为 0dBm 时 X 11.3mA

•接收器

  • X Fast AGC 改善动态范围
  • X 集成通道过滤器

在 2Mbps 时 X 13.5mA

2Mbps 时灵敏度为-82dBm

在 1Mbps 时X-85dBm 灵敏度

250kbps 时灵敏度为-94dBm

•RF 合成器

  • X 完全集成的合成器
  • X 无需外部回路滤波器,VCO 变容二极管或谐振器
  • X 接受低成本±60ppm 16MHz 晶振

•增强 ShockBurst™

  • X 1 到 32 个字节的动态净荷长度
  • X 自动数据包处理
  • X 自动数据包事务处理
  • X 6 数据管道 MultiCeiver™用于 1:6 星形网络

• 能源管理

  • X 集成稳压器
  • X 1.9 至 3.6V 电源范围
  • X 具有快速启动时间的空闲模式,用于高级电源管理
  • X26μA 待机 I 模式,900nA 掉电模式
  • X 最大 1.5ms 从掉电模式启动
  • X Max 130us 从待机I 模式启动

•主机接口

  • X 4 针硬件 SPI
  • X 最大 10Mbps
  • X 3 级 32 个字节的 TX 和 RX FIFO
  • X 5V 宽容输入

•紧凑型 20 引脚 4x4mm QFN 封装

1.1 无线电控制

本章介绍 nRF24L01 +无线电收发器的工作模式和用于控制无线电的参数。nRF24L01 +内置状态机,用于控制芯片工作模式之间的转换。 状态机从用户定义的寄存器值和内部信号中获取输入。

1.1.1 操作模式

您可以在掉电,待机,RX 或 TX 模式下配置 nRF24L01 +。 本节详细介绍这些模式。

1.1.1.1 状态图

图 4 中的状态图显示了操作模式及其功能。 状态图中突出显示了三种不同的状态:

•推荐的操作模式:是正常操作期间使用的推荐状态。

•可能的操作模式:可能的操作状态,但在正常操作期间不使用。

•过渡状态:在振荡器启动和 PLL 建立期间使用的时间限制状态。

当 VDD 达到 1.9V 或更高时,nRF24L01 +进入上电复位状态,保持复位状态直到进入掉电模式。

RF

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 在具有空 TX FIFO 的 PTX 器件上保持高电平,则 nRF24L01 +进入待机 II 模式。 如果一个新的数据包上传到 TX FIFO,PLL 会立即启动并在正常的 PLL 建立延迟(130μs)后发送数据包。寄存器值保持不变,并且在两种待机模式下均可激活 SPI。 有关启动时间,请参阅第 24 页上的表 16。

1.1.1.4 接收模式

RX 模式是将 nRF24L01 +无线电用作接收器的主动模式。要进入该模式,nRF24L01 +必须将 PWR_UP 位,PRIM_RX 位和 CE 引脚设置为高电平。在接收模式下,接收器解调来自 RF 信道的信号,不断向基带协议引擎提供解调数据。基带协议引擎不断搜索有效的数据包。如果找到了有效的数据包(通过匹配的地址和有效的 CRC),数据包的有效负载将显示在 RX FIFO 的空闲时隙中。如果 RX FIFO 已满,则接收的数据包将被丢弃。 nRF24L01 +保持在 RX 模式,直到 MCU 将其配置为待机 I 模式或掉电模式。但是,如果基带协议引擎中的自动协议功能(Enhanced ShockBurst™)已启用,nRF24L01 +可以进入其他模式以执行协议。在接收模式下,接收功率检测器(RPD)信号可用。 RPD 是在接收频道内检测到高于-64 dBm 的 RF 信号时设置为高电平的信号。内部 RPD 信号在提供给 RPD 寄存器之前被过滤。在 RPD 设置为高电平之前,RF 信号必须至少存在 40μs。第 25 页第 6.4 节描述了如何使用 RPD

1.1.1.5 发送模式

TX 模式是传输数据包的主动模式。 要进入该模式,nRF24L01 +必须将 PWR_UP 位设置为高电平,将 PRIM_RX 位设置为低电平,TX FIFO 中的有效负载和 CE 上的高电平脉冲超过 10μs。 nRF24L01 +一直处于 TX 模式,直到完成发送数据包。 如果 CE = 0,则 nRF24L01 +返回待机 I 模式。 如果 CE = 1,则 TX FIFO 的状态决定下一个操作。 如果 TX FIFO 不为空,则 nRF24L01 +将保持在 TX 模式并发送下一个数据包。 如果 TX FIFO 为空,则 nRF24L01 +进入待机 II 模式。 处于 TX 模式时,nRF24L01 +发送器 PLL 工作在开环状态。 重要的是,一次不要将 nRF24L01 +保持在 TX 模式下的时间超过 4ms。 如果启用增强 ShockBurst™功能,则 nRF24L01 +绝不会在 TX 模式下长于 4ms。

(译者注:测试连续往 TX FIFO 中传输数据,看接收端是否能正确接收数据。并观察状态。猜测:空中发送数据比 SPI 传输速度更快,接收端能正确接收数据)

1.1.1.6 操作模式配置

RF

A.如果 CE 保持高电平,则所有 TX FIFO 都清空,并执行所有必要的 ACK 和可能的重传。 只要 TX FIFO 被重新填充,传输就会继续。 如果 CE 仍为高电平时 TX FIFO 为空,则 nRF24L01 +进入待机 II 模式。 在这种模式下,只要在将数据包上载(UL)到 TX FIFO 后 CSN 置为高电平,数据包的传输就会开始。

B.该工作模式将 CE 脉冲至少持续 10μs。 这允许传送一个分组。这是正常的操作模式。 数据包传输完成后,nRF24L01 +进入待机 I 模式。

1.1.1.7 时间信息

本节中的时序信息涉及模式之间的转换和 CE 引脚的时序。 如表 16 所述,从 TX 模式到 RX 模式或反向模式的转换与从待机模式到 TX 模式或 RX 模式(最大 130μs)的转换相同。

RF

为使 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 触发接收的功率电平高于-64 dBm,这些功率电平出现在您接收的 RF 信道中。 如果接收功率小于-64 dBm,则 RDP = 0。当 nRF24L01 +处于接收模式时,可以随时读出 RPD。 这提供了该频道当前接收功率电平的快照。 接收到有效数据包后,RPD 状态将被锁存,然后指示来自您自己的发射机的信号强度。 如果没有收到数据包,RPD 在接收周期结束时被锁存,因为主机 MCU 设置 CE 低或 RX 超时由 Enhanced ShockBurst™控制。 当接收模式启用且等待时间 Tstby2a + Tdelay_AGC = 130us + 40us 后,RPD 状态正确。 RX 增益随温度变化,这意味着 RPD 阈值也随温度而变化。 在 T = -40°C 时,RPD 阈值降低了-5dB,并在 85°C 时增加了+ 5dB。

1.1.5 PA 控制

PA(功率放大器)控制用于设置 nRF24L01 +功率放大器的输出功率。 在 TX 模式下,PA 控制有四个可编程步骤,参见表 17. PA 控制由 RF_SETUP 寄存器中的 RF_PWR 位设置

RF

1.1.6 RX/TX 控制

RX / TX 控制由 CONFIG 寄存器中的 PRIM_RX 位置 1,并将 nRF24L01 +设置为发送/接收模式。
编辑:hfy

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分