NRF24l01无线温度传感毕业论文(终稿).doc
- 文档编号:4842369
- 上传时间:2023-05-07
- 格式:DOC
- 页数:75
- 大小:1.98MB
NRF24l01无线温度传感毕业论文(终稿).doc
《NRF24l01无线温度传感毕业论文(终稿).doc》由会员分享,可在线阅读,更多相关《NRF24l01无线温度传感毕业论文(终稿).doc(75页珍藏版)》请在冰点文库上搜索。
南京工程学院
毕业设计说明书(论文)
作者:
杨姣姣学号:
208060211
系部:
通信工程学院
专业:
无线通信
题目:
基于SoC无线温度采集系统的设计(软件)
指导者:
邹曙光讲师
评阅者:
2010年6月南京
TheSystemDesignofShort-distanceWirelessTemperatureCollection
ADissertationSubmittedto
NanjingInstituteofTechnology
FortheAcademicDegreeofBachelorofScience
By
JiaojiaoYang
supervisedby
ShuguangZou
CollegeofCommunicationEngineering
NanjingInstituteofTechnology
June2010
摘要
随着工农业生产对温度的要求越来越高,准确测量温度变得至关重要。
本系统的设计主要是针对恶劣环境下的工业现场以及高科技大范围的农业现场,布线困难,浪费资源,占用空间,可操作性差等问题做出的一个解决方案。
本文对上述问题提出一种无线解决方案,即基于SoC无线温度采集系统的设计。
该系统采用低功耗、高性能单片机及单总线数字式测温器件DS18B20构成测温系统,并且通过无线收发,最后在PC机上完成配置、显示和报警的功能。
在这次的设计中采用的单片机STC89C52RC的内核和MCS-51系列单片机一样,引脚也相同。
但是STC89C52RC可以通过STC_ISP软件下载进行烧录。
无线数据通信收发芯片NRF24L01是一款工业级内置硬件链路层协议的低成本无线收发器,工作于2.4GHz全球开放ISM频段。
此外,温度传感器DS18B20以"一线总线"的数字方式传输,可大大提高系统的抗干扰性。
关键词:
SoC;STC89C52RC;NRF24L01;温度传感器DS18B20;无线
Abstract
Withtheindustrialandagriculturalproductionhavebecomeincreasinglydemandingonthetemperature,accuratetemperaturemeasurementbecomescritical.Thissystemisasolutiondesignedforwiringdifficulties,wastingresources,takingupthespaceandpoormaneuverabilityofharshenvironmentindustrialsite,widerangeandhi-techagriculturalfield.
Basedontheabovementionedproblemsisproposed,whichisbasedonwirelesssolutionsofSoCdesignofwirelesstemperaturegatheringsystem.ThissystemUSESlowpowerconsumption,highperformancemicroprocessorandsinglebusdigitaltemperaturemeasurementdeviceDS18B20constitutetemperaturemeasuringsystemthroughwirelesstransceiver,andfinallyinPCcompleteconfiguration,displayandalarmfunction.
UsedinthedesignofthemicrocontrollerSTC89C52RCandMCS-51MCUcorehasthesamepin.ButSTC_ISPthroughSTC89C52RCcanburntodownloadsoftware.WirelessdatacommunicationtransceiverchipisanindustrialgradeNRF24L01hardwarelinklayerprotocolbuiltlow-costwirelesstransceiveroperatinginthe2.4GHzbandglobalopenISM.Inaddition,thetemperaturesensorDS18B20to"busline"digitalmodetransmission,greatlyimprovesthepowersystem.
Keywords:
SoC,STC89C52RC,NRF24L01,TemperaturesensorDS18B20,Wireless
目录
第一章绪论 1
1.1概述 1
1.2系统设计任务分析 2
第二章总体方案设计与选择的论证 3
2.1单片机最小系统 3
2.1.1单片机的说明 3
2.1.2单片机的应用 3
2.1.3单片机的结构特点 4
2.1.4单片机引脚配置 4
2.2无线收发模块介绍 8
2.2.1nRF24L01概述 8
2.2.2引脚功能及描述 9
2.2.3工作模式 10
2.2.4工作原理 10
2.2.5配置字 12
2.2.6nRF24L01应用原理框图 13
2.3数码管温度显示和运行指示灯电路 14
2.3.1LED数码管的基本结构 14
2.3.2数码管动态显示的工作原理 15
2.3.3运行指示灯说明 16
2.4温度采集电路 16
2.4.1DS18B20概述 16
2.4.2DS18B20的管脚配置和内部结构 17
2.4.3单总线介绍 19
2.4.4DS18B20的工作原理 19
2.5声报警电路设计 24
2.6无线温度采集软件界面(MFC) 24
第三章 软件设计报告 29
3.1单片机软件设计 29
3.1.1发送部分软件设计 29
3.1.1.1温度传感DS18B20 29
3.1.1.2LED数码管显示 34
3.1.1.3无线模块NRF24L01(发送) 35
3.1.2接收部分软件设计 35
3.1.2.1无线模块NRF24L01(接收) 35
3.1.2.2LED数码管显示 35
3.1.2.3串口通信 36
3.1.3无线温度采集软件设计 38
3.1.3.1串口设置 38
3.1.3.2温度上下限设置 41
3.1.3.3曲线显示 42
3.2流程图设计 45
3.2.1发送部分流程图 45
3.2.2接收部分流程图 46
3.2.3MFC程序流程图 47
3.3操作说明(附图) 47
第四章 总结与展望 52
致谢 54
参考文献 55
附录 56
第一章绪论
1.1概述
随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式应用已经渗透到生活各个方面。
图1.1短距离无线通信的应用
在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,这样就会产生数据传输问题。
由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。
而且,当数据采集点处于运动状态、所处的环境不允许或无法铺设电缆时,数据甚至无法传输,此时便需要利用无线传输的方式进行数据采集。
在农业生产上,不论是温室大棚的温度监测,还是粮仓的管理,传统上都是采取分区取样的人工方法,工作量大,可靠性差。
而且大棚和粮仓占地面积大,检测目标分散,测点较多,传统的方法已经不能满足当前农业发展的需要。
当前的科技水平下,无线通信技术的发展使得温度采集测量精确,简便易行。
在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。
如今很多家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据,并根据室内温度情况进行遥控通风等操作,自动调节室内温度湿度,可以更好地改善人们的居住环境。
以上只是简单列举几个现实的例子,在现实生活中,这种无线温度采集系统已经被成功应用于工农业、环境监测、军事国防、机器人控制等许多重要领域,而且类似于这种温度采集系统的无线通信网络已经被广泛的应用到民用和军事领域。
凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。
为此,需要设计相应的接口系统,控制这些射频芯片工作,完成可靠稳定的无线数据通信,这样的研究也变得更加有意义了。
1.2系统设计任务分析
本系统的设计采用了Nordic公司新推出的工作于2.4GHz频段NRF24L01射频芯片,并有低功耗单片机STC89C52RC控制实现短距离无线数据通信。
该接口设计具有成本低、功耗低、传输速率高、软件设计简单以及通信稳定可靠等特点。
整个系统有发送和接收二部分,通过NRF24L01无线数据通信收发模块来实现无线数据传输。
发送部分以单片机STC89C52为核心,使用温度转换芯片DS18B20实时采集温度并通过数码管显示。
将采集的温度无线传送给接收部分,然后再在数码管上显示,并通过串口发送到PC机上显示,通过蜂鸣器实现对温度过高或过低进行报警。
本系统的核心控制芯片选用的是STC89C52RC。
单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关:
·单片机构成的应用系统有较大的可靠性。
·系统构建简洁、易行,能方便的实现系统功能。
·由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有柔性特点和优异的性能价格比。
第二章总体方案设计与选择的论证
2.1单片机最小系统
2.1.1单片机的说明
单片机的原名叫Microcontroller,即微型控制器。
顾名思义,单片机有别于通用微型计算机,它是专门为控制和智能仪器设计的一种集成度很高的微型计算机。
其控制功能强,有优异的性能/价格比,有很高的可靠性。
因而,单片机的应用范围在不断的扩大,它已经成了人类生活中不可缺少的工具。
下面介绍单片机在几个方面的典型应用。
2.1.2单片机的应用
(1)单片机在智能仪器中的应用
单片机广泛的用于各种仪器仪表中,使仪器仪表数字化、微型化和智能化,提高它们的测量速度、测量精度和自动化程度,简化仪器仪表的硬件结构,便于使用、维修和改进,提高其性能/价格比。
(2)单片机在机电一体化产品中的应用
机电一体化是机械工业发展的方向。
机电一体化产品是指,集机械技术、微电子技术、计算机技术和控制技术于一体,具有智能化特征的机电产品。
例如,微机控制的数控机床、机器人等。
单片机作为机电产品中的控制器,能充分的发挥它的体积小、可靠性高、功能强等优点,大大提高了机器的自动化、智能化程度。
(3)单片机在过程控制中的应用
过程控制是微型机应用最多、最有效的方面之一,单片机广泛的应用于过程控制。
它既可以作为主机控制,也可以作为分布式控制系统的前端机,对现场的信息进行实时的测量和控制。
单片机可用于开关量控制、顺序控制及逻辑控制等。
如锅炉控制、电机控制、机器人控制、交通信号灯控制、造纸纸浆浓度控制、纸张定量水分及厚薄控制、雷达与导弹控制以及航天导航系统鱼雷制导系统控制等。
(4)单片机在计算机网络及通信中的应用
由于高性能单片机中集成有SDLC通信接口,因而使其在计算机网络及通信设备中得到了广泛的应用。
例如:
Intel公司的8044,由8051单片机及SDLC通信接口组合而成,用高性能的串行接口单元SIU代替传统的UART,采用双绞线、半双工通信形式,特别适合远距离通信。
以8044位基础组成的位总线是一种高性能、低价格的分布式控制系统,传送距离可达1200m,传送速度为2.4Mbit/s,网络节点为28个。
此外,单片机在自动拨号无线电话网、串行自动呼叫应答设备、程控电话、无线电遥控等方面都有广泛的应用。
(5)单片机在家用电器方面的应用
单片机广泛的应用于家用电器产品中,例如:
洗衣机、电冰箱、微波炉、电饭煲、高级智能玩具、收录机等配上单片机后,大大提高了产品的性能,倍受人们的喜爱。
可以说,单片机在人们日常生活中应用所受到的限制主要不是技术问题,而是创造力和技巧上的问题。
2.1.3单片机的结构特点
控制电路设计是系统的控制和数据处理的核心,而作为控制核心的单片机种类很多,如PIC等等。
根据任务书的要求以及系统实际的需要,本次毕业设计采用STC89C52RC作为系统的微控制器芯片。
特点是,STC89C52RC的内核和AT51系列单片机一样,故引脚也相同。
但是STC89C52RC可以通过STC_ISP软件下载进行烧录。
2.1.4单片机引脚配置
图2.1引脚配置图
鉴于STC89C52RC与MCS-51单片机类似,现介绍MCS-51单片机如下文。
MCS-51单片机采用40引脚双列直插封装(DIP)形式。
对于CHMOS单片机除采用DIP形式外,还采用方形封装工艺。
由于受到引脚数目的限制,所以有部分引脚具有第二功能。
在单片机的40条引脚中,有2条用于主电源的引脚,2条外接晶体的引脚,控制或其他电源复用引脚RST/Vpd、ALE、和VPP,32条输入/输出引脚。
下面就本系统用到的引脚分别说明这些引脚的名称和功能。
(1)主电源引脚VCC和GND
VCC:
接+5V电源
GND:
接电源地
(2)钟电路引脚XTAL1和XTAL2
XTAL1:
接外部晶体的一端。
在单片机内部,它是反相放大器的输入端,该放大器构成了片内振荡器。
在采用外部时钟电路时,对于HMOS单片机,此引脚必须接地;对CHMOS单片机,此引脚作为驱动端。
XTAL2:
接外部晶体的另一端。
在单片机内部,接至上述振荡器的反相放大器的输出端,振荡器的频率是晶体振荡频率。
若采用外部时钟电路时,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬空。
(3)信号引脚RST/Vpd
RST/Vpd:
复位/备用电源输入端。
单片机上电后,只要在该引脚上输入24个振荡周期(2个机器周期)宽度以上的高电平就会使单片机复位;若在RST与VCC之间接一个10μF的电容,而在RST与GND之间接一个8.2KΩ的下拉电阻,则可实现单片机上电自动复位。
RST/Vpd具有复用功能,在主电源VCC掉电期间,该引脚可接上+5V备用电源。
当VCC下掉到低于规定的电平,而Vpd在其规定的电压范围内时,Vpd就向片内RAM提供备用电源,以保持片内RAM中的信息不丢失,复电后能继续正常运行。
(4)输入/输出(I/O)引脚P0、P1、P2和P3
MCS-51单片机有4个双向并行的8位I/O口P0~P3,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入时,口线被拉成高电平,故称为准双向口),其负载能力为4个TTL电路。
P0.0--P0.7:
P0口是一个8位双向I/O端口。
在访问片外存储器时,它分时提供低8位地址和作8位双向数据总线。
在EPROM编程时,从P0口输入指令字节;在验证程序时,则输出指令字节(验证时,要外接上拉电阻)。
P0口能以吸收电流的方式驱动8个LSTTL负载。
图2.2P0口1位结构图
P1.0--P1.7:
P1口是8位准双向I/O端口。
在EPROM编程和程序验证时,它输入低8位地址。
P1口能驱动4个LSTTL负载。
图2.3P1口1位结构图
P2.0--P2.7:
P2口是一个8位准双向I/O端口。
在CPU访问外部存储器时,它输出高8位地址。
在对EPROM编程和程序验证时,它输入高8位地址。
P2口可驱动4个LSTTL负载。
图2.4P2口1位结构图
P3.0--P3.7:
P3口是8位准双向I/O端口。
它是一个复用功能口。
作为第一功能使用时,为普通I/O口,其功能和操作方法与P1口相同。
作为第二功能使用时,各引脚的定义如表3-1所示。
P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。
P3口能驱动4个LSTTL负载。
图2.5P3口1位结构图
表2.1:
口线
第二功能
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD(串行口输入)
TXD(串行口输出)
INT0(外部中断0输入)
INT1(外部中断1输入)
T0(定时器0的外部输入)
T1(定时器1的外部输入)
WR(外部数据存储器“写”信号输出)
RD(外部数据存储器“读”信号输出)
2.2无线收发模块介绍
2.2.1nRF24L01概述
nRF24L01是一款新型单片射频收发器件,工作于2.4GHz~2.5GHzISM频段。
内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。
nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。
nRF24L01主要特性如下:
GFSK调制:
硬件集成OSI链路层;
具有自动应答和自动再发射功能;
片内自动生成报头和CRC校验码;
数据传输率为lMb/s或2Mb/s;
SPI速率为0Mb/s~10Mb/s;
125个频道:
与其他nRF24系列射频器件相兼容;
QFN20引脚4mm×4mm封装;
供电电压为1.9V~3.6V。
2.2.2引脚功能及描述
nRF24L01的封装及引脚排列如图所示。
各引脚功能如下:
图2.6nRF24L01封装图
CE:
使能发射或接收;
CSN,SCK,MOSI,MISO:
SPI引脚端,微处理器可通过此引脚配置nRF24L01:
IRQ:
中断标志位;
VDD:
电源输入端;
VSS:
电源地;
XC2,XC1:
晶体振荡器引脚;
VDD_PA:
为功率放大器供电,输出为1.8V;
ANT1,ANT2:
天线接口;
IREF:
参考电流输入。
2.2.3工作模式
通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表所示。
表2.2:
模式
PWR_UP
PRIM_RX
CE
FIFO寄存器状态
接收模式
1
1
1
-
发射模式
1
0
1
数据在TX FIFO 寄存器中
发射模式
1
0
1→0
停留在发送模式,直至数据发送完
待机模式2
1
0
1
TX FIFO 为空
待机模式1
1
-
0
无数据传输
掉电
0
-
-
-
待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;
待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式;
待机模式下,所有配置字仍然保留。
在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。
2.2.4工作原理
发射数据时,首先将nRF24L01配置为发射模式:
接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。
如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TX FIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TX FIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。
最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。
接收数据时,首先将nRF24L01配置为接收模式,接着延迟130μs进入接收状态等待数据的到来。
当接收方检测到有效的地址和CRC时,就将数据包存储在RX FIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。
若此时自动应答开启,接收方则同时进入发射状态回传应答信号。
最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。
在写寄存器之前一定要进入待机模式或掉电模式。
如下图,给出SPI操作及时序图:
图2.7SPI读操作
图2.8SPI写操作
2.2.5配置字
SPI口为同步串行通信接口,最大传输速率为10Mb/s,传输时先传送低位字节,再传送高位字节。
但针对单个字节而言,要先送高位再送低位。
与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。
相应的状态和数据信息是从MISO输出给MCU。
nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。
nRF24L01的配置寄存器共有25个,常用的配置寄存器如表2所示。
表2:
常用配置寄存器
地址(H)
寄存器名称
功能
00
CONFIG
设置24L01工作模式
01
EN_AA
设置接收通道及自动应答
02
EN_RXADDR
使能接收通道地址
03
SETUP_AW
设置地址宽度
04
SETUP_RETR
设置自动重发数据时间和次数
07
STATUS
状态寄存器,用来判定工作状态
0A~0F
RX_ADDR_P0~P5
设置接收通道地址
10
TX_ADDR
设置接收接点地址
11~16
RX_PW_P0~P5
设置接收通道的有效数据宽度
2.2.6nRF24L01应用原理框图
图2.9NRF24L01接线图
图2.10与单片机相连接线图
2.3数码管温度显示和运行指示灯电路
2.3.1LED数码管的基本结构
LED数码管也称半导体数码管,是目前数字电路中最常用的显示器件。
它是以发光二极管作笔段并按共阴极方式或共阳极方式连接后封装而成的。
图3-9所示是两种LED数码管的外形与内部结构,+、-分别表示公共阳极和公共阴极,a~g是7个笔段电极,DP为小数点。
L
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NRF24l01 无线 温度 传感 毕业论文 终稿