基于GPRS的分布式远程无线监测系统的研究与设计_第1页
基于GPRS的分布式远程无线监测系统的研究与设计_第2页
基于GPRS的分布式远程无线监测系统的研究与设计_第3页
基于GPRS的分布式远程无线监测系统的研究与设计_第4页
基于GPRS的分布式远程无线监测系统的研究与设计_第5页
已阅读5页,还剩72页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河北工业大学硕士学位论文基于GPRS的分布式远程无线监测系统的研究与设计姓名:赵辉申请学位级别:硕士专业:通信与信息系统指导教师:贾志成20081101河北工业大学硕士学位论文i基于GPRS的分布式远程无线监测系统的研究与设计摘要伴随着科技的进步和工业的发展,监控系统面临着越来越高的要求,诸如监控范围越来越大、监控点越来越分散等。近些年来,出现了一种新型无线网络—通用分组无线业务GPRS(GeneralPacketRadioService,简称为GPRS网络。GPRS网络,具有实时在线、高速传输、快速登陆、按流量收费、支持IP协议和X.25协议等优点。在工业监控领域,GPRS正得到越来越广泛的应用。本文提出了一种基于GPRS的分布式远程无线监控系统的设计,具体应用于建筑节能检测中的室内墙体温度测量。该监测系统由数据中心,GPRS通信网络及数据采集终端三部分组成。系统利用中国移动现有的GSM/GPRS网络,构建远程无线通信平台,实现数据中心和终端的实时在线连接。下位机部分设计分为温度采集和无线通信两部分:温度采集由单总线数字温度传感器DS18B20和单片机AT89S52构成,将多个DS18B20连接在一起构成温度传感器网络来测量不同点的温度;无线通信部分则包括单片机和GPRS模块ZWG-23DP,GPRS模块负责建立与远程数据中心的通信,而单片机则对接收到的命令进行分析并完成相应的操作。上位机使用组态软件进行编写,实现对下位机系统的远程监控。论文首先介绍了GPRS技术的基本概念和原理,然后描述了系统总体设计思想与实现功能,并对下位机硬件系统的构建、下位机的软件系统设计以及上位机的编写等内容,进行了详细的介绍与分析。经调试与试验,系统方案切实可行,设计合理。在论文的结尾,指出了论文需要完善之处,并提出了日后继续深入研究的方向。关键词:GPRS,分布式系统,DS18B20,组态软件基于GPRS的分布式远程无线监测系统的研究与设计iiSTUDYANDDESIGNOFDISTRIBUTEDLONG-DISTANCEWIRELESSMONITORINGSYSTEMBASEDONGPRSNETWORKABSTRACTWiththedevelopmentofindustryandtechnology,themonitoringsystemisfacingever-increasingdemands,suchastheincreasingcoverageofmonitoredareaandthescatteredmonitoringpointetc.Inresentyears,anewtypeofwirelessnetwork(GeneralPacketRadioServiceappears.GPRSnetworkhasmanymerits,suchasreal-timeonline,high-speedtransmission,quicklanding,paidaccordingtofluxofnetdata,supportedIPprotocolandX.25protocol,andsoon.GPRSiswidelyusedinthefieldofindustrialmonitoring.ThispaperpresentsaGPRS-basedremotemonitoringsystemwhichappliedtotemperaturemeasurementofindoorwallfortheenergyefficiencyinspection.Thesystemconsistsofthreepartswhicharethedatacentre,GPRScommunicationsnetworkanddatacollectionterminals.TheexistingGSM/GPRSnetworkisappliedtobuildatransmissionplatformforlong-distancecommunicationinordertorealizereal-timeconnectionbetweentheterminalsanddatacenter.Thedesignofthelower-endcomputercanbedividedintotwomainparts:temperaturecollectionandthewirelesscommunication.Inthepartoftemperaturecollectionthe1-wirebusdigitaltemperaturesensorcalledDS18B20andtheMCUcalledAT89S52areusedtocompletethefunction.Manytemperaturesensorsconnecttogetherinmodeltoconstituteanetworkfortemperaturecollectionindifferentlocations.ThepartofwirelesscommunicationismadeofaMCUandGPRSmodelcalledZWG-23DP.TheGPRSmodelisresponsibleforcommunicationwiththedatacentre.TheMCUanalyzesthereceivedinformationandcompletescorrespondingoperations.Thedatacenterisdesignedthroughtheuseofconfigurationsoftwaretoachieveremotemonitoring.ThispaperintroducesthebasicconceptsandprinciplesofGPRStechnologyfirstly,andthendescribesthethinkingofwholesystemdesignandimplementionoffunctions.Thehardwarestructureoflower-endcomputer,designofsoftwareinthelower-endcomputer,andtheprocessofdevelopmentofupper-endcomputeraredeeplyanalyzedandresearched.Thepracticabilityandfeasibilityofdesignareprovedbytheprocessofexperimentanddebugging.Attheendofthepaper,itindicatesthepointswhereneedtobeimprovedandthedirectionofbeingstudiedcontinuouslyinfuture.河北工业大学硕士学位论文iiiKEYWORDS:GeneralPacketRadioService,distributedsystem,DS18B20,configurationsoftware河北工业大学硕士学位论文1第一章绪论现代远程监控系统融合了自动控制技术、计算机技术和现代通信技术三大领域的技术成果,是尖端科技领域的仪器仪表、电子技术、现代通讯技术、计算机软件等诸多技术的有机结合和综合运用。在工业测控领域,随着计算机技术的不断发展,采用单片机作为测控机,计算机作为管理机的控制方法越来越得到广泛的应用。这种采用微机、测控机相结合,以单片机为核心的下位机与管理主机一起,被称为分布式系统。其中单片机是把微型计算机主要部分都集成在一块芯片上,由于其高集成度,缩短了系统内的信号传输距离,优化了结构配置,大大提高了系统的可靠性及运行速度的同时,它的指令系统又适合于工业控制的需要,因此单片机在测控技术中得到了广泛的应用。根据信息的传输方式,上位机与下位机间的通信一般可以分为有线和无线两种。其中有线通信主要包括架设光缆、电缆或租用电信电话线、DDN、ADSL(AsymmetricDigitalSubscriberLine,即非对称数字用户线路)等,存在建设周期长、工作难度大、运行费用高等缺点,不便于大规模应用;而无线通信则包括超短波通信、扩频通信、卫星通信、GSM/GPRS通信等[1],具有投资较少、建设周期短、运行维护简单、性价比高等优点。采用基于GSM的无线通信系统,可以解决传统控制中,构建系统时间长、成本高、抗干扰性差的缺点。它将维护人员从大量繁琐的工作中解放出来,提高系统的运行效率,增强可靠性和可控性,而且能及时发现故障,尽快使系统正常运转。但是,GSM网络只能提供最高9.6Kbit/s的电路型数据业务,难以满足如今越来越高的数据传输要求。其存在的传输拥堵和延时,影响了GSM网络移动数据业务的发展,也制约了在实时监控系统中的应用。而GPRS技术的出现,克服了这种限制,为构建速度更快、更安全的远程无线监测系统提供了可能。§1-1GPRS网络概述GPRS作为第二代移动通信技术GSM向第三代移动通信(3G的过渡技术,是由英国BTCellnet公司早在1993年提出的,是GSMPhase2+(1997年规范实现的内容之一,是在现有GSM系统上发展出来的一种新的分组数据承载业务,目的是为GSM用户提供分组形式的数据业务。GPRS采用与GSM同样的无线调制标准、同样的频带、同样的突发结构、同样的跳频规则以及同样的TDMA帧结构[2]。这种新的分组数据信道与当前电路交换的语言业务信道极其相似,因此现有的基站子系统从一开始就可以提供全面的GPRS覆盖。GPRS网络实际上是叠加在GSM网络之上的一个网络,它仍然利用GSM网络的基站收发器(BTS和基站控制器(BSC,与GSM系统相同,在GPRS系统中,一个TDMA帧分为8个时隙,每时隙构成一个物理信道。物理信道被定义成不同逻辑信道。与GSM系统不同,在GPRS系统中,一个物理信道既可以定义为一个逻辑信道,也可以定义为一个逻辑信道的一部分,即一个逻辑信道可以由一个或几个物理信道构成[3]。GPRS提供端到端的广域无线IP连接,采用信道捆绑和增强数据速率,进而实现了高速接入,使无基于GPRS的分布式远程无线监测系统的研究与设计2线资源得到充分利用,能够使得用户在端到端分组转移模式下发送和接收数据,而不需要利用电路交换模式的网络资源,从而提供了一种高效、低成本的无线分组数据业务。目前第一代GPRS技术可以实现在一个载频或8个信道中实现捆绑,将每个信道的传输速率提高到14.1Kbps,因此GPRS通讯方式的最大速率是115.2Kbps[4]。GPRS发展的第二步是通过增强数据速率改进(EDGE将每个信道的速率提高到48Kbps,因此第二代的GPRS设计速率为384Kbps。它更适合于大多数的数据业务,如移动办公室、Internet接入、数据和语音多媒体、即时聊天等[5]。GPRS网络的主要特点是:1.采用分组交换技术[6],所谓分组交换技术就是GPRS信息在传输前被分成既分离又是相关的“数据包”,在接收端重新组合。因此GPRS特别适合于间断的、突发性的和频繁的、少量的数据传输,也适用于偶然的大数据量传输。2.使用范围广,只要有GPRS信号的地方就可以使用,非常适合野外、偏僻地区的数据采集。3.数据传输速率高,GPRS由于采用了经济高效的数据分组交换技术,数据传输占用GSM的8个时隙,在分割分组后上网发送。当发送之后不需要此容量时,就立即释放。提供了即时连接高速接入,数据传输可以稳定地达到115Kbps,此速率是常用的56Kbpsmodem理速率的2倍,这样的通讯速度完全可以和专用通讯线路方式相媲美。GPRS采用分组交换技术,它可以让多个用户共享某些固定的信道资源。GSM网中的部分信道资源既可以被话音占用,也可以被GPRS数据业务占用。在信道充足的条件下,可以把一些信道作为GPRS专用信道使用[7]。4.GPRS支持基于标准数据通信协议的应用,可以和IP网、X.25网实现互联互通,支持点到点和点到多点服务,以实现一些特殊应用如远程信息处理。GPRS也允许短消息业务(SMS经GPRS无线信道传输。5.瞬间上网,永远在线。GPRS的模块一经启动,就始终附着在GPRS网络上,每次使用时需要进行激活,一般只需要2-3秒的时间就能马上登录至Internet,通讯网络的建立过程十分迅速。由于GPRS使用了数据分组技术,用户上网就可以避免断线情况的出现,由此保证GPRS永远在线。6.数据吞吐量大,GPRS采用了与GSM不同的信道编码方案,定义了CS-1、CS-2、CS-3、CS-4这4种编码方案,支持中、高速率数据传输。PRS所提供的数据传输速率取决于所采用的四种编码方案的哪一种,高的传输速率保障了需要实时传送和大的数据流量的顺利进行,GPRS上网传输数据吞吐量最高可达72.2Kbit/s。7.性价比高。同有线网络相比,无需布线,而且速度较快;同无线局域网相比,免去了无线频率资源审批手续,无需架设天线、节省投资。8.GPRS的安全功能,同现有的GSM安全功能一样。身份认证和加密功能由GPRS服务节点(ServingGPRSSupportingNode,简称SGSN来执行。其中的密码设置程序的算法、密钥和标准与前GSM中的一样,不过GPRS使用的密码算法是专门为分组数据所优化过的。GPRS设备(MobileEquipment,简称ME可通过用户标识模块(SubscriberIdentityModule,简称SIM访问GPRS业务,不管这个SIM卡是否具备GPRS功能。河北工业大学硕士学位论文39.在GSM公用陆地移动通信网(PublicLandMobileNetwork,简称PLMN中,GPRS引入了两个新的网络节点:一个是GPRS服务节点,它和移动交换中心(MobileSwitchingCentre,简称MSC在同一等级水平,并跟踪单个移动台(Mobilestation,简称MS的存储单元,实现安全功能和接入控制。节点SGSN通过帧中继连接到基站系统。另一个是GPRS网关支持节点(GatewayGPRSSupportNode,简称GGSN,GGSN支持与外部分组交换网的互通,并经由基于IP的GPRS骨干网和GPRS节点互通。10.用户数据在MS和外部数据网络之间透明的传输,它使用的方法是封装和隧道技术,数据包用特定的GPRS协议信息打包并在MS和GGSN之间传输。这种透明的传输方法缩减了GPRS的PLMN对外部数据协议解释的需求,而且易于在将来引入新的互通协议。用户数据能够压缩,并有重传协议保护,因此数据传输高效且可靠。11.GPRS可以实现基于数据流量、业务类型及服务质量等级(QOS的计费功能,计费方式更加合理,用户使用更加方便。12.GPRS的核心网络层采用IP技术,底层可使用多种传输技术,很方便地实现与高速发展的IP网无缝连接。§1-2课题应用方向和功能要求本课题的具体应用方向是建筑节能监测中关于室内墙体温度的检测。一般的,建筑节能工作可分为设计审查、现场检测及竣工验收。对节能建筑的评价,从建设前期对施工图纸审查计算阶段向现场检测和竣工验收转移是大势所趋。建筑节能现场检测,是目前我国落实建筑节能政策的最有力保证手段。特别是在寒冷地区采用集中供暖的建筑,必须在交付使用前要对其节能措施的效果进行检验,保证建筑物及其采暖空调设备系统整体能够达到节能标准中规定的指标。因此近年来,建筑节能检测越来越受到人们的重视。目前,全国范围内建筑节能检测执行的标准是JGJ132-2001《采暖居住建筑节能检验标准》。它明确了建筑节能检测的内容和方式,要求检测必须使用仪器自动采集,并且要连续进行,能够将各种数据直接输入计算机加以整理,并出具检测结果。课题来自天津市建委的科技项目《建筑无线遥测系统的研究》。根据相关标准的要求,并结合实际测量中的需求和问题,依照项目委托方的设计要求,课题提出了一种可靠的,能够对远端房间进行多点温度监测的远程无线监测系统。系统采用分布式结构,围绕高实用性、低成本和强可靠性的原则进行设计。上位机和下位机应该实现的功能,如下所示:1.下位机系统应实现以下功能:(1无需职守,自动执行采集、通信等全部任务。(2周期性完成数据采集和传输任务,测量的时间和周期由上位机设定。默认测温时间是168小时,每小时采集一次。(3要求多点的温度采集(8点,可扩充),而且精度要求在0.1℃。(4采集到的温度数据进行合理化审核,若发现问题则重新测量。(5与上位机的通信。基于GPRS的分布式远程无线监测系统的研究与设计42.上位机系统应实现以下功能:(1对用户进行分级管理,设置管理员和其他用户。(2实现对下位机系统的完全监控,控制下位机的各项操作。(3实时显示下位机采集到的数据,对于异常数据进行报警,并可自动重测。(4制作数据显示报表,并且显示下位机自运行以来的历史数据。(5报表能够完成存储、显示和查询操作。(6使用数据库进行数据备份。(7实现对GPRS模块的配置更改。§1-3系统总体介绍所有设计内容可分为三大部分:下位机硬件设计,下位机软件设计和上位机设计。设计思路都是根据功能要求,进行针对性设计。下位机硬件部分以微控制器为核心,控制传感器及其他外围电路的工作,并与GPRS模块进行串行通信。相应的,下位机软件部分就要完成对传感器的控制程序设计、对其他外围电路的程序设计以及与上位机通信的程序设计。选择设计成熟,功能完善的芯片,可以提高系统的可靠性。首先要实现多点温度采集功能。多点的温度采集,可以考虑使用数字温度传感器。选用连接简单,功能可靠,价格适中的传感器为宜。对采集到的数据,在发送前,需要进行一系列的处理,例如对数据的格式转换,合理化审核等等。格式转换,主要是配合上位机的识别,做出的处理;而合理化审核,包括了数据的均值审核和变化率审核。关于合理化审核的详细内容,在后面的章节再行介绍。GPRS模块用来建立下位机与上位机间的透明数据通道,应该选择功能齐全,稳定可靠,性价比高的产品。下位机的控制芯片负责了对传感器的操作、数据审核、对GPRS模块的通信、以及对周边外围电路的控制。下位机与上位机的通信,要按照固定的通信协议进行,在下位机的软件设计中必须加入对该通信协议的支持。上位机部分采用组态软件编写,可以大大缩短设计周期。亚控电子有限公司的组态王软件,提供了一个便捷,轻松的设计环境。可以像搭积木一样,轻松实现GPRS的链接、数据的实时显示、报表操作和数据库操作。设计者从而可以更多的注重于功能结构的设计和优化,摆脱繁琐程序代码的编写。上位机部分是整个系统的中枢。上位机部分,即数据中心负责接收各个下位机系统采集到的数据,并进行数据分析、显示、查询和存储等操作。上位机所在主机的网络环境,影响了与GPRS模块的配置参数。因此需要根据具体情况,进行GPRS模块配置。例如当主机申请固定IP时,GPRS模块则可以通过IP直接访问;而当主机使用ADSL方式及动态IP地址时,GPRS模块应该配置为域名访问,并且在主机使用动态域名访问技术,以实现链接。更复杂的网络环境,例如局域网环境,则要对局域网的路由进行设置,实现端口映射才可以完成GPRS模块的链接。河北工业大学硕士学位论文5§1-4论文的内容安排论文将按下面的内容进行安排:第一章,绪论,首先介绍了分布式监控系统的概念、特点以及发展现状,然后对GPRS技术的概念和特点做了简要的说明,最后在明确了系统应用方向以及功能要求之后,对系统的总体设计思路,大体构造做了简要的说明。第二章,下位机系统的硬件设计。从芯片的选择,到硬件特点和连接方式,文章详细介绍了系统硬件各个功能块的构建与连接方法。第三章,下位机软件系统的设计,重点介绍了主控制器的各部分功能程序的设计思路和执行流程,并且介绍了GPRS模块配置方案的设计思路和具体步骤。第四章,介绍了上位机的设计。首先对设计中使用的重要技术和概念,例如组态软件、ODBC(OpenDatabaseConnectivity,即开发数据库互联)数据库、动态域名访问等做了简要的介绍,然后重点介绍了界面各个功能的设计步骤和方法。第五章,介绍了系统的抗干扰措施,重点讨论了系统的优化方案。第六章,首先介绍了对系统测试的方法和结果,然后对论文的工作做了总结,最后对系统的扩展及今后的研究方向做了展望。基于GPRS的分布式远程无线监测系统的研究与设计第二章下位机系统硬件设计§2-1基本功能的设计下位机的硬件设计,首先要明确设计要求,根据其担负的功能要求,进行硬件芯片、组织结构的选择和设计。《采暖建筑节能检验标准》中规定,对室内墙体温度的测量,需要在待测建筑的顶层、中间层和底层的代表性房间,每层至少选择三个点进行持续168小时以上的测量[8]。因此下位机需要对房间内的多个位置进行长时间,有间隙的温度测量。其承担的功能如下:1.数据多点采集功能:每个传感器都需要引出10米,以测量房间内不同位置的墙体温度。2.定时采集和数据审核功能:系统每小时,将发送一次数据。数据在发送前要经过数据审核处理,如果未通过,则重新进行测量。在非发送数据期间,GPRS模块处于休眠状态,并且随时可以激活。3.显示、键盘等功能:用于显示系统的工作状态以及采集到的温度数据。4.与上位机的通信:上位机采用组态王编写,而组态王规定了与单片机的通信协议。因此在下位机的软件系统设计中,需要严格满足通信协议的要求。§2-2系统的总体结构本系统可分为以下几个部分:电源部分,负责了单片机、传感器、以及GPRS模块的供电;单片机部分,包括了周边的电路;GPRS模块部分。系统的整体设计框框图如图2.1所示。图2.1下位机结构图Fig2.1Structureofthelower-endcomputer该控制系统以微处理器为核心控制单元,根据任务需要,合理选择微处理器、温度传感器、GPRS模块和外围设备来构成系统。为使硬件设计尽可能合理,系统的电路设计遵循了以下几个方面:1.选择标准化、模块化的典型电路,提高设计的成功率和结构的灵活性。2.选用功能强、集成度高的电路或芯片。3.选择通用性强、市场货源充足的元器件。4.在对硬件系统总体结构考虑时,考虑通用性的问题。对于一个较复杂的系统,采用模块化的设6河北工业大学硕士学位论文7计方式,即对中枢控制单元、输入接口、输出接口、人机接口等部分进行分块设计,然后将其组合成一个完整的系统。在这种情况下选用现成的模块板作为系统的一部分,尽管成本有些偏高,但会大大缩短研制周期,提高工作效率。5.系统的扩展及各功能模块的设计在满足应用系统功能要求的基础上,适当留有余地,以备将来修改、扩展之需。6.在电路设计时,充分考虑应用系统各部分的驱动能力。不同的电路有不同的驱动能力,对后级系统的输入阻抗要求也不一样。如果阻抗匹配不当,系统驱动能力不够,将导致系统工作不可靠甚至无法正常工作。§2-3芯片的选择2-3-1控制芯片的选择MCS-51系列单片机及其兼容机在国内拥有广泛的用户。目前,国内市场上,Intel公司生产的MCS-51系列单片机已少见,代之以其它公司生产的MCS-51系列兼容单片机。这些公司主要有Phillips,Dallas,Siemens,AMD,Ateml,NEC等,其中以Ateml,Phillips,Dallas,WinBond,YHUNDAI,ADI等公司占有市场份额最大。每个公司都在原来MCS-51内核基础上,加入了本公司的特有技术,如拥有很大用户群的Ateml公司生产的MCS-51系列兼容单片机——AT89系列单片机,就在原来MCS-51内核基础上加入了该公司的FLASH存储器技术[9]。在Ateml公司的系列产品中,常用的AT89C系列单片机已经停产,因此AT89S系列单片机的价格比AT89C系列单片机低,而且AT89S系列单片机相对于AT89C系列单片机新增不少功能,性能有了较大提升。最终确定采用AT89S51/52[10]单片机作为处理芯片。相对AT89C系列单片机,AT89S系列新增加以下功能:1.ISP在线编程功能,这个功能的优势在于,改写单片机存储器内的程序不需要把芯片从工作环境中剥离,是一个强大易用的功能;2.最高工作频率为33MHz,高于89C系列的极限工作频率是24MHz,具有更快的计算速度;3.具有双工UART串行通道;4.内部集成看门狗计时器,不像AT89C系列单片机,需外接看门狗计时器单元电路;5.双数据指示器;6.电源关闭标识;7.全新的加密算法,使得对89C系列单片机的解密变为不可能,程序的保密性大大加强,这样就可以有效的保护知识产权不被侵犯;8.兼容性方面:向下完全兼容51全部子系列产品,例如8051、89C51等。其中ISP在线编程功能给单片机的开发带来了相当的便利,只需要下载线及相应的下载软件即可实现PC机对单片机进行写入、擦除等操作,省去了C51开发中必需的仿真器、烧写器等设备。考虑到控制器的程序内容及空间大小,处理器选用具有8KROM及256字节RAM的AT89S52单片机[11]。基于GPRS的分布式远程无线监测系统的研究与设计82-3-2传感器芯片的选择常用的数字温度传感器有AD7416、MAX6575L/H、DS18B20等。1.AD7416是美国模拟器件公司出品的单片式数字温度传感器,工作电压2.7V—5.5V,测温范围-55℃到+125℃,采用IIC串行总线和数据传输协议来实现同与外设的数据通信。在通讯过程中,AD7416通过数据输入/输出线SDA以及时钟信号线SCL与总线相连,它内部包含有带隙温度传感器和10位模数转换器,可将感应温度转换为0.25℃量化间隔的数字信号,并可以与用户设置的温度点进行比较。最多可允许8片AD7416挂接在同一个串行总线上。该温度传感器可广泛应用于环境温度监测、工业过程控制、电池充电以及个人计算机等数据采集系统[12]。2.MAX6575L/H是MAXIM公司设计生产的温度传感器,它采用单线数字接口,只用一条信号,控制线和微处理器通信,它能将温度数据直接传给微处理器,并最多将8片MAX6575L/H挂在一条I/O线上。测量温度时,微处理器短暂的拉低I/O线启动转换,经过一定延时后,第一片MAX6575L/H拉低I/O线,这个延时与绝对温度成正比,比例常数可以通过TSO和TSI引脚设定,根据选择的延时系数不同,使得8片芯片的延时时间不重叠,这样8片MAX6575L/H就安装在系统周围不同的位置,通过一条I/O线连接到微处理器[13]。3.DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,采用1-WIRE总线方式通讯,传输距离远等特点。每一个DS18B20均有一个唯一64位的序号,它是传感器的地址序列号,在出厂前被光刻好,因此多个DS18B20可以挂接在同一根总线上进行多路测量[14]。对比以上三种数字温度传感器,AD7416、MAX6575L/H的功能扩展比较困难,DS18B20的软硬件都比较简单,用一根线即可实现串行通讯,实际应用中不需要任何外部元器件即可实现测温,其经济、实用且性能优于其它器件的产品,所以设计选用该芯片作为温度采集元件。2-3-3GPRS模块的选择在GPRS模块选择上,要综合功能和成本两方面因素进行考虑。目前,市场上知名国外品牌的GPRS通信模块如Motorola公司的GZO,Siemens公司的MC39i及SIM100等,拥有较大的市场份额。而国内的很多公司,也推出了自己的GPRS产品,例如如桑容电子的Saro3150EP、致远电子的ZWG-23DP等等。比较而言,国外的品牌在做工上比较考究,性能也比较可靠。而国内的品牌则在功能上比较齐全,性价比高,而且在服务方面也有一定的优势。很多品牌将串口引出,使用方便,集成度高。但是为了使系统更加小巧紧凑,选择使用GPRS嵌入式模块。GPRS模块在使用前要经过配置才能够使用,配置参数,要根据数据中心的网络环境而定。GPRS模块的配置有多种方式,在上位机和下位机都可以实现,具体的配置方案在第三章进行介绍。经慎重考虑,本课题采用的是国内品牌,致远电子有限公司的ZWG-23DP嵌入式模块。其具体特性将在后面章节详细介绍。2-3-4显示芯片的选择显示芯片的种类非常多,一般可分为英文显示和中文显示,根据显示的内容多少,划分档次。一般河北工业大学硕士学位论文9来说,显示芯片的选择主要围绕着系统的功能要求来考虑。在本课题中,从成本控制和实用角度出发,在下位机设计显示模块并非必要,因为下位机的用途就是采集数据并将数据传给上位机,无需现场显示。况且已经在上位机设计了友好的画面显示功能,能够将数据按照时间顺序,制作设计报表进行显示。因此在下位机的显示部分,不需要追求显示功能的强大和完整,只需要显示工作状态以及测温的数据即可。在下位机部分制作显示模块,功能上有所重复,增加了成本。但是从普通用户的角度出发,加入LCD显示,可以使产品更加友好易用。最终系统选择了LCD1602作为显示芯片,显示下位机部分的工作状态和采集到的数据。§2-4系统硬件设计2-4-1传感器模块设计1.DS18B20简介DS18B20芯片引脚说明:DS18B20采用3脚PR-35封装或8脚SOIC封装,DQ为数据输入/输出端,它属于漏极开路输出,外接上拉电阻后,常态下呈高电平,VDD是可供选用的外部+5V电源,不用时需接地,GND为地,NC为空脚[15]。DS18B20性能特点[16]:(1采用单总线专用技术,只要求一个端口即可实现通信,可连接到单片机的串行口线或者其它I/O口线,无需经过其它变换电路,直接输出数字温度值;(2测温范围为-55℃~+125℃,最高测量分辨率为0.0625℃;(3内含64位的只读存储器ROM,刻有DS18B20唯一识别序列号;(4适配各种单片机或系统机;(5用户可分别设定各路温度的上、下限值。单总线技术就是在一条总线上仅有一个主系统和若干个从系统组成的应用系统。由于总线上的所有器件都通过一条信号线传输信息,总线上的每个器件在不同的时间段驱动总线,这相当于把数据总线、地址总线和控制总线合在一起,所以整个系统要按单总线协议规定的时序进行工作。为了使其它设备也能使用这条总线,单总线协议采用了一个三态门,使得每一个设备在不传送数据时空出该数据线让给其它设备,外部需要一个上拉电阻,所以在总线空闲时是高电平[17]。挂在单总线上的器件称为单总线器件,为了区分总线上的不同器件,生产单总线器件时,厂家都刻录了一个64位的二进制ROM代码作为芯片的唯一序列号。这样通过寻址就可以把每个器件识别出来。64位ROM的结构如下:开始8位是产品类型的编号(DS18B20为10H,接着是每个器件的唯一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS1820可以采用单线进行通信的原因。DS182O的内部框图如图2.2所示,它主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器、用于存储用户设定的温度上下限值、触发器存储与控制逻辑、8位循环冗余校验码发生器等7部分。基于GPRS的分布式远程无线监测系统的研究与设计图2.2DS18B20的内部框图Fig2.2TheinnerstructureoftheDS18B202.测温原理与连接方式DS18B20测量温度时使用特有的温度测量技术,其测量电路框图如图2.3所示。内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时,振荡器的脉冲无法通过门电路。如计数器设置为-55℃时,在计数器到达零之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55℃,同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到归零,如果门电路仍然未关闭,则重复以上过程。温度表示值为9-12位可编程,高位为符号位。图2.3DS18B20的测温原理图Fig2.3WorkprincipleoftheDS18B20由于DS18B20的单总线特性,使得总线命令者的一根IO口线上可以挂接多个DSl8B20[18-21]。其电源供电方式有两种:(1外部电源供电连接方式:GND接地,DQ与单片机的I/O线相连,而且DQ口线都要接4.7K上拉电阻。如图2.4所示:10河北工业大学硕士学位论文基于GPRS的分布式远程无线监测系统的研究与设计图2.6ZWG23-DP实物图Fig2.6ThepictureofZWG23-DP图2.7ZWG-23DP结构框图Fig2.7theconfigurationofZWG-23DPZWG-23DP的主要特性是:(1支持数据的透明传输;(2支持备用数据中心;(3IP访问以及动态域名访问;(4支持永远在线、空闲下线和空闲掉电三种工作方式;(5具有断线自动重连的功能;(6支持短信和电话唤醒功能;(7及短信配置与维护功能;(8支持本地和远程图形化界面配置和维护;(9支持数据中心虚拟串口功能;(10拥有多重软硬件设计,复合式看门狗技术;(11适应高温和低温工作环境,温度范围:-25℃~+75℃;(12功耗控制,尤其是在休眠与掉电模式下,功耗极低。其具体特性见表2.1所示:12河北工业大学硕士学位论文表2.1ZWG-23DP工作参数Table2.1TheparametersofZWG-23DP参数名称参数备注GPRS移动站类型CLASSB网络类型GPRS多时隙类型CLASSA频段900/1800/1900MHz基于GPRS的分布式远程无线监测系统的研究与设计14表2.2ZWG-23DP引脚说明列表Table2.2DescriptionofZWG-23DPpins管脚名称方向说明备注VBAT—GPRS模块供电引脚(3.8V—4.5V)—VDD—CPU供电引脚(3.8V—7V)—电源接口GND—数字地—TXD_AOUT串口A发送RXD_AIN串口A接收通信口TXD_BOUT串口B发送串行数据接口RXD_BIN串口B接收配置口SIM_RST_POUT复位SIM_CLK_POUT时钟SIM_IO_PIN/OUTIO数据SIM_PRSNSINSIM卡插入检测外接SIM卡接口VSIMINSIM供电不使用SIM卡插座时,可将外接插座连接这些管脚,以便将SIM卡接口引到用户地板或机箱接口处NETOUT网络指示LINKOUT上线指示,低电平有效FULLOUT缓冲区满表示,低电平有效信号指示线ACKOUT数据收发指示当需要外接指示灯时,直接接LED上拉到3.3V,否则可悬空,也可做信号指示线UART_CTRIN通信口和配置口切换控制引脚低电平有效控制信号线RST_CTRIN复位控制引脚低电平有效(二)与控制器的连接本课题中,ZWG-23DP使用只使用了串口A,与单片机串行相连。并且引出信号指示线,连接数码管显示状态。控制器根据LINK引脚的状况,判断GPRS模块的链接状态,并在液晶模块显示。连接电路图见附录A。2-4-3单片机及周边电路1.AT89S52基本介绍AT89S52是美国ATMEL公司生产的低电压,高性能CMOSS位单片机,有3种不同的封装。即PDIP、河北工业大学硕士学位论文TQFP、PLCC,其中PDIP(双列直插式)比较常见,其有效引脚为40条[22]。片内含8kbytes的在线可擦写程序存储器(FLASH和256bytes的随机存取数据存储器(RAM。器件采用ATMEL公司的高密度、基于GPRS的分布式远程无线监测系统的研究与设计接地或者直接与VCC相连。AT89S52内部的寄存器WMCON专门用于看门狗和内存的控制,该寄存器的高3位PS2,P21和PS0用于设置看门狗定时器周期;位0是看门狗使能位;位1用于看门狗定时器的复位,通过AT89S52内部的看门狗可以防止程序跑飞或进入死锁状态。3.显示模块显示模块使用的是常见的LCD显示芯片1602。它能显示两行,每行16个英文字符。下位机的显P6GND(直流输出地Vo2-(二路输出低电位)JWAS-10-S5N(W的特点是:高品质,低价格;高效率,低温升,小体积;内置EMI滤波器,低纹波杂讯;100%负载老化;通用交流输入电压,全范围电压;有短路、过载、过压保护。其主要参数见下表2.4:表2.4电源芯片参数列表Table2.4Theperformanceofpowerchip参数描述参数描述输入电压N:165-265,W:85~265输出电压5V标准符合VL1850,IEC950,CCEE,GB4943过载保护值过流,过热,短路保护(长期自恢复输入频率47-63Hz温漂系数<0.03%/℃高效率80%(典型值工作温度-25℃~+75℃输出电压精度一路1%,二路5%标准符合VL1850,IEC950,CCEE,GB4943输出纹波噪声<1%Vp-p接线端子JN1直接接入交流220V电压,经过JWAS-10-S5N(W进行交流—直流换后,Vo+引脚输出5V电压。ZWG-23DP的模块供电引脚VBAT需要直流稳压电源3.8V~4.5V,典型值是4V;VCC引17基于GPRS的分布式远程无线监测系统的研究与设计18脚需要3.8V~7V,典型值为5V。通过调整三端可调稳压器LM317的参考点的电阻,使LM317输出4V电压,满足GPRS模块的需要。发光二极管DS5为电源指示灯,指示系统是否己经接上电源。§2-5本章小结本章完成的工作是,根据任务提出的要求,拟订了系统组成方案,完成了系统的电路硬件总体设计。具体完成了传感器模块,GPRS模块,单片机周边电路,供电模块,键盘输入、液晶显示及各个模块间接口的硬件电路设计。河北工业大学硕士学位论文19第三章下位机系统软件设计系统软件是系统运行的核心,没有软件的系统是不能运行的。怎样把控制系统的硬件和软件有效的结合起来是系统设计成功的关键。依托下位机硬件系统,下位机软件系统采用C语言进行程序设计,具有较高的可移植性。下位机软件设计部分主要完成了传感器的时序操作,采集数据的审核,对上位机的应答通信等功能。与硬件设计一样,软件设计更需要明确系统的功能要求,然后根据功能划分软件模块化,完成各部分程序设计。1.多点温度采集功能由于使用了单总线技术,因此要注意读写时序的要求。本课题全部使用了C语言编程,可读性和移植性较强。DS18B20的编程,主要是底层函数的编写,例如读操作和写操作等。要注意的是,对于传感器的数据线,加以区分,输入的参数进行选择使用。这样,就可以访问不同信号线上的传感器,从而轻松实现采集点数的扩展。2.定时采集和数据审核定时采集,是通过上位机的控制来实现的。上位机周期性发送测温命令,下位机根据命令进行操作。因此定时功能在上位机的设计中完成。数据的合理化审核,是在当数据采集完成立刻进行。审核主要包括两项内容,即均值审核和变化率审核。其中均值审核选择在下位机部分实现。而变化率审核,则放在上位机部分比较合适。因为在上位机部分的报警功能中,能很简单地对数据的变化率做出监控,并报警。具体设计,见第四章内的报警设计。3.显示与键盘控制从成本控制和实用角度出发,在下位机设计显示模块并非必要。因为就系统功能而言,下位机的用途就是采集数据并将数据传给上位机,无需现场显示。而且从上位机可以完全监控下位机的状况,可以完美地显示下位机的工作状态和测温数据,因此在下位机部分制作显示模块,功能上有所重复,增加了成本。但是从使用角度出发,加入LCD显示与键盘控制,可以使产品更加友好易用。因此系统选择了较低成本的LCD显示,并加入了简单的键盘控制。4.与上位机的通信组态王与单片机的通信有固定的协议,因此在单片机中必须添加对协议的支持函数。根据协议规定,细化功能,设计相应的功能函数,以实现与上位机的有效通信。下面就下位机软件系统的整个执行过程做一个简单的描述:首先微处理器先对整个系统初始化,使CPU和外围连接器件处于工作状态。如果整个系统都进入正常工作状态,则开始进入等待命令状态;GPRS模块则与远程的上位机进行链接,建立透明数据通道;上位机命令通过GPRS模块,经串口发送到单片机;下位机分析并执行命令,如果执行成果,则再次进入等待状态,直到下一条命令的到来;对执行失败的次数进行计数,如果超过三次,则放弃任务,重新初始化。下位机软件系统的总体执行过程如下图3.1所示:基于GPRS的分布式远程无线监测系统的研究与设计图3.1控制系统主程序流程图Fig3.1Themainprogramflowchartofcontrolsystem§3-1DS18B20程序设计3-1-1DS18B20分辨率设置DS18B20的数字温度输出可进行9-12位的编程,通过对便笺式RAM中的CONFIG寄存器的可编程温度分辨力位R0、R1进行编程,可设定不同的温度分辨力及最大转换时间,见表3.1[27]:表3.1R1R0不同时的对应配置Table3.1ConfigurationwhenofR1R0havedifferentvalueR0R1有效数据/位温度分辨率/℃最大转换时间/ms0090.593.7510100.25187.501110.12537511120.0625750由表可见,设定的分辨力愈高,所需要的温度转换时间就愈长。因此,在实际应用中需要在分辨力和转换时间之间权衡考虑。在芯片出厂时R1和R0均配置为“1”,即工作在12位模式下。当DS18B20接收到温度转换命令(44H)后,开始启动转换,转换后的温度值就以16位带符号扩展的二进制补码形式存储在便笺RAM的第0,1字节。在执行读ROM命令后(33H),可将这两个字节的温度值通过单总线传20河北工业大学硕士学位论文送给主CPU,高位字节中的符号代表温度值为正还是为负。本论文采用出厂默认设置。3-1-2DS18B20的操作指令单片机对DS18B20的每一步操作都要遵循严格的工作时序和通讯协议,对其访问过程是:首先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器数据操作。例如主机控制DS18B20完成温度转换、读取温度值这一过程,步骤为:先进行初始化操作,再发送44H指令进行温度转换,延时一段时间后,再次初始化操作,发送BEH指令进行读取温度值,然后将所得温度值转存。其指令代码如下表3.2所示。表3.2DS18B20指令代码表Table3.2InstructionlistofDS18B20ROM操作指令代码RAM操作指令代码ReadRom(读ROM33HWriteScratchpad(写暂存存器4EHMathRom(匹配ROM55HReadScratchpad(读暂存存储器BEHSkipRom(跳过ROMCCHWriteScratchpad(写暂存存储器48HSearchRom(搜索ROMF0HConvertTemperature(温度转换44HAlarmSearch(告警搜索ECHRecallEPROM(读非易失寄存器值到暂存存储器B8HReadPowersupply(读电源方式B4H3-1-3DS18B20子程序设计DS18B20的底层程序有:初始化程序、读字节程序、写字节程序、读序列码程序、测温程序五个。其中读ROM码程序用于读取传感器的64位识别码,需要将每个传感器与单片机单独连接,进行逐个测量。1.DS18B20的初始化图3.2初始化时序图Fig3.2Theschedulingdiagramofinitialization初始化时序如图3.2所示,初始化始于主机发送一个复位脉冲,即主机将总线拉低,持续480μs~960μs21基于GPRS的分布式远程无线监测系统的研究与设计后将总线拉高,释放总线进入接收状态,之后DS18B20开始控制总线,在检测到总线的上升沿之后,等待15μs~60μs,DS18B20发送存在脉冲,将总线拉低,持续60μs~240μs,在区间(60μs,240μs]内释放总线,然后由主机控制总线进行延时操作,待DS18B20检测到总线上升沿的480μs以后,初始化结束。在DS18B20控制总线时,主机循环检测总线电平信号,如果为低电平,则进行延时操作;如果为一直为高电平,则检测设定时间终止后,将DS18B20存在标志置0,表示不存在。软件框图如图3.3所示:图3.3初始化程序流程图Fig3.3Theprogramflowchartofinitialization2.字节读、写程序DS18B20的字节读写程序,首先要编写读操作子程序和写操作子程序。其中写操作分为写“0”操作和写“1”操作。DS18B20的读操作:DS18B20的读时隙如图3.4所示,主机将总线从高电平拉至低电平,只需保持1μs,之后的14μs内将总线拉高,就产生读间隙,DS18B20将要读的位送到总线,主机必须在产生间隙后,至读操作开始的15μs内完成读位操作,然后进行延时,待整个读操作时间60μs到120μs时释放总线。控制器读0时隙480μsMinimum控制器读1时隙总线控制器低电平总线和DS18B20同为低电平DS18B20低电平电阻上拉15μs15μs30μs15μs15μs30μs>1μs>1μs总线控制器采样总线控制器采样GNDVCC图3.4DS18B20读操作时序图Fig3.4Theschedulingchartofreadoperation22河北工业大学硕士学位论文DS18B20的写操作:DS18B20的写时序如图3.5所示,主机将总线拉低1μs后,就产生写时隙,总线开始拉低的15μs内主机应将所要写的位送到总线上,DS18B20在之后的15μs—45μs内对总线采样,若为低电平,写入的位是“0”,如左图所示;若为高电平,写入的位是“1”,如右图所示,写“0”操作过程完成的时间为60μs~120μs,写“1”操作过程完成的时间大于1μs。主机在将位送总线之后DS18B20控制总线时进行延时操作。GNDVCC控制器写0时隙480μsMinimum控制器写1时隙总线控制器低电平总线和DS18B20同为低电平DS18B20低电平电阻上拉>1μDS18B20采样MINTYPMAX15μs15μs30μsDS18B20采样MINTYPMAX15μs15μs30μs图3.5DS18B20写操作时序图Fig3.5Theschedulingchartofwriteoperation3.读序列码程序此程序并不直接在本课题中出现,但是在传感器使用前,要在单片机开发板上运行。此时每次只连接一个DS18B20,运行后可读出传感器的64位序列码,然后通过串口输出。开发板通过串口线与电脑相连,使用串口调试助手,获得序列码。下图3.6是读序列码程序执行过程的简要表示。图3.6读序列码程序流程图Fig3.6Theprogramflowchartofwriteoperation4.测温程序23基于GPRS的分布式远程无线监测系统的研究与设计当接到上位机的测温命令时,启动测温程序。测温命令就是对寄存器X0的访问。测温原理是跳过ROM码匹配,然后令所有的寄存器启动测温,然后进行逐一匹配操作,将各传感器采集到的温度数据读入单片机,然后等待发送。具体的执行流程如下图3.7所示。图3.7测温子程序流程图Fig3.7Theprogramflowchartoftemperaturecollection§3-2通信协议程序设计组态王与单片机之间的通信,有固定的通信协议需要遵守。数据通信由组态王发起,采用问答的方式,以数据包为单位进行。组态王发出读命令或者写命令,命令中包含了数据头、机器地址、标志位、数据地址、数据长度、校验以及结束位等信息[28],对于下位机的回应格式也做出了具体的要求。3-2-1通信协议的介绍1.通信方式通信方式为RS232,波特率由单片机决定。但组态王中设置的通信参数,如波特率、数据位、停止位、奇偶校验等必须与单片机编程中的设定一致。24河北工业大学硕士学位论文252.组态王中所定义的设备地址和寄存器地址在组态王中,设备定义时需要设定的地址格式为:##.#前两个字符是设备地址,占用一个字节,范围为0~255。当存在多下位机系统时,用于标识所访问下位机地址。上位机需要为每个下位机定义对应的外部设备。而在设备定义时,设定了不同的地址数据。当上位机访问不同的外部设备,发出的命令中就会包含不同的的地址信息。同时收到命令的下位机系统,可以自行判断是否需要执行该命令。每个设备,都有相应的寄存器空间,如下寄存器的地址称为数据地址,格式如下表3.3所示:表3.3寄存器格式Table3.3Formatofregister寄存器名称dd下限dd上限数据类型Xdd065535BYTE/UINT/FLOAT其中dd代表数据地址,此地址也与单片机的数据地址相对应。在组态王内定义变量时,根据选择的变量类型不同,BYTE,UINT,FLOAT类型分别占用一个、两个和四个字节。同一数据区,不可交叉定义不同数据类型的变量。而且为了提高通信访问速度,最好使用连续的数据区。例如:(1在单片机中定义从地址0开始的数据类型为BYTE型的变量,则在组态王中定义相应的变量的寄存器为X0、X1、X2、X3、X4等,数据类型为BYTE,每个变量占一个字节。(2在单片机中定义从地址100开始的数据类型为UINT型的变量,则在组态王中定义相应的变量的寄存器为X100、X102、X104、X106、X108等,数据类型UINT,每个变量占两个字节。(3在单片机中定义从地址200开始的数据类型为FLOAT型的变量,则在组态王中定义相应的变量的寄存器为X200、X204、X208、X212等,数据类型FLOAT,每个变量占四个字节。3.组态王与单片机通讯的命令格式:组态王规定与单片机的通信,以数据包的形式进行。在数据包中除字头、字尾外,所有的数据字节均用两个ASCII码表示。当通讯失败,发送尝试恢复命令(COMERROR,即请求地址为0的一个BYTE数据。数据包的构成如下表3.4所示。表3.4数据包格式表Table3.4Theformatofdatapackage字头设备地址标志数据地址数据字节数数据…异或CR字头:占用1个字节,为定值40H。为了避免出现混淆,在其他位置的数据,不能再使用40H。例如当组态王内设备地址设置为10.0时,命令数据包内使用的设备地址数据将是30H41H,而不是30H40H。在其他位置的数据,也是如此。设备地址:1字节,用2个ASCII码表示,0~255(即0---0x0ff),将前四位,当作一个字符,用ASCII码表示。后四位同样处理。于是,实际上是用两个字节表示。将这种操作称为拆分操作。标志位:占用1个字节,经拆分操作用2个ASCII码表示。bit7~bit0,(前四位通常为43H),即1101;后四位则表示了通信数据的类型,打包与否以及读写命令的识别。标注位说明如表3.5所示:基于GPRS的分布式远程无线监测系统的研究与设计表3.5标志格低字节格式表Table3.5Theformatoflowerindicationdyte标志字节低4位数值说明00数据类型为字节01数据类型为字bit3bit21x数据类型为浮点数0不打包bit11打包0读命令bit01写命令数据地址:2字节4个ASCII码,0x0000~0xffff。与机器地址数据相同,在通信中每个字节用两个ASCII码表示,即数据地址在通信中占用四个字节。如表3.6所示:表3.6寄存器地址分配举例Table3.6Theexampleofregistersdistribution寄存器数值地址X030303030X130303031X1030303041X1530303046X1630303130数据字节数:占用1字节,经拆分操作,用2个ASCII码表示。表示的是实际读写的数据的字节数,而不是通信时占用的字节数。数据:为实际的数据,经拆分操作,转换的ASCII码,个数为字节数乘2。异或:异或计算从字头之后到异或字节前,异或值转换成2个ASCII码使用。结束位(CR):为定值0x0d,标志着数据包的结束。上位机读命令的格式:图3.8读字节命令格式图Fig3.8Theformatofreadoperation26河北工业大学硕士学位论文3-2-2通信协议相关程序1.串口发送函数串口通信包括了三个基本的发送函数:发送指定输入字符的函数send_char(unsignedchartxd,发送字符数组内全部字符的函数send_str(,以及发送拆分数据的函数send_str0(,功能描述见表3.7所示:表3.7串口功能函数Table3.7Thefunctionofserialinterface函数名称输入变量返回值功能表述描述send_charunsignedchartxdvoid将输入字符通过串口发送send_str无void将字符数组strl[]内的数据依次串口发送send_str0无void将字符数组Data_buf_ASCII[]内的数据依次串口发送2.字节拆分函数此函数是用于完成将一个字节的高四位和低四位,分别用一个ASCⅡ码来表示的功能。在前面数据包格式的介绍中可知,此函数在协议中应用非常频繁。具体执行过程如下图3.9所示:图3.9字节拆分程序流程Fig3.9Theprogramflowchartofbyte-dividing3.接收准备程序下位机系统在运行中,始终在监控串口状况。如果接到命令数据,则开始进行命令的分析和判断。根据通信协议,上位机的读命令以字节40H开头,以0dH结尾。例如读15号仪表,数据地址为15的数据。其中数据为100,数据类型为字节,打包。组态王所发数据如表3.8所示:27基于GPRS的分布式远程无线监测系统的研究与设计表3.8读命令数据结构Table3.8Datastructureofreadoperation3030463031字头设备地址标志、读操作、字节型、打包数据地址数据字节数异或结束位接收准备程序操作流程如下图3.10所示:图3.10接收准备函数流程图Fig3.10Thepreparativefunctionofdata-receipt28河北工业大学硕士学位论文294.发送准备程序当上位机的命令结束,即串口接收到0dH时,控制器执行的函数。控制器首先对各标Fig3.11Tsmit当ff等于2时,表示访问作。此时,下位机首先回复预责具体发送过程的子程序。由通信协议可知,数据包内的校验位数据需要计算。需要对访问个字节型I/O变量,占用一个字节。它的回复数据已经设定在单片机里,无发送准备程序,是志位进行判定,然后执行相应的操作。操作流程如图3.11所示:图3.11发送准备函数流程hepreparativefunctionofdata-tran的是寄存器X0,通过这条访问命令,启动测温操存的回复数据,然后开始测温。测温时间大于0.75s,在此期间,不能相应上位机命令。因此在上位机设计时,在访问X0之后相隔大于1s之后,才开始读取数据。当测温结束,ff置1,当下次读命令到来时,就可以调用发送函数,传送温度数据。5.发送程序发送程序是负数据包内校验位数据以前,除去字头数据40H外的数据。进行异或运算。由于本系统中,寄存器访问可以分成两种:(1寄存器X0的寄存器X0是存放的是一基于GPRS的分布式远程无线监测系统的研究与设计30需更他寄存器的访问温度数据,因此I/O变量设定为字型,每个占用两个字节。即每个传感器占用的数据内容,预存于字符数组str[]内,包括了设备地址和Fig3.12Thepmitfunction§3-3其他程序设计3-3-1显示模块程序设计机的工作状态以及测量的数据。显示模块使用的是抵挡次液晶1602,只显示两行了单片机测温状态,以及GPRS链接状态的显示,分别在第一行和第二行显示。改。(2其由于其他寄存器存放的是两个字节,并规定用前一个寄存器来表示。例如传感器器1实际占用的是寄存器X1和X2,但在组态软件内的设定时,设定为X1。而传感器2,就必须设定为X3,不得占用X2。最终传感器1、传感器2、传感器3的表示寄存器名就变成了X1、X3、X5。因此只需设计第二类访问的回复数据,其通用标志位。计算从str[1]到str[4]的异或值,即30H46H30H32H间的异或计算,可得结果为74H。定义的局部变量xor赋予初值74H,然后与数据的拆分值进行异或运算后,经拆分操作可得校验位数据。具体执行过程如下图3.12所示:图3.12发送函数流程rogramflowchartoftrans显示模块用于显示下位,每行16英文字符,但已足够使用。显示的内容比较少,程序也比较简单,主要是对键盘的相应。显示模块与键盘相关的按键有三个,即复位键K1,上翻键K2,下翻键K3。上翻下翻用于显示内容的更改,复位则重新初始化。工作状态的显示,包括只选择这两个,是因为这两个状态最为重要,而且不可或缺。“tempok”表示单片机测温成功,则可以响应上位机命令,而且标志这单片机的工作状态正常,否则显示“tempnot”。而第二行显示“gprs河北工业大学硕士学位论文ok”GPRS模块的链接,则代表了通信通道的建立,而且表示了GPRS模块的正常工作,否则显示“gprsnot”。每个传感器的数据,可以用一行显示,即两个传感器为一组数据。当按下上翻或下翻键时,显示相邻组的数据。数据前有传感器的个数标号加以区分。软件执行过程如图3.13所示:31Fig3.13model3-3-2消抖和看门狗程序是利用机械触点的合、断作用,机械触点由于弹性作用的影响,在闭合及断开瞬号,则确认按键操作位电路来监控程序的运行状态。具体使用方法如下:在程序初始化中周期内必须至少喂狗一次。而且这个时间是固定的,无法更改。当晶振为12M时,每16个毫秒需喂狗一图3.13显示模块程序流程图Theprogramflowchartofdisplay无论是按键或键盘,都间都有抖动过程,如图4-7所示一般为5-10ms,消除抖动影响的措施通常可通过硬件软件两种方法实现:硬件消抖主要有双稳态消抖、滤波消抖。软件消抖主要通过软件延时实现。消抖子程序原理是,对检测到的按键延时10ms后再行检验,如果仍然存在闭合信,否则认为是抖动,不予认可。系统使用AT89S52的内部看门狗复向看门狗寄存器(WDTRST地址是OA6H中先写入0lEH,再写入0EIH,即可激活看门狗。AT89S52的看门狗必须由程序激活后才开始工作。所以必须保证CPU有可靠的上电复位。否则看门狗也无法工作。看门狗使用的是CPU的晶振,因此在晶振停振的时候,看门狗也无效。要保证程序中,在16383个机器基于GPRS的分布式远程无线监测系统的研究与设计32§3-4GPRS模块配置3-4-1配置方案设计ZWG-23DP模块的配置有四种方式,本地串口配置、远程配置、短信配置以及单片机直接配置。最为简单,只需使用配套的开发板,使用串口与PC机相连后,运行厂家提供的配置短信配置,使用比较不便,但是可以作为辅助配置方案存在。单片机直接配置,即根据串口配置协议,案是在上位机部分设计与下位机的通信以数据包的形式进行,单片机需要进行解包程序,才能分离出上位机分设供显示模块在功能上并非必要,而且下位机本身的体积小,加入较大置,但是这必然增加系统的成本和设计开销。综合考虑,本课与远程配置在配置过程上基本相同,因此下面对本地配置的步意,这种配置方式是模块尚未嵌入系统,安插在实验板上的时候采用的,可以看作进此工作模式配置为空闲下线的方式,DTU配置选择客户端模式次。因此在传感器操作时,注意在底层函数中喂狗。本地配置在使用上软件,就能方便地进行有关参数的配置。远程配置首先需要GPRS模块连接上服务器才可以进行。通过串口发送字符来完成配置,与本地串口配置在原理上和协议上没有什么不同。GPRS模块的配置参数非常多,而且经常需要更改,因此最好使用图形化配置,或至少能够清楚地显示配置的参数和状态,以方便用户的使用。那么就有两种可能方案,一种可能性方配置界面,以显示配置状况,并且将配置的操作,转换成对应的数据命令传给下位机,下位机根据命令进行配置;另一种可能则是在下位机显示,配置程序存储在控制器内,用户根据下位机的显示屏和键盘进行配置操作。在下位机提供高档次的显示模块或者。下面对使用单片机直接配置的两者方案做一个比较和分析:可能性1:上位机发送的数据,因此后才能得到相应的数据。因此上位机不能够直接发送配置字符,故而在上位机部计配置界面的方案也不可行。可能性2:设计上是可行的,不过要求高档次显示屏以方便用户的使用,带来成本的上升。在第二章已经分析过,下位机提显示面积的高档次显示屏,并不协调。从友好易用的角度来说,对于普通用户单片机直接配置,远不如厂家提供的配置软件使用方便。尽管可以直接使用单片机进行GPRS模块的配题采用了在GPRS模块嵌入系统前,先本地配置;在嵌入系统后,使用远程配置的方案。本地配置使用的是配置软件、开发板和串口线,远程配置利用的是备用数据中心的域名访问功能。这种方案的优点,将在第五章第3节进行详细论述。3-4-2配置流程和步骤由于本地配置最为方便简单,而且骤做详细的介绍。但要注是对出厂配置的修改。当嵌入系统之后,主要使用远程配置方式进行配置,短信配置方式辅助。配置内容主要包括串口参数配置、网络基本配置以及数据传输配置等。进入本地配置的步骤、模式配置以及串口配置如下图3.14、3.15所示:入本地配置,要求再软件内的串口参数配置和PC机上使用的串口配置一致。在模式配置中,由于下位机系统大部分时间不需要传输数据,因。串口配置为:2400bps,8位数据位,1位停止位,无校验。河北工业大学硕士学位论文(2)(1)进入本地配置3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论