NRF24L01 无线模块

news/2024/11/15 21:24:14/

NRF24L01 简介

NRF24L01 可以实现点对点或者是1(收)对6(发)的无线通信。NRF24L01 采样SPI通信,很方便连接MCU
NRF24L01 无线模块,采用的芯片是 NRF24L01,该芯片的主要特点如下:
1)2.4G 全球开放的 ISM 频段,免许可证使用。
2)最高工作速率 2Mbps,高校的 GFSK 调制,抗干扰能力强。
3)125个可选的频道,满足多点通信和调频通信的需要。从2.4G到2.4+0.125G
4)内置 CRC 检错和点对多点的通信地址控制。
5)低工作电压(1.9~3.6V)。
6)可设置自动应答,确保数据可靠传输。

在这里插入图片描述
GND:接地
VCC:接3.3V电压
CE:模式控制线,在CSN为低,CE协同COMNFIG寄存器共同决定NRF24L01的状态
CSN:SPI片选线
SCK:SPI时钟线
MOSI:SPI数据线(主机输出,从机输入)
MISO:SPI数据线(主机输入,从机输出)
IRQ:中断信号线。中断时为低电平,TxFIFO发完并且受到ACK,RxFIFO收到数据,达到最大重发次数。

SPI时序简介:在这里插入图片描述

空闲状态SCK为0,CPOL(时钟极性)=0;数据在时钟第一个时间边沿采集,CPHA(时钟相位)=0;
Cn:SPI命令位
Sn:STATUS寄存器位
Dn:数据位(MSB;多字节传输时,低字节在前)

工作模式:

NRF24L01的工作模式,有CE和CONFIG寄存器(0X00)d1PWR_UP(第一位)和PWIM_RX(第0位)位共同控制在这里插入图片描述
收发模式又分为:Enhanced ShockBurstTM 收发模式和ShockBurstTM收发模式,只有Enhanced ShockBurstTM 收发模式支持自动ACK和自动重发。开启自动ACK,则默认选择Enhanced模式

Enhanced ShockBurstTM 收发模式

Enhanced ShockBurstTM 收发模式,受用片内的先入先出堆栈区,数据可以低俗从微控制器送入,但高速(1Mbps/2Mbps)发射,这样可以尽量节能。与射频协议相关的所有高速信号处理都是在片内进行,这种做法发好处是:

  1. 节能
  2. 低的系统费用(低速微处理器也能进行高速射频发射)
  3. 数据在空中停留的时间短,抗干扰能力强

Enhanced ShockBurstTM 收发模式,NRF24L01自动处理字头和CRC校验码。
在接收数据时,自动把字头和CRC校验码移去。
在发送数据时,自动加上字头和CRC校验码,在发送模式下,置CE为高,至少10us,将使能1发送过程。

Enhanced ShockBurstTM发送流程:

A. 把地址和要发送的数据按时序送入NRF24L01;
B. 配置CONFIG寄存器,使之进入发送模式;
C. MCU把CE置高(至少10us),激发Enhanced ShockBurstTM发射;
D. Enhanced ShockBurstTM发射:
a)给射频前端供电;
b)射频数据打包(加字头、CRC校验码);
c)高速发射数据包; d)发射完成,NRF24L01进入空闲状态

Enhanced ShockBurstTM接收流程:

A. 配置接收地址和要接收的数据包大小;
B. 配置CONFIG寄存器,使之进入接收模式,把CE置高;
C. 130us后,NRF24L01进入监视状态,等待数据包的到来;
D. 当接收到正确的数据包(正确的地址和CRC校验码),NRF24L01自动移去字头、地址和CRC校验位
E. NRF24L01通过把STATUS寄存器的RX_DR置位(STATUS一般引起MCU中断)通知MCU;
F. MCU把数据从FIFO读出(0x61指令);
G. 所有数据读取完毕后,可清除STATUS寄存器;NRF24L01可以进入四中主要的模式之一。

Enhanced ShockBurstTM发送模式初始化

  • 写Tx节点的地址位置TX_ADDR
  • 写Rx节点的地址(主要是为了使能Auto Ack)RX_ADDR_P0
  • 使能AUTO ACK EN_AA
  • 使能PIPE 0 EN_RXADDR
  • 配置自动重发次数SETUP_RETR
  • 选择通信频率PF_CH(频率计算公式:2400+RF_CH(Mhz)) PF_CH:0~125
  • 配置发射参数(低噪放大器增益,发射功率,无线速率)RF_SETUP
  • 配置24L01的基本参数以及切换工作模式CONFIG

Enhanced ShockBurstTM接收模式初始化:

  • 写Rx节点的地址RX_ADDR_P0
  • 使能AUTO ACK EN_AA
  • 使能PIPE 0 EN_RXADDR
  • 选择通信频率RF_CH选择通道0又效数据宽度RX_PW_P0
  • 配置发射参数(低噪放大器增益,发射功率,无线速率)RF_SETUP
  • 配置24L01的基本参数以及切换工作模式CONFIG
SPI指令

在这里插入图片描述

硬件连接WIRELESS接口与NRF24L01模块


http://www.ppmy.cn/news/284329.html

相关文章

中兴h118b改打印机服务器,TL-WR710N改打印机服务器 WR710硬改OpenWrt打印服务器

TL-WR710N改打印机服务器 WR710硬改OpenWrt打印服务器 时间:2020-12-07 00:30:25 / 来源:你好多多DIY / 作者:多多 2017年入行,转眼三年多了,这是2017年改装WR710的帖子。TL-WR710N能改打印机服务器吗?答案…

tlwn726n无线网卡Linux驱动,tlwn726n驱动下载

tl-wn726n无线网卡驱动是官方推出的tl-wn726n驱动程序,能够方便快捷的让用户对于自己设备的型号进行无线网卡安装;如果您购买了该产品一定要下载安装该驱动才可以使您的无线网卡正常使用。 tlwn726n无线网卡驱动安装常见问题: ※无线网卡驱动…

NRF24L01无线通信模块

1.NRF24L01无线模块定义 1.1概念 NRF24L01是一款新型单片射频收发器件,工作与2.4GHz~2.5GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置…

WR703n安装openwrt做打印服务器

不想每次打印都开一台电脑,正好有一个WR703n,好像还是个乞丐版的,才4M内存,什么都干不了所以一直闲置。拿出来ssh进去,空间还剩420k,试着安装了打印服务和相关模块,居然还剩300多k,看…

NXP - LPC1769与LPC1768的区别

文章目录 NXP - LPC1769与LPC1768的区别概述笔记General description验证结论END NXP - LPC1769与LPC1768的区别 概述 openpnp设备用到了冰沙主板. 冰沙主板的主控MCU用到了LPC1769, 想着研究一下. 订了OM13085UL, 遥遥无期… 买了LPC MCU的书, 里面提到了书的作者的网店, 居…

NRF24L01 无线通信模块使用方法

原文出处:http://blog.csdn.net/mc_hust/article/details/39473913 昨天登录百度账号,无意间发现漏看了好多朋友的私信,其中不少是找我探讨关于NRF2401模块的。从12年到14年的信件都有(平时很少注意系统提示信息。。。&#xff0…

Juniper IP monitor(RPM)

本文已Juniper防火墙为例,介绍IP monitoring。 Juniper的IP monitor类似于思科的SLA ,华为的NQA , Juniper使用到的工具叫做real-time performance monitoring (RPM) ,当你看到RPM这个单词的时候不要陌生。RPM可以用在很多路由相关的地方&a…

[NOI2009] 描边

题目描述 小 Z 是一位杰出的数学家。聪明的他特别喜欢研究一些数学小问题。 有一天,他在一张纸上选择了 n 个点,并用铅笔将它们两两连接起来,构成 (�−1)22n(n−1)​ 条线段。由于铅笔很细,可以认为这些线段的宽度为…