当前位置: 迅达文档网 > 范文大全 > 征文 >

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

| 来源:网友投稿

摘 要:介绍了一种利用无线数字传输芯片和单片机构成的无线数据传输系统,讨论了系统的硬件电路设计和软件编程,以及无线数字传输芯片在增强式突发传递模式下通过单片机的控制进行无线数据传输的原理,设计了在增强式突发传递模式下可实现半双工通信的通用电路,并讨论了无线数字传输芯片初始配置和数据发送程序开发的关键技术。运行表明,该系统控制方便、工作稳定,能实现可靠的无线数据传输。

关键词:无线数据传输系统;单片机;nRF24L01芯片;SPI

中图分类号:TN919.72文献标识码:B

文章编号:1004-373X(2008)05-068-03

Wireless Data Transmission System Based on nRF24L01

JIA Qing,WANG Daihua,ZHANG Zhijie

(Key Laboratory of Instrumentation Science & Dynamic Measurement,North University of China,Taiyuan,030051,China)



Abstract:This paper introduces a kind of wireless data transmission system implemented with a wireless digital transmission chip and a single chip microcomputer.The system hardware design and software design are discussed in detail,and the theory of wireless data transmission with wireless digital transmission chip under the enhanced ShockBurst mode is analyzed.The circuit is designed and the key features of programming for wireless digital transmission chip initial configuration and wireless data transmission are discussed.The running of system shows that it is easy to control and it works stably to perform reliable wireless data transmission.

