nRF24L01无线通信模块使用手册 下载本文

内容发布更新时间 : 2024/6/3 13:59:30星期一 下面是文章的全部内容请认真阅读。

nRF24L01无线通信模块使用手册

一、模块简介 该射频模块集成了NORDIC公司生产的无线射频芯片nRF24L01:

1.支持2.4GHz的全球开放ISM频段,最大发射功率为0dBm 2.2Mbps,传输速率高

3.功耗低,等待模式时电流消耗仅22uA 4.多频点(125个),满足多点通信及跳频通信需求 5.在空旷场地,有效通信距离:25m(外置天线)、10m(PCB天线) 6.工作原理简介: 发射数据时,首先将nRF24L01配置为发射模式,接着把地址TX_ADDR和数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从发送堆栈中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC_CNT)达到上限,MAX_RT置高,TX_PLD不会被清除;MAX_RT或TX_DS置高时,使IRQ变低,以便通知MCU。最后发射成功时,若CE为低,则nRF24L01进入待机模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入待机模式2。

接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在接收堆栈中,同时中断标志位RX_DR置高,IRQ变低,以便通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。

二、模块电气特性 参数 供电电压 最大发射功率 最大数据传输率 电流消耗(发射模式,0dBm) 电流消耗(接收模式,2Mbps) 电流消耗(掉电模式) 温度范围

三、模块引脚说明

管脚 1 2 3 4 5 6 符号 GND IRQ MISO MOSI SCK NC 功能 电源地 中断输出 SPI输出 SPI输入 SPI时钟 空 方向 O O I I 数值 5 0 2 11.3 12.3 900 -40~+85 单位 V dBm Mbps mA mA nA ℃ 7 8 9 10 NC CSN CE +5V 空 芯片片选信号 工作模式选择 电源 I I

四、模块与AT89S52单片机接口电路

VCC P1.0 P1.1 CN CN P1.2 P1.3 P1.4 P3.2 GND AT89S52MCU模块

+5V CE CSN CN CN SCK MOSI MISO IRQ GND Nrf24L01通讯模块

注:上图为示意连接,可根据自己实际需求进行更改;使用AT89S52MCU模块时,请将Nrf24L01通

讯模块每个端口(MOSI、SCK、CSN和CE)接4.7K的排阻上拉到VCC增强其驱动能力(如下图:)。若使用其它单片机与Nrf24L01通讯模块相连时请串联2K电阻。

五、工作模式控制 模式 接收模式 发射模式 发射模式 待机模式II 待机模式I 掉电模式 PWR_UP 1 1 1 1 1 0 PRIM_RX 1 0 0 0 - - CE 1 11 0→12 1 0 - FIFO寄存器状态 - 数据存储在FIFO寄存器中,发射所有数据 数据存储在FIFO寄存器中,发射一个数据 TX FIFO为空 无正在传输的数据 - 注1:进入此模式后,只要CSN置高,在FIFO中的数据就会立即发射出去,直到所有数据数据发射完毕,之后进入待机模式II。

注2:正常的发射模式,CE端的高电平应至少保持10us。24L01将发射一个数据包,之后进入待机模式I。

六、数据和控制接口 通过以下六个引脚,可实现模块的所有功能: ①IRQ(低电平有效,中断输出) ②CE(高电平有效,发射或接收模式控制) ③CSN(SPI信号) ④SCK(SPI信号) ⑤MOSI(SPI信号) ⑥MISO(SPI信号) 通过SPI接口,可激活在数据寄存器FIFO中的数据;或者通过SPI命令(1个字节长度)访问寄存器。 在待机或掉电模式下,单片机通过SPI接口配置模块;在发射或接收模式下,单片机通过SPI接口接收或发射数据。 1.SPI指令 所有的SPI指令均在当CSN由低到高开始跳变时执行;从MOSI写命令的同时,MISO实时返回24L01的状态值;SPI指令由命令字节和数据字节两部分组成。

SPI命令字节表

指令名称 指令格式(二进制) 000A AAAA 001A AAAA 0110 0001 字节数 操作说明 R_REGISTER W_REGISTER R_RX_PAYLOAD 1~5 1~5 1~32 读寄存器。AAAAA表示寄存器地址。 写寄存器。AAAAA表示寄存器地址,只能在掉电或待机模式下操作。 在接收模式下读1~32字节RX有效断气。从字节0开始,数据读完后,FIFO寄存器清空。 在发射模式下写1~31字节TX有效数据。从字节0开始。 在发射模式下,清空TX FIFO寄存器。 W_TX_PAYLOAD FLUSH_TX 1010 0000 1110 0001 1~32 0