系统级RF芯片nRF24E1收发原理与应用编程
关键词:nRF24E1 射频 无线通信 配置
引言
nRF24E1收发器是Nordic VLSI推出的系统级射频芯片,采用先进的0.18μm CMOS工艺、6mm×6mm的36引脚QFN封装,以nRF240 RF芯片结构为基础,将射频率、8051MCU、9输入10位ADC、125通道、UART、SPI、PWM、RTC、WDT全部集成到单芯片中,是目前世界首次推出的、全球2.4GHz通用的、完事的低成本射频系统级芯片。
由于nRF24E1片内集成了RADIO模块,在使用中,只需要一片nRF24E1和少数的外围元件就能完成射频收发功能,因此,大大减少了系统的体积。使用nRF24E1时,必须进行相应的配置工作。下面,详细讲述nRF24E1的收发原理和编程方法,以供读者设计时参考。有关nRF24E1的介绍请见2004年第6期。
1 RADIO口
nRF24E1收发器的收发任务由RADIO口控制。RADIO口使用标准8051中的P2口地址。由于射频收发器是片内置的,并不是双向工作。为了满足射频收发子系统的需要,RADIO口的默认值与标准8051的P2默认值也不一样。
收发器由特殊功能豁口中的RADIO(0A0H)和SPI_CTRL(0B3H)控制。SPI_CTRL=00B时,SPI没用;SPI_CTRL=01B时,SPI连接到P1口;SPI_CTRL=10B时,SPI连到第一个nRF2401频道;SPI_CTRL=11B时,SPI连接到第二个nRF2401频道。RADIO豁口的各个位如图1所示。在nRF24E1头文件中,所定义的各个位的名字与图1中一样。
(1)用SPI口控制收发器
用芯片内嵌的SPI口控制收发器的操作非常方便。如RF配置和ShockBurst RX(接收)或TX(发送)。
(2)复位时RADIO口的状态
复位引脚为高电平时(无论是时钟是否有效),控制nRF2401收发子系统的RADIO输出位默认为RADIO.3(CS)=0,RADIO.6(CE)=0,RADIO.7(PWR_UP)=1。程序运行后,保持默认值,直到程序通过RADIO寄存器改变各位的值。
(凹丫丫范文网fanwen.oyaya.net收集整理)
2 收发方式
通过PWR_UP、CE和CS三个控制引脚,可以设置nRF2401的工作方式。PWR_UP=1,CE=1,CS=0为收发方式;PWR_UP=1,CE=0,CS=1为配置方式;PWR_UP=1,CE=0,CS=0为空闲方式;PWPWR_UP=0时关机。
2.1 ShockBurst
nRF24E1的nRF2401收发子系统的收发方式只有ShockBurst。ShockBurst的功能由配置字决定。ShockBurst技术使用了片内的FIFO(先入先出)堆栈。虽然数据低速进入,但能高速发送,使能耗减到最低限度。
(1)ShockBurst发送
CPU接口引脚为CE、CLK1、DATA,工作流程如下:
①CPU有数据要发送时,把CE置高,nRF2401开始工作。
②接收节点地址和有效数据按时序被送到nRF2401子系统,可通过应用协议或CPU设置,使这个速度小于1Mbps(如10kbps)。
③CPU把CE置低,激活ShockBurst发送。
④ShockBurst。
*给RF前端供电;
*完成RF包处理(加前缀,CRC校验);
《系统级RF芯片nRF24E1收发原理与应用编程》