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指令

硬件连接

NRF24L01 无线模块相关推荐

  1. 2.4G NRF24L01无线模块总结

    前言   最近野火STM32论坛(www.firebbs.cn)发起了一个开源平衡车的项目,于是就跟着大家一起动手做起了开源平衡车,其中就用到了2.4G NRF24L01无线模块.通过对NRF24L0 ...

  2. STM32CubeMX系列08——SPI通信(W25Q64、NRF24L01无线模块)

    文章目录 1. 准备工作 1.1. 所用硬件 1.2. SPI 简介 1.3. 生成工程 1.3.1. 创建工程选择主控 1.3.2. 系统配置 1.3.3. 配置工程目录 2. 读写EEPROM实验 ...

  3. NRF24L01无线模块设置发射接受模式方法

    NRF24L01无线模块设置发射接受模式 NRF24L01无线模块通过设置CONFIG寄存器的最后一位,实现发射和接收模式的设定. CONFIG寄存器的内容: 具体程序如下: /函数:void Set ...

  4. Arduino开发遥控小车(三)基于nRF24L01无线模块实现舵机转向和直流电机调速

    Arduino开发遥控小车(三)基于nRF24L01无线模块实现舵机转向和直流电机调速 前面和大家分享了通过nRF24L01无线模块实现数据发送和接收的基本方法,本次继续和大家分享最终实现遥控小车转向 ...

  5. nRF2401A/nRF24L01/nRF24L01+无线模块最常见问题汇集(转)

    俗话说:每个人一生下来什么都会的,都是通过自己努力和探索出来的,NRF系列芯片,刚开始都好奇心加兴趣才来捣鼓它的,刚开始做硬件和软件,没有收发数据弄得整个人头都快炸开了,所以在此和大家分享一下前辈的经 ...

  6. STM32控制NRF24L01无线模块进行通信

    一.NRF2401无线模块 1.模块介绍 功能介绍 (1)2.4Ghz 全球开放ISM 频段免许可证使 2) 最高工作速率2Mbps,高效GFSK调制,抗干扰能力强,特别适合工业控制场合 (3)126 ...

  7. c语言射频接受程序,NRF24L01无线模块C语言程序

    闭门造车第三十五天. 所有零件在三号到我手中,下午组装起来,架上我古董般的51开发板,拉出我最熟悉的红外遥控程序,第二天便灵动了起来,之后陆陆续续做了什么?太琐碎理不顺了似乎.光电传感器做了两个小板, ...

  8. NRF24l01无线模块调试心得!STM32_SPI驱动NRF24L01+

    原文链接:链接 经过两日的调试nRF24L01终于调试成功.耐心,细心.有想法.资料.数据手册.总就会成功. 下面是调试的基本方法:                24L01是收发双方都需要编程的器件 ...

  9. STM32——使用NRF24L01无线模块遥控器与接收器指令下发控制小车运动

    制作简单的小车运动控制程序,使用遥控器给小车发指令,遥控器和接收器都使用STM32. 遥控器端发不同的指令,小车接收器端解析指令再控制步进电机不同的运转.基于NRF24L01,作如下具体事项. 遥控器 ...

  10. STM32系列(HAL库)——F103C8T6通过NRF24L01(2.4G)无线模块进行双机通信

    本文参考:STM32L051C8T6 HAL库 + nRF24L01 收发案例(硬件SPI通讯) 1.软件准备 (1)编程平台:Keil5 (2)CubeMX (3)XCOM(串口调试助手) 2.硬件 ...

最新文章

  1. CV03-双线性差值pytorch实现
  2. 安卓ttf格式的字体包_多看字体包优化篇
  3. Android 开发工具类 27_多线程下载大文件
  4. BZOJ 2427 软件安装(强连通分量+树形背包)
  5. eclipse编码页面中文乱码在哪更改编码?
  6. P4231-三步必杀【差分】
  7. elasticsearch-1
  8. pc计算机中ram的编址单位,字母编址
  9. Splunk学习心得
  10. 在ASP.NET 3.5中使用新的ListView控件(6)
  11. ubuntu中bash,sh,./,bash区别
  12. 圆我一个游戏梦,XNA版超级玛丽
  13. html表格(table)的基本结构
  14. .mpp文件在线打开网址
  15. python从键盘输入一个字符串将小_python如何从键盘获取输入实例
  16. cocos2d-x实现一个PopStar(消灭星星)游戏的逻辑分析及源码
  17. 有人问“一花一世界,一叶一菩提”
  18. linux 启动流程与文件系统管理
  19. 已经解决globalsign证书导致淘宝京东等chrome safari无法访问
  20. 基于国产银河飞腾多核 DSP +FPGA的图像识别硬件设计与算法实现

热门文章

  1. java打造手机远程控制电脑之详细教程
  2. 【Python】如何用Python快速实现语音提醒功能
  3. 什么是网桥,它应该如何搭建
  4. 房屋租赁合同电子版(可下载)
  5. 数据结构线性表(C++ )
  6. 安装WPS后,word文件无法预览,无法右键新建的解决办法
  7. 资本资产定价模型(CAPM)笔记整理
  8. 定位误差的计算机械制造,机械制造技术基础定位误差分析和计算.pdf
  9. 请问论文开题报告和提纲怎么写?
  10. 对集合对象进行排序:根据对象集合其中一属性进行排序