积分规则 网站地图 帮助中心    
嵌入式软件 单 片 机 DSP 存储器 传感控制 光电显示
嵌入式硬件 CPLD/FPGA SOPC AD/DA 接口电路 模拟设计
I C设计 通信产品 汽车电子 电源产品 消费电子 数控系统
工业控制 军工/航天 安防产品 医疗电子 计算机外设 测试测量
供应 I C
求购 公司库

  IC 求购 销售 公司 论文 DATASHEET 参考设计 论坛
当前位置: 电子技术 >> 嵌入式硬件 >> 相关文章
  相关分类: 相关文章 | ARM | 新产品 | 下载 | MIPS | X86 |
基于nRF24L01的无线数据传输系统
 
作者:荚 庆,王代华,张志杰   来源:《现代电子技术》    点击数:98   更新时间:2008-7-15
您可以添加到网摘 让更多人关注此文章:

    

1 nRF24L01芯片的介绍


nRF24L01是单片射频收发芯片,工作于2.4~2.5 GHz ISM频段。工作电压为1.9~3.6 V,有多达125个频道可供选择。可通过SPI写入数据,最高可达10 Mb/s,数据传输率最快可达2 Mb/s,并且有自动应答和自动再发射功能。和上一代nRF2401相比,nRF2401数据传输率更快,数据写入速度更高,内嵌的功能更完备。


芯片内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融进了增强式ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。芯片能耗非常低,以-6 dBm的功率发射时,工作电流只有9 mA,接收时工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。


1.1 nRF24L01引脚介绍


芯片引脚排列见图1。







各引脚具体功能如下:CE为发射和接收的使能端;CSN为SPI的使能端;SCK为SPI时钟输入;MOSI为SPI数据主输从人端;MISO为SPI数据主人从输端;IRQ为中断输出;VDD为电源端,接3 V直流电源;VSS为参考接地端;XC1,XC2为晶振端;VDD_PA给功率放大器供电1.8 V;ANT1,ANT2为天线接口端;IREF为参考电流端。







各引脚具体功能如下:CE为发射和接收的使能端;CSN为SPI的使能端;SCK为SPI时钟输入;MOSI为SPI数据主输从人端;MISO为SPI数据主人从输端;IRQ为中断输出;VDD为电源端,接3 V直流电源;VSS为参考接地端;XC1,XC2为晶振端;VDD_PA给功率放大器供电1.8 V;ANT1,ANT2为天线接口端;IREF为参考电流端。

1.2 nRF24L01的指令结构


nRF24L01所有的配置字都由配置寄存器来定义,这些配置寄存器可通过SPI口访问。


1.2.1 SPI接口设置


SPI接口由SCK,MOSI,MISO及CSN组成。


(1)在配置模式下单片机通过SPI接口配置nRF24L01的工作参数。
(2)在发射或接收模式下单片机SPI接口发送或接收数据。


和SPI接口的指令共有8个,使用每个指令时必须使CSN变低,用完后将其变高。单片机的控制指令从nRF24L01的MOSI引脚输入,而nRF24L01的状态信息和数据信息是从其MISO引脚输出并送给单片机的。利用SPI传数时,他是先传低位字节,再传高位字节,并且在传每个字节时是从高位字节传起的。指令分别是;读寄存器指令,格式是000A AAAA;写寄存器指令,格式是001AAAAA(A AAAA代表寄存器在内存中的地址;读Payload指令;写Payload指令;清发射堆栈指令;清接收堆栈指令;发射数据再利用;空操作。


1.2.2 中断 当nRF24L01的中断源(TX_DS,RX_DR,MAX_RT)被置高时(TX_DS为发送成功标志位,RX_DR为接收数据成功标志位,MAX_RT为自动重发超上限标志位),就会使IRQ引脚置低。可以向状态寄存器写1来清这些中断标志位。通过设置CONFIG寄存器的某些位来屏蔽掉这些中断源,默认情况下,这三个中断源都是允许的。


1.2.3 内存区


下面介绍nRF24L01的内存区,一共24个寄存器,以下选取几个重要的加以介绍。


0号寄存器:第7位是保留位;第6位到第4位分别是TX_DS,RX_DR,MAX_RT屏蔽位,置高能屏蔽相应的中断源;第3位是CRC使能位;第2位是选择CRC长度;第1位是PWR_UP位,高电平为使芯片上电;第0位是发射、接收选择位,高电平是发射,低电平是接收。


1号寄存器:第7和第6位是保留位,第5到第0位是使能通道5到通道0的自动应答,高电平有效。


2号寄存器:第7和第6位是保留位,第5到第0位是使能接收通道地址5到地址0,高电平有效。


4号寄存器:第7位到第4位是设置自动重发的时间,第3位到第0位是设置自动重发的次数。


7号寄存器是状态寄存器,第7位是保留位,第6位是RX_DR位(1:接收堆栈中有了数据),第5位是TX_DS位(1:数据成功发送到接收方),第4位是MAX_RT位(1:达到重发射上限,产生超时中断),第3到第1位是标志哪个通道接收数据,第0位是发射堆栈状态位。


1.3 nRF24L01的功能描述


nRF24L01可以通过设置CE和状态寄存器来选择他的工作状态,如表1所示。






配置为发射模式的nRF24L01将会利用增强式ShockBurst技术来发射数据包。发送设备在发完数据后将自动转为接收状态来等待接收方的应答信号。若发送设备未接收到应答信号,他将自动重发这包数据(自动重发开启的情况下)直到接收这包数据或者重发次数超过了在寄存器SETUP_RETR_ARC设置的所允许的最大重发次数。如果是第二种情况,他将在STATUS寄存器里的MAX_RT位反映出来,并且给出中断。

当nRF24L01收到应答信号时,他将认为该包数据成功发送到接收方,并把这包数据从发射堆栈中清除,同时IRQ变低,STATUS寄存器里的中断标志位TX_DS置高。


用增强式ShockBurst技术来发射数据可以有以下好处:极大地降低了电流损耗;系统开销低;极大地降低了数据在空气中的碰撞率。


2 系统设计


2.1 硬件设计


本系统采用的单片机是PIC16F877,将单片机的PORTC的0~5配置成通用I/O引脚,分别与nRF24L01的IRQ,CE,CSN,SCK,MOSI,MISO连接,控制nRF24L01的工作方式,采用单片机标准的SPI接口。系统上电时,PIC16F877首先对nRF24L01进行写配置寄存器操作,然后使nRF24L01进入发射状态,将要发送的数据写入nRF24L01,激活无线发射。然后检测nRF24L01的IRQ引脚,由于关闭了自动重发射功能,因此如果引脚电平变低,即说明产生发送成功中断,数据发送成功,然后从接收端读出数据即可。


2.2软件设计


程序流程图如图3所示。程序编程的基本思路是,系统上电首先配置nRF24L01的寄存器,本系统只对其中几个寄存器进行了重新配置,关闭自动重发射功能是想对发送失败次数进行统计,其他的均采用默认值,如:通信速率2 Mb/s,输出功率0 dBm等。






nRF24L01写配置子程序如下:









3 结 语


本文介绍了利用PIC16F877和nRF24L01芯片设计的无线数据传输系统,成本低,体积小,传输速率高,具有良好的通用性和可靠性,可供监测和工业控制系统电路设计参考使用。

[1]



相关文章
· 浙江中控软件无线数据集成解决方案[36]
· 利用PIC16F877和nRF24L01芯片设计的无线数据传输系统[192]
· 一种压力传感器的无线数据传输装置的设计[119]
· 基于PIC的无线数据传输发射机设计[147]
热门评论排行
·VHDL设计中电路简化问题的
·江苏嵌入式Linux教育培训
·锐极LINUX驱动培训班定于
·基于实时操作系统μC/OS-
·ARM处理器应用开发4步骤

文章评论
    没有任何评论
*只显示最新10条评论。评论内容只代表网友观点,与本站立场无关。更多评论
发表评论
  * 请先[登陆]再进行评论,谢谢。
评分: 1分 2分 3分 4分 5分
内容: *
发帖须知:
一.所发文章必须遵守《互联网电子公告服务管理规定》;
二.严禁发布供求代理信息,公司介绍,产品信息等广告宣传信息;
三.严禁恶意重复发帖;
四.严禁对个人,实体,民族,国家等进行漫骂,污蔑,诽谤。
 
热点新闻 [更多]
 
亚洲行业盛事频繁IR节能创新再成瞩目
IPTV未获得奥运金牌
英特尔将于本月中期推出首款六核处理器
英飞凌在功率电子市场表现抢眼,以高于
LED奥运会大放光芒 功率
三星同意将Symbian股份出售给诺
英特尔收购Opened H
广东省省长黄华华视察研祥集团
EDI/WEDC/WHITE怀特存储
WHITE/WEDC/EDI代理商-
 
热门下载 [更多]
 
[ ] 手把手学单片机20个例
[ ] 单片机做的智能台灯
[ ] 单片机入门书
[ ] linux系统移植开发文档
[ ] IC卡的读写程序
[ ] 8051单片机C语言彻底应用
[ 常用软件] 555定时器电路设计软件V1.2
[ 常用软件] 51定时器计算软件
[ ] ARM处理器应用开发4步骤
[ ] 实用电源电路集锦
 
论坛新帖 [更多]
 
[原创]本公司长期超低价批发各...
[原创]本公司长期超低价批发种...
[原创]本公司长期批发各种酒、...
[原创]本公司长期低价批发各种...
[原创]长期低价批发各种母婴用...
[原创]本公司长期批发各种饮料...
verilog设计的一点经验...
Altera FPGA、CPL...
如何开始DSP的开发...
[转帖]如果让我重做一次研究生...

 
赞助商 [更多]
 


ICP许可证号:[粤 05056597]
联系电话:010-82517432 82517615 传真: 010-82517615

版权所有 Copyright © 2006 嵌入式技术网