完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
摘要: 从应用的角度出发,阐述系统级RF收发芯片nRF24E1的RADIO口控制方法和工作过程;分析nRF24E1的收发方式;详细介绍ShockBUrst技术、DuoCeiver技术和应用中器件的配置方法并通过代码说明实际应用中的编程方法。 关键词: 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寄存器改变各位的值。 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校验); *数据高速发送(250kbps或1Mbps,可由用户配置决定); *发送完成,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)送给配置寄存器。 |
|
相关推荐
6 个讨论
|
|
|
|
|
|
{:1:}
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
3951 浏览 0 评论
8456 浏览 0 评论
5933 浏览 0 评论
4059 浏览 1 评论
5168 浏览 0 评论
请问一下qspi mtsr引脚传输一次32bit后引脚不拉低怎么解决?
389浏览 2评论
628浏览 2评论
4718浏览 2评论
最近UJA1023开发遇到问题了,各位大神有谁知道可以替代这颗芯片的
574浏览 1评论
769浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-5 17:27 , Processed in 1.314146 second(s), Total 54, Slave 45 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号