




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于nRF24L01模块的无线通信系 统 设计摘要温度是一个非常重要的参数。在工业、医疗、军事和生活等许多地方,都需要用到测温装置来检测温度。传统直接布线测量不满足要求,特别是在某些环境恶劣的工业环境和户外环境,通过直接布线测量不现实。因此采用无线传输温度检测尤为必要。目前有些设计能够实现无线温度采集,但价格过高是其最大的缺点。在实际温度控制过程中既要求系统具有稳定性、实时性又需要降低功耗。因此设计一种低功耗的无线温度检测系统很有意义。本文提出一种采用单片机AT89S52控制DS18B20实现的无线温度测量系统。通过简单的无线通信协议,实现可靠性与功耗平衡,该系统能实现对温度的检测,能够同时进行温度检测,是可以实现远程控制的无线温度检测系统。低功耗、实时性的无线温度检测是该设计的最大特点。无线传输采用nRF24L01模块传输。该系统结构简单,可靠,功耗较低,成本低,是一种无线传感器的解决方案。关键字:单片机 AT89S52 无线传输 nRF24l01 DS18B20AbstractTemperature is a very important parameters. In the industrial, medical and military and life and many other place, it needs to use the temperature measurement device to detect temperature. The traditional direct measurement wiring does not meet the requirements, especially in some environmental bad industrial environment and outdoor environment, through the direct wiring measurement is not practical. So using wireless transmission temperature testing is necessary. At present some design can realize the wireless temperature gathering, but the price is too high, its biggest weakness. In the actual temperature control process requires both system has stability, real-time and the need to reduce power consumption. So the design of a kind of low power consumption wireless temperature detection system is very meaningful. This paper presents a USES the monolithic integrated circuit AT89S52 control DS18B20 of the realization of the wireless temperature measuring system. Through the simple wireless communication protocol, realize the reliability and power balance, the system can realize to the temperature detection, can simultaneously determine the temperature, can be realized the wireless remote control temperature detection system. Low power consumption, real-time wireless temperature detection is the biggest characteristic of the design. Wireless transmission using nRF24L01 module transmission. The system structure is simple, reliable, low power consumption, low cost, it is a kind of wireless sensor solutions. Key word: MCU AT89S52 wireless transmission nRF24l01 DS18B20 目录摘要IAbstractII目录III前言11 系统方案分析与选择论证31.1 系统方案设计31.1.1 主控芯片方案31.1.2 无线通信模块方案31.1.3 温度传感方案41.1.4 显示模块方案41.1.5 单片机与PC机通信模块51.2 系统最终方案52 主要芯片介绍和系统模块硬件设计72.1 AT89S5272.1.1 单片机控制模块112.2 单片2.4GHz nRF24L01无线模块122.2.1 nRF24L01芯片概述122.2.2 引脚功能及描述122.2.3 工作模式132.2.4 工作原理142.2.5 配置字152.2.6 nRF24L01模块原理图172.3 温度传感器 DS18B20172.3.1 DS18B20管脚配置和内部结构182.3.2 DS18B20的工作原理202.3.3 DS18B20的硬件设计222.4 显示模块232.4.1 接收端显示模块232.4.2 发送端显示模块242.5 报警电路252.6 接收端与PC机通信252.7 电源电路设计262.8 其他外围电路273 系统软件设计283.1 单片机软件设计283.1.1 发送端软件设计283.1.2 接收端软件设计294 系统仿真304.1 电源电路的仿真304.1.1 +5V电源电路仿真304.2 发送端温度采集与显示仿真304.3 接收端LCD1602显示温度仿真315 硬件电路板设计335.1 系统硬件原理图335.1.1 发送端原理图335.1.2 接收端原理图345.2 系统PCB图365.2.1 发送端PCB图365.2.2 接收端PCB图375.3 硬件制作375.4 硬件调试395.5 硬件调试结果396 nRF24L01应用于无线组网416.1 无线组网的意义及研究价值416.2 通信模型及协议设计41总结43致谢45参考文献46前言随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式应用已经渗透到生活各个方面。图1.1短距离无线通信的应用在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,这样就会产生数据传输问题。由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。而且,当数据采集点处于运动状态、所处的环境不允许或无法铺设电缆时,数据甚至无法传输,此时便需要利用无线传输的方式进行数据采集。在农业生产上,不论是温室大棚的温度监测,还是粮仓的管理,传统上都是采取分区取样的人工方法,工作量大,可靠性差。而且大棚和粮仓占地面积大,检测目标分散,测点较多,传统的方法已经不能满足当前农业发展的需要。当前的科技水平下,无线通信技术的发展使得温度采集测量精确,简便易行。在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。如今很多家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据,并根据室内温度情况进行遥控通风等操作,自动调节室内温度湿度,可以更好地改善人们的居住环境。以上只是简单列举几个现实的例子,在现实生活中,这种无线温度采集系统已经被成功应用于工农业、环境监测、军事国防、机器人控制等许多重要领域,而且类似于这种温度采集系统的无线通信网络已经被广泛的应用到民用和军事领域。凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。为此,需要设计相应的接口系统,控制这些射频芯片工作,完成可靠稳定的无线数据通信,这样的研究也变得更加有意义了。本系统的设计采用了Nordic公司新推出的工作于2.4GHz频段NRF24L01射频芯片,由AT89S52单片机控制实现短距离无线数据通信。该接口设计具有成本低、传输速率高、软件设计简单以及通信稳定可靠等特点。整个系统有发送和接收二部分,通过NRF24L01无线数据通信收发模块来实现无线数据传输。发送部分以单片机AT89S52为核心,使用温度转换芯片DS18B20实时采集温度并通过nRF24l01将采集的温度无线传送给接收部分,然后在LCD1602上显示,并通过串口发送到PC机上显示,通过蜂鸣器实现对温度过高或过低进行报警。1 系统方案分析与选择论证1.1 系统方案设计1.1.1 主控芯片方案方案一:采用传统的AT89S52单片机作为主控芯片。此芯片价格便宜、操作简便,低功耗,比较经济实惠。方案二:采用TI公司生产的MSP430F149系列单片机作为主控芯片。此单片机是一款高性能的低功耗的16位单片机,具有非常强大的功能,且内置高速12位ADC。但其价格比较昂贵,而且是TPFQ贴片封装,不利于焊接,需要PCB制板,大大增加了成本和开发周期。方案三:采用宏晶科技有限公司的STC12C5A60S2增强型51单片机作为主控芯片。此芯片内置ADC和SPI总线接口,且内部时钟不分频,可达到1MPS。而且价格适中。考虑到此系统需要不用到ADC,从性能和价格上综合考虑我们选择方案一,即用AT89S52作为本系统的主控芯片。1.1.2 无线通信模块方案方案一:采用GSM模块进行通信,GSM模块需要借助移动卫星或者手机卡,虽说能够远距离传输,但是其成本较大、且需要内置SIM卡,通信过程中需要收费,后期成本较高。方案二:采用TI公司CC2430无线通信模块,此模块采用Zigbee总线模式,传输速率可达250kbps,且内部集成高性能8051内核。但是此模块价格较贵,且Zigbee协议相对较为复杂。方案二:采用NRF24L01无线射频模块进行通信,NRF24L01是一款高速低功耗的无线通信模块。他能传输上千米的距离(加PA),而且价格较便宜、,采用SPI总线通信模式电路简单,操作方便。考虑到系统的复杂性和程序的复杂度,我们采用方案三作为本系统的通信模块。1.1.3 温度传感方案方案一:采用AD590是美国ANALO G DEV ICES 公司的单片集成两端感温电流源。AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛应用于不同的温度控制场合由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。但其需要用到差分放大器放大和A/D转换,需要原件多。方案二:采用美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。经济,方便。使用DS18B20线路简单,编程容易,但是比AD590精度低。AD590还需要其它辅助电路,线路复杂,编程难度大,但是温度精确。考虑到电路的设计,成本,还有多点通信,我们选择方案二,即用DS18B20作为本系统的温度传感器。1.1.4 显示模块方案方案一:选择主控为ST7920的带字库的LCD12864来显示信息。12864是一款通用的液晶显示屏,能够显示多数常用的汉字及ASCII码,而且能够绘制图片,描点画线,设计成比较理想的结果。方案二:采用字符液晶LCD1602显示信息,1602是一款比较通用的字符液晶模块,能显示字符和数字等信息,且价格便宜,容易控制。方案三:采用LED7段数码显示管显示,其成本低,容易显示控制,但不能显示字符。综合以上方案,我们选择了经济实惠的字符液晶LCD1602来作为接收端的显示。发送端用7段数码管显示。1.1.5 单片机与PC机通信模块采用RS-232串口与PC机通信。1.2 系统最终方案发送端:发送端由温度传感器DS18B20,AT89S52单片机,nRF24L01无线射频模块,数码管显示模块和外设继电器组成。图1.2发送端系统方框图接收端:接收端由AT89S52单片机,nRF24L01无线射频模块,LCD1602显示模块,报警电路和串口组成。图1.3 接收端系统方框图2 主要芯片介绍和系统模块硬件设计2.1 AT89S52单片机是一种集成的电路芯块采用了超大规模技术把具有运算能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换及A/D转换器等电路集成到一块单片机上,构成一个最小然而很完善的计算机系统。这些电路能在软件的控制下准确快速的完成程序设计者事先规定的任务。总的而言单片机的特点可以归纳为以下几个方面:集成度高、存储容量大、外部扩展能力强、控制功能强、低电压、低功耗、性能价格比高、可靠性高这几个方面。单片机有着微处理器所不具备的功能,它可以独立地完成现代工业控制所要求的智能化控制功能这就是单片机的最大特点。然而单片机又不同于单板机,芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微机控制系统。它与单板机或个人电脑有着本质的区别,单片机属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使芯片具备特定的智能AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。AT89S51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个 全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。引脚图如图2.1此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断 系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三 种封装形式,以适应不同产品的需求。图2.1 单片机管脚图(1)主要功能特性: 兼容MCS-51指令系统 8k可反复擦写(1000次)ISP Flash ROM 32个双向I/O口 4.5-5.5V工作电压 2个16位可编程定时/计数器 时钟频率0-33MHz 全双工UART串行中断口线 256x8bit内部RAM 2个外部中断源 低功耗空闲和省电模式 中断唤醒省电模式 3级加密位 看门狗(WDT)电路 软件设置空闲和省电功能 灵活的ISP字节和分页编程 双数据寄存器指针(2)AT89S52单片机引脚介绍:引脚如图2.1所示,以下是各引脚的说明。VCC:AT89S52 电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟的反向放大器输入端。XTAL2:系统时钟的反向放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统皆可以工作了,此外可以在两个引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S52的重置引脚,高电平工作,当要对晶片重置时,只要对此引脚点评提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。EA/Vpp:“EA”为英文“External Access”的缩写,表示存取外部程序代码之意,低电平动作,也就是说当引脚为低电平后,系统会调用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果使用8751内部程序空间时,引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。PORT0(P0.0P0.7):端口0是一个8位宽的开路电极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0A7,再配合端口2所送出的A8A15合成一个完整的16位地址总线,而定位地址到64K的外部存储器空间。PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,若将端口1的输出设为高电平,使是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当作定时器2的外部缓冲输入脚,而P。1可以有T2EX功能,可以做外部中断输入的触发引脚。PORT2(P2.0P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,同样地,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P2便不能当做I/O来使用了。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR,外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。2.1.1 单片机控制模块单片机控制模块由AT89S52最小系统组成,其中包括单片机,晶振电路和复位电路。(1)、晶振电路晶振电路由两个30pF电容和一个12MHz晶体振荡器构成,接入单片机的X1、X2引脚。(2)、复位电路单片复位端低电平有效。单片机最小系统如图2.2:图2.2 单片机最小系统2.2 单片2.4GHz nRF24L01无线模块2.2.1 nRF24L01芯片概述nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6 dBm的功率发射时,工作电流也只有9 mA;接收时,工作电流只有12.3 mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。 nRF24L01主要特性如下: GFSK调制; 硬件集成OSI链路层; 具有自动应答和自动再发射功能; 片内自动生成报头和CRC校验码;数据传输率为l Mb/s或2Mb/s;SPI速率为0 Mb/s10 Mb/s;125个频道; 与其他nRF24系列射频器件相兼容; QFN20引脚4 mm4 mm封装;供电电压为1.9 V3.6 V。2.2.2 引脚功能及描述nRF24L01的封装及引脚排列如图所示。各引脚功能如下: 图2.3 nRF24L01封装图CE:使能发射或接收; CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01: IRQ:中断标志位;VDD:电源输入端; VSS:电源地;XC2,XC1:晶体振荡器引脚; VDD_PA:为功率放大器供电,输出为1.8 V; ANT1,ANT2:天线接口;IREF:参考电流输入。2.2.3 工作模式通过配置寄存器可将nRF241L01配置为发射、接收、空闲及掉电四种工作模式,如表所示。 待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式;待机模式下,所有配置字仍然保留。 在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。表1:nRF24L01四种工作模式模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111-发射模式101数据在TXFIFO寄存器中发射模式1010停留在发送模式,直至数据发送完待机模式2101TXFIFO为空待机模式11-0无数据传输掉电0-2.2.4 工作原理发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TXFIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TXFIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。 接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RXFIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。 在写寄存器之前一定要进入待机模式或掉电模式。如下图,给出SPI操作及时序图:图2.4 SPI读操作图2.5 SPI 写操作2.2.5 配置字SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。 nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。nRF24L01 的配置寄存器共有25个,常用的配置寄存器如表2所示。 表2:常用配置寄存器地址(H)寄存器名称功能00CONFIG设置24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址03SETUP_AW设置地址宽度04SETUP_RETR设置自动重发数据时间和次数07STATUS状态寄存器,用来判定工作状态0A0FRX_ADDR_P0P5设置接收通道地址10TX_ADDR设置接收接点地址1116RX_PW_P0P5设置接收通道的有效数据宽度2.2.6 nRF24L01模块原理图nRF24L01单端匹配网络:晶振,偏置电阻,去耦电容。图2.6 nRF24L01单端50射频输出电路原理图2.3 温度传感器 DS18B20DALLAS最新单线数字温度传感器DS18B20简介新的一线器件体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 一线总线接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、 DS1822 一线总线数字化温度传感器 同DS1820一样,DS18B20也 支持一线总线接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。DS1822的精度较差为 2C 。现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性。2.3.1 DS18B20管脚配置和内部结构DS18B20的管脚和封装如下图2.7:图2.7 DS18B20引脚及封装引脚定义: (1)DQ为单数据总线,是数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 内部结构:图2.8 DS18B20内部结构图(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 bit7bit6bit5bit4bit3bit2bit1bit0LS Byte232221202-12-22-32-4bit15bit14bit13bit12bit11bit10bit9bit8MS ByteSSSSS262524图2.9 DS18B20温度值格式表这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。2.3.2 DS18B20的工作原理DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是: (1) ROM 只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。 (2) RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。控制器对18B20操作流程: (1) 复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS的低电平信号。当18B20接到此复位信号后则会在1560uS后回发一个芯片的存在脉冲。 (2) 存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560uS后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。 (3) 控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。(4) 控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。 (5) 执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。数据的读写方法将有下文有详细介绍。 当主机收到DSl8B20的响应信号后,便可以发出ROM操作命令之一,这些命令如下:指令代码 代码Skip ROM(跳跃ROM指令)CCH这条指令使芯片不对ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。Read Scratchpad (从RAM中读数据)BEH此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。Convert T(温度转换)44H收到此指令后芯片将进行一次温度转换,将转换的温度值放入RAM的第1、2地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持500MS,来维持芯片工作。与DS18B20的所有通讯都是由一个单片机的复位脉冲和一个DS18B20的应答脉冲开始的。单片机先发一个复位脉冲,保持低电平时间最少480s,最多不能超过960s。然后,单片机释放总线,等待DS18B20的应答脉冲。DS18B20在接受到复位脉冲后等待1560s才发出应答脉冲。应答脉冲能保持60240s。单片机从发送完复位脉冲到再次控制总线至少要等待480 s。读时隙需1560 s,且在2次独立的读时隙之间至少需要1 s的恢复时间。读时隙起始于单片机拉低总线至少1 s。DSl8820在读时隙开始15s后开始采样总线电平。写时隙需要1575 s,且在2次独立的写时隙之间至少需要1s的恢复时间。写时隙起始于单片机拉低总线。2.3.3 DS18B20的硬件设计 DS18B20在本系统中与发送端单片机的P3.3连接。如图:图2.10的DS18B20硬件连接图2.4 显示模块本系统显示模块分两种:1、接收端显示模块用LCD1602液晶模块。2、发送端使用数码管显示。2.4.1 接收端显示模块本设计在接收端部分采用LCD1602液晶显示模块来显示温度,,P0由上拉电阻提高驱动能力,作为数据输出并作为LCD的驱动,P2口的P2.7-P2.6分别作为液晶显示模块的使能信号E,数据/命令选择RS,R/W端则配置成写。具体电路如图2.11所示。图2.11 LCD1602液晶显示模块电路图2.4.2 发送端显示模块本设计在发送端部分采用数码管显示,P0由上拉电阻提高驱动能力,作为数据输出。P2.7-P2.4分别作为数码管位显示S1-S4。如图2.12所示:图2.12发送端数码管显示连接2.5 报警电路当外界温度超过预设温度上下限时,为更加有效的引起用户的注意,及时关注温度的变化,本系统设计了声报警电路。该电路由蜂鸣器和NPN三极管组成,具体电路如图2.13所示。图2.13 接收端报警电路2.6 接收端与PC机通信本系统采用MAX232来完成TTL- EIA(美国电子工业联合会)双向电平转换。MAX232内部有电压倍增电路和转换电路,仅需+5 V电源便可工作,使用十分方便,其与AT89S52连接时可以采用最简单的方式连接(见图2.14),MAX232的T1 IN引脚与89S52的串行输入口线P31TXD相连,R1 OUT引脚与89S52的串行输入口线P30RXD相连,MAX232的T1 OUT、R1 IN分别于与RS232的2、3引脚相连。MAX232泵电源引脚必须接01f 电容,如图中的C7、C8、C9、C10。图2.14 单片机与PC机串口通信电路2.7 电源电路设计A、本系统单片机需要一组5V电源,采用的电源电路如图2.15所示。该电路是把市电220V交流电压经电压器降压至8V,输入进行全桥整流,成为脉动直流,经过,一级滤波后送至三端稳压集成电路lm7805稳压,再经二级滤波后即为5V输出,图2.15的四个二极管组成了全桥整流电路,C1,C3是一级滤波电容,U1是稳压管lm7805,C4是二级滤波电容。图2.15 +5V电源电路B、本系统无线模块需要一3.3V电源,采用电源电路如图2.16所示。该电路把先前转换得到的5V电源经过低压差电压调节器lm1117转换为3.3V电源。图2.16 无线模块+3.3V电源供电电路2.8 其他外围电路本系统需要在温度过高的情况下驱动继电器,打开通风系统。继电器连接发送端单片机P3.7口。3 系统软件设计3.1 单片机软件设计3.1.1 发送端软件设计本系统发送端采用DS18B20温度传感器采集温度,经AT89S52收集处理数据,温度数据数码管显示,如果温度过高,则单片机控制继电器工作,再由nRF24L01模块发送到接收端。其中包括DS18B20和nRF24L01模块的初始化配置。软件流程图如3.1。图3.1 发送端程序流程图3.1.2 接收端软件设计本系统接收端采用nRF24L01无线模块接收发送端传来的温度数据,经单片机AT89S52在LCD1602液晶显示器上显示。温度过高则报警电路工作。最后单片机把数据经串口传输给PC机。其中包括nRF24L01模块和LCD1602液晶显示器的初始化。流程图如3.2 。图3.2 接受端程序流程图4 系统仿真4.1 电源电路的仿真4.1.1 +5V电源电路仿真使用multisim仿真,由家电220V经过变压器转换成7.6V交流电压,再经过桥式整流,后经7805稳压芯片得到直流5V电压。如图4.1图4.1 +5V电源设计仿真4.2 发送端温度采集与显示仿真发送端温度采集与显示电路由Protues仿真软件进行仿真。DS18B20接单片机P3.3口。P0口接4位数码管段选端,P2.7-P2.4分别接数码管位选段S4-S1。当前DS18B20显示18.0,LCD1602显示18.0 。显示仿真成功。图4.3 温度采集及显示仿真4.3 接收端LCD1602显示温度仿真接收端接收到温度数据后由单片机处理数据。由LCD1602液晶显示器显示。1602的数据端接单片机的P0口,RS,RW和E端分别接P2.0-P2.2口。用Protue显示仿真结果如图4.4 。图4.4 接收端LCD1602液晶显示仿真5 硬件电路板设计5.1 系统硬件原理图5.1.1 发送端原理图电源模块:由VCC提供+5V高电平,Power接口接入,经过LM1117降压为+3.3V电平,为nRF24L01模块提供高电平。显示模块:P1口接无线模块的控制端口。P0.0P0.7接数码管段选端D0-D7。无线模块控制模块:无线模块由P2口控制。温度采集模块:温度采集由DS18B20 I/O端接入单片机P3.3口。单片机最小系统:X1,X2接外部振荡电路,RESET端接复位电路,EA端接高。图5.1 发送端原理图5.1.2 接收端原理图接收端由单片机主控电路、USB电源+5V接入、串口通信电路、无线模块供电电路、LCD1602液晶显示接口和报警电路组成。单片机主控电路由AT89S52最小系统组成。+5V电源由USB接口提供给单片机和其他模块。接入后发光二极管点亮。串口通信模块由DB9和RS232的外围电路组成。串口通信一边接单片机的RXD和TXD,一边连接PC机。LCD1602显示模块数据端接单片机P0口,RS,RW,E分别接单片机的P2.0-P2.2 。报警电路接单片机的P2.7脚。由一个三极管和喇叭组成。图5.2 接收端原理图5.2 系统PCB图5.2.1 发送端PCB图图5.3 发送端PCB图5.2.2 接收端PCB图图5.4 接收端PCB板图5.3 硬件制作硬件的制作有印制电路板,打孔和焊接原件组成。印制电路板用热传印纸打印电路图,经过热传印机把纸上的电路图转印到电路铜板上,之后进行腐蚀铜板处理,把不需要的铜去掉,得到所要电路。经过印制打孔后的电路板如下图。图5.5 印制后的电路板焊接原件后如下图。图5.6 焊接原件后的电路板5.4 硬件调试在没通电之前,先用万用表检查线路的正确性,并核对元器件的型号、规格是否符合要求。特别注意电源的正负极以及电源之间是否有短路,并重点检查地址总线、数据总线、控制总线是否存在相互间的短路或其他信号线的短路。晶体振荡器和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好是保证振荡器稳定和可靠地工作。在本系统中我们都进行了仔细的检杏,所以此步骤不会发生故障,这一步如果检查不细通电后可能会造成不可想象的后果,所以这一步也至关重要。通电后检查各器件引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机的插座上的各点电位,若有高压,将有可能损坏单片机仿真器。同样,如果电压过低就没有能力驱动其负载。在断电的情况下,除单片机以外,用仿真插头将所连接电路与单片机仿真器的仿真接口相连,为软件调试做好准备。其中遇到的问题很多,如印制电路线不合格,中间有些许断路,造成调试的失败。还有USB电源供电电压不足的问题,电源电压经过供电给负载,电压下降0.5V,致使单片机不工作的问题。5.5 硬件调试结果我们进行的是单点通信,传输温度数据。发送端采集温度,在4位LED数码显示管上显示,并发送到接收端。其结果如图。图5.7 发送端采集到温度显示接收端接收到温度及显示:图5.8 接收端接收到数据并显示在LCD1602上6 nRF24L01应用于无线组网6.1 无线组网的意义及研究价值随着GSM、WCDMA及3G商用,近距无线通信并能上网成了一种迫切需求:实现低功耗、低价位、可替代电缆的无线数据链路。人们希望通过一个小型的 短距离的无线网络为移动和商业用户提供各种服务。而目前几乎所有的无线网络都在某一点上连接到有线网络中,以便访问文件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院保安协议合同范本
- 简单承包鱼塘合同范本
- 2018年1月国开电大法学本科《中国法律史》期末纸质考试试题及答案
- 2025年环保检测试题及答案
- 信息安全试题库及参考答案
- 2025年江西省中级档案职称考试(档案事业概论)经典试题及答案
- 基础医学综合知识考试题库含答案
- 儿科中医护理方案常规考试试题及答案
- 安全员b类证继续教育考试试题及答案
- 骨科护理学问答题试题与答案
- 医用高压氧舱安全管理与应用规范
- 农村安全会议记录内容
- 四川辅警考试试题及答案
- 广西个体医生管理办法
- 审理室业务课件培训
- 绘画种类介绍课件图片
- 2025年四川省辅警招聘考试题库及答案
- 湖南省长沙雅礼中学2025年化学高一下期末达标检测模拟试题含解析
- 2025吐鲁番辅警考试真题
- AI赋能自动化开发流程
- 2025至2030中国航空客运销售代理行业市场运行发展分析及前景趋势与投资报告
评论
0/150
提交评论