您好,欢迎来到保捱科技网。
搜索
您的当前位置:首页nRF2401的ShockBurst TM模式及其单片机Keil C语言实现

nRF2401的ShockBurst TM模式及其单片机Keil C语言实现

来源:保捱科技网
维普资讯 http://www.cqvip.com 第33卷第1期 电子工皇师 V01.33 No.1 2007年1月 EIJECTRONIC ENGINEER Jan.2007 nRF2401的ShockBurst 模式及其 单片机Keil C语言实现 邢文生 ,李希臣 (1.焦作大学计算机系,河南省焦作市454003;2.焦作大学现代教育技术中心,河南省焦作市454003) 摘要:nRF2401是单片2.4 GHz的无线收发一体芯片,只需少量外围元件便可组成射频收发电 路,通过sPI接口与单片机进行通信,有功耗低、内置CRC(循环冗余校验)、有可设置地址等优点。文 中主要介绍其常用的ShockBurstTM收发模式以及与单片机的硬件连接实现,并介绍单片机模拟sPI接 口、nRF2401的配置实现和无线收发数据的实现。单片机采用51系列W77LE58,软件使用Keil C语 言。该系统可用于点对点及点对多点的无线数据传输,传输速率最高可达到1 Mbit/s。 关键词:无线收发芯片nRF2401;单片机;Keil C语言 中图分类号:TP319 0引言 2 nRF2401与单片机连接的硬件电路 nRF2401是挪威Nordic公司推出的单片无线收发 nRF2401与单片机的硬件电路如图1所示。 一体芯片,工作于2.4 GHz一2.5 GHz的ISM(:亡业、科 nRF2401的外围元件很少,可使用单鞭天线或环形天 学和医疗)频段,能够在全球无线市场畅通无阻。芯 线,为了得到合适的收发距离,电感电容的参数应适当 片内置频率合成器、功率放大器、晶体振荡器和调制器 调整。为了增加稳定性,应使用高Q和高精度的贴片 等功能模块,只需少量外围元件便可组成射频收发电 绕线高频电感、高稳定晶体、高稳定贴片电容。 路,常用于无线鼠标和键盘、无线手持终端、无线频率 V 1 nE上10TlEL 11_  V叩 AN'r2 l 识别、数字视频、遥控和汽车电子等方面。 P34 1 nRF2401芯片 ㈣PI 3 喜 DPWRIR UP ANTI I4 3 6 Pl I CE l3 PI 2 5 CS VOD队 2ZpF_L_2 2 nRF2401采用SoC(片上系统)方法设计,是业界 PlI 7 CIJ‘' 憎 l 口F PlO 8 DATA VSS 体积最小、功耗最低、外围元件最少的低成本射频芯 XTALI L6 1lPF xcI 片。nRF2401有125个频道,支持多点间通信,最高传 醴 X 2 ̄D岍 Ⅷ-PAD 驾 卜_一 一 输速率达到1 Mbit/s。nRF2401没有复杂的通信协 议,完全对用户透明,同种产品之间可以自由通信。 图1 nRF2401与单片机的硬件电路 nRF2401的收发模式有ShockBurst M。收发模式和 直接收发模式两种。在ShockBurst M。收发模式下, nRF2401通过SPI接口与单片机进行通信。 nRF2401使用片内的FIFO堆栈区,数据低速从微控制 nRF2401的工作电压范围为1.9 V~3.6 V,单片机要 器送入,但以高速(1 Mbit/s)发射数据,这样可以尽量 选用低工作电压型的。常见的低电压单片机有 节能,而且使用低速的单片机也能实现很高的发射数 GM97L5X、AT89LV5X、W77LE58、AT89LS5X等。本系 据速率。nRF2401内置CRC(循环冗余校验)纠检错 统选用W77LE58,其指令与MCS一5 1兼容,片上有 硬件电路和协议,可100%RF检验,发射数据时自动 32 kB的Flash EPROM、256字节RAM、1 kB的外部数 加上处理字头和CRC码,接收数据时自动把字头和 据存储器。 CRC码移去。每个芯片可通过软件设置最多40 bit地 单片机用软件模拟SPI总线,使用P1.0、P1.1、 址,而且只有收到与本机地址一致时才会接收数据。 P1.2模拟SPI的DATA、CLK、CS。PWR—UP决定是 否处在关机模式,cE决定是否允许收发信号,分别与 单片机的P1.3、P1.4连接。DR1是数据接收完毕信 收稿日期:2006-05-08;修回日期:2006-08-07。 号端,当有数据需要接收时DR1为高,单片机读取完 ・49・ 维普资讯 http://www.cqvip.com ・计算机与自动化技术・ 电子工■啊 2007年1月 衰1 nRF2491常用配置宇描述 数据后DR1为低。DR1信号经非门变换后与单片机 的中断0端连接,为了检测是否已经读取完nRF2401 的数据,将DR1与P3.4连接。单片机中断是低电平 触发,而nRF2,401的中断信号DR1是高电平,因此在 DR1端加一反相器。 3 nIj【砣舶1收发数据的Keil C语言实现 单片机对nRf2401的编程包括对nRF2401进行配 置、发送数据、接收数据等子程序。首先声明如下:# include<w77c32.h>;sbit DATA=P1 0;sbit CLK= P1 1;sbit CS=PlY2;sbit PWRUP=P1 3;sbit CE= —Pl^4。 接收数据缓冲区和发送数据缓冲区定义在l kB 片上SRAM:unsigned char xdata T—TEMP[250],r— TEMP『250]。 配置为ShoekBurstM收发模式的例子如下:T字节从 高到低分别为8EH,08H,lCH,20H,50H,0AH, 0BH,0CH,ODH。0EH,0AAH,28H,0AH。0BH, 0CH,0A3H。6FH。65H。 3.1工作模式以及转换语句 nRF2401有4种工作模式,由PWR_UP、CE、CS这 3个控制引脚设置,进行宏定义如下: #define MODE—RT PWR-UP=1;CE=I;CS=0;//收发模式 将配置字存在setdata[15]数组中,从最高位开始 依次通过SPI接口送给配置寄存器,具体程序如下: MODE_CF//进入设置模式 Delay();//延时202 ̄s #define MODE_CF PWR UP=1;CE。0;CS=1;//设置模式 #define MODE_SB PWR_UP=1;CE=0;CS=0;//空闲模式 unsigned char i,setdata[18]=1..…・}; for(i=0;i<15;i++){ #define MODEPD PWR_—UP=0;//关机模式 。 如果在发射模式状态则发射数据,如果在接收模 式状态则等待中断触发并接收数据。如果想节电则选 择空闲模式和关机模式。 //配置字从最高位开始送入nRF2401 writebyte(setdata[i])} CS=0;//新的配置字开始工作 在实际操作中,一旦完成协议并装入了nRF2401 3.2 SPI接口的模拟实现 单片机模拟SPI接口写1字节程序如-F: void writebyte(unsigned char eh){ unsined chari=8;g 子系统,只有l字节(bit[7:0])的配置字需要更新。 3.4发射数据的KeH C程序 将要发射数据的存放在T_TEMP[]数组中,具体 程序如下: …;//单片机对nRF2401进行配置成发射状态,RXEN=0 MODE_while(i一一){ CLK=0; RT//进入发射状态 DATA=(bit)(ch&OxSO); ch<<=1;CLK=1;} } Delay();//延时202p ̄ Wfitebyte(I-I-I-);//将接收地址I-I-I-写入nRF2401 ofr(i=0;i<I-|l‘ ;i++){//・I-I-是发射数据的个数 单片机模拟SPI接口读l字节程序如下: unsined cghar reedbyte(void){ unsined char i=8。eh;g writebyte(T—TEMP[i]);} //将需要发射的数据写入 n删F’2401 writebyte(I-I-I-);//将写入配置长度I-I-I-写入nBF2401 while(i一一){ CLK=0: CE=0;//发射开始 …;//单片机对nBF2401进行配置成接收状态,BXEN=1 MODE—RT//进入接收状态 ch=(ch<<1)IDATA;CLK=I;} return(eh);} 3.5接收数据的KeH C程序 3.3 nRF2A01配置的程序 nRF2401可以根据需要配置工作状态。配置字最 多18字节,常用配置字如表l所示。配置后频道l有 采用中断方式从nRF2401接收数据。编程使能 单片机中断0(IE=0x81)。当nRF2401收到一个有效 的数据包时(正确的地址和CRC),nRF2401自动移去 前缀、地址和CRC位,然后通过把DR1置高以产生中 效数据的最大长度为256一ADDR—W—CRC,频率为 24OO+RPCH# 1MHz。 _断信号。单片机接收代码如下: ・S0・ 维普资讯 http://www.cqvip.com 第33卷第1期 邢文生,等:nRF2401的ShockBumtTM模式及其单片机Keil C语言实现 ・计算机与自 术1. void serila()interrupt 0 using 3{ 参考文献 unsigned char i; [1]Single chip 2.4G Tanseeiver nRF2401[s]. Nordic VLSI while(r3_4=;O)R_TEMP[i]; ̄byte();} ASA.2003. 接收的数据存放在R_TEMP[]数组中。 [2]范风强.单片机语言C51应用实战集锦[M] 北京:电子 4结束语 工业出版社,2003. [3]周航慈.单片机应用程序设计技术[M].北京:北京航空 本文使用Keil C语言实现nRF2401的收发过程, 航天大学出版社,2002. 经实际调试应用完全可用于点对点及点对多点的无线 邢文生(1969一),男,副教授。主要研究方向为计算机自动控 数据传输,收到了良好的效果。传输速率最高可达到 制。 1 Mbit/s,完全满足一般无线传输的要求。 ShockBurstTM Mode of Radio Transceiver Chip nRF2401 and Its Implementation th Kefl C Language XING Wensheng,LI Xichen (Jiaozuo University,Jiaozuo 454003,China) Abstract:nRF2401 is a single-chip transceiver for 2.4GHz produced by Nordic.With a few external components,the radio一 ̄equency transceiver circuit can be composed.It communicates via the SPI interface nad one—chip microprocessor.It has such advantages a8 less power consumption,built—in CRC veriifcation and software.set of addresses.This paper mainly introduces the common ShockBurstMT transceiver mode as well as the realization of linking with the one-chip microprocessor hardware.The software part introduces one—chip microprocessor simulation interface nad the realization of nRF 2 4 0 1 configuration and that of the radio trnascei— ver data.The single-chip microprocessor employs W77 LE58 of 5 1 series and the software uses Keil C lan— guage.This system Can be used in the dot—to—dot and dot-to—dots radio data transmission and its highest trans— mission speed can reach 1 Mbps. . Keywords:single-chip trnasceiver;nRF2401;MCU;Keil C (上接第43页) 1995. 参考文献 [3]安继刚,等.钴一60数字辐射成像集装箱检测系统[M] [1]SCHULZ M。CALDWELL L.Nonuniformity correction and 北京:清华大学出版社,2003. correctability of infrared focal plnae arrays[j].Infrared Phys- 伍玉苹(1981一),女,硕士研究生。主要从事电路与系统设计。 its&Technology,1995,36(4):763. (2]安继刚.电离辐射探测器[M].北京:原子能出版社, Realization of Nonuniformity Correction of Image in the X-ray Security Inspection System WU Yuping,SHI maojllII,ZHU Wei,DU Guoliang (Southeast University,Nanjing 210096,China) Abstract:Based on the nonuniformity analysis of image in the X—Ray security inspection system,a novel correction method using both software co ̄ecfion and hardware correction is proposed,Correction parameters corresponding to each individual detector are computed by linear correction algorithm.Then the gain control circuit and the offset compensation circuit adjust the final output.Experimentla results show that the horizontal texture of image are eliminated after the correction,and the image is improved signiifcantly. Keywords:detector array;X—ray security inspection system;nonuniofrmity correction;image processing ・5l・ 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- baoaiwan.cn 版权所有 赣ICP备2024042794号-3

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务