智能无线防丢器设计毕业论文.docx
- 文档编号:28113536
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:34
- 大小:1.14MB
智能无线防丢器设计毕业论文.docx
《智能无线防丢器设计毕业论文.docx》由会员分享,可在线阅读,更多相关《智能无线防丢器设计毕业论文.docx(34页珍藏版)》请在冰豆网上搜索。
智能无线防丢器设计毕业论文
智能无线防丢器设计毕业论文
1前言1
1.1课题的背景与意义1
1.2国外研究状况及相关领域中已有的研究成果1
1.3设计任务的分析1
1.4预期结果2
2总体方案设计的论证3
2.1系统方案设计3
2.2模块方案设计.................4
2.2.1主控芯片方案4
2.2.2无线通信模块方案4
3硬件电路设计6
3.1STC89C51单片机主控模块设计6
3.2单片机最小系统8
3.2.1时钟电路8
3.2.2复位电路9
3.2.3STC89C51中断技术概述9
3.3nRF24L01无线模块设计10
3.3.1nRF24L01概述10
3.3.2引脚功能及描述11
3.3.3nRF24L01射频芯片特性12
3.3.4nRF24L01发送程序设计16
3.4声光报警模块设计17
3.4.1灯光提示电路17
3.4.2声音报警电路17
3.5震动报警模块设计18
3.6按键模块设计19
4软件系统的设计19
4.1软件介绍20
4.2nRF24L01发送流程图设计21
4.3nRF24L01接收流程图设计22
4.4母机流程图设计23
4.5子机流程图设计24
5系统的调试及实验结果25
5.1调试流程25
5.2实验结果25
6结论26
7致谢28
8参考文献28
附录一:
主机原理图33
附录二:
从机原理图34
附录三:
元件清单35
附录四:
NRF24L01发送模块程序36
附录五:
NRF24L01接收模块程序40
1前言
1.1课题的背景与意义
随着科学技术的进步、社会状况的良好发展,现代人们的生活节奏不断加快,而由于个人发展、家庭琐事、社会竞争等诸多因素,人们常常使自己的大脑处于忙碌和紧的状态、长此以往容易导致自己记忆力下降,出现忘东忘西的状况,常常不记得自己的手机、钱包、钥匙放在何处。
另外,随着生活水平的不断提高,逛街、购物、出外旅行越来越受到人们的青睐,这些都是比较繁华热闹的地方,自己的钱包、手机不知什么时候就被小偷偷走了,更要命的是那些带着自己孩子外出的人们,稍微不注意自己的孩子就跑丢了。
为了预防以上这些不好事情的发生,智能电子防丢器就出现在我们的生活中并且很方便,很实用。
智能电子防丢器有体积小,携带方便,环保,性能好等特点,对防止钱包、手机、钥匙、小孩等贵重物品的丢失有很好的用途,是现代生活所必不可少的物品[]。
本课题设计的防丢器通过单片机系统分别控制发送模块和接收模块,在保留声音报警功能的同时添加振动报警功能,这样在噪杂的人群中能更好的发挥防丢器的优势,更有效地解决物品丢失的问题。
1.2国外研究状况及相关领域中已有的研究成果
随着社会的发展,时代的进步,防丢器将在人们日常生活中发挥着越来越大的作用。
因此,好多专家与学者对防丢器进行了研究、分析及其设计。
在2000年,朝辉设计了一款以UM3758—108A编解码芯片为核心的防丢器[],当母机和子机超过规定围时就会出现声光报警。
2010年密歌、王路设计了一款防丢器,它以PT2262/PT2272编解码集成芯片为核心[]。
该防丢器不仅有防丢功能,而且还具有查找功能。
2014年郭明明、韩阳等人研究并设计了基于蓝牙技术的双向防丢器,该防丢器克服了原有防丢器单项声光报警的问题,开发了一种新型的防丢器[]。
而本设计则是采用2.4GHz无线技术的NRF24L01无线通信模块进行短距离传输,2.4GHz技术属于国际性的频段,抗干扰性强[]。
同时本设计在原有防丢器基础上加以震动报警功能,克服了原有防丢器的缺陷和不足,具有结构简单,功耗低,实用性强、方便使用等优点。
这种震动报警功能在噪杂的人群中效果显得尤为突出,更好的解决了物品丢失以及儿童丢失的问题。
1.3设计任务的分析
本设计分为硬件电路部分和软件编程部分。
硬件电路的主要部分是STC89C51单片机和采用2.4G技术进行短距离通信的NRF24L01无线发送和接收模块[]。
该防丢器运用NRF24L01无线发送和接收模块在规定距离母机和子机进行正常信号传输,超出距离母机和子机不能进行正常信号传输的思想,通过STC89C51单片机对母机或者子机接收的信息进行处理,并随时更新母机、子机的信息,进而对声光报警器和震动报警器进行控制[],以完成信号不能正常传输就报警的任务。
另外,本设计拥有结构简单,价格低廉,安全性高,传输速率快等特点。
本设计的软件编程部分是以KeilC51软件为开发平台,使用C语言进行程序编写的。
本此设计选用的是STC89C51单片机。
单片机具有以下特性:
·结构不复杂,安全性能高。
·处理功能强,速度快。
·低电压低耗,体积小。
·价格低廉,使用方便。
·程序的循环利用率较高。
1.4预期结果
母机和子机通过无线模块在10m的围上能相互通信,当信号不能正常传输时,进行声光报警和震动报警。
本设计的模块主要包括STC89C51单片机控制模块、NRF24L01无线发送和接收模块、声光报警和震动报警模块、灯光提示电路模块以及按键查找模块[]。
2总体方案设计的论证
2.1系统方案设计
子机:
子机主要包括STC89C51单片机控制模块、NRF24L01无线发送和接收模块、声光报警模块、灯光提示电路、晶振电路模块以及复位电路模块。
如下图2-1所示:
图2-1子机模块
母机:
母机主要包括STC89C51单片机控制模块、NRF24L01无线发送和接收模块、声光报警和震动报警模块,复位电路模块以及晶振电路模块。
如下图2-2所示:
图2-2母机模块
图2-2母机模块
2.2模块方案设计
2.2.1主控芯片方案
方案一:
采用STC89C51单片机实现。
STC89C51单片机具有安全性能高、运行速度快、处理功能强、结构简单、功耗低、体积小、价格低廉、易于调试和维护等优点[,][]。
同时,STC89C51单片机易于开发,应用领域广,技术掌握较全面,技术运用能力较娴熟。
方案二:
采用MSP430F149单片机。
MSP430F149单片机具有集成度高、功能强大、可靠性高、运行速度快、功耗低等优点[,][],但是考虑到本设计结构简单,不需要强大的功能做支撑,另外,MSP430F149单片机也有很多缺点,比如成本较高,开发周期较长等等。
综合考虑我们选择STC89C51单片机作为本系统的微控制单元(英文缩写为“MCU”)。
2.2.2无线通信模块方案
方案一:
采用集成芯片M7216。
集成芯片M7216属于遥控编码的一种,具有码数量大,编码重复率低,工作电压低等优点,但是集成芯片M7216系统结构复杂,功能难以实现。
方案二:
运用编解码芯片PT2262/2272。
编解码芯片PT2262/2272具有功耗低、价格低廉、应用领域广、地址码较多等优点[,][],传输方式及结构如下图2-3所示:
图2-3PT2262/2272芯片传输结构图
据调查及其上图表明,编解码芯片PT2262/2272的缺点主要包括稳定性差、发射频率较低、系统较复杂、实现功能较少(只能完成单向报警功能)等方面。
方案三:
采用2.4G技术进行短距离传输的NRF24L01无线发送和接收模块。
NRF24L01无线发送和接收模块具有价格低廉、体积小、功耗低、稳定性好、运行速度快、抗干扰性强等优点[,,][]。
同时该模块结构简单,功能强大,能够实现双向报警。
综上所述,我们采用NRF24L01无线发送和接收模块作为本设计的通信模块。
3硬件电路设计
3.1STC89C51单片机主控模块设计
STC89C51单片机是一个低压高性能8位单片机,片含8kFlash闪存,512bytes的RAM,2K字节EEPROM存储空间并且具有处理能力强,性能稳定,功耗低,价格低廉的优点[]。
它完全兼容普通51单片机的指令和功能,并且可以独自完成ISP在线编程功能。
主要功能特性:
1)8k可反复擦写FlashROM;
2)32个双向I/O口;
3)512x8bit部RAM;
4)可直接使用串口下载;
5)带2K字节EEPROM存储空间;
6)三级加密程序存储器;
7)低功耗空闲和掉电模式;
8)掉电后中断可唤醒;
9)8个中断向量源;
10)时钟频率介于0Mhz和24Mhz之间;
11)通用异步串行口(UART);
12)具有两个16位的定时/计时器。
引脚图见图3-1:
图3-1单片机管脚图
STC89C51单片机引脚介绍如下:
①主电源引脚(2根)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
②外接晶振引脚(2根)
XTAL1(Pin19):
单片机中振荡电路外部信号的引入接口。
XTAL2(Pin18):
单片机中振荡电路的输出接口。
③控制引脚(4根)
RST/VPP(Pin9):
具有复位功能的引脚。
若该引脚在规定周期出现两个连续的高电平脉冲时,则对单片机进行初始化操作,恢复单片机原有的状态。
ALE/PROG(Pin30):
地址锁存允许信号。
一般情况下,STC89C51单片机对外部信息访问时,ALE能够锁存低8位字节的地址,另外,ALE端的脉冲输出频率是振荡器输出频率的六分之一,具有定时、降低成本的作用。
PSEN(Pin29):
外部存储器信息读取信号。
当单片机读取部存储器信息时,PESN保持原有的状态,当单片机读取外部储存器信息时,PESN在每个周期变化两次。
EA/VPP(Pin31):
对访问部、外部信号进行控制。
当这个引脚接低电平时,单片机将读取外部信息指令,当这个引脚接高点平时,单片机首先读取部储存信息指令,一旦访问的地址围大于部储存器的围时,单片机将自动读取外部储存信息指令。
另外,当外部编译器对部程序进行编译时,可输入编程电压VPP。
④双向I/O端口(4组)
STC89C51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,对于每一组I/O端口而言都包含8个引脚,4组I/O端口一共有32个引脚[]。
P0口(Pin39~Pin32):
P0端口是一个没有部上拉电阻的8位双向输入、输出端口。
此时该端口输出低电平为0,输出高电平则为高阻态,因此在众多情况下加上拉电阻是非常有必要的。
比如该端口作为普通的输入、输出端口或者该端口对NPN型管进行驱动时。
另外,该端口还可以用作复用总线,提供8位数据和低8位地址。
该端口的引脚依次命名为P0.0、P0.1,、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7。
P1口(Pin1~Pin8):
P1端口是一个部含有上拉电阻的8位双向输入、输出端口。
该端口可同时对四个负载进行驱动,当输入1时为高点平,当该端口作为输入口时,被拉低的引脚可输出一个电流。
该端口的引脚依次命名为P1.0、P1.1,、P1.2、P1.3、P1.4、P1.5、P1.6、P1.7。
P2口(Pin21~Pin28):
P2端口也是一个部含有上拉电阻的8位双向输入、输出端口。
该端口也可同时对四个负载进行驱动,当输入1时为高点平,可作为输入口。
该端口的引脚依次命名为P2.0、P2.1,、P2.2、P2.3、P2.4、P2.5、P2.6、P2.7。
P3口(Pin10~Pin17):
P3端口同样也是一个部含有上拉电阻的8位双向输入、输出端口。
该端口同样可对四个负载进行驱动,当输入1时为高点平,当该端口作为输入口时,被拉低的引脚可输出一个电流。
该端口的引脚依次命名为P3.0、P3.1,、P3.2、P3.3、P3.4、P3.5、P3.6、P3.7。
3.2单片机最小系统
单片机最小系统指的就是运用较少的元器件,组成一个能够正常运行的系统,一般情况下,我们把最小系统看作是应用系统的核心[]。
该系统包括STC89C51单片机,时钟电路,复位电路。
该系统原理框图如下图3-2所示:
图3-2单片机最小系统原理框图
3.2.1时钟电路
晶振是STC89C51单片机系统中不可或缺的元件,就晶振供给的时钟频率角度而言,时钟频率越低,单片机系统的运行速度就越慢,时钟频率越高,单片机系统的运行速度就越快。
晶振的存在主要是为单片机系统提供时钟信号的[]。
而对于STC89C51单片机的时钟信号而言,它包括部时钟和外部时钟两种模式,如下图3-3所示是STC89C51单片机部时钟结构框图。
在单片机系统本身存在的振荡电路基础上,用晶振与单片机的18、19引脚相连接,然后再并联接入两个电容就构成了自激振荡器,此时便可产生单片机所需的时钟信号。
两个电容的主要功能是稳频和加快振荡速度。
电容数值的大小介于5pF和30pF之间,最常用的电容值是30pF,振荡频率的数值介于1.2Mhz和12Mhz之间,最常用的是6Mhz和12Mhz。
图3-3STC89C52部时钟电路
3.2.2复位电路
在电路电源接通的前提下,如果STC89C51单片机的RESET引脚能够满足以下两个条件:
1、从电源正极植入高电平;
2、高电平脉冲持续两个周期的时间。
那么单片机就会执行复位操作。
另外,如果该引脚一直处于高电平植入状态,那么单片机部将不断执行复位操作。
对于复位电路而言,它分为自动复位电路和手动复位电路两种模式,而本设计采用的是自动复位电路,自动复位操作主要是通过电容的充放电功能来完成的,当电压的上升时间小于1ms时,单片机就可以完成自动复位[]。
本设计的自动复位框图如下3-4所示:
图3-4STC89C51复位电路
3.2.3STC89C51中断技术概述
中断技术是由单片机部的中断系统来实现的,它的主要作用是对主程序进行管理和监控,并且当中断系统发出中断指令时,单片机应及时作出响应并执行中断操作[,][]。
中断技术的具体操作步骤如下:
首先由中断系统发出中断指令,然后对这一指令进行判断,若中断指令被允许,那么单片机就停止执行现有的程序,接着执行并处理中断系统发出的中断指令,待到中断指令执行完成后,单片机再转到程序中断的地方,继续执行主程序。
如下图3-5所示是程序中断的处理过程。
图3-5中断过程
对于单片机系统而言,中断技术在其运行过程中发挥着重要的作用。
假如单片机部无中断系统,那么单片机在运行过程中就要对单片机系统中的服务请求进行查询,这样不仅浪费大量的时间,而且单片机的工作效率也大大降低了。
故在单片机中采用中断技术是非常必要的。
3.3nRF24L01无线模块设计
3.3.1nRF24L01概述
本设计采用NRF24L01无线通信模块实现母机、子机之间的通信,它是由nRF24L01芯片制作而成的,nRF24L01无线收发器芯片的工作频率在ISM频段规定的围,一般介于2.4GHz和2.5GHz之间,可对近距离无线信号进行单向发送和单向接收。
同时,该芯片具有体积小,功率损耗低,实用性强,性能稳定,电路结构简单等优点,另外,该芯片还采用了高斯频移键控GFSK的调制方式,并在芯片部创建了链路层,为此该芯片能够实现很多功能,比如自动应答、自动重发、地址码检测、循环冗余校验码检测等[]。
该芯片的数据传输速率为1Mbit/s或者2Mbit/s,一般采用串行外围接口SPI与微控制单元相连接的方式设置芯片参数,以便更好进行数据传输,对于串行外围接口而言,它的传输速率一般介于0Mbit/s到8Mbit/s之间,工作电压介于1.9V到3.6V之间,并且它还拥有125个射频传输信道供我们选择[]。
另外,针对无线通信模块而言,它主要是由频率发生器增强型SchockBurstTM模式控制器功率放大器、时钟处理器、晶体振荡器调制器、频率合成器、解调器输出功率信道的选取以及协议的配置组成。
此模块进行信号收发时,消耗的电流较低,调查数据如下:
当无线收发模块进行信号发送时,消耗的电流量是9.0mA,在对信号进行接收时消耗的电流量是12.3mA,特别是在空闲模式或者关机模式下该模块消耗的电流量更少。
随着时代的进步,科学技术的发展,nRF24L01芯片在无线通信领域发挥的作用越来越大,应用领域也越来越广泛。
nRF24L01芯片不仅被运用到键盘、鼠标等小型设备中,而且还用到日常生活中的防盗系统、遥控系统、勘测系统等大型设备中。
另外,由于人们对无线传输的要求愈来愈高,nRF24L01芯片技术也不断得到更新和完善,当前国外无线研究技术组织对nRF24L01芯片技术进行创新,并在某些领域取得了较好的成果。
故本设计采用具有2.4G技术的nRF24L01无线发送和接收模块进行短距离通信,这样更能保证传输的安全性和可靠性。
3.3.2引脚功能及描述
nRF24L01的电路图引脚如图3-6所示。
图3-6NRF24L01引脚图
各引脚功能如下:
CE:
传送数据RX或接收数据TX模式选择;
CSN,SCK,MOSI,MISO:
串行外围接口,用于与nRF24L01芯片相连接;
IRQ:
中断引脚;
VDD:
电源输入端;
VSS:
电源接地端;
XC2,XC1:
晶体振荡器模拟输出、输入引脚;
VDD_PA:
为射频的功率放大器提供+1.8V电源;
ANT1,ANT2:
天线接口;
IREF:
参考电流输入引脚。
通过以上对nRF24L01引脚功能的研究与分析,再加以对设计模型的考虑,制作出了本设计的pcb图及其实物图,如下图3-7所示:
图3-7NRF24L01模型图和实物图
3.3.3nRF24L01射频芯片特性
1、射频通道
nRF24L01的工作频率可选择的围是2.400GHz到2.483GHz,每个频道的带宽是1MHz(1Mbps速率)或2MHz(2Mbps速率),nRF24L01无线射频通道的工作频率是由六位寄存器RF_CH确定的,并且射频通道的工作频率将对射频通道运用的中心频率起到决定性作用。
我们可由下列公式计算出射频通道工作频率即:
F0=(2400+RF_CH)MHz。
对于射频通道而言,如果发送端和接收端的射频通道设定不相同即它们不在一个信道传输,那么两者就不能实现通信。
为此我们在收发信号时,应当把两者的射频通道设定为同一条,才能实现通信。
但是对于具体的情况还需具体分析,比如当射频通道的带宽是2MHz时,我们必须设定RF_CH寄存器的容不大于2,否则将影响发送端和接收端之间的通信。
2、工作模式
通过对寄存器PWR_UP,PRIM_RX和使能端CE引脚的设定,我们可以把nRF24L01设定为四种模式,包括发送模式,接收模式,空闲模式和关机模式,如下表3-1所示:
表3-1nRF24L01工作模式表
模式
PWR_UP
PRIM_RX
CE
FIFO寄存器状态
接收模式
1
1
1
—
→
空闲模式Ⅱ
1
0
1
TXFIFO为空
空闲模式Ⅰ
1
—
0
无数据传输
关机模式
0
—
—
—
3、数据包处理方式
对nRF24L01无线发送和接收模块而言,它采用两种方式对数据包进行处理,一种是ShockBurstTM模式,另一种是增强型ShockBurstTM模式,这两种数据包的处理方式都是将微控制单元MCU与nRF24L01无线发送和接收模块通过串行外围接口SPI相互连接起来[]。
(1)ShockBurstTM模式
当运用ShockBurstTM模式对信号进行接收时,如果接收端收到准确的地址和数据,那么这时接收端通过中断请求IRQ告知微控制单元MCU信息已准确收到,接着微控制单元通过RXFIFO寄存器读取接收到的地址和数据。
运用这一模式进行数据和地址发送时,可以自动生成循环冗余校验码,当数据完全发送完毕后,接收端的中断请求IRQ告知微控制单元MCU信息已发出,这样就能大大减少了微控制单元MCU对信息确定性的查询时间,从而提高了工作效率。
另外,在nRF24L01无线通信模块的部含有两类寄存器,一类是RXFIFO寄存器,另一类是TXFIFO寄存器,无论是在收发模式,关机模式还是在空闲模式下,微控制单元MCU都可以对FIFO寄存器进行访问。
(2)增强型ShockBurstTM模式
对于增强型ShockBurstTM模式而言,它在保持微控制单元MCU工作量的基础上,又同时拥有自动应答功能和自动重发功能。
它的主要流程为:
首先由发送端发出信号,当接收端接收所发出的地址和数据,则通过自动应答功能对发送端进行回复,然后发送端对反馈信息进行检测。
若信息检测无误,那么发送端继续发送下一条信息,如果信息检测有误,那么就执行自动重发功能,直到信息传输无误为止。
另外对于增强型ShockBurstTM模式下的应答和重发功能都是自动运行的,无需人工操作。
由此可以看出采用增强型ShockBurstTM模式对数据包进行处理具有功率损耗低、成本低、抗干扰性强等优点。
经过综合考虑,因此本设计我们采用增强型ShockBurstTM模式对数据包进行处理。
4、自动应答功能
自动应答功能主要是为信息接收端服务的。
自动应答功能指的是当接收端接收到信号时,那么接收端便自动对发送端进行信息反馈,以便很好的对信息的准确性进行检测。
当信息确认无误后,系统便进入正常工作状态。
这个功能在很大程度上降低了微控制单元MCU的工作量,减少了电流损耗,大大提高了工作效率[]。
5、自动重发功能
自动重发功能主要是为信息发送端服务的。
当发送端检测到接收端反馈信息无误时,那么随后系统将进入正常工作模式,若发送端没有要发送的数据时,这时发送端则进入空闲模式下。
一旦检测到反馈信息出现错误时,这时系统自动返回到发送模式对错误数据进行重新发送,直到数据准确无误为止[]。
6、数据包格式,数据包识别PID及其循环冗余CRC校验
增强型ShockBrustTM模式下的数据包格式如下表3-2所示:
前导码
地址(3~5字节)
9位(标志位)
数据(1~32字节)
CRC校验(0/1/2)
ShockBurstTM模式下的数据包格式如表3-3:
前导码
地址(3~5字节)
数据(1~32字节)
CRC校验(0/1/2)
前导码的作用主要是对脉冲编码0或1进行检测,在进行数据传输时加上前导码,而在数据接收端则把前导码除去。
地址主要是指的接收地址,地址宽度介于3个字节到5个字节之间,当数据进行传输时,数据包在信道中可自行配置地址,而在接收端再把配置地址自动去除。
标志位一共有9位,其中两位代表数据包识别位,其他7位保留以满足将来产品所需。
数据包识别PID的主要作用就是为了对新数据包和旧数据包进行区分,当接收到新数据包时,PID值加1;反之,PID值保持不变。
数据位介于1字节到32字节之间,在通信过程中,必须保证发送端和接收端数据位数相同,否则接收端接收错误。
对于接收到的数据宽度一般通过RX_PW_Px寄存器进行设定,x的取值介于0到5之间。
循环冗余校验码CRC的作用主要是对信息的准确性进行检测,,以便保证信息的完整性和可靠性。
检测的部分主要包括地址、PID和有效数据等,如果循环冗余码出现错误时,那么接收端则不对数据包进行接收。
下图3-8是数据包识别PID的生成和检测框图:
图3-8数据包识别PID的生成和检测框图
由上图可得出以下结论:
(1)发送端:
每当发送一个新的数据包,PID值就会加1。
(2)接收端:
对于接收端而言,让新接收的数据包PID值与上次接收数据包的PID值进行比较,假如两次PID值不相同,则认为此数据包为新数据包,系统对其进行接收。
假如两次PID值不同,然后再对两次循环冗余码CRC进行比较,如果两者相同,则认为是旧数据包直接丢弃
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 无线 防丢器 设计 毕业论文
![提示](https://static.bdocx.com/images/bang_tan.gif)