1、学号200912040214HEBEIUNITEDUNIVERSITY毕业设计说明书GRADUATEDESIGN设计题目基于GPRS的远程无线温度采集系统的设计学生姓名专业班级09电信2班学院信息工程学院指导教师副教授高级工程师2013年06月02日摘要I摘要GPRS作为一种高速、高效、经济的无线系统,具有网络覆盖范围广、数据带宽宽、适应性强、计价按数据流量计算、实时在线的优点,特别适用于间断的、突发性的或频繁的、少量的数据传输,能够满足数据采集及监控的双向数据信息传输。文中设计了一种温度控制系统,提高了温度检测系统的综合性能用单片机作为微控器,选用数字温度传感器,对温度进行控制,提出了一种基
2、于GPRS技术的远程温度监测系统方案,采用MSP430单片机和DS18B20数字温度传感器实现现场温度数据的采集和处理,再通过GPRS模块MG323实现远程的数据传输和接收,具有精度高、稳定性好的特点。硬件方面设计了一个基于单片机的温度智能控制系统,以MSP430单片机为核心,采用了温度传感器DS18B20,以GPRS无线通信模块为基础,基于AT指令和数据采集器,构建一个远程的温度数据采集系统,对温度进行控制。关键词温度采集系统;DS18B20;单片机;GPRSABSTRACTIIABSTRACTGPRSASWIRELESSAHIGHSPEED,HIGHEFFICIENCY,ECONOMYSY
3、STEM,HASAWIDENETWORKCOVERAGE,ACCORDINGTOTHEDATAWITHERIC,STRONGADAPTABILITY,VALUATIONDATAFLOWCALCULATION,THEADVANTAGESOFREALTIMEONLINE,ESPECIALLYSUITABLEFORINTERMITTENT,SUDDENANDFREQUENT,SMALLAMOUNTSOFDATATRANSMISSION,CANSATISFYTHEDATAACQUISITIONANDMONITORINGOFTHEBIDIRECTIONALDATATRANSMISSIONINTHISPA
4、PER,WEDESIGNATEMPERATURECONTROLSYSTEM,IMPROVETHECOMPREHENSIVEUSEOFTEMPERATUREDETECTIONSYSTEMSINGLECHIPASMICROCONTROLLER,DIGITALTEMPERATURESENSOR,THETEMPERATURECONTROL,PUTSFORWARDAREMOTETEMPERATUREMONITORINGSYSTEMSCHEMEBASEDONGPRSTECHNOLOGY,THESCENEISREALIZEDBYUSINGMSP430MCUANDDS18B20DIGITALTEMPERATU
5、RESENSORTEMPERATUREDATAACQUISITIONANDPROCESSING,AGAINBYMG323GPRSMODULETOACHIEVEREMOTEDATATRANSMISSIONANDRECEIVING,HASFEATURESOFHIGHPRECISIONANDGOODSTABILITYAHARDWAREDESIGNBASEDONSINGLECHIPMICROCOMPUTERINTELLIGENTTEMPERATURECONTROLSYSTEM,WITHMSP430SINGLECHIPMICROCOMPUTERASTHECORE,ADOPTINGTHETEMPERATU
6、RESENSORDS18B20,BASEDONTHEGPRSWIRELESSCOMMUNICATIONMODULE,BASEDONTHEATCOMMANDSANDDATACOLLECTOR,TOBUILDAREMOTETEMPERATUREDATAACQUISITIONSYSTEM,TOCONTROLTHETEMPERATUREKEYWORDSTEMPERATUREACQUISITIONSYSTEMDS18B20SINGLECHIPMICROCOMPUTERGPRS目录III目录摘要IABSTRACTII第1章绪论111引言112课题设计背景113课题设计意义2第2章系统主要模块介绍和硬件设计
7、321主控芯片介绍3211MSP430F149芯片概述3212MSP430F149芯片引脚3213单片机控制模块522GPRS模块介绍7221GPRS模块B2B连接器接口7222MG323电源接口9223控制信号接口和开/关机时序10224UART接口12225SIM卡接口1323温度传感器简介14231DS18B20管脚配置和内部结构15232DS18B20的工作原理16233DS18B20的硬件设计1824显示模块19241液晶驱动芯片19242段式液晶显示器21243显示模块硬件电路设计2125电源模块22251单片机供电模块22252GPRS供电模块23第3章系统软件设计2531温度采
8、集程序设计2532GPRS模块程序设计2633系统总体程序设计29第4章系统硬件电路板的设计3141系统硬件原理图3142系统PCB图3343硬件制作3444硬件调试35结论36参考文献37目录IV谢辞39附录40附录1系统硬件原理图40附录2显示模块程序42附录3温度传感器程序49附录4GPRS模块程序52附录5系统整体程序54第1章绪论1第1章绪论11引言温度检测技术在我国的工业生产中应用非常普遍,传统的温度检测系统一般采用分散式三级系统,这种系统多采用有线传输方式,其远程线路铺设及维护不仅需要较高的成本,而且引线过长将导致整个系统功耗上升,稳定性下降。温度是工业生产中主要的被控参数之一,
9、与之相关的各种温度控制系统广泛应用于冶金、化丁、机械、食品等领域。温度控制是工业生产过程中经常遇到的过程控制。有些工艺过程对其温度的控制效果直接影响着产品的质量。随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式应用已经渗透到生活各个方面。在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,这样就会产生数据传输问题。由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。而且,当数据采集点处于运动状态、所处的环境不允许或无法铺设
10、电缆时,数据甚至无法传输,此时便需要利用无线传输的方式进行数据采集。在农业生产上,不论是温室大棚的温度监测,还是粮仓的管理,传统上都是采取分区取样的人工方法,工作量大,可靠性差。而且大棚和粮仓占地面积大,检测目标分散,测点较多,传统的方法已经不能满足当前农业发展的需要。当前的科技水平下,无线通信技术的发展使得温度采集测量精确,简便易行。在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。如今很多家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据,并根据室内温度情况进行遥控通风等操作,自动调节室内温度湿度,可以更好地改善人们的居住环境。本系统的设计采用了华为
11、公司推出的MG323GPRS模块,由MSP430F149单片机控制实现无线数据通信。该接口设计具有成本低、传输速率高、软件设计简单以及通信稳定可靠等特点。12课题设计背景温度与人们的生产生活密切相关,需要对温度监测的场合非常多。传统的有线测温方式存在着布线复杂,线路容易老化等问题。无线测温技术与有线测温技河北联合大学信息工程学院2术相比,有成本低、携带方便、搭建网络简单快捷等特点,特别是在有线网络不通畅或由于现场环境因素的限制不便架设线路的情况下,使用无线通信技术进行温度监测显得更加实用、快捷。随着计算机技术和通信技术的不断发展,计算机远程无线监控技术在工业控制领域中的应用越来越广泛。GPRS
12、技术从实验室研究、地区范围内试用到正式商用,经过了长时间的完善,技术先进可靠。GPRS设备数据监控终端传输设备一开机就能自动附着到GPRS网络上,与数据中心实时在线进行实时数据通信,高速输,可靠性高。随着无线通信技术的发展,采用无线的传输方式已成为远程分布式温度监测技术的发展趋势。GPRS技术在移动通信领域的发展,已经能够实际应用到许多需要无线数据传输的领域,也为温度采集传输及监控提供了一种新的数据通信方式。温度传输的实时性与可靠性成了设计远程数据采集系统的关键。13课题设计意义本文对GPRS远程温度监测系统硬件和软件设计进行说明。温度检测采用DS18B20,非常适用于多点、恶劣环境下的温度监
13、测系统。系统进行温度数据的实时监测,监测数据精度高,系统操作简单,而且可应用于有线网络设备无法到达的地方,实现了温度监测的自动化智能化,具有成本低廉分布灵活,实时在线的优点。GPRS模块利于系统集成,成本较低,运行稳定可靠,适用于远距离监测,不受地形条件的限制,有着广泛的应用前景。系统的实现给远程对温度的要求提供了方便,而且快捷,成本不高等,为农业工业生产带来极大的方面。第2章系统主要模块介绍和硬件设计3第2章系统主要模块介绍和硬件设计21主控芯片介绍211MSP430F149芯片概述单片机芯片配以必要的外部器件,一般包括电源供入及电源开关、复位电路、晶振、输入输出电路等就能构成最小系统。MS
14、P430F149芯片是美国TI公司推出的超低功耗微处理器,有60KB256字节FLASH,2KBRAM,包括基本时钟模块、看门狗定时器、带3个捕获/比较寄存器和PWM输出的16位定时器、带7个捕获/比较寄存器和PWM输出的16位定时器、2个具有中断功能的8位并行端口、4个8位并行端口、模拟比较器、12位A/D转换器、2个串行通信接口等模块。MSP430F149芯片具有如下特点(1)功耗低电压22V、时钟频率1MHZ时,活动模式为200A;关闭模式时仅为01A,且具有5种节能工作方式。(2)高效16位RISCCPU,27条指令,8MHZ时钟频率时,指令周期时间为125NS,绝大多数指令在一个时钟
15、周期完成;32KHZ时钟频率时,16位MSP430单片机的执行速度高于典型的8位单片机20MHZ时钟频率时的执行速度。(3)低电压供电、宽工作电压范围1836V;(4)灵活的时钟系统两个外部时钟和一个内部时钟;(5)低时钟频率可实现高速通信;(6)具有串行在线编程能力;(7)强大的中断功能;(8)唤醒时间短,从低功耗模式下唤醒仅需6微妙;(9)ESD保护,抗干扰力强;(10)运行环境温度范围为4085,适合于工业环境。MSP430系列单片机的所有外围模块的控制都是通过特殊寄存器来实现的,故其程序的编写相对简单。编程开发时通过专用的编程器,可以选择汇编或C语言编程,IAR公司为MSP430系列的
16、单片机开发了专用的C430语言,可以通过WORKBENCH和CSPY直接编译调试,使用灵活简单。212MSP430F149芯片引脚58脚RST/NMI为430单片机的复位引脚(低电平有效)。河北联合大学信息工程学院41脚DVCC,63脚DVSS为数字电源接口。64脚AVCC,62脚AVSS为模拟电源接口。注意MSP430系列单片机的供电电压为18V36V。32脚UTXD0,33脚URXD0的第二功能为MSP430F149单片机两路串口通讯接口中的第一路。图21单片机管脚图34脚UTXD1,35脚URXD1的第二功能为MSP430F149单片机两路串口通讯接口中的第二路。29脚SIMO0,30脚
17、SOMI0,31脚UCLK0的第二功能为MSP430F149单片机两路SPI通讯接口中的第一路。45脚SIMO1,46脚SOMI1,47脚UCLK1的第二功能为MSP430F149单片机两路SPI通讯接口中的第二路。48脚的第二功能为MSP430F149单片机MCLK(主系统时钟)的输出端。第2章系统主要模块介绍和硬件设计549脚的第二功能为MSP430F149单片机,SCLK(子系统时钟)的输出端。50脚的第二功能为MSP430F149单片机,ACLK(辅系统时钟)的输出端。52脚,53脚为外部高频时钟晶振输入端(程序中说明一般用XT2CLK或HFXTAL表示)。8脚,9脚为外部低频时钟晶振
18、输入端(程序中说明一般用LFXTICLK表示)。59脚TA0,60脚TA1,61脚TA2,2脚A3,3脚A4,4脚A5,5脚A6,6脚A7的第二功能为8路的内部12位ADC模拟电压输入端口。54脚TDO/TDI,55脚TDI/TCLK,56脚TMS,57脚TCK为JTAG接口(同时拥有仿真器和编程器的功能),用于下载程序并实现硬件在线仿真。213单片机控制模块单片机控制模块由MSP430F149最小系统组成,其中包括单片机,晶振电路和复位电路。(1)单片机图22单片机硬件原理图(2)晶振电路河北联合大学信息工程学院6MSP430系列单片机时钟模块包括数控振荡器DCO、高速晶体振荡器和低速晶体振
19、荡器等3个时钟源。这是为了解决系统的快速处理数据要求和低功耗要求的矛盾,通过设计多个时钟源或为时钟设计各种不同工作模式,才能解决某些外围部件实时应用的时钟要求,如低频通信、LCD显示、定时器、计数器等。数字控制振荡器DCO已经集成在MSP430内部,在系统中只需设计高速晶体振荡器和低速晶体振荡器两部分电路。低速晶体振荡器满足了低功耗及使用32768KHZ晶振的要求。低速晶振振荡器默认工作在低频模式,即32768KHZ,也可以通过外接450KHZ8MHZ的高速晶体振荡器或陶瓷谐振器工作在高频模式,在本电路中我们使用低频模式,晶振外接2个15PF的电容经过X3和X4连接到MCU。高速晶振也称为第二
20、振荡器,它为MSP430F149工作在高频模式时提供时钟,最高可达8MHZ。在系统中采用4MHZ的晶体,外接2个20PF的电容经过X1和X2连接到单片机。图23晶振电路原理图(3)复位电路单片机采用上电复位,复位端低电平有效。第2章系统主要模块介绍和硬件设计7图24复位电路原理图22GPRS模块介绍MG323模块是华为推出的一款4频段的GPRS模块。工作频段为GSM850/900/1800/1900MHZ,电源电压为33V48V,推荐电压为38V。221GPRS模块B2B连接器接口MG323模块对外接口形态为50PINB2B连接器,MG323模块对外50PINB2B信号接口管脚顺序和定义如下图
21、所示。河北联合大学信息工程学院8图25B2B连接器接口顺序和定义第2章系统主要模块介绍和硬件设计9图26MG323模块硬件电路图222MG323电源接口MG323模块B2B接口的电源部分主要包含供电电源VBAT接口,实时时钟RTC备用电源VCOIN接口,对外电源输出VIO接口。表21电源接口管脚定义管脚号信号名描述42、44、46、48、50VBAT供电电源电压输入管脚41、43、45、47、49GND地35VCOIN实时时钟RTC备用电源输入管脚40VIO对外电源输出管脚(1)VBAT接口MG323模块正常工作时需要通过VBAT管脚来提供供电电源,供电电源电压输入范围为33V48V(典型值3
22、8V)。50PINB2B连接器为外部供电电源输入提供5个VBAT管脚和5个GND管脚,MG323模块在正常使用时,需保证全部管脚都得到有效使用。当MG323模块针对不同外部应用时,需重点关注供电电源方面的设计。由于实际网络环境的差异,当MG323模块以最大功率发射时,电源供电的瞬时电河北联合大学信息工程学院10流将有可能达到20A左右的瞬时峰值,届时将会引起VBAT电压的跌落,所以应确保VBAT在任何情况下供电电源电压的跌落不能低于33V,否则可能会引起MG323模块重启等异常情况。对于外部供电电源,推荐使用电流输出能力大于2A的LDO或开关电源,并且在模块的电源端口处并联一个2MF以上的蓄能
23、电容。对于蓄能电容,推荐使用22MF以上的电解电容。此外,为了降低通路上阻抗对电压跌落的影响,建议尽量缩短VBAT的走线。(2)VCOIN接口VCOIN是MG323模块内部实时时钟RTC备用电源输入接口。当VBAT在位时,实时时钟RTC可以优先通过VBAT供电;当VBAT不在位时,VCOIN为实时时钟RTC提供备用电源输入,此时MG323模块维持实时时钟RTC功能所需电流约为5UA。VCOIN可以使用外部电池供电,推荐使用的电池电压为3V;如果不使用电池,也可以外接电容,电容的容值大小决定了在VBAT不在位时实时时钟RTC的持续时间。MG323模块支持对外部备用电池进行充电,当VBAT38V时
24、,充电电流约为06MA典型值。(3)VIO接口VIO接口可对外提供28V供电电压,输出电流为10MA(典型值),可以用于外部电平转换或者其他应用。当MG323模块处于SLEEP模式下,VIO处于开启的低功耗状态(1IFDS18B20_READBITRESULT|0X80ELSERESULTRETURNRESULT/给DS18B20单总线上写1BYTE数/VOIDDS18B20_WRITEBYTEUNSIGNEDCHARDATAUNSIGNEDCHARIFORI0I1/从DS18B20上读取温度值/VOIDDS18B20_READTEMPVOIDUNSIGNEDCHARTEMPH,TEMPLDS
25、18B20_INIT附录51DS18B20_WRITEBYTESKIPROMDS18B20_WRITEBYTECONVERTTEMPDELAY_S1/延时1S左右DS18B20_INITDS18B20_WRITEBYTESKIPROMDS18B20_WRITEBYTEREADSCRATCHPADTEMPLDS18B20_READBYTE/读温度低字节TEMPHDS18B20_READBYTE/读温度高字节TEMPTEMPHTEMPINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEDEFINEUCHARUNSIGNEDC
26、HARDEFINEUINTUNSIGNEDINTUNSIGNEDLONGINTTEMPFLOATTEMP_FINALUCHARTEMP_GEUCHARTEMP_SHIUCHARTEMP_XIAOUINTICONSTUCHARAT“ATRN“CONSTUCHARTC_MSXZ“ATCMGF1RN“/发送模式选择CONSTUCHARTC_ZXH“ATCSCA8613800315500RN“/本地移动中心号CONSTUCHARTC_MDSJ“ATCMGS15031579550RN“/目的手机地址DEFINECPU_FDOUBLE4000000/CPU频率DEFINEDELAY_USX_DELAY_C
27、YCLESLONGCPU_FDOUBLEX/10000000/延迟X微妙DEFINEDELAY_MSX_DELAY_CYCLESLONGCPU_FDOUBLEX/10000/延迟X毫秒DEFINEDELAY_SX_DELAY_CYCLESLONGCPU_FDOUBLEX/延迟X秒/DS18B20控制引脚定义DEFINEDQ_OUTP1DIR|BIT4DEFINEDQ_INP1DIRDAT_OUTWR_OUTFORI0I1IFDS18B20_READBITRESULT|0X80ELSERESULTRETURNRESULT/给DS18B20单总线上写1BYTE数/VOIDDS18B20_WRITE
28、BYTEUNSIGNEDCHARDATA附录65UNSIGNEDCHARIFORI0I1/从DS18B20上读取温度值/VOIDDS18B20_READTEMPVOIDUNSIGNEDCHARTEMPH,TEMPLDS18B20_INITDS18B20_WRITEBYTESKIPROMDS18B20_WRITEBYTECONVERTTEMPDELAY_S1/延时1S左右DS18B20_INITDS18B20_WRITEBYTESKIPROMDS18B20_WRITEBYTEREADSCRATCHPADTEMPLDS18B20_READBYTE/读温度低字节TEMPHDS18B20_READBYTE/读温度高字节TEMPTEMPHTEMP0I/等待晶体起振WHILEIFG1/晶振失效标志仍然存在附录66BCSCTL2|SELM_2SELS/MCLK和SMCLK选择高频晶振WHILE1FORI0I12IDS18B20_READTEMPHT1621_INITLCD_CLRWRITE_DIGITAL_16214,TEMP_XIAO/显示温度的小数位WRITE_DIGITAL_16213,TEMP_GE/显示温度的个位WRITE_DIGITAL_16212,TEMP_SHI/显示温度的十位DELAY_MS50SEND_SMSDELAY_S30