当前位置:无忧公文网 >范文大全 > 征文 > 基于STC89C52的无线电子防丢器的设计

基于STC89C52的无线电子防丢器的设计

时间:2022-05-03 19:15:03 浏览次数:

zoޛ)j馔BinRiI0.vuI0.vv5K2
ky工作模式。

1 防丢器的整体构架

本文设计的防丢器由发射机和接收机两部分组成,如图1所示。左边是发射机,右边是接收机。发射机和接收机都由电源、微控制器和射频通信模块组成,发射机和接收机之间通过无线射频模块进行通信。在设计开发的过程中可以采用+5V电压源供电,但是在实际应用中无线防丢器要求体积小和携带方便,需要采用纽扣电池供电。相对比于发射机,接收机上多了蜂鸣器报警模块和LED灯指示模块。

本该防丢器采用无线电波的发射抑制原理,正常工作时发射机发出稳定的无线电波,当接收机和发射机在预定的距离内时,接收机和发射机正常的收发信号;当发射机和接收机之间的距离超过预定的距离时,接收机接收不到发射机的无线电信号,立即发出报警声,提醒使用者注意[2]。

2 硬件设计

根据防丢器的工作原理,本文选用STC89C52单片机作为主控制器,nRF24L01芯片作为无线射频信号收发器,发射机和接收机都采用相同的配置。硬件电路设计主要包括DC/DC电源供电电路设计、nRF24L01芯片与单片机的接口设计以及nRF24L01芯片的外围电路设计[3]。由于nRF24L01芯片的VCC脚接电压范围为1.9V~3.6V之间,而单片机的STC89C52的供电电压为5V,为了使射频芯片nRF24L01能正常工作,需要进行电平转换和分压处理,设计采用SM1117芯片来实现电压的转换,如图2所示。

2.1 主控制器简介

STC89C52是深圳宏晶公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节的在系统可编程Flash存储器,512字节数据存储器,32个通用I/O口,3个16位定时器/计数器,5向量两级中断结构,一个全双工串行通信口[4]。结合STC89C52的特点,完全可以满足本文中防丢器的功能要求。

2.2 nRF24L01射频芯片

nRF24L01是一款工作在2.4Ghz~2.5Ghz世界通用ISM频段的单片无线收发器芯片,内部包括频率发生器、增强型ShockBurst模式控制器、功率放大器、晶体振荡器、调制器、解调器。输出功率、通信频道和协议的设置可以通过SPI接口进行设置。nRF24L01功耗低,当工作在发射模式下以-6dBm的功率发射时,工作电流只有9.0mA;接收模式时工作电流为12.3mA,掉电模式和待机模式下电流消耗更低,在正常工作下有效距离大约是0~50米[5]。

nRF24L01芯片与主控芯片STC89C52采用SPI接口方式进行通信。主控制芯片STC89C52可以使用GPIO模拟SPI接口工作时序或者SPI控制器两种方式来控制射频芯片。由于STC89C52没有SPI控制器,因此本文中选用GPIO模拟SPI接口的方式来控制nRF24L01射频芯片,如图3所示,从单片机控制的角度看,我们只需要关注nRF24L01的六个控制和数据信号引脚,分别为CSN、SCK、MISO、MOSI、IRQ和CE。

3 软件设计

本设计中对防丢器的软件开发采用基于C语言的Keil工具,单片机对nRF24L01芯片的控制包括在配置模式下对nRF24L01的初始化配置、发送数据和接收存储数据。数据包格式包含前缀、地址、有效数据和CRC。接收数据时,自动把字头和CRC校验码移去,在发送数据时,自动加上字头和CRC校验码,在发送模式下,置CE为高,至少10us后,即时发送过程完成[6]。

该电路的软件设计工作流程为:首先使接收电路上电,使接收机处于接收状态,等待数据的到来;然后运行发射机上的程序,将单片机寄存器内预先存放的数据发射出去。若发射机与接收机的距离在“安全范围”内,接收模块会在1ms内能够接收到信号,不会报警,若超出“安全范围”,接收机就会使蜂鸣器鸣叫报警。

3.1 发射流程

根据设计的要求,把接收机的地址和要发送的数据按时序送入发射机的nRF24L01模块,配置CONFIG寄存器为发送模式,并选定其发射功率,微控制器把CE置高至少10us,激发nRF24L01进行Enhanced ShockBurstTM发射,若发送成功,则产生TX_DS中断;若重发超限,则产生MAX_RT中断[7]。第一次发射成功后,每隔100ms,nRF24L01再次发送原始数据。发射机工作流程如图4所示。

3.2 接收流程

首先配置接收机地址和要接收的数据包大小,配置CONFIG寄存器,使其进入接收模式,拉高CE位,130us后,nRF24L01进入监视状态,等待数据包的到来;使用nRF24L01模块的自动应答功能,接收机工作时自动检测发射机发射的信号,当接收到的数据包内包含正确的地址和CRC校验码后,nRF24L01自动把字头、地址和CRC校验位移去[8]。

nRF24L01通过把状态寄存器STATUS的RX_DR标志位置位通知微控制器产生接收中断,微控制器读出接收缓冲器中存放的数据并校验数据位,所有数据读取完毕后,清除STATUS寄存器中的标志位。当发射机和接收机超出设定距离范围时,接收机收不到接收的信号,蜂鸣器发出报警声并且LED灯闪烁,通知主人物品已经丢失或者儿童走丢。通过判断无线通信模块NRF24L01是否能进行正常发射、接收信号,从而判断所要保护的物品是否在安全范围内。接收机工作流程如图5所示。

4 结语

本文设计了一种以8位单片机STC89C52为处理器,低功耗射频收发芯片nRF24L01为核心的无线电子防丢器。该设计集成射频前端nRF24L01,增强了稳定性和可靠性,降低了成本。并且随着物联网技术的发展,升级换代后的防丢器可以在本设计基础上结合目前通信领域及智能监控领域中GPS技术和GIS技术,构建一个包括定位系统,定位平台及手机短信在内的无线定位系统,做到真正的全天候、全方位、全过程防丢。本文所设计的无线防丢器功耗低、实用性强,具有很好的市场推广潜力。

[参考文献]

[1]郭亮,余祖龙,赵光山.一种新型防丢器的设计[J].科技资讯,2011(34):1-2.

[2]刘密歌,王路.多功能电子防丢器的设计与实现[J].西安文理学院学报,2010,13(1):41-43.

[3]陈丽娟,常丹华.基于nRF24L01芯片的无线数据通信[J].电子器件,2006,29(1):248-250.

[4]陈晖,张军国.基于STC89C52和nRF24L01的智能小车设计[J].现代电子技术,2012,35(17):12-15.

[5]杨润贤,董庆源.基于nRF24L01和AT89S51的多点无线测温系统设计[J].仪表技术,2013,(11):47-50.

[6]唐磋,章国安.基于nRF24L01的主动式电子标签的设计[J].微计算机信息,2010,26(22):164-166.

[7]朱贵宪.基于单片机的无线收发器设计[J].电脑知识与技术,2012,8(35):8536-8539.

[8]冯爽,蒋念平.基于STM32的无线数据传输综合应用[J].计算机系统应用,2012,21(9):228-230.

推荐访问: 设计 电子 STC89C52 防丢器