当前位置:首页 >> 信息与通信 >>

基于nRF24L01的无线数据传输系统设计


2011年2月 第28卷第2期

湖北第二师范学院学报
Journal of Hubei University of Education

Feb.2011 V01.28 No.2

基于nRF24 LO 1的无线数据传输系统设计
李莎1”,谭永丽1
(1.湖北第二师范学院机械与电气工程系,武汉430205; 2.武汉大学测绘遥感信息工程国家重点实验室,武汉430072)

摘要:科学工作者应用C8051F310和nR蹦L01集成电路设计了一种无线数据传输系统;本文介绍了该系统的硬件组
成结构和软件实现流程。给出了部分实现程序。经过试验表明,该系统误码率低,传输速率快,能实现可靠的无线数据 传输。 关键词:nI强24IJ01;单片机;无线数据传输 中图分类号:TN391.8 文献标识码:A 文章编号:1674-344X(2011)02-0109-03

基金项目:湖北第二师范学院重点学科建设项目;湖北第二师范学院青年课题(2010C012);湖北第二师范学院青年课题 (2008C020) 作者简介:李莎(1983一),女,湖南娄底人,讲师,博士生,研究方向为自动化控制技术。

谭永丽(1973一),女,湖北武汉人,讲师,博士生,研究方向为多机器人系统。 近年来,随着射频技术、集成电路、自动控制、无线 数据通信技术的迅速发展,无线传输技术已经被广泛 应用于实际中。【1.21本文设计了一种以nRF24L01和低 功耗单片机为核心组成的点对点高速无线传输系统。 为现实。这款新品数据传输率为1Mbps或2Mbps, MCU通过SPI与该芯片进行通讯。【31 nRF24L01内置ShockBurst和Enhanced
Shock—

Burst两种工作模式。工作于ShockBurst模式下,当接 .收到有效地址和数据时,IRQ通知MCU,随后MCU可 将接收到的数据从RX FIFO中读出,在ShockBurst模 式下,nRF24L01自动生成前导码和CRC校验,减少 了MCU的工作量。而工作于Enhanced ShockBurst模 式下,可以使得双向链路协议执行起来更为容易、有 效。发送方要求终端设备在接收到数据后有应答信 号,以便于发送方检测有无数据丢失,一旦数据丢失, 则通过重新发送功能将丢失的数据恢复。这样可以不 需要外界微控制器的介入,极大地降低系统功耗和提 高系统的工作效率。当设置为接收模式的nRF24L01 可以从6个数据通道接收数据(见图2),每个数据 通道都有唯一的地址,同时使用一个相同的频道,这 意味着6个设置为发送模式的nRF24L01可以同时与

该系统具有工作稳定可靠、传输速率高、体积小、成本 低、功耗低、软硬件设计简单等特点,对于短距离的无 线数据传输很有应用价值。


nRF24L01介绍 nRF24L01是一款新型单片射频收发器件,工作子 ISM频段。内置频率合成器、功率

2.4 GI-Iz一2.5 GHz

放大器、晶体振荡器、调制器等功能模块(见图1),并 融合了增强型ShockBurst技术,其中输出功率和通信 频道可通过程序进行配置。

一个设置为接收的nRF24L01通信,接收方通过数据
通道地址来区别不同的发送方。而设置为发送模式的 nRF24L01,只有MCU有数据发送,则会启动Shock— Burst模式,来发送数据。当发送完毕后,会产生相应
图1

nRF24L01内部结构图

