系统级RF芯片nRF24E1收发原理与应用编程
*发送完成,nRF2401返回空闲信号。
(2)ShockBurst接收
CPU的接口引脚为CE、DR1、CLK1、DATA,工作流程如下:
①校验接收到的RF包的地址和欲接收的RF包中有效数据的长度。
②把CE置高,激活RX。
③经过200μs处理,nRF2401子系统监视启动并等待信号的到来。
④当收到一个有效的数据包(正确的地址和CRC),nRF2401子系统移去前缀、地址和CRC位。
⑤nRF2401子系统通过把DR1置高来通知CPU。
⑥CPU把CE置低,把RF前端设为低功耗方式。
⑦CPU将按时序以适当的速度(如10kbps)把有效数据取出。
⑧当所有的有效数据都送完,nRF2401子系统再次把DR1置低。如果CE保持为高,准备接收下一个数据包;CE为低,重新开始新的接收。
2.2 DuoCeiver
ShockBurst收发方式使nRF24E1能够方便地同时接收两个不同频率的频道发送的数据,并且能够使接收速度达到最大值。这意味着:
*nRF24E1通过一个天线,能够接收两个频率相差8MHz(8个频率通道)的1Mbps发射器(如nRF24E1、nRF2401或nRF2402)发送的数据。
*这两个不同数据频道的数据被分别送到两套不同的接口——数据频道1为CLK1、DATA和DR1,数据频道2为CLK2、DOUT2和DR2。
DuoCeiver技术提供了两个独立、专用于接收的数据频道,而不是采用两个相互独立的接收器。使用第二个数据频道必须满足要求:第二数据频道的工作频率至少比第一个频道的工作频率高8MHz。使用ShockBurst技术,CPU先取出其中一个数据频道中的数据,另一数据频道中的数据等待CPU处理完。这样不至于丢失数据;同时,也降低了对CPU性能的要求。
3 器件配置
在配置方式下,配置字最高可达18字节。nRF2401子系统的配置字通过一个简单的三线接口(CS、CLK1和DATA)送给配置寄存器。
3.1 ShockBurst的配置
ShockBurst方式配置字的作用是使nRF2401子系统能够处理RF协议。在实际操作中,一旦完成协议并装入了nRF2401子系统,只有1字节(bit[7:0])的配置字需要更新。用于ShockBurst的配置字分为如下四块(详见表2):
*有效数据宽度(DATA2_W和DATA1_W),指明RF包中有效数据的位数,这使nRF2401子系统能够区分接收到数据包中的有效数据和CRC字节;
*地址宽度(ADDR2和ADDR1),设置RF数据包中地址字节所占用的位数,最高为40位,这使nRF2401字节系统能够区分地址和有效数据;
*接收频道地址(ADDR_W),即接收数据的目标地址;
*CRC配置(CRC_L和CRC_EN),CRC_L用于设置CRC为8位或16位校验,CRC_L=0为8位,CRC_L=1为16位,CRC_EN使能片内的CRC。
在发送方式,CPU必须产生与接收数据的nRF2401子系统配置相同的地址和有效数据块。当使用nRF240子系统片内的CRC特性时,注意CRC是否已经使能,并且注意在发送器和接收器上使用相同的长度。
3.2 配置字描述
《系统级RF芯片nRF24E1收发原理与应用编程(第2页)》