nrf 24le1 存储器介绍
- 格式:docx
- 大小:14.80 KB
- 文档页数:1
nRF24L01的工作原理nRF24L01是一款广泛应用于无线通信领域的射频收发器。
它具有低功耗、高性能以及简单易用的特点,被广泛应用于物联网、智能家居、无线遥控和传感器网络等领域。
nRF24L01的工作原理主要涉及射频通信、调制解调、频率合成和数据包传输等方面。
下面将详细介绍nRF24L01的工作原理。
1. 射频通信:nRF24L01采用2.4GHz的ISM频段进行射频通信。
它支持多通道和多点通信,可以同时与多个设备进行通信。
射频通信是通过天线将电信号转换为无线电波进行传输,接收端再将无线电波转换为电信号进行处理。
2. 调制解调:nRF24L01使用GFSK(Gaussian Frequency Shift Keying)调制技术进行数据的调制和解调。
在发送端,待发送的数据经过调制电路转换为GFSK调制信号,然后通过射频天线发射出去。
在接收端,射频信号经过天线接收后,经过解调电路解调为原始数据。
3. 频率合成:nRF24L01内部集成了频率合成器,可以通过寄存器设置工作频率。
频率合成是指根据设定的频率合成信号源,使其达到指定的频率。
nRF24L01的频率合成器可以将工作频率合成到2.4GHz的ISM频段内,以实现与其他设备的通信。
4. 数据包传输:nRF24L01采用帧结构的数据包传输方式。
发送端将要发送的数据按照一定的格式组织成数据包,包括目标地址、源地址、数据长度和CRC校验等信息。
接收端通过接收到的数据包进行解析,提取出有效的数据。
nRF24L01的数据包传输还采用了自动重发机制和自动应答机制。
发送端在发送数据包后,会等待接收端的应答信号,如果接收端收到数据包并正确解析,会发送一个应答信号给发送端。
如果发送端在一定时间内没有收到应答信号,会自动重发数据包,以提高数据传输的可靠性。
此外,nRF24L01还支持多种工作模式,包括发送模式、接收模式和睡眠模式等。
发送模式用于发送数据,接收模式用于接收数据,睡眠模式可以降低功耗,延长电池寿命。
nRF24L01的工作原理nRF24L01是一种低功耗2.4GHz无线收发器,广泛应用于无线通信领域。
它采用射频芯片nRF24L01+,具有高度集成的特点,能够提供可靠的无线通信连接。
本文将详细介绍nRF24L01的工作原理,包括硬件结构和通信协议。
一、硬件结构nRF24L01由射频前端、基带处理器和外设接口组成。
1. 射频前端:射频前端包括射频收发器和天线开关。
射频收发器负责无线信号的调制、解调和放大,天线开关用于切换天线的收发模式。
2. 基带处理器:基带处理器负责控制射频前端的工作状态,包括发送和接收数据。
它还负责处理数据的编码、解码和差错校验。
3. 外设接口:nRF24L01提供了多种外设接口,包括SPI接口、GPIO接口和中断接口。
SPI接口用于与主控芯片进行通信,GPIO接口用于控制外部设备,中断接口用于处理外部中断信号。
二、通信协议nRF24L01采用2.4GHz的ISM频段进行无线通信,支持多种通信协议,如SPI、I2C、UART等。
其中,最常用的是SPI通信协议。
1. SPI通信协议:nRF24L01通过SPI接口与主控芯片进行通信。
SPI通信协议包括四根信号线:SCK(时钟信号)、MISO(主从数据传输)、MOSI(从主数据传输)和CSN(片选信号)。
主控芯片通过SPI接口向nRF24L01发送控制命令和数据,nRF24L01通过SPI接口将接收到的数据传输给主控芯片。
2. 数据传输:nRF24L01支持点对点和广播两种数据传输模式。
在点对点模式下,一个nRF24L01作为发送端,另一个nRF24L01作为接收端。
发送端将数据通过SPI接口发送给接收端,接收端通过SPI接口接收数据并进行处理。
在广播模式下,一个nRF24L01作为发送端,多个nRF24L01作为接收端。
发送端将数据广播给所有接收端,接收端通过SPI接口接收数据并进行处理。
三、工作原理nRF24L01的工作原理可以分为发送和接收两个过程。
nrf24l01中⽂资料NRF24L01⼀、初步认识⼀下NRF24L01是Nordic公司研发的⼀款2.4G通信芯⽚。
它不是zigbee、不是蓝⽛、不是wifi,它拥有的是⾃⼰的⼀套协议。
既然是通信芯⽚,⽽且有⾃⼰的协议,那说明这个芯⽚只能是⽤在NRF24L01与NRF24L01或者Nordic公司此系列的芯⽚通信,⼀般情况下,⽤在2个NRF24L01之间的通信,任何⼀个模块都可以设置为接收或者发送模式,⽽且可由主控单⽚机随时根据需要设置为发送或者接收模式。
⼆、深⼊认识⼀下NRF24L01是⼀个长着20个引脚的数字射频芯⽚,内部有若⼲寄存器,外部留有spi接⼝,外部单⽚机通过spi接⼝配置此芯⽚内部的寄存器。
内部寄存器⼤概分为控制寄存器和数据寄存器。
我们可以利⽤⽤单⽚机把它配置为接收模式或发送模式,还可以配置频道、地址、每次发送的字节数、是否带CRC校验、功率等。
配置成发送模式以后,⽤单⽚机把要发送的数据写进去,它就会⾃动把数据发出去;配置成接收模式以后,单⽚机通过观察它的IRQ引脚,就可以知道是否接收到了数据,IRQ为低电平,说明接收到了数据,单⽚机可以通过SPI⼝把接收到数据取出来。
三、通信条件两个nrf24l01通信,需要满⾜3个条件相同:1.频道相同(设置频道寄存器RF_CH)2.地址相同(设置TX_ADDR和RX_ADDR_P0相同)3.每次发送接收的字节数相同(如果设置了通道的有效数据宽度为n,那么每次发送的字节数也必须为n,当然,n<=32)四、是否可以⼀对多相互通信?答:可以。
nrf24l01最多⼀对⼏个呢?答案是⽆数个!官⽅⼿册上说,nrf24l01可以⼀对六,指的是⾃⾝的通道有6个,⽽且这种模式只能是1收6发,不能1发6收。
所以我们⼀般不⽤这种⽅式。
我们⼀般只⽤nrf24l01的通道0,通过改变频道和地址来实现1对多的互发。
它属于2.4G芯⽚,但实际上,可以在2.4G到2.5G之间的频道上通信,⼀共有125个频道,它的地址是5字节的。
nRF24LE1芯片简单介绍NRF24LE1特性NRF24LE1采用了NORDIC最新的无线和超低功耗技术,在一个极小封装中集成了包括2.4G无线传输,增强型51 FLASH高速单片机,丰富外设及接口等的单片FLASH芯片,是一个综合了性能及成本的完美结合,很适合应用于各种2.4G的产品设计。
NRF24LE1=2.4GHz+Flash51+ADC+PWM+I2C+RTC+WDT+RNG+AES++COMP+UART+SPI….应用:无线鼠标,无线键盘,无线摇杆,PC外设,玩具,RFID,无线遥控,医学参数监测,线数字语音,工业控制及无线数据采集主要特性:1、内嵌 2.4GHz低功耗无线收发内核NRF24L01+, 250kbps,1Mbps,2Mbps空中速率2、高性能51内核,16kbytes Flash,1Kbyte data RAM,1Kbyte NVRAM3、具有丰富的外设资源,内置128bit AES硬件加密,32位硬件乘除处理器,6-12位ADC,两路PWM,I2C,UART,硬件随机数产生器件,WDT,RTC,模拟比较器4、提供QFN24,QFN32,QFN48多种封装,提供灵活应用选择5、灵活高效的开发手段,支持Keil C,ISP下载,是开发无线外设,RFID,消费产品,无线数传等有力工具及平台。
带Gazell协议Gazell协议是NORDIC专为2.4G无线桌面和其他无线应用设计推出的无线通信协议,配合NRF24LE1/NRF24LU1P使用,客户可以专注于应用设计,无需花费大量的精力在无线链路上。
低功耗Gazell协议是低功耗协议,可设计为纽扣电池供电的应用。
抗干扰性Gazell协议完成自动跳频及抗干扰的无线通信,具有在复杂环境下优异的抗干扰性能。
低延时Gazell协议充分利用NRF高速通信的特性,具有低延时特性,特别满足PC周边及其他应用。
高安全性Gazell协议具有AES 128bit 高强度加密,确保数据传输的安全可靠。
nRF24L01寄存器地址与说明nRF24L01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式,工作在100mw时电流为160mA,在数据传输方面实现相对WiFi距离更远,但传输数据量不如WiFi(掉电模式和空闲模式)使节能设计更方便。
nRF24L01所有的配置字都由配置寄存器来定义,这些配置寄存器可通过SPI口访问。
SPI接口设置SPI接口由SCK,MOSI,MISO及CSN组成。
(1)在配置模式下单片机通过SPI接口配置nRF24L01的工作参数。
(2)在发射或接收模式下单片机SPI接口发送或接收数据。
和SPI接口的指令共有8个,使用每个指令时必须使CSN变低,用完后将其变高。
单片机的控制指令从nRF24L01的MOSI引脚输入,而nRF24L01的状态信息和数据信息是从其MISO引脚输出并送给单片机的。
利用SPI传数时,他是先传低位字节,再传高位字节,并且在传每个字节时是从高位字节传起的。
指令分别是;读寄存器指令,格式是000A AAAA;写寄存器指令,格式是001AAAAA(A AAAA代表寄存器在内存中的地址;读Payload指令;写Payload指令;清发射堆栈指令;清接收堆栈指令;发射数据再利用;空操作。
中断当nRF24L01的中断源(TX_DS,RX_DR,MAX_RT)被置高时(TX_DS为发送成功标志位,RX_DR为接收数据成功标志位,MAX_RT为自动重发超上限标志位),就会使IRQ引脚置低。
可以向状态寄存器写1来清这些中断标志位。
通过设置CONFIG寄存器的某些位来屏蔽掉这些中断源,默认情况下,这三个中断源都是允许的。
nRF24L01寄存器地址与说明nRF24L01寄存器地址与说明nRF24L01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式,工作在100mw时电流为160mA,在数据传输方面实现相对WiFi距离更远,但传输数据量不如WiFi(掉电模式和空闲模式)使节能设计更方便。
nRF24L01所有的配置字都由配置寄存器来定义,这些配置寄存器可通过SPI口访问。
SPI接口设置SPI接口由SCK,MOSI,MISO 及CSN组成。
(1)在配置模式下单片机通过SPI接口配置nRF24L01的工作参数。
(2)在发射或接收模式下单片机SPI接口发送或接收数据。
和SPI接口的指令共有8个,使用每个指令时必须使CSN变低,用完后将其变高。
单片机的控制指令从nRF24L01的MOSI引脚输入,而nRF24L01的状态信息和数据信息是从其MISO引脚输出并送给单片机的。
利用SPI传数时,他是先传低位字节,再传高位字节,并且在传每个字节时是从高位字节传起的。
指令分别是;读寄存器指令,格式是000A AAAA;写寄存器指令,格式是001AAAAA(A AAAA 代表寄存器在内存中的地址;读Payload指令;写Payload指令;清发射堆栈指令;清接收堆栈指令;发射数据再利用;空操作。
中断当nRF24L01的中断源(TX_DS,RX_DR,MAX_RT)被置高时(TX_DS为发送成功标志位,RX_DR为接收数据成功标志位,MAX_RT为自动重发超上限标志位),就会使IRQ引脚置低。
可以向状态寄存器写1来清这些中断标志位。
通过设置CONFIG寄存器的某些位来屏蔽掉这些中断源,默认情况下,这三个中断源都是允许的。
nRF24L01的工作原理nRF24L01是一种低功耗2.4GHz无线收发器,广泛应用于无线通信领域。
它采用射频(RF)技术,可以实现可靠的无线数据传输。
本文将详细介绍nRF24L01的工作原理。
1. 引言nRF24L01是一种单芯片无线传输解决方案,由Nordic Semiconductor公司开发。
它具有低功耗、高速率和可靠性的特点,适用于各种无线通信应用,例如无线传感器网络、遥控器和无线键盘鼠标等。
2. 基本构造nRF24L01由射频收发器和嵌入式微控制器组成。
射频收发器负责无线信号的发送和接收,微控制器负责控制射频模块的工作。
它采用SPI(串行外围接口)进行与主控制器的通信。
3. 工作频率nRF24L01工作在2.4GHz的ISM(工业、科学和医疗)频段,该频段被广泛应用于无线通信。
它采用GFSK(高斯频移键控)调制技术,能够在频率范围内实现高质量的数据传输。
4. 工作模式nRF24L01有两种工作模式:发送模式和接收模式。
在发送模式下,它将数据从发送缓冲区发送到接收器。
在接收模式下,它接收来自发送器的数据并将其存储在接收缓冲区中。
5. 数据传输nRF24L01使用射频信号进行数据传输。
发送器将数据编码成射频信号,并通过天线发送。
接收器接收到射频信号后,将其解码成原始数据。
数据传输的可靠性通过使用自动重传和自动确认机制来提高。
6. 通信通道nRF24L01支持多个通信通道,以避免与其他设备的干扰。
它可以在2.4GHz频段内切换不同的通道,以确保稳定的通信质量。
7. 数据包结构nRF24L01使用数据包结构来传输数据。
每个数据包包含一个数据字段和一些控制字段。
数据字段用于存储实际的数据,而控制字段用于控制数据传输的各个方面,如地址、通道和校验等。
8. 功耗控制nRF24L01具有低功耗的特点,通过使用睡眠模式和动态功耗控制来降低功耗。
在睡眠模式下,它可以将功耗降低到最低限度,以延长电池寿命。
nRF24L01的工作原理nRF24L01是一款低功耗、高性能的2.4GHz无线收发器,常用于无线通信领域。
它采用了射频(RF)技术,可以在2.4GHz频段进行无线通信,并且具有较长的传输距离和低功耗特性。
下面将详细介绍nRF24L01的工作原理。
1. 射频通信原理射频通信是一种通过无线电波进行信息传输的技术。
在射频通信中,发送端将待传输的数据转换为无线电波信号,并通过天线发送出去;接收端的天线接收到信号后,将其转换为数字信号,以供后续处理和解码。
nRF24L01就是基于射频通信原理实现的无线收发器。
2. 工作频率和通道nRF24L01工作在2.4GHz频段,这个频段被分为多个通道,每一个通道的带宽为1MHz。
nRF24L01可以在这些通道中进行切换,以避免与其他设备的干扰。
3. 发送和接收模块nRF24L01包含一个发送模块和一个接收模块。
发送模块负责将待传输的数据转换为无线电波信号并发送出去,而接收模块负责接收无线电波信号并将其转换为数字信号。
4. 发送数据流程发送数据的流程如下:(1) 设置发送地址和接收地址:发送端和接收端需要使用相同的地址才干进行通信。
nRF24L01支持多个地址,可以通过设置寄存器来配置地址。
(2) 设置通信参数:包括通信速率、输出功率等。
nRF24L01支持多种通信速率和功率选择。
(3) 将待发送的数据写入发送缓冲区:nRF24L01有一个发送缓冲区,数据将被存储在其中,等待发送。
(4) 发送数据:nRF24L01将发送缓冲区的数据转换为无线电波信号并发送出去。
(5) 等待发送完成:发送完成后,nRF24L01会发出相应的中断信号,通知主控制器发送完成。
5. 接收数据流程接收数据的流程如下:(1) 设置发送地址和接收地址:发送端和接收端需要使用相同的地址才干进行通信。
nRF24L01支持多个地址,可以通过设置寄存器来配置地址。
(2) 设置通信参数:包括通信速率、输出功率等。
单片2.4G 无线射频收发芯片nRF24L01===================================================特性● 真正的GFSK● 内置链路层● 增强型ShockBurst TM● 自动应答及自动重发功能 ● 地址及CRC 检验功能● 数据传输率1或2Mbps ● SPI 接口数据速率0~8Mbps ● 125个可选工作频道● 很短的频道切换时间可用于跳频 ● 与nRF 24XX 系列完全兼容 ● 可接受5V 电平的输入 ● 20脚QFN 44mm 封装 ● 极低的晶振要求60ppm ● 低成本电感和双面PCB 板 ● 工作电压 1.9~3.6V 应用● 无线鼠标键盘游戏机操纵杆 ● 无线门禁● 无线数据通讯 ● 安防系统 ● 遥控装置 ● 遥感勘测● 智能运动设备 ● 工业传感器 ● 玩具 概述:nRF24L01是一款工作在2.4~2.5GHz 世界通用ISM 频段的单片无线收发器芯片无线收发器包括:频率发生器增强型SchockBurst TM 模式控制器功率放大器晶体振荡器调制器解调器输出功率频道选择和协议的设置可以通过SPI 接口进行设置极低的电流消耗当工作在发射模式下发射功率为-6dBm 时电流消耗为9.0mA 接收模式时为12.3mA掉电模式和待机模式下电流消耗更低 快速参考数据参数 数值 单位最低供电电压 1.9 V最大发射功率 0 dBm最大数据传输率 2000 kbps发射模式下电流消耗0dBm 11.3 mA接收模式下电流消耗2000kbps 12.3 mA温度范围 -40~ +85数据传输率为1000kbps 下的灵敏度 -85 dBm掉电模式下电流消耗 900 nA 表1 nRF24L01快速参考数据很短的时间???hehe,,有想法,,,是Mbps,,,,要利用好,,,这是在此功耗下,,,大的功耗消耗更大丠丠dBm=10*lg(P/1mW)为0.9uA 1mW W分类信息型号描述版本nRF24L01 IC 裸片 DnRF24L01 20脚QFN 4*4mm,RoHS&SS-00259compliant DnRF24L01-EVKIT 评估套件 1.0表2nRF24L01 分类信息结构方框图:图1 nRF24L01 及外部接口引脚及其功能引脚名称引脚功能描述1 CE 数字输入 RX或TX模式选择2 CSN 数字输入 SPI片选信号3 SCK 数字输入 SPI时钟4 MOSI 数字输入从SPI数据输入脚5 MISO 数字输出从SPI数据输出脚6 IRQ 数字输出可屏蔽中断脚7 VDD 电源电源+3V8 VSS 电源接地0V9 XC2 模拟输出晶体震荡器2脚10 XC1 模拟输入晶体震荡器1脚/外部时钟输入脚11 VDD_PA 电源输出给RF的功率放大器提供的+1.8V电源12 ANT1 天线天线接口113 ANT2 天线天线接口214 VSS 电源接地0V15 VDD 电源电源+3V16 IREF 模拟输入参考电流17 VSS 电源接地0V18 VDD 电源电源+3V19 DVDD 电源输出去耦电路电源正极端20 VSS 电源接地0V表3nRF24L01引脚功能图2 引脚封装电气特性参数+27 +85 高电平输出电压=-0.5mA 高电平输出电压=0.5mA 160 320R GFSK >0 1800 2000 单通道工作电流单通道工作电流0.1%BRE(@2000kbps)图3nRF24L01外形封装尺寸极限范围供电电压VDD…………………………….-0.3V~+3.6VVSS (0V)输入电压V I………………………………-0.3V~5.25V输出电压V O……………………………. VSS~VDD总功耗=85……………………… 60mWPD T温度工作温度……………………-40~+85存储器温度…………………-40~+125注意:若超出上述极限值可能对元器件有损害静电敏感元件术语表术语描述ACK 确认信号应答信号ART 自动重发CE 芯片使能CLK 时钟信号CRC 循环冗余校验CSN 片选非ESB 增强型ShockBrust TMGFSK 高斯键控频移IRQ 中断请求ISM 工业科学医学LNA 低噪声放大LSB 最低有效位LSByte 最低有效字节Mbps 兆位/秒MCU 微控制器MISO 主机输入从机输出MOSI 主机输出从机输入MSB 最高有效位MSByte 最高有效字节PCB 印刷电路板PER 数据包误码率PID 数据包识别位PLD 载波PRX 接收源PTX 发射源PWR_DWN 掉电PWR_UP 上电RX 接收RX_DR 接收数据准备就绪SPI 串行可编程接口TX 发送TX_DS 已发送数据表5术语表功能描述工作模式nRF24L01可以设置为以下几种主要的模式模式PWR_UP PRIM_RX CE FIFO寄存器状态-接收模式 1 1 1数据在TX FIFO寄存器中发送模式 1 0 1发送模式 1 0 10 停留在发送模式直至数据发送完TX FIFO为空待机模式II 1 0 1待机模式I 1 - 0无数据传输-掉电模式0 - -表6 nRF24L01主要工作模式关于nRF24L01 I/O脚更详细的描述请参见下面的表7nRF24L01在不同模式下的引脚功能引脚名称 方向 发送模式接收模式 待机模式 掉电模式CE 输入 高电平>10us 高电平低电平-CSN 输入 SPI 片选使能低电平使能SCK 输入 SPI 时钟 MOSI输入 SPI 串行输入 MISO 三态输出 SPI 串行输出 IRQ输出 中断低电平使能表7nRF24L01引脚功能待机模式待机模式I在保证快速启动的同时减少系统平均消耗电流在待机模式I 下晶振正常工作在待机模式II 下部分时钟缓冲器处在工作模式当发送端TX FIFO 寄存器为空并且CE 为高电平时进入待机模式II 在待机模式期间寄存器配置字内容保持不变掉电模式在掉电模式下,nRF24L01各功能关闭保持电流消耗最小进入掉电模式后nRF24L01停止工作但寄存器内容保持不变启动时间见表格13掉电模式由寄存器中PWR_UP 位来控制数据包处理方式nRF24L01有如下几种数据包处理方式ShockBurst TM 与nRF2401nRF24E1nRF2402nRF24E2数据传输率为1Mbps 时相同 增强型ShockBurst TM 模式ShockBurst TM 模式ShockBurst 模式下nRF24L01可以与成本较低的低速MCU 相连高速信号处理是由芯片内部的射频协议处理的nRF24L01提供SPI 接口数据率取决于单片机本身接口速度ShockBurst 模式通过允许与单片机低速通信而无线部分高速通信减小了通信的平均消耗电流在ShockBurst TM 接收模式下当接收到有效的地址和数据时IRQ 通知MCU 随后MCU 可将接收到的数据从RX FIFO 寄存器中读出 在ShockBurst TM发送模式下nRF24L01自动生成前导码及CRC 校验参见表格12数据发送完毕后IRQ 通知MCU 减少了MCU 的查询时间也就意味着减少了MCU 的工作量同时减少了软件的开发时间nRF24L01内部有三个不同的RX FIFO 寄存器6个通道共享此寄存器和三个不同的TX FIFO 寄存器在掉电模式下待机模式下和数据传输的过程中MCU 可以随时访问FIFO 寄存器这就允许SPI 接口可以以低速进行数据传送并且可以应用于MCU 硬件上没有SPI 接口的情况下增强型的ShockBurst TM 模式增强型ShockBurst TM 模式可以使得双向链接协议执行起来更为容易有效典型的双向链接为发送方要求终端设备在接收到数据后有应答信号以便于发送方检测有无数据丢失一旦数据丢失则通过重新发送功能将丢失的数据恢复增强型的ShockBurst TM 模式可以同时控制应答及重发功能而无需增加MCU 工作量确实,,由硬件完成,,减小了量,,,图4 nRF24L01在星形网络中的结构图nRF24L01在接收模式下可以接收6路不同通道的数据见图4每一个数据通道使用不同的地址但是共用相同的频道也就是说6个不同的nRF24L01设置为发送模式后可以与同一个设置为接收模式的nRF24L01进行通讯而设置为接收模式的nRF24L01可以对这6个发射端进行识别数据通道0是唯一的一个可以配置为40位自身地址的数据通道1~5数据通道都为8位自身地址和32位公用地址所有的数据通道都可以设置为增强型ShockBurst 模式nRF24L01在确认收到数据后记录地址并以此地址为目标地址发送应答信号在发送端数据通道0被用做接收应答信号因此数据通道0的接收地址要与发送端地址相等以确保接收到正确的应答信号见图5 选择地址举例图5应答地址确定举例nRF24L01配置为增强型的ShockBurst TM发送模式下时只要MCU 有数据要发送nRF24L01就会启动ShockBurst TM 模式来发送数据在发送完数据后nRF24L01转到接收模式并等待终端的应答信号如果没有收到应答信号nRF24L01将重发相同的数据包直到收到应答信号或重发次数超过SETUP_RETR_ARC 寄存器中设置的值为止如果重发次数超过了设定值则产生MAX_RT 中断只要收到确认信号nRF24L01就认为最后一包数据已经发送成功接收方已经收到数据把TX FIFO 中的数据清除掉并产生TX_DS 中断IRQ 引脚置高在发射器中,,通道0要接收应答回来的信号,,所以应该与发送通道地址,,,相同,,在增强型ShockBurst模式下nRF24L01有如下的特征当工作在应答模式时快速的空中传输及启动时间极大的降低了电流消耗低成本nRF24L01集成了所有高速链路层操作比如重发丢失数据包和产生应答信号无需单片机硬件上一定有SPI口与其相连SPI 接口可以利用单片机通用I/O口进行模拟 由于空中传输时间很短极大的降低了无线传输中的碰撞现象由于链路层完全集成在芯片上非常便于软硬件的开发增强型ShockBurstTM发送模式1配置寄存器位PRIM_RX为低2当MCU有数据要发送时接收节点地址TX_ADDR和有效数据(TX_PLD)通过SPI接口写入nRF24L01发送数据的长度以字节计数从MCU写入TX FIFO当CSN为低时数据被不断的写入发送端发送完数据后将通道0设置为接收模式来接收应答信号其接收地址(RX_ADDR_P0)与接收端地址(TX_ADDR)相同例在图5中数据通道5的发送端(TX5)及接收端(RX)地址设置如下TX5TX_ADDR=0xB3B4B5B605TX5RX_ADDR_P0=0xB3B4B5B605RX RX_ADDR_P5=0xB3B4B5B6053设置CE为高启动发射CE高电平持续时间最小为10 us4nRF24L01 ShockBurst TM模式无线系统上电启动内部16MHz时钟无线发送数据打包见数据包描述高速发送数据由MCU设定为1Mbps或2Mbps5如果启动了自动应答模式自动重发计数器不等于0ENAA_P0=1无线芯片立即进入接收模式如果在有效应答时间范围内收到应答信号则认为数据成功发送到了接收端此时状态寄存器的TX_DS位置高并把数据从TX FIFO中清除掉如果在设定时间范围内没有接收到应答信号则重新发送数据如果自动重发计数器ARC_CNT溢出超过了编程设定的值则状态寄存器的MAX_RT位置高不清除TX FIFO中的数据当MAX_RT或TX_DS为高电平时IRQ引脚产生中断IRQ中断通过写状态寄存器来复位见中断章节如果重发次数在达到设定的最大重发次数时还没有收到应答信号的话在MAX_RX中断清除之前不会重发数据包数据包丢失计数器(PLOS_CNT)在每次产生MAX_RT中断后加一也就是说重发计数器ARC_CNT计算重发数据包次数PLOS_CNT计算在达到最大允许重发次数时仍没有发送成功的数据包个数6如果CE置低则系统进入待机模式I如果不设置CE为低则系统会发送TX FIFO寄存器中下一包数据如果TX FIFO寄存器为空并且CE为高则系统进入待机模式II.7如果系统在待机模式II当CE置低后系统立即进入待机模式I.增强型ShockBurst TM接收模式1 ShockBurst TM接收模式是通过设置寄存器中PRIM_RX位为高来选择的准备接收数据的通道必须被使能EN_RXADDR寄存器所有工作在增强型ShockBurst TM模式下的数据通道的自动应答功能是由(EN_AA寄存器)来使能的有效数据宽度是由RX_PW_Px寄存器来设置的地址的建立过程见增强型ShockBurst TM发送章节23 130us后4接收到有效的数据包后地址匹配CRC检验正确数据存储在RX_FIFO中同时RX_DR位置高并产生中断状态寄存器中RX_P_NO位显示数据是由哪个通道接收到的5如果使能自动确认信号则发送确认信号6 MCU设置CE脚为低进入待机模式I低功耗模式7 MCU将数据以合适的速率通过SPI口将数据读出8芯片准备好进入发送模式接收模式或掉电模式两种数据双方向的通讯方式如果想要数据在双方向上通讯寄存器必须紧随芯片工作模式的变化而变化处理器必须保证PTX和PRX端的同步性在RX_FIFO和TX_FIFO寄存器中可能同时存有数据CE=1是开始启动的标志,,,这个以前没有注意,,,!!!要接收几点的地址,,,看看要求,,,我的天那,,,认真看吧,,自动应答时,,接收方和发送方的EN_AA都要打开,,,接收方也要设置有效位,,跟发送的应该一致,,,自动应答RX自动应答功能减少了外部MCU 的工作量并且在鼠标/键盘等应用中也可以不要求硬件一定有SPI 接口因此降低成本减少电流消耗自动重应答功能可以通过SPI 口对不同的数据通道分别进行配置在自动应答模式使能的情况下收到有效的数据包后系统将进入发送模式并发送确认信号发送完确认信号后系统进入正常工作模式工作模式由PRIM_RX 位和CE 引脚决定自动重发功能ART (TX)自动重发功能是针对自动应答系统的发送方启动重发数据的时间长度在每次发送结束后系统都会进入接收模式并在设定的时间范围内等待应答信号接收到应答信号后系统转入正常发送模式如果TX FIFO 中没有待发送的数据且CE 脚电平为低则系统将进入待机模式I 如果没有收到确认信号则系统返回到发送模式并重发数据直到收到确认信号或重发次数超过设定值达到最大的重发次数有新的数据发送或PRIM_RX 寄存器配置改变时丢包计数器复位 数据包识别和CRC 校验应用于增强型ShockBurst TM模式下每一包数据都包括两位的PID 数据包识别来识别接收的数据是新数据包还是重发的数据包PID 识别可以防止接收端同一数据包多次送入MCU 在发送方每从MCU 取得一包新数据后PID 值加一PID 和CRC 校验应用在接收方识别接收的数据是重发的数据包还是新数据包如果在链接中有一些数据丢失了则PID 值与上一包数据的PID 值相同如果一包数据拥有与上一包数据相同的PID 值nRF24L01将对两包数据的CRC 值进行比较如果CRC 值也相同的话就认为后面一包是前一包的重发数据包而被舍弃1接收方接收方对新接收数据包的PID 值与上一包进行比较如果PID 值不同则认为接收的数据包是新数据包如果PID 值与上一包相同则新接收的数据包有可能与前一包相同接收方必须确认CRC 值是否相等如果CRC 值与前一包数据的CRC 值相等则认为是同一包数据并将其舍弃 2发送方每发送一包新的数据则发送方的PID 值加一图6PID 值生成和检测CRC 校验的长度是通过SPI 接口进行配置的一定要注意CRC 计算范围包括整个数据包地址PID确实,,减小了编程量,,,额,,,高四位设置,,额,,,两个CNT 就复位了,,,和有效数据等若CRC 校验错误则不会接收数据包这一点是接收数据包的附加要求在上图没有说明载波检测CD当接收端检测到射频范围内的信号时将CD 置高否则CD 为低内部的CD 信号在写入寄存器之前是经过滤波的内部CD 高电平状态至少保持128us 以上在增强型ShockBurst TM 模式中只有当发送模块没有成功发送数据时推荐使用CD 检测功能如果发送端PLOS_CNT 显示数据包丢失率太高时可将其设置位接收模式检测CD 值如果CD 为高说明通道出现了拥挤现象需要更改通信频道如果CD 为低电平状态距离超出通信范围可保持原有通信频道但需作其它调整数据通道nRF24L01配置为接收模式时可以接收6路不同地址相同频率的数据每个数据通道拥有自己的地址并且可以通过寄存器来进行分别配置数据通道是通过寄存器EN_RXADDR 来设置的默认状态下只有数据通道0和数据通道1是开启状态的 每一个数据通道的地址是通过寄存器RX_ADDR_Px 来配置的通常情况下不允许不同的数据通道设置完全相同的地址数据通道0有40位可配置地址数据通道1~5的地址为32位共用地址+各自的地址最低字节图7所示的是数据通道1~5的地址设置方法举例所有数据通道可以设置为多达40位但是1~5数据通道的最低位必须不同图7 通道0~5的地址设置当从一个数据通道中接收到数据并且此数据通道设置为应答方式的话则nRF24L01在收到数据后产生应答信号此应答信号的目标地址为接收通道地址 寄存器配置有些是针对所有数据通道的有些则是针对个别的如下设置举例是针对所有数据通道的 CRC 使能/禁止 CRC 计算 接收地址宽度 频道设置无线数据通信速率 LNA 增益 射频输出功率寄存器配置,,,注意了丗不同地址丆相同频率,,,不允许配置相同的地址的,,,额,,,这的目标地址为其接受到的地址,,,这么多是相同的,,,nRF24L01所有配置都在配置寄存器中所有寄存器都是通过SPI 口进行配置的 SPI 接口SPI 接口是标准的SPI 接口其最大的数据传输率为10Mbps 大多数寄存器是可读的 SPI 指令设置SPI 接口可能用到的指令在下面有所说明CSN 为低后SPI 接口等待执行指令每一条指令的执行都必须通过一次CSN 由高到低的变化 SPI 指令格式<命令字由高位到低位每字节>AAAAA AAAAA 1-32读操作全部从字节当读有效数据完成后寄存器中有效数据被清除应用于接收模式下1-32开始应用于发射模式下应用于发射模式下寄存器应用于接收模式下在传输应答信号过程中不应执行此指令信号过程中执行此指令的话将使得应答信号不能被完整的传输重新使用上一包有效数据当数据包被不断的重新发射空操作寄存器可能操作单字节或多字节寄存器当访问多字节寄存器时首先要读/写的是最低字节的高位在所有多字节寄存器被写完之前可以结束写SPI 操作在这种情况下没有写完的高字节保持原有内容不变例如RX_ADDR_P0寄存器的最低字节可以通过写一个字节给寄存器RX_ADDR_P0来改变在CSN 状态由高变低后可以通过MISO 来读取状态寄存器的内容 中断nRF24L01的中断引脚IRQ 为低电平触发当状态寄存器中TX_DS RX_DR 或MAX_RT 为高时触发中断当MCU 给中断源写1时中断引脚被禁止可屏蔽中断可以被IRQ 中断屏蔽通过设置可屏蔽中断位为高则中断响应被禁止默认状态下所有的中断源是被禁止的SPI 时序图8910和表910给出了SPI 操作及时序在写寄存器之前一定要进入待机模式或掉电模式在图8至图10中用到了下面的符号Cn-SPI 指令位 Sn-状态寄存器位Dn-数据位备注由低字节到高字节每个字节中高位在前图8SPI 读操作不会出现无线命令的配置,,,即:设置MASK 为高,,所以说写之前要把CSN 拉低,,,,图9SPI写操作图10SPI NOP 操作时序图表9SPI参考时间C load=5pF表10SPI参考时间C load=10pF寄存器地址所有未定义位可以被读出其值为0’地址 参数 位 复位值类型 描述 00 寄存器配置寄存器 reserved 7 0 R/W 默认为0 MASK_RX_DR 6R/W 可屏蔽中断RX_RD1IRQ 引脚不显示RX_RD 中断0RX_RD 中断产生时IRQ 引脚电平为低MASK_TX_DS 5 0 R/W 可屏蔽中断TX_DS1IRQ 引脚不显示TX_DS 中断0TX_DS 中断产生时IRQ 引脚电平为低MASK_MAX_RT 4 0 R/W 可屏蔽中断MAX_RT1IRQ 引脚不显示TX_DS 中断0MAX_RT 中断产生时IRQ 引脚电平为低EN_CRC 3 1 R/W CRC 使能如果EN_AA 中任意一位为高则EN_CRC 强迫为高CRCO 2 0 R/W CRC 模式‘0’-8位CRC 校验 ‘1’-16位CRC 校验PWR_UP 1 0 R/W 1:上电 0:掉电 PRIM_RX 0 0 R/W 1:接收模式 0:发射模式01 EN_AA Enhanced ShockBurst TM 使能自动应答功能此功能禁止后可与nRF2401通讯 Reserved 7:6 00 R/W 默认为0 ENAA_P5 5 1 R/W 数据通道5自动应答允许 ENAA_P4 4 1 R/W 数据通道4自动应答允许 ENAA_P3 3 1 R/W 数据通道3自动应答允许 ENAA_P2 2 1 R/W 数据通道2自动应答允许 ENAA_P1 1 1 R/W 数据通道1自动应答允许 ENAA_P0 0 1 R/W 数据通道0自动应答允许 02 EN_RXADDR 接收地址允许 Reserved 7:6 00 R/W 默认为00 ERX_P5 5 0 R/W 接收数据通道5允许 ERX_P4 4 0 R/W 接收数据通道4允许 ERX_P3 3 0 R/W 接收数据通道3允许 ERX_P2 2 0 R/W 接收数据通道2允许 ERX_P1 1 1 R/W 接收数据通道1允许 ERX_P0 0 1 R/W 接收数据通道0允许 03 SETUP_AW 设置地址宽度所有数据通道 Reserved 7:2 00000 R/W 默认为00000 AW 1:0 11 R/W 接收/发射地址宽度‘00’-无效‘01’-3字节宽度 ‘10’-4字节宽度 ‘11’-5字节宽度04 SETUP_RETR 建立自动重发允许–1Mbps ‘1’-18dBm当接收到有效数据后置一接收数据通道号数据通道号寄存器满标志寄存器满当写存器复位当丢失15个数据包后此寄存器重启 ARC_CNT 3:0 0 R 重发计数器发送新数据包时此寄存器复位09 CDReserved 7:1 000000 RCD 0 0 R 载波检测0A RX_ADDR_P0 39:0 0xE7E7E7E7E7 R/W 数据通道0接收地址最大长度:5个字节先写低字节所写字节数量由SETUP_AW设定0B RX_ADDR_P1 39:0 0xC2C2C2C2C2 R/W 数据通道1接收地址最大长度:5个字节先写低字节所写字节数量由SETUP_AW设定0C RX_ADDR_P2 7:0 0xC3 R/W数据通道2接收地址最低字节可设置高字节部分必须与RX_ADDR_P1[39:8]相等0D RX_ADDR_P3 7:0 0xC4 R/W数据通道3接收地址最低字节可设置高字节部分必须与RX_ADDR_P1[39:8]相等0E RX_ADDR_P4 7:0 0xC5 R/W数据通道4接收地址最低字节可设置高字节部分必须与RX_ADDR_P1[39:8]相等0F RX_ADDR_P5 7:0 0xC6 R/W数据通道5接收地址最低字节可设置高字节部分必须与RX_ADDR_P1[39:8]相等10 TX_ADDR 39:0 0xE7E7E7E7E7 R/W 发送地址先写低字节在增强型ShockBurst TM模式下RX_ADDR_P0与此地址相等11 RX_PW_P0Reserved 7:6 00 R/W 默认为00RX_PW_P0 5:0 0 R/W 接收数据通道0有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度12 RX_PW_P1Reserved 7:6 00 R/W 默认为00RX_PW_P1 5:0 0 R/W 接收数据通道1有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度13 RX_PW_P2Reserved 7:6 00 R/W 默认为00RX_PW_P2 5:0 0 R/W 接收数据通道2有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度14 RX_PW_P3Reserved 7:6 00 R/W 默认为00RX_PW_P3 5:0 0 R/W 接收数据通道3有效数据宽度(1到32字节)0 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度15 RX_PW_P4Reserved 7:6 00 R/W 默认为00RX_PW_P4 5:0 0 R/W 接收数据通道4有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度16 RX_PW_P5Reserved 7:6 00 R/W 默认为00RX_PW_P5 5:0 0 R/W 接收数据通道5有效数据宽度(1到32字节)0: 设置不合法1: 1字节有效数据宽度……32: 32字节有效数据宽度17 FIFO_STATUS FIFO 状态寄存器Reserved 7 0 R/W 默认为0TX_REUSE 6 0 R 若TX_REUSE=1则当CE位高电平状态时不断发送上一数据包TX_REUSE通过SPI 指令REUSE_TX_PL设置通过W_TX_PALOAD或FLUSH_TX复位TX_FULL 5 0 R TX FIFO寄存器满标志1:TX FIFO寄存器满0: TX FIFO寄存器未满有可用空间 TX_EMPTY 4 1 R TX FIFO寄存器空标志1:TX FIFO寄存器空0: TX FIFO寄存器非空 Reserved 3:2 00 R/W 墨认为00RX_FULL 1 0 R RX FIFO寄存器满标志1:RX FIFO寄存器满0: RX FIFO寄存器未满有可用空间 RX_EMPTY 0 1 R RX FIFO寄存器空标志1:RX FIFO寄存器空0: RX FIFO寄存器非空N/A TX_PLD 255:0 WN/A RX_PLD 255:0 R表11nRF24L01寄存器地址与nRF24XX兼容的寄存器配置如何建立nRF24L01从nRF2401/ nRF2402/ nRF24E1/ nRF24E2接收数据使用与nRF2401/ nRF2402/ nRF24E1/ nRF24E2相同的CRC配置设置PRIM_RX位为1相应通道禁止自动应答功能与发射模块使用相同的地址宽度与发射模块使用相同的频道在nRF24L01和nRF2401/ nRF2402/ nRF24E1/ nRF24E2两端都选择1Mbit/s的数据传输率设置正确的数据宽度设置PWR_UP和CE为高即频率相同,,,如何建立nRF24L01发射nRF2401/ nRF2402/ nRF24E1/ nRF24E2接收数据使用与nRF2401/ nRF2402/ nRF24E1/ nRF24E2相同的CRC 配置 设置PRIM_RX 位为0设置自动重发计数器为0禁止自动重发功能与nRF2401/ nRF2402/ nRF24E1/ nRF24E2使用相同的地址宽度 与nRF2401/ nRF2402/ nRF24E1/ nRF24E2使用相同的频道在nRF24L01和nRF2401/ nRF2402/ nRF24E1/ nRF24E2两端都选择1Mbit/s 的数据传输率 设置PWR_UP 为高发送与nRF2401/ nRF2402/ nRF24E1/ nRF24E2寄存器配置数据宽度相同的数据长度 设置CE 为高启动发射打包描述增强型ShockBurst TM 模式下的数据包形式前导码 地址35字节 9位标志位 数据132字节 CRC 校验 0/1/2字节ShockBurst TM 模式下与nRF2401/ nRF2402/ nRF24E1/ nRF24E2相兼容的数据包形式前导码 地址35字节 数据132字节 CRC 校验0/1/2字节1在发送模式下加入前导码从接收的数据包中自动去除地址PID 其中两位七位保留用作将来与其它产品相兼容nRF24L01 校验的多项式是校验的多项式是12重要的时序数据下面是nRF24L01部分工作时序数据nRF24L01时序信息nRF24L01时序最大值 最小值 参数名 掉电模式待机模式1.5ms T pd2stby 待机模式发送/接收模式 130usT stby2aCE 高电平保持时间10us Thce CSN 为低电平CE 上升沿的延迟时间4us T pece2csn表13nRF24L01工作时序nRF24L01在掉电模式下转入发射模式或接收模式前必须经过1.5ms 的待机模式注意当关掉电源VDD 后寄存器配置内容丢失模块上电后需重新进行配置最好禁止自动重发功能,,,增强型ShockBurst模式时序图11增强型ShockBurst TM模式发送一包数据时序2Mbps图11所示是发送一包数据并收到应答信号的示意图数据送入发送模块部分没有在图中显示接收模块转入接收模式CE=1发射模块配置为发射模式CE=1持续至少10us 130us 后启动发射再过37us 后发送一字节数据发送结束后发送模块自动转入接收模式等待应答信号发送模块在收到应答信号后产生中断通知MCU IRQ (TX_DS)=>TX-data sent(数据发送完)接收模块接收到数据包后产生中断通知MCU IRQ (RX_DR)=>RX-data ready(数据接收完毕)外围RF 信息 天线输出ANT1和ANT2输出脚给天线提供稳定的RF 输出这两个脚必须连接到VDD 的直流通路或者通过RF 扼流圈或者通过天线双极的中心点在输出功率最大时0dBm 推荐使用负载阻抗为15+j88通过简单的网络匹配可以获得较低的阻抗例如50Ω输出功率调节RF_PWR 输出功率 电流消耗11 0 dBm 11.3mA 10 -6 dBm 9.0 mA 01 -12 dBm 7.5 mA 00 -18 dBm 7.0 mA 工作条件VDD=3.0V ,VSS=0V ,T A =27,负载=15+j88表14nRF24L01输出功率设置接收完应答信号后才产生中断,,,。