NRF24L01之数据手册要点解析和经验分享

公众号:嵌入式不难

本文仅供参考学习,如有错误之处,欢迎留言指正。

总体特性

  1. 频段:支持2.400 - 2.4835GHz,可运行在2400~2525MHz
  2. 调制方式:GFSK
  3. 支持空中速率:250 kbps, 1 Mbps and 2Mbps
  4. 支持126个RF channel
  5. 可编程输出功率:0, -6, -12 or -18dBm
  6. 基带已嵌入协议(Enhanced ShockBurst™):可支持特定模式下读取不定长数据
  • 1~32字节动态长度数据
  1. 电压范围:1.9~3.6V,引脚支持5V输入
  2. Standby-I模式:26uA,关机模式(power down):900nA
  3. 从关机模式(power down)下启动需要1.5ms,从Standby-I模式下启动需要130us
  4. SPI最大支持10Mbps ,RX和TX分别有3个缓冲区

引脚功能

名称输入输出描述
CEI芯片模式控制IO,影响模式,但不是唯一影响因素
CSNI选择该芯片,低有效,低时可传输SPI命令
SCKISPI时钟线
MOSIISPI_MOSI线
MISOOSPI_MISO线
IRQO可屏蔽中断引脚,低有效

上电过程

当VDD高于1.9V时,芯片进入复位状态,并在复位状态保持一段时间(最小1ms,最大100ms),然后进入power down模式。

模式介绍

在这里插入图片描述

  • PWR_UP: CONFIG寄存器的其中一个bit, 1=POWER_UP(开机), 0:POWER_DOWN(关机)
  • PRIM_RX: CONFIG寄存器的其中一个bit, 1=PRX接收设备, 0=PTX发送设备
  • CE: 引脚
模式运行图:

在这里插入图片描述

运行模型图注意事项
  1. 粗实线表示的是推荐运行模式和推荐操作路径
  2. 细实线表示的是不推荐的运行模式和推荐操作路径
  3. 虚圆圈表示的是存在的中间状态,是一种过度状态

那么我们操作的时候尽量按照推荐路径操作

IRQ中断表

TX/RXNoACK/ACK/DPLACKTX_DS/RX_DR/MAX_RT说明
TXNoACKTX_DSTX_DS仅发出, 不一定必达
TXACKTX_DS+MAX_RTTX_DS一定必达, MAX_RT仅代表未收到RX的ACK
TXDPLACKTX_DS+RX_DR+MAX_RT(TX_DS+RX_DR)一定会同时产生, 产生时表示发送必达且收到带信息的ACK, MAX_RT仅代表未收到RX的ACK
RXNoACKRX_DRRX_DR一定收到数据
RXACKRX_DRRX_DR一定收到数据, 但TX端不一定成功收到ACK
RXDPLACKTX_DS+RX_DR可能单独产生RX_DR, 但是一定不会单独产生TX_DS, RX_DR表示一定收到数据, TX_DS表示可以填入新的ACK信息, 但TX_DS不一定表示成功发到了TX

其他注意事项:

  1. NRF24L01不要在TX Mode下停留4ms,至于有什么后果,现在不知道,那么什么情况下会在TX Mode呢?TX Mode:PWR_UP为1,PRIM_RX为0,TX FIFO不为空,且CE高电平持续10us以上。那么我们怎么控制才能不停留4ms呢?答案是,每次发送数据都给CE脉冲,而不是一直将CE置为高电平。
  2. SETUP_RETR寄存器中的ARD参数在DPLACK模式下不能乱设置, 在1M/2M速率下, ARD=500us时时间足够长,250k速率下,ARD=1500us时时间足够长
    在这里插入图片描述

测试经验

  1. DPLACK(即ACK带用户信息情况下),只开TX设备,然后设备不断电情况下将TX设备变为RX设备,这个时候TX FIFO里还存有信息,根据数据手册,TX FIFO中的内容只能在TX下清除,那这里残留的信息变无法清楚了。我的实际情况是,在RX 模式下也可以清除TX FIFO数据。同理先设为RX,再设TX时,同样也要清除RX模式下没有通过SPI读出的数据。不然可能会出问题。
  2. SPI速度没有测试过10M,但是可以稳定运行在8M
  3. 发送模式下需要的CE脉冲, 官方手册给的至少需要10us, 实测低至2.5us都可以实现功能,但是没有测试稳定性,应用中我都是采用12us的脉冲。
  4. DPLACK模式下,RX设备端,不一定每次收到TX数据时都要填入ACK信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值