版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、系统级RF芯片nRF24E1收发原理与应用编程 摘要:从应用的角度出发,阐述系统级RF收发芯片nRF24E1的RADIO口控制方法和工作过程;分析nRF24E1的收发方式;详细介绍ShockBUrst技术、DuoCeiver技术和应用中器件的配置方法并通过代码说明实际应用中的编程方法。关键词:nRF24E1 射频 无线通信 配置引言nRF24E1收发器是Nordic VLSI推出的系统级射频芯片,采用先进的0.18m CMOS工艺、6mm6mm的36引脚QFN封装,以nRF240 RF芯片结构为基础,将射频率、8051MCU、9输入10位ADC、125通道、UART、SPI、PWM、RTC、W
2、DT全部集成到单芯片中,是目前世界首次推出的、全球2.4GHz通用的、完事的低成本射频系统级芯片。由于nRF24E1片内集成了RADIO模块,在使用中,只需要一片nRF24E1和少数的外围元件就能完成射频收发功能,因此,大大减少了系统的体积。使用nRF24E1时,必须进行相应的配置工作。下面,详细讲述nRF24E1的收发原理和编程方法,以供读者设计时参考。有关nRF24E1的介绍请见2004年第6期。1 RADIO口nRF24E1收发器的收发任务由RADIO口控制。RADIO口使用标准8051中的P2口地址。由于射频收发器是片内置的,并不是双向工作。为了满足射频收发子系统的需要,RADIO口的
3、默认值与标准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口的状态
4、复位引脚为高电平时(无论是时钟是否有效),控制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 ShockBurstnRF24E1的nRF2401收发子系统的收发方式只有Sho
5、ckBurst。ShockBurst的功能由配置字决定。ShockBurst技术使用了片内的FIFO(先入先出)堆栈。虽然数据低速进入,但能高速发送,使能耗减到最低限度。(1)ShockBurst发送CPU接口引脚为CE、CLK1、DATA,工作流程如下:CPU有数据要发送时,把CE置高,nRF2401开始工作。接收节点地址和有效数据按时序被送到nRF2401子系统,可通过应用协议或CPU设置,使这个速度小于1Mbps(如10kbps)。CPU把CE置低,激活ShockBurst发送。ShockBurst。*给RF前端供电;*完成RF包处理(加前缀,CRC校验);*数据高速发送(250kbps
6、或1Mbps,可由用户配置决定);*发送完成,nRF2401返回空闲信号。(2)ShockBurst接收CPU的接口引脚为CE、DR1、CLK1、DATA,工作流程如下:校验接收到的RF包的地址和欲接收的RF包中有效数据的长度。把CE置高,激活RX。经过200s处理,nRF2401子系统监视启动并等待信号的到来。当收到一个有效的数据包(正确的地址和CRC),nRF2401子系统移去前缀、地址和CRC位。nRF2401子系统通过把DR1置高来通知CPU。CPU把CE置低,把RF前端设为低功耗方式。CPU将按时序以适当的速度(如10kbps)把有效数据取出。当所有的有效数据都送完,nRF2401子
7、系统再次把DR1置低。如果CE保持为高,准备接收下一个数据包;CE为低,重新开始新的接收。2.2 DuoCeiverShockBurst收发方式使nRF24E1能够方便地同时接收两个不同频率的频道发送的数据,并且能够使接收速度达到最大值。这意味着:*nRF24E1通过一个天线,能够接收两个频率相差8MHz(8个频率通道)的1Mbps发射器(如nRF24E1、nRF2401或nRF2402)发送的数据。*这两个不同数据频道的数据被分别送到两套不同的接口数据频道1为CLK1、DATA和DR1,数据频道2为CLK2、DOUT2和DR2。DuoCeiver技术提供了两个独立、专用于接收的数据频道,而不
8、是采用两个相互独立的接收器。使用第二个数据频道必须满足要求:第二数据频道的工作频率至少比第一个频道的工作频率高8MHz。使用ShockBurst技术,CPU先取出其中一个数据频道中的数据,另一数据频道中的数据等待CPU处理完。这样不至于丢失数据;同时,也降低了对CPU性能的要求。3 器件配置在配置方式下,配置字最高可达18字节。nRF2401子系统的配置字通过一个简单的三线接口(CS、CLK1和DATA)送给配置寄存器。3.1 ShockBurst的配置ShockBurst方式配置字的作用是使nRF2401子系统能够处理RF协议。在实际操作中,一旦完成协议并装入了nRF2401子系统,只有1字
9、节(bit7: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。在
10、发送方式,CPU必须产生与接收数据的nRF2401子系统配置相同的地址和有效数据块。当使用nRF240子系统片内的CRC特性时,注意CRC是否已经使能,并且注意在发送器和接收器上使用相同的长度。3.2 配置字描述配置字的读取在CLK1的正边沿时,从MSB(最高位)开始。新的配置从CS的下降沿开始。假如nRF2401子系统需要 配置为ShockBurst方式,两个接收频道,则在VDD(芯片电源)上电后,只需120位的配置字。在协议、工作方式和接收频道都配置好后,只需要1位(RXEN)来切换是接收或发射。在配置字被读取的过程中,MSB(最高位)最先被读到寄存器中。默认配置字为:h8E08.1C20
11、.2000.0000.00E7.0000.E721.0F04,共18字节,可根据需要进行取舍。ShockBurst数据包的总位数最多不能超过256位,可通过式(1)计算有效数据的最大位数。DATAx_W(bits)=256-ADDR_W-CRC (1)其中:ADDR_W为配置字中B32:18所设置的接收地址的长度,8位40位;CRC为配置字B17所设置的校验字,8位或16位。4位或8位前缀是自动加进去的,不占用数据包的位数。由式(1)可知,要想在每个数据包中得到更长的有效数据,可减少地址和CRC校验位。3.3 收发常用的配置在两个接收频道的方式下,nRF24E1同时接收来自两个不同频率频道的数
12、据。第一个频道的频率在配置字B7-1中设置,第二个频道通常比第一个频道的频率高8MHz。RX2_EN(B15)为第二个频道的使能位:RX2_EN=0时,第二个频道不工作;RX2_EN=1时,第二个频道使能。RFDR_SB为收发速率设置位:RFDR_SB(B13)=0时,收发速率为250kbps;RFDR_SB=1时,收发速率为1Mbps。16MHz晶振时,250kbps的收发灵敏度比1Mbps的高10dB。XO_F(B12-10)为晶振选择位。RF_PWR(B9-8)设置nRF24E1射频输出功率。RF_CH#(B7-1)设置nRF24E1的工作频率,可通过式(2)计算发射频率和频道1的接收频
13、率,通过式(3)计算频道2的接收频率。RXEN为收发切换位。ChannelRF=2400MHz+RF_CH#1.0MHz (2)ChannelRF=2400MHz+RF_CH#1.0MHz+8MHz (3)4 数据包描述完整的射频数据包由四部分组成:前缀、地址、有效数据和CRC。前缀一般是8位,也要吧设置为4位,由地址的首位决定。如果地址的首位是0,前缀为01010101;如果地址的首位是1,前缀为10101010。ShockBurst方式,前缀、地址和CRC都是在接收器收到数据包后自动移去只留有效数据。5 应用中的程序下面所述的程序都是在Keil C51 V7.07下调试通过的。限于篇幅,只
14、分析其中的主要函数代码。(1)系统初始化函数void Init(void)/配置I/O口P0_ALT=0x06;/P0_ALT=00000110B,P0.1为RXD,P0.2为TXDP0_DIR=0x09;/P0_DIR=00001001B,P0.0和P0.3设为输入P1_DIR=0x03;/P1_DIR=00000011B,P1.0和P1.1设为输入/其它I/O口配置PWR_UP=1;/开Radio,读时不用,写时为电源SPICLK=0;/SPI时钟为XTAL/8SPI_CTRL=0x02;/把SPI与第一收发通道(CH1)相连/串口配置、A/D配置等,或自己系统相关的一些配置(2)接收器配
15、置函数void Init_Receiver(void)unsigned char b;CS=1;/打开配置方式for(b=0;bSpiReadWrite(rconf.bufb); /发送接收器配置字CS=0; /关配置方式CE=1; /使能收发功能(3)接收函数void Receiver(void)unsigned char b;CS=1; /打开配置方式for(b=0;bSpiReadWrite(rconf.bufb); /发送接收器配置字CS=0; /关配置方式for(;)b=ReceivePacket(); /接收数据包/接收后的处理函数等,可自己扩展(4)发送函数void Transmitter(void)unsigned char b;CS=1; /开配置方式for(b=0;bSpiReadWrite(tconf.bufb);/发送发送器配置字CS=0; /关配置方式b=KeyByte; /读取数据TransmitPacket(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石河子大学《医学统计学》2022-2023学年第一学期期末试卷
- 石河子大学《结构试验》2023-2024学年第一学期期末试卷
- 石河子大学《建筑结构抗震设计》2021-2022学年第一学期期末试卷
- 沈阳理工大学《走近科技》2022-2023学年第一学期期末试卷
- 沈阳理工大学《市场调查》2022-2023学年第一学期期末试卷
- 沈阳理工大学《经贸翻译》2023-2024学年第一学期期末试卷
- 2018年四川内江中考满分作文《我心中的英雄》15
- 沈阳理工大学《产品交互设计》2023-2024学年第一学期期末试卷
- 广州市合同监督条例
- 韩文 法律代理合同范本
- 第15课 两次鸦片战争 教学设计 高中历史统编版(2019)必修中外历史纲要上册+
- 珍爱生命阳光成长主题班会课件
- 银行客户经理招聘面试题与参考回答(某大型集团公司)
- 2024-2025学年度第一学期七年级语文课内阅读练习含答案
- 福建省2025届普通高中学业水平合格考试仿真模拟政治试题(一)
- 幼儿园三年发展规划(2024年-2026年)
- 2024-2030年中国重症监护监护系统行业市场发展趋势与前景展望战略分析报告
- 2024年艾滋病知识题库
- 2024年安徽龙亢控股集团限公司公开招聘人员13人(高频重点提升专题训练)共500题附带答案详解
- 湖南美术出版社六年级上册《书法练习指导》表格教案
- 投标项目进度计划
评论
0/150
提交评论