的中断。 本系统选用的MCU为C8051F310,是完全集成 的混合信号片上系统型MCU芯片。它主要有以下特 点:高速、流水线结构的8051兼容C口-51内核(可达
收稿日期:2010—12一08
?109?

nRF2AL01功耗低,在以一6 dBm的功率发射时,
工作电流也只有9 mA;接收时,工作电流只有12.3 mA。这款芯片拥有掉电模式和空闲模式,供电电压为

1.9-3.6V,通过模式的切换,可以使得低功耗设计成

万方数据

MCU通过SPI与nPff'24L01进行通讯,首先需要

对aP.F24L01进行配置,发送端配置为发送模式,接收 端配置为接收横式。


1发送端配置

将发送部分写成一个子程序,当需要发送数据的
时候.只需将数据写入到TX—BUF数组中.调用该函

数,就可以将数据发进出去。程序虹下:
void nRF24L01_TX

Mode(uchar oh)

CE_2P4=0://CSNh.i吐SPI han%c岫CE
目2

nRV241/)]接&#^{{目

=0

25raPS);全速、非侵^式的在系统调试接口(片内);
高精度可编程的7.5MHz内部振荡器;16K8的 C8051Y310可在系统编程的FLASH存储器;1280字节 片内R^M等。

SPI—RWjl.eg(FLUSH']I'X。0);
SPLWnte Bd(WRITE—REG+Tx_ADDR,TX—

ADDR麟,"IXIADa_wlwrH);
//Wnt%"iX Address
SPI
to

aRI珏CL01

具有片内上电复位、VDD监视器、看门狗定时器
和时钟振荡器的C8051F3lO是真正能独立工作的片 上系统。FLASH存储器还具有在系统里重新编程能

PLoAD_Ⅵm):

Wfite—Bur(WR—TX—PLOAD.TX—BUF,TX—
TX paylesd

//Wdt∞data

to

力,可甩于非易先性数据存储。“o
2系统硬件慢计

SH—RW—Reg(wRⅡE—REG+SETUP—AW.

MCU通过SPI总线方式和aRF24LOI进行通讯, 每次在上电之前读取按码开关的数值.作为nRFML0l 的地址码,选样可以通过援码开关来避免多个无线设 备放在一起彼此干扰,通讯后,将数据通过485传输方 式传递到上位机。采集部分通过传感器采集到皴据,
通过nRF24L01将采集到的数据通过无线的方式发

0神1);//Addr嘲wldth 3 SPI_RW—Rag(wRrrE一吐G+EN—AA.0x00);
//Disable Auto
SPI

Ack:P砌
Pipe0

RW—R站(wRⅡE—REG+EN—RxADDR,

Ox00);//Disable

SPURW—Beg(wR砸一PEG+sETuP—R帆,
O,∞)://Disabelo
Sel凹I RF
mnans

送,接收端接收到敦据后,从接收到的散据中提取出地
址码,和本机上的援码开关的码进行比对.来判断是否

sPI—RW_Reg(WRITE—REG+RF—cH,ch】;//

为需要的数据。如果是一致的,则把数据提取出来,否 则丢弃。系统接收端和发送端的连接方式分别如图
3、图4所示。

ch础el

0x02&0x0A

SPI—RW—R喀(wRrIE—REe+RF—SETUP,

0x27);//TX_PWR:0dBm.Datarate:1Mhps
SPI //set

RW_Reg(wRm—REG+CONFIG,0xOE);
CRC(2 byes)&Prim:1x

P硼一UP h,enable

r硐~lL—r一————一 i面]一i而i而订 。一
—。.....!!.一 盥 圈

MAX_RT&TX—D5 enabled
CE..2P4=I;

当发送端配置完成以后.就可以进行数据的通
讯了:

目3辖收%t蜕镕目

“Ⅸs即∞和吐盯d)
CE..21'4=0;

围一臣回一璺


