NRF24L01 无线收发模块

一、实物图(型号:NRF24L01-2.4G )

52016ef6c2c7ba838a7dc92e284880b8二、原理图

nRF24L01 与 89C51 单片机的连接(只适用于高阻口):

c3785b8a2785e827abb6fcdfab6ac499

NRF24L01 模块引脚布局如下图:

c4dddee217abb9e8024ed32a2aad2abe-1

NRF24L01 模块引脚定义如下表:

编号 名称 功能
1 VCC 电源输入
2 CE 模式控制线,在CSN为低电平时,CE协同config寄存器共同决定 NRF24L01 的状态
3 CSN SPI片选线
4 SCK SPI时钟线
5 MOSI 主主机输出从机输入
6 MISO 主机输入从机输出
7 IRO 中断信号线,低电平中断
8 GND 电源地

三、简介

1、模块介绍

NRF24L01 是由 NORDIC 生产的工作在 2.4GHz~2.5GHz 的 ISM 频段的单片无线收发器芯片。两块 NRF24L01 可以构成一个简单的收发器。一块用来做主机收发,另一块放在从机作为接收器。输出功率频道选择和协议的设置可以通过 SPI 接口进行设置。乎可以连接到各种单片机芯片,并完成无线数据传送工作。

2、基本参数

  • 2.4GHz ISM频段
  • 250Kbps ,  1Mbps ,  2Mbps 三种空中传输速率
  • 输出功率为  0dBm 时发射功耗为 11.3mA
  • 空中传输速率为 2Mbps时接收功耗为 13.5mA
  • Power down 模式功耗低至 900nA,  Standby-I 模式功耗低至 26uA
  • 1.9-3.6V 的电压工作范围
  • 支持 6 个接收通道(地址)
  • IO 口能承受 5V 电压
  • ± 60ppm  16MHz 晶体振荡器
  • 4×4mm QFN 封装

四、工作原理

NRF24L01模块通过射频信号进行通信,发射端将数据以数字信号的方式输入给模块,经过无线射频信号的传输到接收端,接收端会将射频信号转换回数字信号给控制器使用。此模块按照一种基于GFSK调制的协议进行通讯,在传输中带有自动校验和冗余验证功能,实现了高效和可靠的数据传输。

五、工作流程

1、发送流程

NRF24L01 无线收发模块 1 - 斯塔克电子

  1. MCU通过SPI对NRF24L01进行基本配置, 配置自动应答通道使能, 设置自动重发次数不为0(在此设置可以重发数据包)设置为发送模式
  2. MCU把要发送的数据和接收数据设备的地址通过SPI写入NRF24L01
  3. CE引脚置高, 启动发送
  4. 此时有两种情况
    • 在有限时间内收到应答信号, 则TX_DS置高(发送数据成功标志位), 并引发IRQ中断(引脚IRQ置低), 并清除TX buff(发送缓冲寄存器, 自行写代码清除), IRQ中断需要写状态寄存器进行复位(因为此处IRQ由TX_DS引发, 将TX_DS复位即可使IRQ复位)
    • 重发数据次数超过设定值, 则 MAX_RT 置高(达到最多重发次数标志位), 并引发IRQ中断(引脚IRQ置低), 不清除TX buff, IRQ中断需要写状态寄存器进行复位(因为此处IRQ由MAX_RT引发,将MAX_RT复位即可使IRQ复位)
  5. 接收到应答信号产生中断或者达到最大重发次数产生中断后,NRF24L01继续发下一包数据
  6. 当TX buff为空时, 进入待机模式二(当CE为高, TX buff为空时进入待机模式二), NRF24L01的工作模式图表在后面. 只要在适当时候拉高CE进行发送即可, 配置NRF24L01时CE置低)

2、接收流程

  1. 与发送模式一样, 一开始MCU通过SPI对NRF24L01进行基本配置, 设置数据通道自动应答使能(在EN_AA寄存器进行设置, 即收到数据后自动向主机发送应答信号), 还有进行接收数据通道使能(在EN_RXADDR寄存器配置), 即选择六个接收通道的某一通道来接收数据, 设置为接收模式, 以及其他配置.
  2. 拉高CE引脚(CE置高), 启动接收状态
  3. 接收到一个有效数据包后, 数据存储在RX buff, 并产生RX_DR中断(RX_DR为接收数据成功标志位, 接收成功置1), 中断和发送模式一样, 需要复位
  4. 接收设备自动向发送设备发送确认信号(这步是自动的)
  5. 设置CE引脚为低, NRF24L01进入待机模式一
  6. MCU通过SPI读取NRF24L01收到的数据

 

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
有新私信 私信列表
搜索