NRF24L01 无线模块

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模块

  • 14
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NRF24L01 2.4G无线模块功能概述:(1)2.4Ghz 全球开放ISM 频段免许可证使用 (2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合 (3) 支持串口动态地址修改,支持一对多,多对一 的多机通信,修改灵活! (4) 内置硬件CRC 检错和点对多点通信地址控制 (5) 提供5v电源,低功耗3.3V工作。 (6) 内置2.4Ghz 天线,体积小巧约40*22mm (7) 可连接支持单片机IO口控制、继电器模块控制、高低电平信号等的控制利用 (8) 内置专门稳压电路,外部提供5v电源,内部3.3V低功耗工作电压 (9) 具备26路单片机IO口,可以控制和驱动多种设备,降低开发难度和产品复杂度。 (10)采用单片机串口通讯协议,串口发送数据即可通过无线传输。 (11)兼容NRF24L01的无线设备,随意更改通信地址和串口通信波特率(可选波特率为:4800、9600、57600、115200)。 (12)全智能串口控制,发送特定指令,轻松实现各种IO高低电平、点动1s、IO口状态查询的信号控制功能! (13)如配套下载器可电脑USB操控发送接收控制IO等操作。智能家居必备! (14)官方数据测试 空旷通信距离100-200米,本店测试实际有障碍、1层穿墙距离10多米---(老实人说实际话)! 实物展示: 规格参数: 大小:40*22MM 供电电压:5V IO口输出:高电平3.3V 通信方式:串口通信(TTL电平) 使用方法简介: 下面以连接电脑测试的方式进行解说! 1、通过USB转TTL 下载器,连接无线模块串口,做好串口通信准备工作。 2、打开串口调试工具,设置默认波特率为9600bps,选择正确的通信端口,打开串口。 3、现在可以在任意一个串口调试界面发送不超过31字节的数据到无线模块中,接收方只要有收到数据都会在串口调试界面中显示,发送方所发的内容。 4、如下控制IO口情况,可以发送特定的5位16进制吗。例如0XA1,0XFD,0X01,0X00,0X01 只要发送这一串字符后,接收方的IO 口1 输出低电平,对远程的IO控制操作极其方便。更具体的指令请查看使用手册。 5、可结合本店的继电器模块简单便捷的实现远程高压控制,智能家居,智能小车,远程无线等等控制方案兼容。 6、如具备单片机基础,可以完成多点、多地址数据通信操作。 IO口操作指令表:(端口1、2举例) 附件内容截图: 实物购买链接:https://item.taobao.com/item.htm?spm=a1z10.5-c-s.w4002-15803265497.12.trOTmk&id=24685468283

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值