SPI—Write—Bllf(wRⅡE—REG+TX—ADDR,TX—

ADDRESS,"f'X:Diuwrmm);
SPI_Wfte—Buf(WR—TX—PLOAD,"IX—BUF.TX— PLOAD_WIDTH);
SPI


一—!—一

RW Reg(WRlTE PEG+RF CH,eh);

目4&《日}&镕目

SPI_RW_Reg(WRITE—PEG+CONFIG,OxOE); CE上P4=1:

3软件设计

万方数据

3.2接收端配置 接收部分一般采用中断方式,这样可以不占用

//TX_PWR:0dBm,Datarate:250k,LNA:HCURR

SPLRW—Reg(WRlTE—REG+RX—PW—P0,RX— PLOAD』讥DTH);
//Writes data to RX payload

MCU的资源,在收到数据后进入到中断模式,在中断
内分析是否数据中断。同时,设置一个标志位,在主程 序中通过对标志位的查询。来判断是否取出数据,这 样可以使得中断程序的开销尽可能的少。程序如下:
void

SPI_Write_Buf(WRITE—REG+RX_ADDR—P0,RX _ADDRESS,RX_ADR_WIDTH);

nRF24L01一RX_Mode(uehar ch)‘

,冈rites
//Set

RX—Addresa

to

nRF24L0、


CE_2P4=0;

SPI—RW_Reg(WRITE_REG+CONFIG,0x3F);
PWR—UP bit,enable CRC(2 bytes)&
Prim:RX.RX_DR enabled.mask MAX—RT. CE_2P4=1;

SPI—RW-Reg(FLUSH—RX,0); if(W_Mode==2)//工作模式2 { SPI_RW—Reg(WRITE—REG+EN—AA,0x01);
//Enable Auto.Ack:PipeO

} 4结语 nRF24L01是一款性价比很高的单片无线收发芯 片,其内置了GFSK调制、CRC纠检错硬件电路和协 议,自动应答和自动再发射功能,使得使用起来更加方

SPI—RW—Reg(WRITE—REF,+SETUP—AW, 0x03);//Address }
else width 5

便,不需要了解太多的无线通讯的知识就可以实现无
线通讯。采用本文设计的无线通讯系统试验,运行稳 定,接普通鞭装天线,数据传输距离可以达到50m左 右,并且使用和维护的成本较低,在无线数据传输领域 有很广阔的应用前景。 参考文献:
[1]张庆国,童赛美.基于n上RF2MDI的点对点高速无线数据 传输系统设计[J].电脑编程技巧与维护,2009,(is). [2]时志云,王代华,张志杰.基于ntW24I_01和HCl6F877的 无线数据传输系统设计[J].电子测量技术,2008,31(1). [3]nRF2AL01
Single Chip 2.4 GHz Tmnsceiver Product Specifi-



SPI_RW—Reg(WRITE—REG+EN一从,0x00);//
Disable Auto.Ack:Pipe0

SPI_RW_Reg(WRITE—REG+SETUP—AW,Ox01);
//Address width 3‘


SPI—RW—Reg(WRlTE—REG+EN—RXADDR, 0x01);//Enable
PipeO

SPI—RW—Reg(WRITE—REG+SETUP—RETR, 0x53);//enabele retrans…
SPI_RW_Reg(WRITE—REG+RF—CH,ch);NSe-
lect RF channel addr_eh

cation.http:,,www.nordicsemi.COrn

[4]潘琢金译.c8051乃10/1/2/3/4/5

8/16 KB ISP

FLASH微

控制器数据手册.http:∥www.xhl.C01.ell

SPI—RW_Reg(WR/TE—REG+RF_SETUP,0x27);

Design of

Wireless Data Transmission System Based
LI Shal,一.TAN Yong.1i1

on

nRF24L0 1

(1.Deparlment

of Mechanical and Electrical Engineering,Hubei University of Education,Wuhan 430205,China;

2.State Key Laboratory of Information Engineering in Surveying,Mapping

and

Remote Sensing,

Wuhan University,Wuhan 430072,China)
Abstract:A wireless data transmission system was designed based
on

C805 1 F3 10 and nRF24LOI.The hardware

con-

stmction and software realization of this system Was introduced in this paper,and part of the program codes were given.
The experiment of the system proved that it mte. Key words:nRF24L01;MCU;wireless data
call

realize stable wireless data

transmission

with low BER and hilsh transfer

transmission

?11l?

万方数据

