完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
` NRF24L01 简介 NRF24L01是NORDIC公司生产的一款无线通信通信芯片,采用FSK 调制,集成NORDIC自家的Enhanced Short Burst协议。可以实现点对点或是1对6的无线通信。无线通信速度最高可达到2Mbps。 芯片特点: 2.4G全球开放的ISM频段,免许可证使用。 最高工作速率2Mbps,高校的GFSK调制,抗干扰能力强。 126个可选的频道,满足多点通信和调频通信的需要。 内置CRC检错和点对多点的通信地址控制。 可设置自动应答,确保数据可靠传输。 采用SPI通信,可以很方便的连接到MCU上面。 NRF24L01 模块简介 NRF24L01 SPI通讯时序图 空闲状态SCK为0,CPOL=0;数据在时钟第一个时间边沿采集,CPHA=0; Cn:SPI命令位 Sn:STATUS寄存器位 Dn:数据位( MSB,多字节传输时,低字节在前) NRF24L01 工作模式介绍 其中,收发模式又有: Enhanced ShockBurst收发模式和ShockBurst收发模式,只有Enhanced ShockBurst收发模式支持自动ACK和自动重发。开启自动ACK,则默认选择Enhanced模式 Enhanced ShockBurst 模式介绍 Enhanced ShockBurst收发模式,使用片内的先入先出堆栈区,数据可以低速从微控制器送入,高速(1Mbps/2Mbps)从芯片发射,这样可以尽量节能。与射频协议相关的所有高速信号处理都在片内进行,这种做法有3大好处: 1,节能; 2,低的系统费用(低速微处理器也能进行高速射频发射); 3,数据在空中停留时间短,抗干扰性高; 在Enhanced ShockBurst收发模式下,NRF24L01自动处理字头和CRC校验码。在接收数据时,自动把字头和CRC校验码移去。在发送数据时,自动加上字头和CRC校验码,在发送模式下,置CE为高,至少10us,将使能发送过程。 Enhanced ShockBurst模式:发送方要求终端设备在接收到数据后有应答信号,以便发送方检测有无数据丢失,一旦丢失则重发数据。重发数据设置在地址为 0X04 的数据重发设置寄存器 用于设置其重发次数及设置在未收到应答信号后等待重发的时间。 在接收模式下,最多可以接收6路不通的数据。每一个数据通道使用不同的地址,但是共用相同的频道。也就是说6 个不同的NRF24L01 设置为发送模式后可以与同一个设置为接收模式的NRF24L01 进行通讯,而设置为接收模式的NRF24L01可以对这6 个发射端进行识别。数据通道0 是唯一的一个可以配置为40 位自身地址的数据通道。1~5 数据通道都为8 位自身地址和32 位公用地址(由通道1设置)。所有的数据通道都可以设置为Enhanced ShockBurst 模式。 在接收端,确认收到数据后记录地址,并以此地址为目标地址发送应答信号。 在发送端,通道0被用作接收应答信号,因此通道0的接收地址要与发送地址端地址相等,以确保接收到正确的应答信号。 Enhanced ShockBurst 发送模式 初始化过程: 1)写Tx 节点的地址 TX_ADDR 2)写Rx 节点的地址(主要是为了使能Auto Ack) RX_ADDR_P0 3)使能AUTO ACK EN_AA 4)使能PIPE 0 EN_RXADDR 5)配置自动重发次数 SETUP_RETR 6)选择通信频率 RF_CH 频率计算公式:2400+RF_CH (Mhz) 7)配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP 8)配置24L01 的基本参数以及切换工作模式 CONFIG。 发送流程: 1. 把地址和要发送的数据按时序送入NRF24L01; 2. 配置CONFIG寄存器,使之进入发送模式; 3. 微控制器把CE置高(至少10us),激发Enhanced ShockBurstTM发射; 4. Enhanced ShockBurstTM发射: ①给射频前端供电; ②射频数据打包(加字头、CRC校验码); ③ 高速发射数据包; ④发射完成,NRF24L01进入空闲状态。 Enhanced ShockBurst 接收模式 初始化过程: 1)写Rx 节点的地址 RX_ADDR_P0 2)使能AUTO ACK EN_AA 3)使能PIPE 0 EN_RXADDR 4)选择通信频率 RF_CH 5)选择通道0 有效数据宽度 RX_PW_P0 6)配置发射参数(低噪放大器增益、发射功率、无线速率) RF_SETUP 7)配置24L01 的基本参数以及切换工作模式 CONFIG。 接收流程: 1. 配置接收地址和要接收的数据包大小; 2. 配置CONFIG寄存器,使之进入接收模式,把CE置高。 3. 130us后,NRF24L01进入监视状态,等待数据包的到来; 4. 当接收到正确的数据包(正确的地址和CRC校验码),NRF2401自动把字头、地址和CRC校验位移去; 5. NRF24L01通过把STATUS寄存器的RX_DR置位(STATUS一般引起微控制器中断)通知微控制器; 6. 微控制器把数据从FIFO读出(0X61指令); 7. 所有数据读取完毕后,可以清除STATUS寄存器。NRF2401可以进入四种主要的模式之一; NRF24L01-SPI指令 寄存器介绍 【众拳】剑齿虎STM82.4G无线通讯实验代码下载:
众拳剑齿虎NRF24L01 2.4G无线模块实验程序.zip
(1.82 MB, 下载次数: 127
)
实验资料下载:
NRF24L01 2.4G无线模块实验资料.zip
(3.9 KB, 下载次数: 61
)
` |
|
相关推荐
|
|
感谢分享!
|
|
|
|
|
|
2093 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1931 浏览 3 评论
4526 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2076 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2587 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 13:26 , Processed in 0.584877 second(s), Total 70, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号