nRF24L01无线通信模块使用手册Word文档下载推荐.docx

上传人:b****1 文档编号:1139196 上传时间:2023-04-30 格式:DOCX 页数:34 大小:197.84KB
下载 相关 举报
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第1页
第1页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第2页
第2页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第3页
第3页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第4页
第4页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第5页
第5页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第6页
第6页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第7页
第7页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第8页
第8页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第9页
第9页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第10页
第10页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第11页
第11页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第12页
第12页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第13页
第13页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第14页
第14页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第15页
第15页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第16页
第16页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第17页
第17页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第18页
第18页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第19页
第19页 / 共34页
nRF24L01无线通信模块使用手册Word文档下载推荐.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

nRF24L01无线通信模块使用手册Word文档下载推荐.docx

《nRF24L01无线通信模块使用手册Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《nRF24L01无线通信模块使用手册Word文档下载推荐.docx(34页珍藏版)》请在冰点文库上搜索。

nRF24L01无线通信模块使用手册Word文档下载推荐.docx

O

3

MISO

SPI输出

4

MOSI

SPI输入

I

SCK

SPI时钟

6

NC

7

8

CSN

芯片片选信号

9

CE

工作模式选择

10

+5V

电源

四、模块与AT89S52单片机接口电路

注:

上图为示意连接,可根据自己实际需求进行更改;

使用AT89S52MCU模块时,请将Nrf24L01通讯模块每个端口〔MOSI、SCK、CSN和CE〕增强其驱动能力〔如下列图:

〕。

假设使用其它单片机与Nrf24L01通讯模块相连时请串联2K电阻。

五、工作模式控制

工作模式由CE和PWR_UP、PRIM_RX两存放器共同控制:

模式

PWR_UP

PRIM_RX

FIFO存放器状态

接收模式

-

发射模式

11

数据存储在FIFO存放器中,发射所有数据

0→12

数据存储在FIFO存放器中,发射一个数据

待机模式II

TXFIFO为空

待机模式I

无正在传输的数据

掉电模式

注1:

进入此模式后,只要CSN置高,在FIFO中的数据就会立即发射出去,直到所有数据数据发射完毕,之后进入待机模式II。

注2:

正常的发射模式,CE端的高电平应至少保持10us。

24L01将发射一个数据包,之后进入待机模式I。

六、数据和控制接口

通过以下六个引脚,可实现模块的所有功能:

①IRQ〔低电平有效,中断输出〕

②CE〔高电平有效,发射或接收模式控制〕

③CSN〔SPI信号〕

④SCK〔SPI信号〕

⑤MOSI〔SPI信号〕

⑥MISO〔SPI信号〕

通过SPI接口,可激活在数据存放器FIFO中的数据;

或者通过SPI命令〔1个字节长度〕访问存放器。

在待机或掉电模式下,单片机通过SPI接口配置模块;

在发射或接收模式下,单片机通过SPI接口接收或发射数据。

1.SPI指令

所有的SPI指令均在当CSN由低到高开始跳变时执行;

从MOSI写命令的同时,MISO实时返回24L01的状态值;

SPI指令由命令字节和数据字节两局部组成。

SPI命令字节表

指令名称

指令格式〔二进制〕

字节数

操作说明

R_REGISTER

000AAAAA

1~5

读存放器。

AAAAA表示存放器地址。

W_REGISTER

001AAAAA

写存放器。

AAAAA表示存放器地址,只能在掉电或待机模式下操作。

R_RX_PAYLOAD

01100001

1~32

在接收模式下读1~32字节RX有效断气。

从字节0开始,数据读完后,FIFO存放器清空。

W_TX_PAYLOAD

10100000

在发射模式下写1~31字节TX有效数据。

从字节0开始。

FLUSH_TX

11100001

在发射模式下,清空TXFIFO存放器。

FLUSH_RX

11100010

在接收模式下,清空RXFIFO存放器。

在传输应答信号时不应执行此操作,否那么不能传输完整的应答信号。

