NRF24L01——工作原理解读

1、一个发送通道,6个接收通道。发送端发送通道地址寄存器中的地址指向的就是接收端哪个接收通道接收发送端的数据,所以发送端地址寄存器的值要与接收端需要接受数据的通道地址相同。

看一下无线数据传输的数据帧格式

第二部分的地址,就是接收端接收数据的通道地址,这个地址由发送端TX_ADDR寄存器搞定。


2、必须要搞清楚发送地址和接收地址的意义。下面两端描述的是一个意思。我的两次理解。

要先搞清楚TX_ADD和RRX_ADDR_PX。TX_ADD就一个,是发送数据帧格式中发送的地址信息,如上1所示,这个地址指定了向接收端接收数据通道的地址。

发送端的职责:1、发送:发送数据给接收端。2接收:接收某接收端的应答信号。


接收端的职责:1、接收:接收发送端发送的数据。2发送:发送应答信号给发送端。


所以整个过程发送端接收端都有发送和接收的功能。只是发送和接收的东西不一样。



NRF24L01发送端把数据发送给接收端,接收端在确认收到数据后记录发送端的地址,并以此地址为目标地址发送应答信号(这个是自动的,不是程序设置的,应属于硬件实现),(就是说接收端的发送地址寄存器TX_ADDR中存的地址就是发送端TX_ADDR中的地址,而发送端要以又要用通道0来接收应答,所以需要将通道0的地址设置为该地址,即发送端TX_ADDR中的值)。发送端,数据通道0被用作接收应答信号因此发送端通道0的接收地址要与发送地址端地址相等,以确保接收到正确的应答信号。

注意每个NRF24L01只有一个发送通道,用来指示向接收端NRF24l01的哪个接收通道发送数据,即TX_ADDR(即只有一个发送目标地址寄存器)不要被TX5迷惑,这里5是指第五个NRF24l01.但一个NRF24L01是有6个接收通道的,每个通道有自己的地址。所以一个2401可以接收6个2401发送来的数据。在发送模式下,发送端的2401会用自己接收通道0来接受 接收端的2401发送来的相应信号。但是接收端的2401发送应答信号的时候,也发送的地址就是接收端的某个接受通道的地址。所以发送端的接收通道0的地址要设置成这个地址。


例子:

TX5:TX_ADDR=0xB3B4B5B605

TX5:RX_ADDR_P0=0xB3B4B5B605

RX:RX_ADDR_P5=0xB3B4B5B605


3、

两种数据双方向的通讯方式:

如果想要数据在双方向上通讯,PRIM_RX 寄存器必须紧随芯片工作模式的变化而变化。处理器必须保证PTXPRX端的同步性。在RX_FIFOTX_FIFO寄存器中可能同时存有数据。


nrf24l01是一种低功耗、高性能的2.4GHz无线收发模块,常用于嵌入式系统中。它可以通过SPI接口与微控制器进行通信,实现无线数据的发送和接收。接下来我们来分析nrf24l01接串口的原理图。 首先,在原理图中,nrf24l01模块与微控制器通过SPI总线相连。SPI总线包括四根线:SCK(时钟线)、MISO(主输入/从输出线)、MOSI(主输出/从输入线)和CSN(片选线)。其中,SCK用于同步时钟信号的传输,MISO用于从nrf24l01向微控制器发送数据,MOSI用于从微控制器向nrf24l01发送数据,CSN用于选中nrf24l01模块。 其次,nrf24l01模块还有两根额外的引脚IRQ和CE。IRQ是中断请求引脚,用于通知微控制器有数据到达或发送完成等事件发生。CE是芯片使能引脚,用于控制nrf24l01的发送和接收状态。 在串口通信中,当微控制器要发送数据时,首先通过SPI总线将数据传输到nrf24l01的发送缓冲区中。然后,通过控制CE引脚,使nrf24l01进入发送模式,并将数据通过无线信号发送出去。接收端的nrf24l01模块会将收到的数据存储在接收缓冲区中,同时通过IRQ引脚向微控制器发送中断请求。微控制器收到中断请求后,通过SPI总线读取接收缓冲区中的数据。这样,数据的发送和接收就完成了。 总之,nrf24l01通过SPI总线与微控制器进行通信,通过CE引脚控制发送和接收状态,通过IRQ引脚向微控制器发送中断请求。通过这种方式,可以实现无线数据的发送和接收。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值