Keywords:data wireless transmission system;single chip microcomputer;nRF24L01;SPI

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[CD#*2]PA给功率放大器供电1.8 V;ANT1,ANT2为天线接口端;IREF为参考电流端。

图1 nRF24L01引脚排列

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传数时,他是先传低位字节,再传高位字节,并且在传每个字节时是从高位字节传起的。指令分别是:读寄存器指令,格式是000AAAAA;写寄存器指令,格式是001AAAAA(AAAAA代表寄存器在内存中的地址;读Payload指令;写Payload指令;清发射堆栈指令;清接收堆栈指令;发射数据再利用;空操作。

1.2.2 中断

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

1.2.3 内存区

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

0号寄存器:第7位是保留位;第6位到第4位分别是TX[CD#*2]DS,RX[CD#*2]DR,MAX[CD#*2] RT屏蔽位,置高能屏蔽相应的中断源;第3位是CRC使能位;第2位是选择CRC长度;第1位是PWR[CD#*2]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[CD#*2]DR位(1:接收堆栈中有了数据),第5位是TX[CD#*2]DS位(1:数据成功发送到接收方),第4位是MAX[CD#*2]RT位(1:达到重发射上限,产生超时中断),第3到第1位是标志哪个通道接收数据,第0位是发射堆栈状态位。

1.3 nRF24L01的功能描述

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

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

表1 nRF24L01的工作模式

当nRF24L01收到应答信号时,他将认为该包数据成功发送到接收方,并把这包数据从发射堆栈中清除,同时IRQ变低,STATUS寄存器里的中断标志位TX[CD#*2]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.2 软件设计

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

图3 程序流程图

nRF24L01写配置子程序如下:

BCFPORTC,2;CSN变低,开始SPI写数

NOP

MOVLWH′20′ 

MOVWFS[CD#*2]DATA

CALL SEND

B0MOVLWH′0A′;使能CRC,开启POWER UP,选择发射模式

MOVWFS[CD#*2]DATA

CALL SEND

BSF PORTC,2;SPI写数完成

NOP

BCFPORTC,2

MOVLWH′21′ 

MOVWFS[CD#*2]DATA

CALLSEND 

B1MOVLWH′01′ ;只开启通道0的自动应答功能

MOVWFS[CD#*2]DATA

CALLSEND

BSFPORTC,2

NOP

BCF PORTC,2

MOVLWH′22′ 

MOVWFS[CD#*2]DATA

CALL SEND 

B2MOVLWH′01′;只使能接受通道地址0

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2

NOP

BCFPORTC,2

MOVLWH′24′ 

MOVWFS[CD#*2]DATA

CALL SEND

B4MOVLWH′00′;关闭自动重发射功能

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2

NOP

BCFPORTC,2

MOVLWH′31′

MOVWFS[CD#*2]DATA

CALL SEND

B17MOVLWH′20′;设置接受通道0的数据长度为16个字节

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2;CSN变高

RETLW0

nRF24L01发送子程序如下:

BCFPORTC,2

NOP

MOVLWH′20′;写配置寄存器

MOVWFS[CD#*2]DATA

CALL SEND

MOVLWH′0A′;置PRIM[CD#*2]RX为低,置PWR[CD#*2]UP为高

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2

CALL W[CD#*2]TX[CD#*2]PAY

BSFPORTC,1

CALL DLY10us

CALL DLY10us

BCFPORTC,1;开启L01发射

CALL DLY130us

IRQ[CD#*2]JBTFSCPORTC,0;判断IRQ

GOTO IRQ[CD#*2]J

BCF PORTC,2

NOP 

MOVLWH′07′

MOVWFS[CD#*2]DATA

CALL SEND

MOVLWH′F1′

MOVWFS[CD#*2]DATA

CALL SEND1

CALL READ

BSFPORTC,2

TX[CD#*2]1BTFSSR[CD#*2]DATA,5;判断数据是否成功发送

GOTO TX[CD#*2]3

BCFPORTB,2

BSFPORTB,1

TX[CD#*2]2BCFPORTC,2;CSN变低

NOP

MOVLWH′27′;状态寄存器恢复为默认值

MOVWFS[CD#*2]DATA

CALL SEND

MOVLWH′3E′

MOVWFS[CD#*2]DATA

CALL SEND

BSFPORTC,2

NOP

RETLW0

TX[CD#*2]3BCFPORTB,1;统计发送失败的次数

BSFPORTB,2

INCF FAIL[CD#*2]NUM,1

BTFSSSTATUS,Z

GOTO TX[CD#*2]2

INCF FAIL[CD#*2]N2,1

GOTO TX[CD#*2]2

W[CD#*2]TX[CD#*2]PAY;发送20个数

BCFPORTC,2

NOP

MOVLWH′20′

MOVWFTX[CD#*2]NUM

MOVLWH′A0′

MOVWFS[CD#*2]DATA

CALL SEND 

PAY[CD#*2]RE[KG*2/3]MOVLWH′55′

MOVWFS[CD#*2]DATA

CALL SEND

DECFSZ TX[CD#*2]NUM,1

GOTO PAY[CD#*2]RE

NOP

BSFPORTC,2

RETLW0

3 结 语

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

参 考 文 献

[1]何信龙,李雪银.PIC16F87X快速上手[M].北京:清华大学出版社,2002.

[2]李学海.PIC单片机实战[M].北京:北京航空航天大学出版社,2004.

[3]Nordic Semiconductor ASA.nRF24L01 product specification[R].2006.

作者简介 荚 庆 男,1981年出生,安徽巢湖人,硕士生。主要从事无线传输方向的研究。

注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。

推荐访问:数据传输 系统 nRF24L01

热门排行

学习贯彻《信访工作条例》经验征文11篇

学习贯彻《信访工作条例》经验征文11篇学习贯彻《信访工作条例》经验征文篇1信访工作是党的群众工作的重要组成部分,是送上门来的群众工作。5月1日起施行的《信访

基层财政所工作面临困惑和建议 乡镇财政体制改革存在问题

下面是小编为大家精心整理的基层财政所工作面临困惑和建议乡镇财政体制改革存在问题文章,供大家阅读参考。基层财政

巡察谈话情况报告例文 巡察县政府办党组情况报告

下面是小编为大家精心整理的巡察谈话情况报告例文巡察县政府办党组情况报告文章,供大家阅读参考。巡察谈话情况报告

从《开国大典》谈中国油画民族化

“油画民族化”是1956年9月全国油画座谈会上提出来的,在当时的社会中,它不只是一个口号和一个新名词

世界优秀心理电影在青少年心理健康教育中的发掘和应用

摘要:世界优秀心理电影因其有针对性的题材、富于启发性的内容、强大的艺术魅力,对解决青少年心理问题、促

党员队伍建设存在问题与对策 党员队伍教育管理存在的问题

下面是小编为大家精心整理的党员队伍建设存在问题与对策党员队伍教育管理存在的问题文章,供大家阅读参考。xx村党员

传承红色基因征文600字 弘扬红色文化传承红色基因作文2000字

下面是小编为大家精心整理的传承红色基因征文600字弘扬红色文化传承红色基因作文2000字文章,供大家阅读参考。亲爱的朋友,

向巡视组工作情况汇报 被巡察单位党组织工作汇报材料

下面是小编为大家精心整理的向巡视组工作情况汇报被巡察单位党组织工作汇报材料文章,供大家阅读参考。向巡视组工作情况

职工代表大会制度.docx 职代会制度和职工大会制度

下面是小编为大家精心整理的职工代表大会制度 docx职代会制度和职工大会制度文章,供大家阅读参考。一、职工代

(完整版)学校意识形态工作实施方案 2022年学校意识形态工作要点

下面是小编为大家精心整理的(完整版)学校意识形态工作实施方案2022年学校意识形态工作要点文章,供大家阅读参考。学