REUSE_TX_PL

11100011

应用于发射端。

重新使用上一次发射的有效数据,当CE=1时,数据将不断重新发射。

在发射数据包过程中,应禁止数据包重用功能。

NOP

11111111

空操作。

可用于读状态存放器。

2.SPI时序

SPI读写时序见下面两图。

在写存放器之前,一定要进入待机模式或掉电模式。

其中,Cn——SPI指令位;

Sn——状态存放器位;

Dn——数据位〔低字节在前,高字节在后;

每个字节中高位在前〕

SPI读时序

SPI写时序

七、存放器内容及说明

地址

〔十六进制〕

存放器

复位值

类型

说明

00

CONFIG

配置存放器

Reserved

R/W

默认为0

MASK_RX_DR

可屏蔽中断RX_RD

1:

中断产生时对IRQ没影响

0:

RX_RD中断产生时,IRQ引脚为低

MASK_TX_DS

可屏蔽中断TX_RD

TX_RD中断产生时,IRQ引脚为低

MASK_MAX_RT

可屏蔽中断MAX_RT

MAX_RT中断产生时,IRQ引脚为低

EN_CRC

CRC使能。

如果EN_AA中任意一位为高,那么EN_CRC为高。

CRCO

CRC校验值:

1字节

2字节

掉电1:

上电

发射模式1:

01

EN_AAEnhancedShockBurst™

使能“自动应答〞功能

7:

默认为00

ENAA_P5

数据通道5自动应答使能位

ENAA_P4

数据通道4自动应答使能位

ENAA_P3

数据通道3自动应答使能位

ENAA_P2

数据通道2自动应答使能位

ENAA_P1

数据通道1自动应答使能位

ENAA_P0

数据通道0自动应答使能位

02

EN_RXADDR

接收地址允许

ERX_P5

数据通道5接收数据使能位

ERX_P4

数据通道4接收数据使能位

ERX_P3

数据通道3接收数据使能位

ERX_P2

数据通道2接收数据使能位

ERX_P1

数据通道1接收数据使能位

ERX_P0

数据通道0接收数据使能位

03

SETUP_AW

设置地址宽度〔所有数据通道〕

000000

默认为00000

AW

1:

接收/发射地址宽度:

00:

无效

01:

3字节

10:

4字节

11:

5字节

04

SETUP_RETR

自动重发

ARD

0000

自动重发延时时间:

0000:

250us

0001:

500us

……

1111:

4000us

ARC

3:

0011

自动重发计数:

禁止自动重发

自动重发1次

自动重发15次

05

RF_CH

射频通道

6:

0000010

设置工作通道频率

06

RF_SETUP

射频存放器

000

默认为000

PLL_LOCK

锁相环使能,测试下使用

RF_DR

数据传输率:

1Mbps

2Mbps

RF_PWR

2:

发射功率:

-18dBm

-12dBm

-6dBm

0dBm

LNA_HCURR

低噪声放大器增益

07

STATUS

状态存放器

默认值为0

RX_DR

接收数据中断位。

当收到有效数据包后置1。

写‘1’去除中断

TX_DS

发送数据中断。

如果工作在自动应答模式下,只有当接收到应答信号后置1。

写‘1’去除中断

MAX_RT

重发次数溢出中断。

写‘1’去除中断。

如果MAX_RT中断产生,那么必须去除后才能继续通讯

RX_P_NO

111

R

接收数据通道号:

000-101:

数据通道号

110:

未使用

111:

RXFIFO存放器为空

TX_FULL

TXFIFO存放器满标志位

08

OBSERVE_TX

发送检测存放器

PLOS_CNT

数据包丧失计数器。

当写RF_CH存放器时,此存放器复位。

当丧失15个数据包后,此存放器重启。

ARC_CNT

重发计数器。

当发送新数据包时,此存放器复位。

09

CD

载波检测

0A

RX_ADDR_P0

39:

E7E7E7E7E7

数据通道0接收地址。

最大长度为5个字节。

0B

RX_ADDR_P1

C2C2C2C2C2

数据通道1接收地址。

0C

RX_ADDR_P2

C3

数据通道2接收地址。

最低字节可设置,高字节必须与RX_ADDR_P1[39:

8]相等

0D

RX_ADDR_P3

C4

数据通道3接收地址。

0E

RX_ADDR_P4

C5

数据通道4接收地址。

0F

RX_ADDR_P5

C6

数据通道5接收地址。

TX_ADDR

发送地址。

在ShockBurstTM模式,设置RX_ADDR_P0与此地址相等来接收应答信号

RX_PW_P0

5:

数据通道0接收数据有效宽度:

1个字节

32:

32个字节

12

RX_PW_P1

数据通道1接收数据有效宽度:

13

RX_PW_P2

数据通道2接收数据有效宽度:

14

RX_PW_P3

数据通道3接收数据有效宽度:

15

RX_PW_P4

数据通道4接收数据有效宽度:

16

RX_PW_P5

数据通道5接收数据有效宽度:

17

FIFO_STATUS

FIFO状态存放器

TX_REUSE

假设TX_REUSE=1,那么当CE置高时,不断发送上一数据包。

TX_REUSE通过SPI指令REUSE_TX_PL设置;

通过W_TX_PALOAD或FLUSH_TX复位

TX_FIFO存放器满标志

存放器满

存放器未满,有可用空间

TX_EMPTY

TX_FIFO存放器空标志

存放器空

存放器非空

RX_FULL

RXFIFO存放器满标志

RX_EMPTY

RXFIFO存放器空标志

N/A

TX_PLD

255:

X

W

RX_PLD

八、模块编程控制

1.ShockBurstTM发射模式

①设置PRIM_RX为低。

②通过SPI接口,将接收节点地址〔TX_ADDR〕和有效数据〔TX_PLD〕写入模块,写TX_PLD时,CSN必须一直置低。

③置CE为高,启动发射。

CE高电平持续时间至少为10us。

④ShockBurstTM发射模式:

系统上电

启动内部16MHz时钟

数据打包

数据发射

⑤假设启动了自动应答模式〔ENAA_P0=1〕,那么模块立即进入接收模式〔NO_ACK已设置〕。

如果接收到应答信号,那么表示发射成功,TX_DS置高且TXFIFO中的有效数据被移出;

如果没有接收到应答信号,那么自动重发〔自动重发已设置〕;

如果自动重发次数超过最大值〔ARC〕,MAX_RT置高,在TXFIFO中的数据不被移出。

当MAX_RT和TX_DS置高时,IRQ激活。

只有重新写状态存放器〔STATUS〕才能关闭IRQ。

如果重发次数到达最大后,仍没有接收到应答信号,在MAX_RT中断去除之前,不会再发射数据。

PLOS_CNT计数器会增加,每当有一个MAX_RT中断产生。

⑥如果CE置低,那么系统进行待机模式I,否那么发送TXFIFO存放器中的下一个数据包。

当TXFIFO中的数据发射完,CE仍为高时,系统进入待机模式II。

⑦在待机模式II下,CE置低,那么进入待机模式I。

2.ShockBurstTM接收模式

①设置PRIM_RX为高,配置接收数据通道〔EN_RXADDR〕、自动应答存放器〔EN_AA〕和有效数据宽度存放器〔RX_PW_PX〕。

②置CE为高,启动接收模式。

③130us后,模块检测空中信号,

④接收到有效的数据包后〔地址匹配、CRC检验正确〕,数据储存在RXFIFO中,RX_DR置高。

⑤如果启动了自动应答功能,那么发送应答信号。

⑥MCU置CE为低,进入先机模式I。

⑦MCU可通过SPI接口将数据读出

⑧模块准备好进入发射模式或接收模式或待机模式。

九、RF通道频率

RF通道频率指的是nRF24L01所使用的中心频率,该频率范围从2.400GHz到2.525GHz,以1MHz区分一个频点,故有125个频点可使用。

由参数RF_CH确定,公式为:

F0=2400+RF_CH〔MHz〕

十、例如程序

接收模块与发射模块大局部程序代码相同,如下:

1.SPI命令和存放器配置头文件〔根据第六、七两点编写〕

#ifndef_BYTE_DEF_

#define_BYTE_DEF_

typedefunsignedcharBYTE;

#endif

//SPI命令

#defineREAD_REG0x00//读第0个存放器

#defineWRITE_REG0x20//写第0个存放器

#defineRD_RX_PLOAD0x61//在接收模式下使用,读有效数据

#defineWR_TX_PLOAD0xA0//在发送模式下使用,写有效数据

#defineFLUSH_TX0xE1//在发送模式下使用,清TXFIFO存放器

#defineFLUSH_RX0xE2//在接收模式下使用,清RXFIFO存放器

#defineREUSE_TX_PL0xE3//发送方使用,重复发送最后的数据

#defineNOP0xFF//空操作,用于读状态存放器STATUS的值

//nRF24L01存放器地址

#defineCONFIG0x00//配置存放器,8bit

#defineEN_AA0x01//自动应答设置存放器,8bit

#defineEN_RXADDR0x02//接收地址设置存放器,8bit

#defineSETUP_AW0x03//地址宽度设置存放器,8bit

#defineSETUP_RETR0x04//自动重复发送设置存放器,8bit

#defineRF_CH0x05//RF通道存放器,8bit

#defineRF_SETUP0x06//RF设置存放器,8bit

#defineSTATUS0x07//状态存放器,8bit

#defineOBSERVE_TX0x08//发送观测存放器,8bit

#defineCD0x09//载波检测存放器,8bit,

#defineRX_ADDR_P00x0A//接收地址数据通道0,40bit

#defineRX_ADDR_P10x0B

#defineRX_ADDR_P20x0C

#defineRX_ADDR_P30x0D

#defineRX_ADDR_P40x0E

#defineRX_ADDR_P50x0F

#defineTX_ADDR0x10//发送地址.发送方使用,40bit

#defineRX_PW_P00x11//通道0接收的有效数据字节长度(1-32字节),8bit

#defineRX_PW_P10x12

#defineRX_PW_P20x13

#defineRX_PW_P30x14

#defineRX_PW_P40x15

#defineRX_PW_P50x16

#defineFIFO_STATUS0x17//FIFO状态存放器,8bit

2.SPI操作头文件〔与单片机的接口设置在此头文件中〕

#defineucharunsignedchar

#defineTX_ADR_WIDTH5//地址长度为5个字节

#defineTX_PLOAD_WIDTH20//数据长度为20个字节

ucharconstTX_ADDRESS[TX_ADR_WIDTH]={0xE7,0xE7,0xE7,0xE7,0xE7};

charrx_buf[TX_PLOAD_WIDTH];

//接收缓冲区

ucharflag;

//标志位

inttest[12];

#defineCEP0_0//芯片使能:

ChipEnable

#defineCSNP0_1//片选信号:

ChipSelectNot

#defineSCKP1_2//串行时钟信号:

SerialClock

#defineMOSIP0_3//主发从收:

MasterInSlaveOut

#defineMISOP0_4//主收从发:

MasterOutSlaveIn

#defineIRQP3_2//中断查询:

InterruptRequest

ucharbdatasta;

sbitRX_DR=sta^6;

sbitTX_DS=sta^5;

sbitMAX_RT=sta^4;

ucharSPI_RW(ucharbyte)//写一个字节到nRF24L01,并返回此时nRF24L01的状态及数据

{

ucharbit_ctr;

for(bit_ctr=0;

bit_ctr<

8;

bit_ctr++)//先写字节的高位,再写低位

{

MOSI=(byte&

0x80);

//MOSI取byte最高位

byte=(byte<

<

1);

//byte左移一位

S

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2