基于nRF24L01的无线数据传输系统设计
作者: 作者单位: 李莎, 谭永丽, LI Sha, TAN Yong-li 李莎,LI Sha(湖北第二师范学院机械与电气工程系,武汉430205;武汉大学测绘遥感信息工程 国家重点实验室,武汉430072), 谭永丽,TAN Yong-li(湖北第二师范学院机械与电气工程系 ,武汉,430205) 湖北第二师范学院学报 JOURNAL OF HUBEI UNIVERSITY OF EDUCATION 2011,28(2)

刊名: 英文刊名: 年,卷(期):

参考文献(4条) 1.潘琢金 C8051F310/1/2/3/4/5 8/16 KB ISP FLASH微控制器数据手册 2.nRF24IL01 Single Chip 2.4 GHz Transceiver Product Specification 3.时志云;王代华;张志杰 基于nRF24IL0l和PIC16F877的无线数据传输系统设计 2008(01) 4.张庆国;童赛美 基于nRF24L01的点对点高速无线数据传输系统设计 2009(18)

本文链接:http://d.g.wanfangdata.com.cn/Periodical_pxyyj-hbjyxyxb201102034.aspx


赞助商链接
相关文章:
毕业论文——基于NRF24L01无线温度测量系统的设计与实...
毕业论文——基于NRF24L01无线温度测量系统的设计与实现 - 学号 10211808106 毕业设计(论文) 基于 NRF24L01 无线温度测量系统的设计 与实现 教学系...
基于nRF24L01的无线温湿度检测系统设计_图文
基于nRF24L01的无线温湿度检测系统设计 - 本科毕业设计(论文) (2014 届) 论文题目 基于 nRF24L01 的无线温湿度 检测系统设计 (英文) Design ...
nRF24L01+无线收发系统设计
电子系统设计中, 提高同学们对综合电子系统的设计能力, 加深对无线通信系统 理论...6 // 等待数据建立时间,实测 STC89C52RC 外部晶振 // 初始化 nRF24L01(+...
基于nRF24L01的无线温湿度检测系统设计_图文
基于nRF24L01的无线温湿度检测系统设计 - 浙江万里学院 本科毕业设计(论文) (2014 届) 论文题目 基于 nRF24L01 的无线温湿度 检测系统设计 (英文)...
毕业论文-基于nRF24l01的无线音乐播放器设计
本科毕业设计(论文)题目:基于 nRF24l01 的无线音乐播放器设计 本科毕业论文 ...其中,无线数据传输区别于传统的有线传输 的新型传输方式,系统不需要传输的线缆、...
基于nRF24L01的多点温度采集系统设计
基于nRF24L01的多点温度采集系统设计 - 本课题提出一种基于单片机的无线多点温度采集电路设计,该方案是利用单片机控制DS18B20温度传感器采集温度,温度采集成功后由nRF...
开题报告-基于nRF24L01无线通信模块设计与实现_图文
开题报告-基于nRF24L01无线通信模块设计与实现_信息与通信_工程科技_专业资料。...的无线通信代码; 对无线通信协议进行设计,确定数据包的格式; 能搭建好硬件系统,...
基于nRF24L01的多点温度采集系统设计毕业论文设计
基于nRF24L01的多点温度采集系统设计毕业论文设计 - 第1页 共 3页 摘 要 随着信息领域各种技术的发展,我们在数据采集方面的技术也取得了很大的进步, 采集数据的...
基于nRF24L01无线数据传输_图文
基于nRF24L01无线数据传输 - 大学生科技活动项目资助申请书 项目名称 项目类别 : 申请人 指导教师: 基于无线数据传输多点测温模块 课外科技制作 郭建 所在单位 ...
【最新版】基于nRF24L01的远程温度检测系统毕业论文设计
【最新版】基于nRF24L01的远程温度检测系统毕业论文设计_工学_高等教育_教育专区...最后采用 nRF24L01 模块 对采集到的温度数据进行无线传输,从而打破传统温度操作...
更多相关标签: