nRF24L01无线通信模块使用手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18: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。
三、模块引脚说明
7 NC 空 8 CSN 芯片片选信号 I 9 CE 工作模式选择
I 10
+5V
电源
四、模块与AT89S52单片机接口电路
注:上图为示意连接,可根据自己实际需求进行更改;使用AT89S52MCU 模块时,请将Nrf24L01通
讯模块每个端口(MOSI 、SCK 、CSN 和CE )接4.7K 的排阻上拉到VCC 增强其驱动能力(如下图:)。若使用其它单片机与Nrf24L01通讯模块相连时请串联2K 电阻。
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通讯模块
注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命令字节表
FLUSH_RX 1110 0010 0 在接收模式下,清空RX FIFO 寄存器。在
传输应答信号时不应执行此操作,否则不
能传输完整的应答信号。
REUSE_TX_PL 1110 0011 0 应用于发射端。重新使用上一次发射的有
效数据,当CE=1时,数据将不断重新发
射。在发射数据包过程中,应禁止数据包
重用功能。
NOP 1111 1111 0 空操作。可用于读状态寄存器。
2.SPI时序
SPI读写时序见下面两图。在写寄存器之前,一定要进入待机模式或掉电模式。其中,Cn——SPI指令位;Sn——状态寄存器位;Dn——数据位(低字节在前,高字节在后;每个字节中高位在前)
SPI读时序
SPI写时序
地址
(十六进制)
寄存器位复位值类型说明
00 CONFIG 配置寄存器
Reserved 7 0 R/W 默认为0
MASK_RX_DR 6 0 R/W 可屏蔽中断RX_RD
1:中断产生时对IRQ没影响0:RX_RD中断产生时,IRQ 引脚为低
MASK_TX_DS 5 0 R/W 可屏蔽中断TX_RD
1:中断产生时对IRQ没影响0:TX_RD中断产生时,IRQ 引脚为低
MASK_MAX_
RT 4 0 R/W
可屏蔽中断MAX_RT
1:中断产生时对IRQ没影响
0:MAX_RT中断产生时,IRQ
引脚为低
八、模块编程控制
1.ShockBurst TM发射模式
①设置PRIM_RX为低。
②通过SPI接口,将接收节点地址(TX_ADDR)和有效数据(TX_PLD)写入模块,写TX_PLD时,CSN必须一直置低。
③置CE为高,启动发射。CE高电平持续时间至少为10us。
④ShockBurst TM发射模式: