3、nRF24L01芯片说明书.pdf
- 文件大小: 784.86KB
- 文件类型: pdf
- 上传日期: 2023-04-13
- 下载次数: 3
概要信息:
1
2.4GHz 单片高速 2Mbps 无线收发芯片 nRF24L01
概述:
nRF24L01 是一款工作在 2.4~2.5GHz 世界通用 ISM 频段的单片无线收发器芯片。无线收发器包括:频
率发生器、增强型 SchockBurstTM 模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、
频道选择和协议的设置可以通过 SPI 接口进行设置。
极低的电流消耗:当工作在发射模式下发射功率为-6dBm 时电流消耗为 9mA,接收模式时为 12.3mA。
掉电模式和待机模式下电流消耗更低。
快速参考数据
参数 数值 单位
低供电电压 1.9 V
大发射功率 0 dBm
大数据传输率 2000 kbps
发射模式下,电流消耗(0dBm) 11.3 mA
接收模式下电流消耗(2000kbps) 12.3 mA
温度范围 -40~ +85 ℃
数据传输率为 1000kbps 下的灵敏度 -85 dBm
掉电模式下电流消耗 900 nA
表 1、 nRF24L01 快速参考数据
应用领域:
无线鼠标,键盘,游戏机操纵杆
无线数据通讯
无线门禁
安防系统
遥控装置
遥感勘测
智能运动设备
工业传感器
玩具
功能描述:
真正的 GFSK 单片式收发芯片
内置硬件链路层
增强型 ShockBurstTM功能
自动应答及自动重发功能
地址及 CRC 检验功能
无线速率: 1 或 2Mbps
SPI 接口速率:0~8Mbps
125 个可选工作频道
很短的频道切换时间,可用于跳频
与 nRF 24XX 系列完全兼容
I/O 可接受 5V 电平的输入
20 脚 QFN 4×4mm 封装
极低成本晶振±60ppm
使用低成本电感和双面 PCB 板
低工作电压:1.9~3.6V
2
分类信息
型号 描述 版本
nRF24L01 20 脚 QFN 4*4mm, RoHS&SS-00259compliant D
nRF24L01-EVKIT 评估套件 1.0
表 2、nRF24L01 分类信息
结构方框图:
图 1 nRF24L01 及外部接口
3
引脚及其功能:
引脚 名称 引脚功能 描述
1 CE 数字输入 RX 或 TX 模式选择
2 CSN 数字输入 SPI 片选信号
3 SCK 数字输入 SPI 时钟
4 MOSI 数字输入 从 SPI 数据输入脚
5 MISO 数字输出 从 SPI 数据输出脚
6 IRQ 数字输出 可屏蔽中断脚
7 VDD 电源 电源(+3V)
8 VSS 电源 接地(0V)
9 XC2 模拟输出 晶体震荡器 2 脚
10 XC1 模拟输入 晶体震荡器 1 脚/外部时钟输入脚
11 VDD_PA 电源输出 给 RF 的功率放大器提供的+1.8V 电源
12 ANT1 天线 天线接口 1
13 ANT2 天线 天线接口 2
14 VSS 电源 接地(0V)
15 VDD 电源 电源(+3V)
16 IREF 模拟输入 参考电流
17 VSS 电源 接地(0V)
18 VDD 电源 电源(+3V)
19 DVDD 电源输出 去耦电路电源正极端
20 VSS 电源 接地(0V)
表 3、nRF24L01 引脚功能
图 2 、引脚封装
4
电气特性:
条件:VDD=+3V,VSS=0V,TA=-40℃到+85℃
符号 参数(条件) 小值 典型值 大值 单位
操作条件
VDD 电源 1.9 3.0 3.6 V
温度 工作温度 -40 +27 +85 ℃
数字输入脚
VOH 高电平输出电压(IOH=-0.5mA) VDD-0.3 VDD V
VOL 高电平输出电压(IOL=0.5mA) VSS 0.3 V
常用射频条件
fOP 工作频率 2400 2525 MHz
fXTAL 晶振频率 16 MHz
△f1M 频移@1000kbps ±160 kHz
△f2M 频移@2000kbps ±320 kHz
RGFSK ShockBrust 模式下数据传输率 >0 2000 Kbps
FCHANNEL 频道间距@1000kbps 1 MHz
FCHANNEL 频道间距@2000kbps 2 MHz
发射操作
PRF 大输出功率 0 +4 dBm
PRFC 射频功率控制范围 16 18 20 dB
PRFCR 射频电源 ±4 dB
PBW 载波调制的 20dB 带宽 1800 2000 kHz
PRF1 第一邻近通道发射功率 2MHz -20 dBm
PRF2 第二邻近通道发射功率 4MHz -50 dBm
IVDD 输出功率-18dBm 下电流 11.3 mA
IVDD 输出功率-18dBm 下电流 7.0 mA
IVDD -6dBm 输出功率 ShockBrust 模式下电流 0.05 mA
IVDD 待机状态下电流 32 uA
IVDD 掉电状态下电流 900 nA
接收操作
IVDD 2000kbps 数据传输率下,单通道工作电流 12.3 mA
IVDD 1000kbps 数据传输率下,单通道工作电流 11.8 mA
RXSENS 在 0.1%BRE(@2000kbps)下的灵敏度 -82 dBm
RXSENS 在 0.1%BRE(@1000kbps)下的灵敏度 -85 dBm
表 4、nRF24L01 电气特性
5
封装外形尺寸
6
图 3、nRF24L01 外形封装尺寸
极限范围:
供电电压:
VDD…………………………….-0.3V~+3.6V
VSS…………………………….0V
输入电压
VI………………………………-0.3V~5.25V
输出电压
VO……………………………. VSS~VDD
总功耗
PD(TA=85℃)……………………… 60mW
温度
工作温度……………………-40℃~+85℃
存储器温度…………………-40℃~+125℃
注意:强行超过一项或多项极限值使用将导致器件永久性损坏。
小心:静电敏感器件。操作时遵守防护规则。
7
术语表
术语 描述
ACK 确认信号(应答信号)
ART 自动重发
CE 芯片使能
CLK 时钟信号
CRC 循环冗余校验
CSN 片选非
ESB 增强型 ShockBrustTM
GFSK 高斯键控频移
IRQ 中断请求
ISM 工业—科学—医学
LNA 低噪声放大
LSB 低有效位
LSByte 低有效字节
Mbps 兆位/秒
MCU 微控制器
MISO 主机输入从机输出
MOSI 主机输出从机输入
MSB 高有效位
MSByte 高有效字节
PCB 印刷电路板
PER 数据包误码率
PID 数据包识别位
PLD 载波
PRX 接收源
PTX 发射源
PWR_DWN 掉电
PWR_UP 上电
RX 接收
RX_DR 接收数据准备就绪
SPI 串行可编程接口
TX 发送
TX_DS 已发送数据
表 5、术语表
8
功能描述:
工作模式:
nRF24L01 可以设置为以下几种主要的模式,
模式 PWR_UP PRIM_RX CE FIFO 寄存器状态
接收模式 1 1 1 -
发送模式 1 0 1 数据在 TX FIFO 寄存器中
发送模式 1 0 1→0 停留在发送模式,直至数据发送完
待机模式 II 1 0 1 TX FIFO 为空
待机模式 I 1 - 0 无数据传输
掉电模式 0 - - -
表 6、 nRF24L01 主要工作模式
关于 nRF24L01 I/O 脚更详细的描述请参见下面的表 7。
nRF24L01 在不同模式下的引脚功能
引脚名称 方向 发送模式 接收模式 待机模式 掉电模式
CE 输入 高电平>10us 高电平 低电平 -
CSN 输入 SPI 片选使能,低电平使能
SCK 输入 SPI 时钟
MOSI 输入 SPI 串行输入
MISO 三态输出 SPI 串行输出
IRQ 输出 中断,低电平使能
表 7、nRF24L01 引脚功能
待机模式:
待机模式 I 在保证快速启动的同时减少系统平均消耗电流。在待机模式 I 下,晶振正常工作。在待机
模式 II 下部分时钟缓冲器处在工作模式。当发送端 TX FIFO 寄存器为空并且 CE 为高电平时进入待机模式
II。在待机模式期间,寄存器配置字内容保持不变。
掉电模式:
在掉电模式下,nRF24L01 各功能关闭,保持电流消耗 小。进入掉电模式后,nRF24L01 停止工作,
但寄存器内容保持不变。启动时间见表格 13。掉电模式由寄存器中 PWR_UP 位来控制
数据包处理方式:
nRF24L01 有如下几种数据包处理方式:
ShockBurstTM(与 nRF2401,nRF24E1,nRF2402,nRF24E2 数据传输率为 1Mbps 时相同)
增强型 ShockBurstTM模式
ShockBurstTM模式:
ShockBurst 模式下 nRF24L01 可以与成本较低的低速 MCU 相连。高速信号处理是由芯片内部的射频
协议处理的,nRF24L01 提供 SPI 接口,数据率取决于单片机本身接口速度。ShockBurst 模式通过允许与
单片机低速通信而无线部分高速通信,减小了通信的平均消耗电流。
在 ShockBurstTM接收模式下,当接收到有效的地址和数据时 IRQ 通知 MCU,随后 MCU 可将接收到
的数据从 RX FIFO 寄存器中读出。
在 ShockBurstTM 发送模式下,nRF24L01 自动生成前导码及 CRC 校验,参见表格 12。数据发送完毕
后 IRQ 通知 MCU。减少了 MCU 的查询时间,也就意味着减少了 MCU 的工作量同时减少了软件的开发
时间。nRF24L01 内部有三个不同的 RX FIFO 寄存器(6 个通道共享此寄存器)和三个不同的 TX FIFO 寄
存器。在掉电模式下、待机模式下和数据传输的过程中 MCU 可以随时访问 FIFO 寄存器。这就允许 SPI
接口可以以低速进行数据传送,并且可以应用于 MCU 硬件上没有 SPI 接口的情况下。
增强型的 ShockBurstTM模式:
增强型 ShockBurstTM模式可以使得双向链接协议执行起来更为容易、有效。典型的双向链接为:发送
方要求终端设备在接收到数据后有应答信号,以便于发送方检测有无数据丢失。一旦数据丢失,则通过重
9
新发送功能将丢失的数据恢复。增强型的ShockBurstTM模式可以同时控制应答及重发功能而无需增加MCU
工作量。
图 4、 nRF24L01 在星形网络中的结构图
nRF24L01 在接收模式下可以接收 6 路不同通道的数据,见图 4。每一个数据通道使用不同的地址,但
是共用相同的频道。也就是说 6 个不同的 nRF24L01 设置为发送模式后可以与同一个设置为接收模式的
nRF24L01 进行通讯,而设置为接收模式的 nRF24L01 可以对这 6 个发射端进行识别。数据通道 0 是唯一
的一个可以配置为 40 位自身地址的数据通道。1~5 数据通道都为 8 位自身地址和 32 位公用地址。所有的
数据通道都可以设置为增强型 ShockBurst 模式。
nRF24L01 在确认收到数据后记录地址,并以此地址为目标地址发送应答信号。在发送端,数据通道 0
被用做接收应答信号,因此,数据通道 0 的接收地址要与发送端地址相等以确保接收到正确的应答信号。
见图 5 选择地址举例。
图 5、应答地址确定举例
nRF24L01 配置为增强型的 ShockBurstTM 发送模式下时,只要 MCU 有数据要发送,nRF24L01 就会启
动 ShockBurstTM模式来发送数据。在发送完数据后 nRF24L01 转到接收模式并等待终端的应答信号。如果
没有收到应答信号, nRF24L01 将重发相同的数据包,直到收到应答信号或重发次数超过
SETUP_RETR_ARC 寄存器中设置的值为止,如果重发次数超过了设定值,则产生 MAX_RT 中断。
10
只要收到确认信号,nRF24L01 就认为 后一包数据已经发送成功(接收方已经收到数据),把 TX FIFO
中的数据清除掉并产生 TX_DS 中断(IRQ 引脚置高)。
在增强型 ShockBurstTM模式下,nRF24L01 有如下的特征:
当工作在应答模式时,快速的空中传输及启动时间,极大的降低了电流消耗。
低成本。nRF24L01 集成了所有高速链路层操作,比如:重发丢失数据包和产生应答信号。无需单
片机硬件上一定有 SPI 口与其相连。SPI 接口可以利用单片机通用 I/O 口进行模拟
由于空中传输时间很短,极大的降低了无线传输中的碰撞现象
由于链路层完全集成在芯片上,非常便于软硬件的开发。
增强型 ShockBurstTM发送模式:
1、 配置寄存器位 PRIM_RX 为低
2、 当 MCU 有数据要发送时,接收节点地址(TX_ADDR)和有效数据(TX_PLD)通过 SPI 接口写入
nRF24L01。发送数据的长度以字节计数从 MCU 写入 TX FIFO。当 CSN 为低时数据被不断的写入。
发送端发送完数据后,将通道 0 设置为接收模式来接收应答信号,其接收地址(RX_ADDR_P0)与接
收端地址(TX_ADDR)相同。例:在图 5 中数据通道 5 的发送端(TX5)及接收端(RX)地址设置如下:
TX5:TX_ADDR=0xB3B4B5B605
TX5:RX_ADDR_P0=0xB3B4B5B605
RX:RX_ADDR_P5=0xB3B4B5B605
3、 设置 CE 为高,启动发射。CE 高电平持续时间 小为 10 us。
4、 nRF24L01 ShockBurstTM模式:
无线系统上电
启动内部 16MHz 时钟
无线发送数据打包(见数据包描述)
高速发送数据(由 MCU 设定为 1Mbps 或 2Mbps)
5、 如果启动了自动应答模式(自动重发计数器不等于 0,ENAA_P0=1),无线芯片立即进入接收模式。
如果在有效应答时间范围内收到应答信号,则认为数据成功发送到了接收端,此时状态寄存器的
TX_DS 位置高并把数据从 TX FIFO 中清除掉。如果在设定时间范围内没有接收到应答信号,则重
新发送数据。如果自动重发计数器(ARC_CNT)溢出(超过了编程设定的值),则状态寄存器的
MAX_RT 位置高。不清除 TX FIFO 中的数据。当 MAX_RT 或 TX_DS 为高电平时 IRQ 引脚产生中
断。IRQ 中断通过写状态寄存器来复位(见中断章节)。如果重发次数在达到设定的 大重发次数
时还没有收到应答信号的话,在 MAX_RX 中断清除之前不会重发数据包。数据包丢失计数器
(PLOS_CNT)在每次产生 MAX_RT 中断后加一。也就是说:重发计数器 ARC_CNT 计算重发数据
包次数,PLOS_CNT 计算在达到 大允许重发次数时仍没有发送成功的数据包个数。
6、 如果 CE 置低,则系统进入待机模式 I。如果不设置 CE 为低,则系统会发送 TX FIFO 寄存器中下
一包数据。如果 TX FIFO 寄存器为空并且 CE 为高则系统进入待机模式 II.
7、 如果系统在待机模式 II,当 CE 置低后系统立即进入待机模式 I.
增强型 ShockBurstTM接收模式:
1、 ShockBurstTM接收模式是通过设置寄存器中 PRIM_RX 位为高来选择的。准备接收数据的通道必须
被使能(EN_RXADDR 寄存器),所有工作在增强型 ShockBurstTM模式下的数据通道的自动应答功
能是由(EN_AA 寄存器)来使能的,有效数据宽度是由 RX_PW_Px 寄存器来设置的。地址的建立过
程见增强型 ShockBurstTM发送章节。
2、 接收模式由设置 CE 为高来启动。
3、 130us 后 nRF24L01 开始检测空中信息。
4、 接收到有效的数据包后(地址匹配、CRC 检验正确),数据存储在 RX_FIFO 中,同时 RX_DR 位
置高,并产生中断。状态寄存器中 RX_P_NO 位显示数据是由哪个通道接收到的。
5、 如果使能自动确认信号,则发送确认信号。
6、 MCU 设置 CE 脚为低,进入待机模式 I(低功耗模式)。
7、 MCU 将数据以合适的速率通过 SPI 口将数据读出。
8、 芯片准备好进入发送模式、接收模式或掉电模式。
两种数据双方向的通讯方式
如果想要数据在双方向上通讯,PRIM_RX 寄存器必须紧随芯片工作模式的变化而变化。处理器必须保
11
证 PTX 和 PRX 端的同步性。在 RX_FIFO 和 TX_FIFO 寄存器中可能同时存有数据。
自动应答(RX):
自动应答功能减少了外部 MCU 的工作量,并且在鼠标/键盘等应用中也可以不要求硬件一定有 SPI 接
口,因此降低成本减少电流消耗。自动重应答功能可以通过 SPI 口对不同的数据通道分别进行配置。
在自动应答模式使能的情况下,收到有效的数据包后,系统将进入发送模式并发送确认信号。发送完
确认信号后,系统进入正常工作模式(工作模式由 PRIM_RX 位和 CE 引脚决定)。
自动重发功能(ART)(TX):
自动重发功能是针对自动应答系统的发送方。SETUP_RETR 寄存器设置:启动重发数据的时间长度。
在每次发送结束后系统都会进入接收模式并在设定的时间范围内等待应答信号。接收到应答信号后,系统
转入正常发送模式。如果 TX FIFO 中没有待发送的数据且 CE 脚电平为低,则系统将进入待机模式 I。如
果没有收到确认信号,则系统返回到发送模式并重发数据直到收到确认信号或重发次数超过设定值(达到
大的重发次数)。有新的数据发送或 PRIM_RX 寄存器配置改变时丢包计数器复位。
数据包识别和 CRC 校验应用于增强型 ShockBurstTM模式下:
每一包数据都包括两位的 PID(数据包识别)来识别接收的数据是新数据包还是重发的数据包。PID
识别可以防止接收端同一数据包多次送入 MCU。在发送方每从 MCU 取得一包新数据后 PID 值加一。PID
和 CRC 校验应用在接收方识别接收的数据是重发的数据包还是新数据包。如果在链接中有一些数据丢失
了,则 PID 值与上一包数据的 PID 值相同。如果一包数据拥有与上一包数据相同的 PID 值,nRF24L01 将
对两包数据的 CRC 值进行比较。如果 CRC 值也相同的话就认为后面一包是前一包的重发数据包而被舍弃。
1:接收方:
接收方对新接收数据包的 PID 值与上一包进行比较。如果 PID 值不同,则认为接收的数据包是新
数据包。如果 PID 值与上一包相同,则新接收的数据包有可能与前一包相同。接收方必须确认 CRC
值是否相等,如果 CRC 值与前一包数据的 CRC 值相等,则认为是同一包数据并将其舍弃。
2:发送方:
每发送一包新的数据则发送方的 PID 值加一。
图 6、PID 值生成和检测
CRC 校验的长度是通过 SPI 接口进行配置的。一定要注意 CRC 计算范围包括整个数据包:地址、PID
和有效数据等。若 CRC 校验错误则不会接收数据包,这一点是接收数据包的附加要求,在上图没有说明。
12
载波检测—CD:
当接收端检测到射频范围内的信号时将 CD 置高,否则 CD 为低。内部的 CD 信号在写入寄存器之前
是经过滤波的,内部 CD 高电平状态至少保持 128us 以上。
在增强型ShockBurstTM模式中只有当发送模块没有成功发送数据时,推荐使用CD检测功能。如果发送
端PLOS_CNT显示数据包丢失率太高时,可将其设置位接收模式检测CD值,如果CD为高(说明通道出现
了拥挤现象),需要更改通信频道;如果CD为低电平状态(距离超出通信范围),可保持原有通信频道,但
需作其它调整。
数据通道:
nRF24L01 配置为接收模式时可以接收 6 路不同地址相同频率的数据。每个数据通道拥有自己的地址
并且可以通过寄存器来进行分别配置。
数据通道是通过寄存器 EN_RXADDR 来设置的,默认状态下只有数据通道 0 和数据通道 1 是开启状
态的。
每一个数据通道的地址是通过寄存器 RX_ADDR_Px 来配置的。通常情况下不允许不同的数据通道设
置完全相同的地址。
数据通道 0 有 40 位可配置地址。数据通道 1~5 的地址为:32 位共用地址+各自的地址( 低字节)。
图 7 所示的是数据通道 1~5 的地址设置方法举例。所有数据通道可以设置为多达 40 位,但是 1~5 数据通
道的 低位必须不同。
图 7 、通道 0~5 的地址设置
当从一个数据通道中接收到数据,并且此数据通道设置为应答方式的话,则 nRF24L01 在收到数据后
产生应答信号,此应答信号的目标地址为接收通道地址。
寄存器配置有些是针对所有数据通道的,有些则是针对个别的。如下设置举例是针对所有数据通道的:
● CRC 使能/禁止
● CRC 计算
● 接收地址宽度
● 频道设置
● 无线数据通信速率
● LNA 增益
● 射频输出功率
寄存器配置:
nRF24L01 所有配置都在配置寄存器中,所有寄存器都是通过 SPI 口进行配置的。
13
SPI 接口:
SPI 接口是标准的 SPI 接口,其 大的数据传输率为 10Mbps。大多数寄存器是可读的。
SPI 指令设置:
SPI 接口可能用到的指令在下面有所说明。CSN 为低后 SPI 接口等待执行指令。每一条指令的执行都
必须通过一次 CSN 由高到低的变化。
SPI 指令格式:
<命令字:由高位到低位(每字节)>
<数据字节:低字节到高字节,每一字节高位在前>参看图 8 及图 9
指令名称 指令格式 操作
R_REGISTER 000A AAAA 读配置寄存器。AAAAA 指出读操作的寄存器地址
W_REGISTER 001A AAAA 写配置寄存器。AAAAA 指出写操作的寄存器地址
只有在掉电模式和待机模式下可操作。
R_RX_PAYLO
AD
0110 0001 读 RX 有效数据:1-32 字节。读操作全部从字节 0 开始。当读 RX
有效数据完成后,FIFO 寄存器中有效数据被清除。
应用于接收模式下。
W_RX_PAYL
OAD
1010 0000 写 TX 有效数据:1-32 字节。写操作从字节 0 开始。
应用于发射模式下
FLUSH_TX 1110 0001 清除 TX FIFO 寄存器,应用于发射模式下。
FLUSH_RX 1110 0010 清除 RX FIFO 寄存器,应用于接收模式下。
在传输应答信号过程中不应执行此指令。也就是说,若传输应答
信号过程中执行此指令的话将使得应答信号不能被完整的传输。
REUSE_TX_P
L
1110 0011 重新使用上一包有效数据。当 CE 为高过程中,数据包被不断的重
新发射。
在发射数据包过程中必须禁止数据包重利用功能。
NOP 1111 1111 空操作。可以用来读状态寄存器。
图 8、nRF24L01 SPI 串行口指令设置
R_REGISTER 和 W_REGISTER 寄存器可能操作单字节或多字节寄存器。当访问多字节寄存器时首先
要读/写的是 低字节的高位。在所有多字节寄存器被写完之前可以结束写 SPI 操作,在这种情况下没有
写完的高字节保持原有内容不变。例如:RX_ADDR_P0 寄存器的 低字节可以通过写一个字节给寄存器
RX_ADDR_P0 来改变。在 CSN 状态由高变低后可以通过 MISO 来读取状态寄存器的内容。
中断:
nRF24L01 的中断引脚(IRQ)为低电平触发,当状态寄存器中 TX_DS、RX_DR 或 MAX_RT 为高时
触发中断。当 MCU 给中断源写‘1’时,中断引脚被禁止。可屏蔽中断可以被 IRQ 中断屏蔽。通过设置
可屏蔽中断位为高,则中断响应被禁止。默认状态下所有的中断源是被禁止的。
SPI 时序:
图 8、9、10 和表 9、10 给出了 SPI 操作及时序。在写寄存器之前一定要进入待机模式或掉电模式。在
图 8 至图 10 中用到了下面的符号:
Cn-SPI 指令位
Sn-状态寄存器位
Dn-数据位(备注:由低字节到高字节,每个字节中高位在前)
14
图 8、SPI 读操作
图 9、SPI 写操作
图 10、SPI NOP 操作时序图
表 9、SPI 参考时间(Cload=5pF)
15
表 10、SPI 参考时间(Cload=10pF)
寄存器地址
所有未定义位可以被读出,其值为‘0’。
地址 参数 位 复位值 类型 描述
00 寄存器 配置寄存器
reserved 7 0 R/W 默认为“0”
MASK_RX_DR 6 0 R/W 可屏蔽中断 RX_RD
1:IRQ 引脚不显示 RX_RD 中断
0:RX_RD 中断产生时 IRQ 引脚电平为低
MASK_TX_DS 5 0 R/W 可屏蔽中断 TX_DS
1:IRQ 引脚不显示 TX_DS 中断
0:TX_DS 中断产生时 IRQ 引脚电平为低
MASK_MAX_
RT
4 0 R/W 可屏蔽中断 MAX_RT
1:IRQ 引脚不显示 TX_DS 中断
0:MAX_RT 中断产生时 IRQ 引脚电平为低
EN_CRC 3 1 R/W CRC 使能。如果 EN_AA 中任意一位为高则
EN_CRC 强迫为高。
CRCO 2 0 R/W CRC 模式
‘0’-8 位 CRC 校验
‘1’-16 位 CRC 校验
PWR_UP 1 0 R/W 1:上电 0:掉电
PRIM_RX 0 0 R/W 1:接收模式 0:发射模式
01 EN_AA
Enhanced
ShockBurstTM
使能“自动应答”功能
此功能禁止后可与 nRF2401 通讯
Reserved 7:6 00 R/W 默认为 0
ENAA_P5 5 1 R/W 数据通道 5 自动应答允许
ENAA_P4 4 1 R/W 数据通道 4 自动应答允许
ENAA_P3 3 1 R/W 数据通道 3 自动应答允许
ENAA_P2 2 1 R/W 数据通道 2 自动应答允许
ENAA_P1 1 1 R/W 数据通道 1 自动应答允许
ENAA_P0 0 1 R/W 数据通道 0 自动应答允许
02 EN_RXADDR 接收地址允许
Reserved 7:6 00 R/W 默认为 00
ERX_P5 5 0 R/W 接收数据通道 5 允许
16
ERX_P4 4 0 R/W 接收数据通道 4 允许
ERX_P3 3 0 R/W 接收数据通道 3 允许
ERX_P2 2 0 R/W 接收数据通道 2 允许
ERX_P1 1 1 R/W 接收数据通道 1 允许
ERX_P0 0 1 R/W 接收数据通道 0 允许
03 SETUP_AW 设置地址宽度(所有数据通道)
Reserved 7:2 00000 R/W 默认为 00000
AW 1:0 11 R/W 接收/发射地址宽度
‘00’-无效
‘01’-3 字节宽度
‘10’-4 字节宽度
‘11’-5 字节宽度
04 SETUP_RETR 建立自动重发
ARD 7:4 0000 R/W 自动重发延时
‘0000’-等待 250+86us
‘0001’-等待 500+86us
‘0010’-等待 750+86us
……
‘1111’-等待 4000+86us
(延时时间是指一包数据发送完成到下一包数
据开始发射之间的时间间隔)
ARC 3:0 0011 R/W 自动重发计数
‘0000’-禁止自动重发
‘0000’-自动重发一次
……
‘0000’-自动重发 15 次
05 RF_CH 射频通道
Reserved 7 0 R/W 默认为 0
RF_CH 6:0 0000010 R/W 设置 nRF24L01 工作通道频率
06 RF_SETUP R/W 射频寄存器
Reserved 7:5 000 R/W 默认为 000
PLL_LOCK 4 0 R/W PLL_LOCK 允许,仅应用于测试模式
RF_DR 3 1 R/W 数据传输率:
‘0’ –1Mbps ‘1’—2 Mbps
RF_PWR 2:1 11 R/W 发射功率:
‘00’—-18dBm
‘01’—-12dBm
‘10’—-6dBm
‘11’—0dBm
LNA_HCURR 0 1 R/W 低噪声放大器增益
07 STATUS 状态寄存器
Reserved 7 0 R/W 默认为 0
RX_DR 6 0 R/W 接收数据中断。当接收到有效数据后置一。
写‘1’清除中断。
TX_DS 5 0 R/W 数据发送完成中断。当数据发送完成后产生中
断。如果工作在自动应答模式下,只有当接收
17
到应答信号后此位置一。
写‘1’清除中断。
MAX_RT 4 0 R/W 达到 多次重发中断。
写‘1’清除中断。
如果 MAX_RT 中断产生则必须清除后系统才
能进行通讯。
RX_P_NO 3:1 111 R 接收数据通道号:
000-101:数据通道号
110:未使用
111:RX FIFO 寄存器为空
TX_FULL 0 0 R TX FIFO 寄存器满标志。
1:TX FIFO 寄存器满
0: TX FIFO 寄存器未满,有可用空间。
08 OBSERVE_TX 发送检测寄存器
PLOS_CNT 7:4 0 R 数据包丢失计数器。当写 RF_CH 寄存器时此寄
存器复位。当丢失15个数据包后此寄存器重启。
ARC_CNT 3:0 0 R 重发计数器。发送新数据包时此寄存器复位
09 CD
Reserved 7:1 000000 R
CD 0 0 R 载波检测
0A RX_ADDR_P0 39:0 0xE7E7E7E7E7 R/W 数据通道 0 接收地址。 大长度:5 个字节(先
写低字节,所写字节数量由 SETUP_AW 设定)
0B RX_ADDR_P1 39:0 0xC2C2C2C2C2 R/W 数据通道 1 接收地址。 大长度:5 个字节(先
写低字节,所写字节数量由 SETUP_AW 设定)
0C RX_ADDR_P2 7:0 0xC3 R/W 数据通道 2 接收地址。 低字节可设置。高字
节部分必须与 RX_ADDR_P1[39:8]相等。
0D RX_ADDR_P3 7:0 0xC4 R/W 数据通道 3 接收地址。 低字节可设置。高字
节部分必须与 RX_ADDR_P1[39:8]相等。
0E RX_ADDR_P4 7:0 0xC5 R/W 数据通道 4 接收地址。 低字节可设置。高字
节部分必须与 RX_ADDR_P1[39:8]相等。
0F RX_ADDR_P5 7:0 0xC6 R/W 数据通道 5 接收地址。 低字节可设置。高字
节部分必须与 RX_ADDR_P1[39:8]相等。
10 TX_ADDR 39:0 0xE7E7E7E7E7 R/W 发送地址。(先写低字节)
在增强型 ShockBurstTM 模式下 RX_ADDR_P0
与此地址相等。
11 RX_PW_P0
Reserved 7:6 00 R/W 默认为 00
RX_PW_P0 5:0 0 R/W 接收数据通道 0 有效数据宽度(1 到 32 字节)
0: 设置不合法
1: 1 字节有效数据宽度
……
32: 32 字节有效数据宽度
12 RX_PW_P1
Reserved 7:6 00 R/W 默认为 00
RX_PW_P1 5:0 0 R/W 接收数据通道 1 有效数据宽度(1 到 32 字节)
0: 设置不合法
18
1: 1 字节有效数据宽度
……
32: 32 字节有效数据宽度
13 RX_PW_P2
Reserved 7:6 00 R/W 默认为 00
RX_PW_P2 5:0 0 R/W 接收数据通道 2 有效数据宽度(1 到 32 字节)
0: 设置不合法
1: 1 字节有效数据宽度
……
32: 32 字节有效数据宽度
14 RX_PW_P3
Reserved 7:6 00 R/W 默认为 00
RX_PW_P3 5:0 0 R/W 接收数据通道 3 有效数据宽度(1 到 32 字节)
0 设置不合法
1: 1 字节有效数据宽度
……
32: 32 字节有效数据宽度
15 RX_PW_P4
Reserved 7:6 00 R/W 默认为 00
RX_PW_P4 5:0 0 R/W 接收数据通道 4 有效数据宽度(1 到 32 字节)
0: 设置不合法
1: 1 字节有效数据宽度
……
32: 32 字节有效数据宽度
16 RX_PW_P5
Reserved 7:6 00 R/W 默认为 00
RX_PW_P5 5:0 0 R/W 接收数据通道 5 有效数据宽度(1 到 32 字节)
0: 设置不合法
1: 1 字节有效数据宽度
……
32: 32 字节有效数据宽度
17 FIFO_STATUS FIFO 状态寄存器
Reserved 7 0 R/W 默认为 0
TX_REUSE 6 0 R 若 TX_REUSE=1 则当 CE 位高电平状态时不断
发送上一数据包。TX_REUSE 通过 SPI 指令
REUSE_TX_PL 设置,通过 W_TX_PALOAD
或 FLUSH_TX 复位。
TX_FULL 5 0 R TX FIFO 寄存器满标志。
1:TX FIFO 寄存器满
0: TX FIFO 寄存器未满,有可用空间。
TX_EMPTY 4 1 R TX FIFO 寄存器空标志。
1:TX FIFO 寄存器空
0: TX FIFO 寄存器非空
Reserved 3:2 00 R/W 墨认为 00
RX_FULL 1 0 R RX FIFO 寄存器满标志。
1:RX FIFO 寄存器满
0: RX FIFO 寄存器未满,有可用空间。
19
RX_EMPTY 0 1 R RX FIFO 寄存器空标志。
1:RX FIFO 寄存器空
0: RX FIFO 寄存器非空
N/A TX_PLD 255:0 W
N/A RX_PLD 255:0 R
表 11、nRF24L01 寄存器地址
与 nRF24XX 兼容的寄存器配置:
如何建立 nRF24L01 从 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 接收数据:
使用与 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 相同的 CRC 配置
设置 PRIM_RX 位为 1
相应通道禁止自动应答功能
与发射模块使用相同的地址宽度
与发射模块使用相同的频道
在 nRF24L01 和 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 两端都选择 1Mbit/s 的数据传输率
设置正确的数据宽度
设置 PWR_UP 和 CE 为高
如何建立 nRF24L01 发射,nRF2401/ nRF2402/ nRF24E1/ nRF24E2 接收数据:
使用与 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 相同的 CRC 配置
设置 PRIM_RX 位为 0
设置自动重发计数器为 0 禁止自动重发功能
与 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 使用相同的地址宽度
与 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 使用相同的频道
在 nRF24L01 和 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 两端都选择 1Mbit/s 的数据传输率
设置 PWR_UP 为高
发送与 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 寄存器配置数据宽度相同的数据长度。
设置 CE 为高启动发射
打包格式描述:
增强型 ShockBurstTM模式下的数据包形式。
前导码 地址(3—5 字节) 9 位(标志位) 数据(1—32 字节) CRC 校验 (0/1/2 字节)
ShockBurstTM模式下与 nRF2401/ nRF2402/ nRF24E1/ nRF24E2 相兼容的数据包形式
前导码 地址(3—5 字节) 数据(1—32 字节) CRC 校验(0/1/2 字节)
前导码 前导码用来检测 0 和 1。芯片在接收模式下去除前导码,在发送模式下加入前导码。
地址 地址内容为接收机地址
地址宽度可以是 3、4 或 5 字节宽度
地址可以对接收通道及发送通道分别进行配置
从接收的数据包中自动去除地址。
标志位 PID:数据包识别。其中两位:是用来每当接收到新的数据包后加一
七位保留,用作将来与其它产品相兼容
当 nRF24L01 与 nRF2401/ nRF24E1 通讯时不起作用。
数据 1—32 字节宽度
CRC CRC 校验是可选的
0—2 字节宽度的 CRC 校验
8 位 CRC 校验的多项式是:X8+X2+X+1
16 位 CRC 校验的多项式是:X16+X12+X5+1
表 12、数据包描述
20
重要的时序数据
下面是 nRF24L01 部分工作时序数据。
nRF24L01 时序信息
nRF24L01 时序 大值 小值 参数名
掉电模式→待机模式 1.5ms Tpd2stby
待机模式→发送/接收模式 130us Tstby2a
CE 高电平保持时间 10us Thce
CSN 为低电平,CE 上升沿的延迟时间 4us Tpece2csn
表 13、nRF24L01 工作时序
nRF24L01 在掉电模式下转入发射模式或接收模式前必须经过 1.5ms 的待机模式。注意:当关掉电源
VDD 后寄存器配置内容丢失,模块上电后需重新进行配置。
增强型 ShockBurstTM模式时序:
图 11、增强型 ShockBurstTM模式发送一包数据时序(2Mbps)
图 11 所示是发送一包数据并收到应答信号的示意图。数据送入发送模块部分没有在图中显示。接收
模块转入接收模式(CE=1),发射模块配置为发射模式(CE=1 持续至少 10us),130us 后启动发射,再过
37us 后(发送一字节)。数据发送结束后,发送模块自动转入接收模式等待应答信号。发送模块在收到应
答信号后产生中断通知 MCU(IRQ (TX_DS)=>TX-data sent(数据发送完))接收模块接收到数据包后产生中
断通知 MCU(IRQ (RX_DR)=>RX-data ready(数据接收完毕))。
21
RF 信息
天线输出
ANT1 和 ANT2 输出脚给天线提供稳定的 RF 输出。这两个脚必须连接到 VDD 的直流通路,或者通过
RF 扼流圈,或者通过天线双极的中心点。在输出功率 大时 0dBm,推荐使用负载阻抗为 15Ω+j88Ω。通
过简单的网络匹配可以获得较低的阻抗(例如 50Ω)。
输出功率调节
RF_PWR 输出功率 电流消耗
11 0 dBm 11.3mA
10 -6 dBm 9.0 mA
01 -12 dBm 7.5 mA
00 -18 dBm 7.0 mA
工作条件:VDD=3.0V,VSS=0V,TA=27℃,负载=15Ω+j88Ω
表 14、nRF24L01 输出功率设置
晶振规格
晶振频率的精确度取决于出厂时精度的设置和在温度变化及老化过程中的稳定性。
频率 CL ESR C0max 精度
16MHz 8-16pF 100Ω 7.0 pF ±60ppm
表 15、nRF24L01 的晶振规格
为了实现晶体振荡器低功耗和快速启动的目的,建议使用表中容值较小的电容。 好晶振的并联等效
电容 CO=1.5pF。但考虑成本因素通常以 Co_max=7.0pF 代替 Co=1.5pF。
负载电容 CL由以下公式给出:
CL=C1’*C2’/(C1’+C2’),这里 C1’=C1+CPCB1+CI1,C2’=C2+CPCB2+CI2
C1 和 C2 为贴片电容, CPCB1 和 CPCB2 为 PCB 布线的寄生电容。CI1 和 CI2 是 XC1 和 XC2 引脚看进去的电容;
典型值为 1 pF。
22
nRF24L01 与微控制器共用晶振
当微控制器驱动晶振给 nRF24L01 提供晶振输入(XC1)时,nRF24L01 必须遵循以下规则。
晶振参数
当微控制器提供给 nRF24L01 时钟输入,则负载电容 CL只能通过微控制器设置。晶振精度为±60ppm。
晶振振幅及消耗电流
所有输入信号的幅值都不能超过规定电压,但任何内部的直流电压都可以超过。如果超过规定电压将
激发 ESD 结构,影响无线收发效果。
图 12、晶体振荡器原理
nRF24L01 晶振用来调节振幅,达到低电流消耗和较好的无线信噪比(当使用外部时钟时)。当使用外
部时钟时 XC2 引脚可以悬空。
23
PCB 板面设计及去藕指南
一个好的 PCB 布线对射频性能有很大影响。一个差的 PCB 板设计可能导致丢包,甚至可能导致不能
实现其应有的功能。nRF24L01 的射频 PCB 板设计及其周边元件包括匹配网络等可以从 Nordic 下载。
推荐使用至少两层板(包括一个地层)。nRF24L01 的直流供电电源应尽可能靠近芯片的 VDD 引脚,
并且经高质量的 RF 电容去耦,见表 16。 好用一个大电容(比如:4.7uF 钽电容)并联一个小电容。nRF24L01
的供电电源必须经过很好的滤波,并且与数字供电电源分离开来。
PCB 板避免使用长的电源走线,所有元器件的地、VDD 及 VDD 与去耦电容应尽可能的靠近 nRF24L01
芯片。如果在 PCB 板的顶层有铺铜“地”网,VSS 应直接与铺铜面连接。如果在 PCB 板的底层有铺铜“地”
网,则应该在离 VSS 脚尽可能近的地方放置过孔连接。每个 VSS 少应有一个过孔。
所有数字信号线和控制信号线都不能离晶振和电源线太近。
应用举例
nRF24L01 单端匹配网络:晶振、偏置电阻、去藕电容。
图 13、nRF24L01 单端 50Ω射频输出原理图
表 16、nRF24L01 天线匹配网络 BOM 清单
24
PCB 布线示例
图 14 所示 PCB 布线是图 13 电路原理图的 PCB 布线举例。使用了 1.6mm 厚度的 FR-4 双面板。在 PCB
板的顶层和底层各有一个铺铜面。顶层和底层的铺铜面通过大量的过孔连接,在天线的下面没有铺铜。
顶层丝印
顶层布线
底层布线
图 14、nRF24L01 单端 PCB 天线射频板布线(0603 元件封装)
25
图 15 为 50Ω SMA 输出 PCB 布线
顶层丝印层
顶层布线
底层布线
图 15、带 OFM 晶振及 SMA 连接器的模块布线
26
声明
数据手册状况
目标产品规范 这本手册包含产品开发的项目规范
初级产品
规范
这本手册包含初级数据,后增加的数据 Nordic 将在以后出版。
产品规范 这本手册包 终的产品规范,为了改进设计和提供 好的产
品,Nordic 保留随时更改的权利,并不另行通知。
极限参数值
强行超过上面的一项或多项极限参数值将导致器件的永久性损坏。这些仅仅是重点额定数
据,不含在这些参数工作的情况和说明书中有些章节给出的其它任何条件下超过这些参数工
作的情况。长期工作于这些极限值将影响器件的可靠性。
应用信息
给出应用信息的地方,仅仅是参考,而不是规范的一部分。
表 17、声明
为了改进产品的可靠性,功能或设计,Nordic 保留随时更改的权利,并不另行通知。对超出这里所述
的任何应用,产品或设计,Nordic 不承担任何责任。
生命用品应用
这些器件不是为应用在生命用品,设备或系统而设计的。这些产品的故障有可能对人身造成伤害。
Nordic 的客户使用或销售应用在这些领域的产品,他们需自己冒险并同意由于不合适的使用或销售而对
Nordic 所造成的损害进行全部的赔偿。
产品说明书修订日期:08.03.2006
数据手册编号:080306-nRF24L01
当前页面二维码