nrf 24l01使用方法

1、frequency

频率=基础频率2.400G HZ+ RF_CH

RF_CH=10

CH=2.4G+0.01G=2.41G

2、逻辑通道6个 pipe 时间片不同,占用同一个频率

发送时,只有一个pipe

接受时可以有6个pipe

3、通讯速率 air data rate rf_dr 寄存器设置

有两种速率 2M 1M

RF_DR=0 1M , =1 2M

1M时,信号较好,组网时有更好的兼容性

4、PA 发射功率放大

RF_PWR 00 18dB

RF_PWR 01 12dB

RF_PWR 10 6dB

RF_PWR 11 0dB

5、LNA 接受功率放大 低噪声放大

LNA_HCURR

W_TX_PAYLOAD PAYLAOD数据经过打包变成PLOAD打包后发送出去

NRF2401_Write_Buf(WR_TX_PLOAD,txbuf,TXWIDTH) 字符宽度0-32位

R_RX_PAYLOAD

6、工作模式

1、PowerDown 功耗最低的状态

PowerDown模式下 pwr_up=1 进入Standby模式 1500us

Standby模式下,pwr_up=0会进入PowerDown模式

2、Standby 模式功耗略大于PowerDown

CE=1

PRIM_RX=1 接受状态

PRIM_RX=0 发送状态

发送状态和接受状态不能直接转换,必须回到 Standby模式下在设置

7、mcu与2401的连接配置

ce

csn

irq

spi 不超过8M频率

8、2401工作参数设置

1、判断2401是否存在

2、配置数据通道,收发地址

3、配置radio control参数(无线通信参数)

A、频道频率

B、速率带宽

C、PA功率

D、是否打开LNA

4、配置工作模式

九、接受数据思路

1、判断irq是否有中断信号

2、判断中的是否是接受数据中断、

3、清除中断标志,读取rx_FIFO数据

4、flush RX_FIFO 准备下一次接受数据

十、发送数据思路

1、切换至tx模式

2、往tx_fifo里写入数据

3、等待irq引脚中断信号

4、清除发射完毕中断信号

5、切换至rx模式

十一、主要寄存器、命令

1、R_REGISTER 000A AAAA 读配置寄存器

2、W_REGISTER 001A AAAA 写配置寄存器

3、R_RX_PAYLOAD 0110 0001 读 RX有效数据 1-32位

4、W_TX_PAYLOAD 1010 0000 写TX有效数据 1-32位

5、FLUSH_TX 1110 0001 清除tx_fifo寄存器

6、 FLUSH_RX 1110 0010 清除rx_fifo寄存器

7、REUSE_TX_PL 1110 0011 重发上次有效数据

8、NOP 1111 1111 空操作,主要用来读状态寄存器

十二、寄存器

00 6位 为0 rx可屏蔽中断 ,为1不产生中断

5位 为0 tx可屏蔽中断 ,为1不产生中断

4 为0 当接受最大位数据时产生中断,为1不产生中断

3 0 crc校验使能

2 0 8位crc校验 1 16位crc校验

1 1 上电 0 掉电

0 PRIM_RX 1 接受模式,0 发送模式

01寄存器 ENAA_P0 0-5位控制数据通道自动应答允许,6-7位0

02寄存器 ERX_P0接收允许寄存器 0-5位控制数据 0-5通道允许

03寄存器 SETUP_AW 设置地址宽度 1:0 00 无效 01 3字节 02 4字节 03 5字节 低2位设置

04自动重发 SETUP_RETR 7:4 0000 250+86us 0001 500+86us 1111 4000+86us

自动重发计数 3:0 0001自动重发1次 1111 自动重发15次

05射频通道 RF_CH

6:0 设置工作频率 2.40G-----2.55G 125个频率 默认000010 2.42G

06寄存器 RF_SETUP

4位 PLL_LOCK锁相环允许,仅用于测试模式

3位 RF_DR 数据传输速率 0 1M 1-2M 默认为1 2M

2:1 RF_PWR 发射功率 00 18dB 01 12dB 10 6dB 11 0dB

0 LNA_HCURR 低噪声放大增益 默认1

07寄存器 STATUS

6位 RX_DR 接收数据中断包后置1 写1清除中断

5位 TX_DR 接收数据中断包后置1 写1清除中断

4位 MAX_RT 重发次数溢出中断 后置1 写1清除中断

3:1 RX_P_NO 接收数据通道号

0 TX_FIFO寄存器满标志

0A 寄存器 RX_ADDR_P0 默认0xE7E7E7E7E7

0B 寄存器 RX_ADDR_P1 默认0xC2C2C2C2C2

2-5默认前面地址为通道1的前4个字节 0xC2C2C2C2C2,

0C 寄存器 RX_ADDR_P2 0xC2C2C2C2C3

0D 寄存器 RX_ADDR_P3 0xC2C2C2C2C4

0E 寄存器 RX_ADDR_P4 0xC2C2C2C2C5

0F 寄存器 RX_ADDR_P5 0xC2C2C2C2C6

10 TX_ADDR 0xE7E7E7E7E7 发送地址

11 RX_PW_P0 5:0 发送地址宽度 1-32字节

12 RX_PW_P1 5:0 发送地址宽度 1-32字节

17 FIFO_STATUS FIFO状态寄存器

6 TX_REUSE

5 TX_FULL

4 TX_EMPTY

1 RX_FULL

0 RX_EMPTY

三、接收模式

Rx模式初始化过程:

初始化步骤24L01相关寄存器

  1. 写 Rx 节点的地址 RX_ADDR PO

2)使能 AUTO ACK EN AA

3)使能 PIPE 0 EN RXADDR

  1. 选择通信频率 RF_CH

  2. 选择通道0有效数据宽度Rx_Pw_PO

  3. 配置发射参数(低噪放大器增益、发射功率、无线速率)RF SETUP

  4. 配置 24L01的基本参数以及切换工作模式 CONFIG。

四、发射模式

Tx 模式初始化过程

1)写 Tx 节点的地址 TX_ADDR

  1. 写 Rx 节点的地址(主要是为了使能Auto Ack) RX_ADDR_PO

3)使能 AUTO ACK EN_AA

4)使能 PIPE O EN RXADDR

5)配置自动重发次数 SETUP_RETR

  1. 选择通信频率RF_CH

7)配置发射参数(低噪放大器增益、发射功率、无线速率)RF_SETUP

(8)选择通道0有效数据宽度Rx_Pw_P0

(9)配置24L01的基本参数以及切换工作模式 CONFIG。

相关推荐
Tlog嵌入式1 小时前
蓝桥杯【物联网】零基础到国奖之路:十六. 扩展模块之矩阵按键
arm开发·stm32·单片机·mcu·物联网·蓝桥杯·iot
打地基的小白2 小时前
UART通信—基于江科大源码基础进行的改进和解析
单片机·嵌入式硬件·uart通信·代码详解
码农超哥同学3 小时前
Python知识点:如何使用Google Cloud IoT与Python进行边缘计算
python·物联网·面试·编程·边缘计算
黄小美3213 小时前
STM32(五)GPIO输入硬件电路及C语言知识复习
stm32·单片机·嵌入式硬件
py.鸽鸽3 小时前
STM32
stm32·单片机·嵌入式硬件
朴人3 小时前
【从零开始实现stm32无刷电机FOC】【实践】【7.1/7 硬件设计】
stm32·单片机·嵌入式硬件
每天一杯冰美式oh6 小时前
51单片机的智能垃圾桶【proteus仿真+程序+报告+原理图+演示视频】
嵌入式硬件·51单片机·proteus
Victor随笔集13 小时前
AWS IoT Core for Amazon Sidewalk
物联网·aws·aws iot·sidewalk
Q83431581915 小时前
华为 海思22AP10(SS524)H.265 编解码处理器用户指南
arm开发·人工智能·嵌入式硬件·音视频·硬件工程·h.265·视频编解码