基于gprs的分布式油田原油计量和防盗系统设计-毕业论文_第1页
基于gprs的分布式油田原油计量和防盗系统设计-毕业论文_第2页
基于gprs的分布式油田原油计量和防盗系统设计-毕业论文_第3页
基于gprs的分布式油田原油计量和防盗系统设计-毕业论文_第4页
基于gprs的分布式油田原油计量和防盗系统设计-毕业论文_第5页
已阅读5页,还剩136页未读 继续免费阅读

下载本文档

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

文档简介

I毕业设计题目基于GPRS的分布式油田原油计量和防盗系统设计XXX专业班级指导教师 I基于GPRS的分布式油田原油计量和防盗系统设计本课题针对分布式油田的原油计量和丢盗油问题,研究开发了一套基于GPRS的原油计量和防盗系统。系统通过对原油的实时计量,解决长期以来分布式油田存在的计量方式简陋,实时性差,人为误差大的问题;通过盗油报警系统,打击盗油犯罪分子,减少或杜绝偷盗油现象。整个系统旨在提高分布式油田的信息化管理水平。整个系统包括两个部分:远程监测终端和计算机监控中心。监测终端完成储油罐中原油油位、储油罐阀门状态、以及当防盗报警设备被触发时井场周边图片数据的采集,实现数据通过GPRS网络的发送和接收;计算机监控中心通过固定的IP地址登陆Internet网络,完成数据接收、保存和分析,实时显示各储油罐油位高度、当前阀门状态,并提供报表打印等功能。在远程监测终端的硬件开发中,为了保证整个硬件配置灵活、易于调试、升级和维护,采用了模块化的设计方法,即依据系统功能自顶向下的把硬件分成了五个模块,分别是数据采集模块、GPRS通信模块、图像采集模块、键盘与显示模块和系统供电模块。数据STM32F103C6T6为核心,负责监测终端总体控制功能;GPRS通信模块由BenQ公司的M23AGSM/GPRS模块及相关外围电路组成,负责数据的发送和接收;图像采集模块负责将视频信号转换成数字信号;键盘与显示模块负责终端的显示和操作;供电模块负责对整个监测终端设备提供工作电源。论文中对数据采集模块、GPRS通信模块和键盘显示模块的电路进行了详细说明。在远程监测终端的软件开发中,借鉴于实时操作系统进行软件开发的层次化设计方法,在远程监测终端的软件设计中也采用了层次化的软件设计结构。总的来说,整个监测终端软件采用的是先软件分层,再结合有限状态机、利用事件驱动的方法来设计的。论文Ⅲ中首先对远程监测终端软件开发中应用的编程方法进行了介绍,然后对远程监测终端的部分底层驱动程序以及应用层程序的设计进行论文最后对计算机监控中心的软件开发作了简要说明。关键词:GPRS,分布式油田,计量和防盗,Cortex-M3内核,onGPRSwirelessnetworkinthepaper.Inthesystem,alotofproblemsroughmeasuringmethod,poorreal-timeperformanceandhighwillbereduced.Theaimofthewholesystemistoimprovetheoiltankwhentheburglaralarmequipmentistriggethereal-timedisplayofcrudeoillevelinoiltank,currentvalveimageacquisitionmodule,keyboardanddisplayamodules.ThecoreofdataacquisitionmoduleisARM'sVcontrolofmonitoringterminals.GPRSmoduleiscomposedofBenQ'ssupplymoduleachievespowequipment.Inthepapercircuitsofdacommunicationmoduleandkeyboardmodulearedesignisbuiltinthehierarchicaldesignwaywhwholeremote-monitoringterminalsoftwaredesignuseshierarchicaladvantageofcase-drivenlast.Systemsoftwareprogrammingideaisintroducedfirstly,andthenprogramsofmonitoringterminalaredescribedindetail.Finally,abriefdescriptionofsoftwaredesignofcomputer基于GPRS的分布式油田原油计量和防盗系统设计I I1绪论 11.1项目背景及研究的目的和意义 11.2项目的国内外研究现状 1 21.4论文的组织结构 32需求分析 52.1系统要解决的问题 52.1.1远程监测终端的要求 52.1.2计算机监控中心的要求 52.2远程监测终端功能分析 62.3计算机监控中心软件功能分析 6 72.4.1运行环境 72.4.2测量参数及要求 72.4.3无线通信范围 73总体设计方案 83.1设计原则 83.2系统方案 83.2.1远程监测终端的结构 93.2.2计算机监控中心的结构 3.3系统方案的可行性 3.4系统开发涉及的相关内容 3.4.2GPRS模块选型 3.4.5远程监测终端的外设备选型 3.4.6远程监测终端的微控制器 Ⅱ3.4.7开发工具 4远程监测终端的硬件电路设计 4.1系统电源设计 4.2数据采集模块的电路设计 4.2.2实时时钟电路 4.2.3数据采集模块的供电电路 4.2.4数据采集模块的串行通信电路 4.2.6开关量输入处理电路 4.6.7开关量输出处理电路 4.2.8SD卡接口电路 4.3GPRS通信猫的电路设计 4.3.1M23A模块供电电路 4.3.2M23A模块启动电路 4.3.3M23A模块通信接口电路 4.3.4SIM卡接口电路 4.4键盘与显示模块的电路设计 5远程监测终端的软件设计 5.1软件设计方法 5.1.2事件驱动的程序设计方法 5.2远程监测终端底层驱动程序设计 5.2.2系统时钟节拍驱动程序 5.2.3串口底层驱动程序 5.2.5图像采集驱动程序 5.2.6开关量采集驱动程序 5.2.7模拟量采集驱动程序 5.2.8SD卡驱动程序 5.2.9键盘与显示驱动程序 基于GPRS的分布式油田原油计量和防盗系统设计I5.3远程监测终端应用层程序设计 6计算机监控中心的软件开发 6.2功能模块的设计 6.2.1用户管理模块 附录A:数据采集板原理图1-1 附录B:数据采集板原理图1-2 附录D:键盘显示板原理图 攻读学位期间发表的论文目录 攻读学位期间参与的项目 原创性声明及关于学位论文使用授权的声明 1能源问题是一个国家经济发展的命脉,它严重影响着工业化进程的步伐。而石油能源又被誉为“工业的血液”,因而一个国家石油的储量将很大程度影响该国经济发展的速度。我国是一个石油资源不十分丰富的国家,自1993年开始,我国便超越日本成为仅次于美国的世界上第二大石油进口国[1,能源机构预测显示,为了保持高经济增长势头,在2040年,中国将有87%的原油依我国相当一部分油田的井场属于分布式布局,分布式布局指的是油井数量头或沟壑,每个井场由3~10口井组成,每口油井独立对应一个标准储油罐。报现象时有发生,并且由于缺乏监管机制,很严重,据有关资料,目前陕北共有分布式油井3万多口,以产油100万吨为生产计划,历年来丢油的数量十分惊人,被偷盗原油占总产量的10%~15%之效率,以取得更好的经济效益,是分布式油田管理面临的新问题。量和防盗的自动化监控管理方案。该方案运用GPRS无线技术作为通信媒介,1.2项目的国内外研究现状2计量、分队计量),采用单独计量、计算管理模式,该模式对于当时国内各油油井、计量站规模加大,原三级计量管理模式在某种程度上不能满足当计对原油进行实时测量,用标量体积管来完成对流量计的在线标定[5;刘晓良进行标定6;侯鹏倩工程师应用靶式流量计的原理,对原油计量中的密度进行了修正,解决了含有泥沙杂质的原油计量问题7。长庆气田采用差压式孔板流液面计量法,实现对油田的遥控遥测和无人值守9。代了操作人员的巡视。李华工程师在长庆油田采用瞬态负压波法,实现长输式井场原油计量与防盗和现场设备防盗的研究相对较少。1.3论文的主要研究内容3若有原油被盗时现场报警,拍摄现场照片,以为日后办案提供证据的功能。整(1)储油罐液面的探测储油罐内部液面的变化直接反映着原油的储量和正常、异常放油的情况,对原油液面探测是系统实现的前提和关键。储油罐在野外,风沙大,温差大,(2)数据采集通过传感器将液位变化的物理量和储油罐阀门开启位置的变化量转换为(3)无线数据传输采用无线数据传输技术。利用GPRS网络,建立无线通信通道,把所采集的数问题的时候,如何保障测量数据的连续性,(4)建立可靠的防盗报警系统原油的防盗报警是整个系统的重要功能,从多个方面保证报警系统的可靠象,同时也要研究诸如变压器、电机等设备的防盗报警功能。1.4论文的组织结构本项目源自于陕西省教育厅科技产业化培育项目,项目编号07JC05,根论文共分为7章,其组织结构如下:第1章绪论。主要介绍项目背景及研究目的和意义,国内外研究现状,第2章需求分析。根据系统需要解决的问题,对整个系统进行了功能分析,确定了系统各个部分的功能,最后给出了系统的相关技术参数。4第3章总体方案设计。首先说明了整个系统的设计原则,提出了系统总第4章远程监测终端的硬件电路设计。远程监测终端采用模块化的电路第5章远程监测终端的软件设计。远程监测终端的软件通过先分层、结思想,在此基础上对远程监测终端的底层驱动程序和应用层程序进行了介绍。第6章计算机监控中心的软件开发。文中简要介绍了系统中使用的数据第7章结论。文中对所做的工作进行了总结,并提出了目前存在的不足5充分理解需求信息对系统开发的成功至关重要,对需求进行详尽的分析、本章通过对分布式油田的原油计量和防盗需求上进行分析,以明确开发目标,满足油田管理自动化应用需求。2.1系统要解决的问题点是:井场井群分散布局在各个山头或山沟之间,每个井场由3~10口井组成,每口油井独立对应一个标准储油罐,待标准油罐储存满后,由20~50吨的油罐(1)研发原油实时动态计量系统。解决长期以来油田存在的计量方式简(2)设计防盗油报警系统。针对分布式油田油井分布的地域广,不好管2.1.1远程监测终端的要求系统针对分布式油田的实际状况,要求监测终端应具备以下功能:(1)用非接触测量方法,对油罐内的原油进行实时测量。(2)对油罐阀门的开关及设备的运行状态能进行远程监控。(3)当有偷盗油时,抓拍现场图片并报警。(4)油罐有油位上限报警功能及现场油位显示功能。(5)采用无线数据传输方式上传检测的各类数据。(6)现场调试、参数设置功能。(7)故障自诊断功能。(8)电源必须冗余设计,确保系统供电。(9)具备一定的升级换代和扩展功能。2.1.2计算机监控中心的要求6(1)显示远程现场监测终端的测量信息。(2)应能自动生成油罐存油的日、月、年报表。(3)统计分析功能,可以查询任意油罐中原油的现存量,历史存量。(4)下达各种测控指令。(5)建立数据库存储现场数据。(6)及时的数据备份,保证数据不丢失。(7)报表打印功能。2.2远程监测终端功能分析分析整个项目对远程监测终端需求的功能,总的来说应具备如下几点:(1)具有数据采集存储功能。远程监测终端的基本功能是实时监测存油罐中油位高度、油罐阀门状态、报警器状态,当报警器被触发时,采集现场的图片数据,以为办案提供第一手资料。(2)具有数据处理功能。远程监测终端对模拟量可分别设置报警上、下限,有效上、下限,当数据越限值时可生成报警记录。(3)具有通信功能。远程监测终端把各监测数据通过GPRS无线网络发送至计算机监控中心,其通讯方式采用突发事件主动上报和定时上报两种。远程监测终端也能接收来自监控中心的各种命令。(4)具有电源切换及电池充电功能。当有交流电源时系统使用交流电源为系统供电,并给蓄电池充电。当交流供电丢失时,系统能够自动切换到由蓄电池为系统供电,并保证系统在电池供电的情况下可以持续工作一定的时间。(5)具备一定的功能扩展能力。本课题中以分布式油田采油现场的储油罐为对象,实现原油的计量和防盗,整个系统可以稍加修改应用到其它设备的远程监控上,另外远程监测终端的硬件设计也为系统的功能扩展留有余地,以进一步实现对采油现场抽油机等设备的监控。2.3计算机监控中心软件功能分析根据项目需求,计算机监测中心软件应具备通信、数据库管理及数据处理、各种显示、报表打印和参数设置等功能,计算机监控中心软件的功能分述如下:(1)通信功能。计算机监控中心通过固定的IP地址接入Internet网络,接收监测终端采集的数据;同时可下达各种控制命令给远程监测终端。(2)数据库管理及数据处理功能。建立数据库存储现场数据,对通信采7集的原始数据进行加工处理、并进行各种累计和统计工作。月、日)显示、故障列表显示等功能。(4)报表功能。以表格的形式,记录、显示各监测点的数据信息,可代(5)打印功能。提供多种打印方式,可根据需要将报表打印出来。可打印的内容包括各种报表、统计图表、趋势曲线等各种表格。2.4系统技术参数(1)各监测点分散分布、距离远、地形和环境复杂。(2)温湿度变化范围大。(3)各种电磁干扰。2.4.2测量参数及要求(1)油位变化范围:0~8米;测量精度:≤30毫米。(2)外部开关量电平输入:高电平16V~24V,低电平0V~8V。(3)视频信号接口方式:RS232。2.4.3无线通信范围GPRS:在移动基站覆盖的地域。83总体设计方案据。根据分布式油田现场的实际情况,本系统中按下列原则进行了总体设计:(1)可靠性原则能力,无故障工作时间长。具体包括硬件系(2)先进性和实用性原则与计算机监控中心联网运行。由于GPRS网络在全球范围内己经实现了联网和漫游,本系统通讯方式构架于GPRS网络平台,无需进行重新投资建设通讯网(3)模块化结构设计原则力,能顺利过渡到下一代。(4)操作、维护的简便性原则分布式油田原油计量和防盗远程监控系统是将安装在井场储油罐上的各种传感器采集数据(油位、阀门状态、报警器状态)利用GPRS无线通信平台传输至计算机监控中心,监控中心的管理人程监测终端拍摄现场照片,照片数据分本地和计算机监控中心两地保存,为日基于GPRS的分布式油田原油计量和防盗系统设计9无线通信网络,将计算机监控中心和各个远程监控终端联系起来。整个系统的结构框图如图3-1所示。图3-1系统总体结构框图3.2.1远程监测终端的结构根据整个系统对监测终端的功能需求,远程监测终端的硬件结构框图如图3-2所示。GPRSGPRS模块RS232接口RS232接口图像采集模块LED显示数据存储器传感器及电接入图3-2监测终端的硬件结构框图基于GPRS的分布式油田原油计量和防盗系统设远程监测终端以微处理器为核心,包括图像采集、时钟、键盘与显示、数GPRS模块发送至监控中心。远程监测终端的供电分为三部分:系统板供电,传感器供电和GPRS通信模块供电。关于远程监测终端各个部分电路的设计,3.2.2计算机监控中心的结构计算机监控中心系统由接入Internet网络的通用计算机、打印机等组成。监控中心通过固定的IP地址接入Internet网输来的监测数据。计算机监控中心的结构如图3-3所示。本系统设计中选用了数据中心申请固定的公网IP的方式,采用该方式对量的方法主要分为接触式测量和非接触式测量方法[14],如图3-4所示。射光外电感式电容式静压式声波电式称重式浮沉式图3-4液位测量方法随着监测技术的发展,非接触测量法中的浮沉式的测量方法因机械部分不是超声波非接触测量方法,选用的是重庆兆易公司的RISEN-BS1KA0型号超在防盗监控方面,由于分布式油田的油井大多分散在人烟稀少的山脉里,可有效打击盗油犯罪分子,从而减少或杜绝偷盗油现象,提高经济效益。在GPRS无线数据传输方面,目前GPRS无线通讯网络信号覆盖范围广,综上所述,整个系统方案能够满足分布式油田对原油计量和防盗的要求,自动化水平;通过系统中的防盗报警措施,可以3.4系统开发涉及的相关内容(1)几种通信方式的比较利用导线来完成信息传递的;另一类称为无线通信,它是利用电波在空气中的传播实现信息传递的。目前常用有线和无线的通信方式主要有:电话线拨号、无线数传电台、基于GSM短消息的数据传输、基于GPRS的数据传输等方式。电话线拨号无线数传电台短消息GPRS模式覆盖范围窄较宽较宽通信速率160字节/包建设成本高高较低较低运行费用高一般较高较低实时性差差差高可靠性一般低一般较高相比于GPRS数据传输模式,其它各通讯方式的优缺点如下[1611)电话线拨号。这种方式存在建设费用高、施工周期长、扩展性差、设备维护难等缺点。2)无线数传电台。无线数传电台属于专用网络,利用无线信道进行数据(限于160字节),存在短消息延时、丢失和拥塞等现象,实时性不强。◆永远在线。即用户随时与网络保持联系,即使没有数据传送,终端还一直与网络保持联系。◆采用数据流量计费。用户可以保持一直在线,只有在读取数据的时候占用资源并进行付费,改变以往按连接时间计费的方式,这将节约用户资费。◆传输数据速率高。GPRS网络的传输速度最大可以高达170Kbps,速度的高低取决与网络运营商的设置。现在根据中国移动公司的情况,网络的传输速度可以稳定在20~40Kbps。◆组网简单。GPRS的无线数字数据网DDN(DigitalDataNetwork)可以通过Internet网络随时随地构建覆盖全国的虚拟移动数据通信专用网为广大的中小企业提供接入便利、费用低廉的通信方式。◆通信链路由运营商维护。由于采用中国移动的GPRS数据业务,因此链路维护也由中国移动负责,免除通信链路维护的后顾之忧。◆可靠性强。系统具有纠错、重发机制,从而确保资料的完整性和正确性。系统具有自动恢复功能,在GPRS网络状态不稳定的情况下,保◆接入时间短。GPRS接入等待时间短,可快速建立连接,平均耗时为两◆数据安全性高。系统在数据传输过程中加入了加密机制,资料可以在应用比较成熟及其本身通信方式的优点,我们选用GPRS作为本系统中数据传了移动IP网络,与高速发展的固定IP网实现无缝连接,为用户提供数据、语GPRS采用与GSM相同的频段、频带宽度、突发结构、无线调制标准、跳频规则以及相同的TDMA帧结构。因此,在GSM系统的基础上构建GPRS有了GPRS,用户的呼叫建立时间大大缩短,几乎可以做到“永远在线”。此GPRS是在原有的基于电路交换数据业务CSD(Circuit-switcheddataservices)方式的GSM(GlobalSystemofMobilecommunication)网络上引入Node)和网关支持节点GGSN(GatewayGPRSSuportNode)。GPRS服务支持节点和移动交换中心MSC(Mobileserviceswitchingcenter)在同一等级水平,并跟踪单个MSC的存储单元实现安全功能和接入控制,并通过帧中继连接到基站系统。网关支持节点GGSN支持与外部分组交换网的互通,并经由基于IP的GPRS骨干网和GPRS服务支持节点SGSN连通。图3-5给出了GPRS与SGSNGPRS骨干网GPRS模块数据中心图3-5GPRS与Internet连接框图GPRS骨干网与网关支持接点GGSN进行通信,GGSN对分组数据进行相应的利用GPRS网络进行无线数据传输,数据链路的建立的方式如图3-6,主要有:数据中心通过ADSL拨号上网、数据中心申请固定的公网IP、数据中心使用专线方式连接至移动网关、数据中心通过VPN隧专线方式连接至移动网关VPN隧道连接点对点连接GPRS网络图3-6GPRS几种组网方式1)数据中心通过ADSL拨号上网这是一种最经济的方案,数据中心通过普通的ADSL(AsymmetricDigitalSubscriberLine)包月业务连接上Internet。但是每次连上Internet后数据中心获得的公网IP地址都不一样,所以在GPRS数据采集终端中无法直接设置目2)数据中心申请固定的公网IP提供商(比如电信、网通)申请一个固定的公网IP地址。使用该方案的优点是具有较高的稳定性,并且速度上较普通ADSL更快些,缺点是费用稍高,具3)数据中心使用专线方式连接至移动网关中国移动针对行业应用还推出了无线数字数据网DDN(DigitalDataNetwork)业务,该业务使用数据专线连接用户的数据中心和GPRS网络的网关支持节点GGSN。该方案的优点是具有更高的速度和更低的时延,并且在网络稳定性和在数据安全性方面也有较大的提高,但是费用较高。4)点对点连接中国移动的无线数字数据网DDN业务除了数据专线方式外还有VPN隧道ADSL拨号上网的方案更有优势。在分布式油田原油计量与防盗系统的开发中,综合考虑以上几种GPRS组网方式的优缺点,以及为便于整个系统的开发和3.4.2GPRS模块选型GPRS技术把Internet的通讯方式引入到了无线通信领域,实现了无线网络与有线网络的互连。无线用户可以很方便地采用熟悉的标准TCP/IP通讯模式与Internet直接交换数据,也就应运而生了GPRS终端产品。GPR是为使用GPRS服务而开发的无线通信终端设备,因此在开发GPRS终端产品的时候,就而临着如何选择一个低成本、易开发的GPRS模块的问题。用的GPRS模块和内置TCP/IP协议栈的GPRS模块。(1)通用的GPRS模块这一类模块的特点是只支持GPRS短信的收发模式,本身不具备TCP/IP络协议。当处理能力不强或没有操作系统时,需要用户自己开发或者移植一些实现GPRS的附着和激活过程,此后才能与Internet通信,因此用户的开发任(2)内置TCP/IP协议栈的GPRS模块这一类模块是在通用GPRS模块基础上内置TCP/IP协议实现的,用户一般只需要调用相应的AT命令对其进行设置,模块自身就会完成GPRS网络和Internet的互连,然后实现数据传输,开发过程比较简单。代表如Siemens公司的TC45、MotorolaG20、S随着GPRS技术的不断发展,GPRS模块的功能越来越强大,成本却越来越低,综合考虑到成本和开发难度,做无线数据传输开发时选用内置TCP/IP协议栈的GPRS模块才是明智之举,因此在远程监测终端的开发中选用的是BenQ公司内置TCP/IP协议栈的M23AGSM/GPRS模块。◆在GPRS数据通信模式下消耗电流最大280mA;◆电源电压范围:直流3.3V到4.5V;M23AGSM/GPRS模块共有44个引脚,通过一个插槽引出。这44个引脚NCEARN041569M23AGSM/GPRS模块的各个引脚的功能如表3-2所示。接口名称引脚数量功能说明6RS232传输接口2内部软件调试1蜂鸣器驱动引脚6常规用途I/O1启动引脚1二极管驱动引脚43电源输入I电池输入7音频信号接口1键盘中断地1天线M23AGSM/GPRS模块支持外部SIM卡,可以直接和3.0V的SIM连接,模块能自动检测和适应SIM卡类型。为使用模块的GPRS功能,应用时选用的SIM卡需要开通GPRS业务。M23AGSM/GPRS模块还提供标准的RS-232串行接口,用户通过串行口使用AT命令完成对模块的操作。AT命令是Hayes公司为MODEM(调制解调器)制定的一个控制指令集,用于数据终端(计算机)和MODEM之间的通信。由于Hayes公司生产的MODEM产品在工业界占有主导的地位,为了保持产品的兼容性,其它MODEM制造厂商也接受并使用了AT指令,因此AT命令目前在工业界已经成为一个事实标准,非Hayes公司的MODEM产品也都支持AT指令集。AT命令通常是由字符AT或at(大小写应一致)作为前缀,MODEM从这的指令一般使用7个数据位、一个奇偶位和一个停止位组成的帧,也可以使用有8个数据位、无奇偶位和1个停止位组成的帧,另每个AT指令都是以“\r\n”指令功能设置模块串口通信速率AT+IRP=0(模块自适应串口通信速率)设置是否自动登陆网络AT+COPS=1(选择自动登陆网络)当前网络注册情况AT+CREG=1(查询是否登陆上网络)PCO字符串激活指令AT%CGPCO=1,"PAP,,",1(激活PCO字符串)定义PDP文本指令AT+CGDCONT=1,"IP","CMNET"(文本)设置将连接的IP地址AT$DESTINFO="",2,5001,0(将进入数据传输模式ATD*97#(连接已用AT$DESTINFO指令设置的IP地址和端口号)十++从数据传输模式返回指令模式命令+++(返回指令传输模式,模块又能接收AT表3-3只列出了系统设计时使用到的AT指令,关于GPRS相关的AT指令的详细材料请参见本论文的参考文献48。3.4.5远程监测终端的外设备选型终端使用了超声波液位变送器、图像采集卡、红外对射探测器和接近开关等几个监测设备,以下对远程监测终端使用的各个设备的原理和性能作简要介绍。(1)超声波液位变送器线而定向传播等特点,以超声波作为监测手段,并将输出信号转换成工业上常用的标准信号的液位变送器就是超声波液位变送器。射过程中机械惰性占用了传输时间,使靠近超声波换能器的一小段区域不能接收声波,这个区域称为盲区,盲区大小与超声波的量程有关。Device)贴片元件及兆易公司与美国合作研发的专用芯片,使得整机电路非常料,其外形精巧美观,防水、防尘,可适应大多数工况现场。RISEN-BS1KA0超声波液位变送器的主要技术参数如下:◆量程:1,2,3,4,5,6,8米;◆盲区:小于300毫米;◆波束角:15度;◆工作电压:直流12V/24V;◆安装方式:φ49双锣母夹紧式固定安装或M49×1.5锣孔旋进式安装;(2)红外对射探测器红外对射探测器全名叫“光束遮断式感应器”Detector),其基本的构造包括瞄准孔、光束强度指示灯、球面镜片和LED 目前常见的主动红外探测器有两光束、三光束、四光束,距离从30米到和一些特殊的场所。本系统中选用的是LENNOX力诺士公司的QT系列四光◆四光束上下2组水平、垂直独立调整,精度步进式微调;◆内置微处理器控制电路,防干扰效果好;◆内置双层保护电路,有效防止室外雷击破坏;◆采用高效率水晶球准直透镜聚焦技术,大幅度提升投光性能,降低误◆使用C型继电器输出;◆外罩采用特殊材料和结构,防止凝结雨、霜和露水,一体化结构设计(3)图像采集卡VC313案提供第一手资料,我们选用了是武汉万德数码技术有限公司的VC313嵌入◆串口波特率1200~115200bps;◆支持6种图像分辨率:160×120、176×144、320×240、352×288、◆支持6种图像压缩比;◆可调整亮度、对比度、色饱和度;◆电源电压3.3V,正常工作电流195mA(睡眠模式下约45mA);◆外形尺寸70×70毫米;而VC313通过串口向主机发送JPG文件。主机发送给VC313嵌入式视频压缩卡的控制命令一共有9条,命令列表如表3-4所示。表3-4VC313图像采集卡命令列表命令号命令名命令结构帧头命令码参数20设置串口波特率1切换工作模式2切换视频输入3设定亮度4设定对比度5设定色饱和度6设定活动侦测灵敏度78每个控制命令长度为6个字节,前2个字节为帧头,第3、4字节为命令否则该命令将被丢弃。第4字节是第3字节的重复,第6字节是第5字节的重复,用作校验。命令7除参数1外,还带有可变长度的第2参数。VC313执行命令8:0xFF+0xE1+0x68+0x68+PAR0+PAR0之后,将向主机发送JPG文件,其中参数PAR0的值按位进行设定,参数意义见表3-5所示。表3-5VC313命令8参数位组功能说明图像分辨率D2DIDO的值图像分辨率012345其它无效值颜色属性彩色或黑白0黑白1彩色图像压缩比图像质量主观评价0很差1差2好3好4很好5很好其它无效值是否刷新图像是否刷新图像0是1否从上表可以看出,VC313可支持6种图像分辨率和6种图像压缩比,注意后的图像清晰度越高,文件长度越长。表3-6表示了不同压缩比和分辨率下黑表3-6黑白图像各分辨率文件长度压缩比编号012345VC313输出的JPG文件总是以0xFF+0xD8开始,以0xFF+0xD9结束。主机在接收数据的过程中可进行检索,发现0xFF+0xD8就表示文件开始,发现0xFF+0xD9就表示文件结束,把0xFF+0xD8、中间收到的数据、以及最后(4)接近开关根据项目的具体需求,我们最后选择了涡流式NPN常开型接近开关◆工作电压:10V~30V;◆工作温度范围:-20℃~80℃;◆绝缘电阻:大于20MQ(DC为500V时);◆抗振能力:10~55Hz(周期每分钟);J5M-D0.5NK接近开关的输出接口如图3-8所示。(5)声光报警器为了在系统监测到盗油等异常状况时,井场能够通过鸣笛来震慑盗油分力极强(300米外仍听得很清晰),近距离宏亮且不刺耳。同时安装在一体的警◆工作电源:直流24V;◆报警声音:工程音、警笛音、道口音、消防音和倒车音共5种;◆音量:135分贝;Cortex-M3内核是ARM公司于2006推出的最新一代的嵌入式ARM处理内核是专为功耗和价格敏感的应用领域而设计的,应用范围可从低端微控制器到复杂SoC。它采用了ARMv7-M体系结构,内核是建立在一个高性能哈佛结的性能,具有优异的能效比。Cortex-M3内核还实现了Thumb-2指令集(传统Thumb指令集的一个超集),既获得了传统32位代码的性能,又具有16位的ARMCortex-M3相比于ARM其它系列微控制器,具有以下优势和特点:◆ARMCortex-M3与ARM7内核一样,采用适用于微控制器应用的三级◆针对业界对ARM处理器终端响应的问题,Cortex-M3首次在内核上集成了嵌套向量中断控制器NVIC(NestedVectoredInterruptCont◆支持位绑定操作。以前的ARM处理器不支持位操作,当需要对一个变量或端口位操作时,先要用逻辑与/或指令屏蔽其它的位,使位操作需把一个地址单元的32位变量中的每一位,通过一个简单的地址换算算法,映射到另外一个地址空间,每一位占用一个地址,对此地址空间的操作,只有数据的最低一位是有效的,其余高31位的值被忽略。◆内核支持低功耗模式。像ARM7、ARM9等内核本身只有运行/停止模式,没有其它模式。Cortex-M3支持3种功耗管理模式:通过一条指令的处理器状态分别执行32位的ARM指令和16位的Thumb指令,使高效的Thumb2指令集,它是一种16/32位混合编码指令,兼容Thumb指令,对于一个应用程序编译生成的Thumb2代码,以接近Thumb编码的代码尺寸,达到了ARM编码的运行性能。◆具有32位硬件除法和单周期乘法。以往的ARM处理器没有除法指令,在某些除法密集型应用中性能不尽如人意。Cortex-M3加入了32位除位乘法操作只要一个时钟周期。这一性能使得使用Cortex-M3来进行◆定义了统一的存储器映射。Cortex-M3内核定义了统一的存储器映射,各厂商生产的基于Cortex-M3内核的微控制器芯片都具有一致的存储表3-7列出了Cortex-M3和ARM7性能的比较,从表中不难发现Cortex-M3Tab3-7ComparisonofCortex-M3andARM7'sperfo架构ARMv4T(冯·若依曼)ARMv7-M(哈佛)ISA支持流水线3级3级+分支预测中断240个物理中断中断延时24~42个时钟周期12个时钟周期(最少6个)休眠保护无内置寄存器保护无8段寄存器保护单元硬件除法无2~12个时钟周期运行速度功耗面积0.62mm²(仅内核)0.86mm²(内核+外设)(2)STM32F103C6T6处理器STM32F103C6T6是意法半导体工作于-40℃至105℃的温度范围,供电电压2.0V至3.6V,最高工作频率72MHz,同时该处理器还集成了看门狗、模拟转换器等诸多外设。◆ARM32位Cortex-M3内核。72MHz运行速度,高达90DMIPS,◆具有3种省电模式:睡眠、停机和待机模式;◆具有10通道12位模数转换器,模数转换时间为1微秒;◆具有7通道DMA控制器,DMA支持的外设有:定时器、ADC、SPI、◆具有7个定时器。包括3个同步的16位定时器、1个16位的高级控制定时器、2个看门狗定时器(独立和窗口型的)及1个系统时间定时器;◆具有6个通信接口。包括1个I2C接口、1个SPI同步串行接口、2个USART接口、1个CAN接口、1个USB2.0全速接口;3.4.7开发工具(1)远程监测终端开发工具远程监测终端的开发工具主要包括嵌入式软件集成开发环境和仿真器两目前支持Cortex-M3内核调试的主流集成开发环境是IAREmbeddedEmbeddedWorkbench集成开发环境的不同系列还支持8051、MSP430、AVR、ARM7、ARM9等多种类型的处理器,使工程以上原因,我们选择了IAREmbeddedWorkbenchforARMV5.20版本作为远程监测终端的软件开发环境。IAREWARM是一个针对ARM处理器的集成开发环境,包含项目管理器、编辑器、编译链接工具和支持RTOS该环境下可以使用C/C++和汇编语言方便地开发嵌入式应用程序。为了配合IAREWARM集成开发环境对开发的程序进行调试和下载,我们选用了IARJ-LINK仿真器,IARJ-LINK是IAR为支持仿真ARM内核芯片推出的JTAG方式仿真器,配合IAREWARM集成开发环境支持所有ARM7/ARM9/Cortex-M3内核芯片的仿真,无需安装任何驱动程序与IAREWARM集成开发环境无缝链接,操作方便。◆IAREWARM集成开发环境无缝链接的JTAG仿真器;◆支持所有ARM7/ARM9/Cortex-M3内核的芯片,包括Thumb模式;◆下载速度高度600Kb/s;◆最高JTAG速度12MHZ;◆标准20芯JTAG仿真插头;标准20芯JTAG插头与目标板连接。IARJ-LINK仿真器的主要技术指标见表功耗吸取USB供电电流<50mA通信方式USB2.0全速目标板接口20芯JTAG口(14芯JTAG口选件)J-LINK和ARM间串行传输速率最高12MHz支持目标电压工作温度5~60摄氏度体积电磁兼容性(EMC)(2)计算机监控中心软件开发工具计算机监控中心软件采用VisualBasic6.0开发,采用SQLServer作为4远程监测终端的硬件电路设计根据采油现场的原油计量和防盗监控的要求,远程监测终端完成的主要功远程监测终端的硬件模块划分如图4-1所示。电源线接口电源线接口信猫RS232图像采集!电源线示模块接口平转换平转换图4-1监测终端硬件模块图系统供电模块为系统提供能量,是远程监测终端工作的基础。它由220V数据采集模块是监测终端的核心,它由STM32F103C6T6处理器组成的最GPRS通信猫主要由GPRS模块及电源电路、通信接口电路组成。该部分与数据采集模块之间通过RS232接口通信,该部分是远程监测终端接入GPRS集模块进行数据交换,图像采集卡部分的电路文中不做过多的介绍。键盘与显示模块和数据采集模块之间通过I2C接口通信,完成现场油位显示及参数设置等功能。该部分由专门的键盘管理与显示芯片ZLG7290及相关外围电路组成。基于GPRS的分布式油田原油计量和防盗系统设整充桥的c整充桥的c时间达到24小时。电源切换及充电电路如图4-2所示。当交流供电存在时,三极管Q1截止,整流后的电源通过LM7824稳压到般来说系统使用24V的蓄电池时,限制充电电压为29.4V,这样在电路设计的过程中,需要保证整流后的电压输出为29.4V,这就需要在电路设计的时候选34007图4-2电源切换及电池充电电路远程监测终端的总体供电方案如图4-3所示。由图可知,数据采集模块、通信模块、传感器及信号前端电路都是24V输入。通信模块及数据采集模块的通讯模块通讯模块图4-3监测终端电源供电框图Fig4-3Powersupplyofmonitoringterminalsblockdiagram数据采集模块以具有ARM公司最新的Cortex-M3内核的微处理器端电路、开关量信号处理电路和SD卡接口电路,以下将分别进行说明。4.2.1微控制器外围电路(1)振荡电路振荡器是微控制器的心脏,它产生微控制器工作需要的基本时钟,STM32F103C6T6处理器具有内部振荡器和外部振荡器的双时钟系统,本系统设计中一种简单的方法是利用STM32F103C6T6处理器内部自带的振荡器,但分别连接在STM32F103C6T6处理器的OSC_IN(5)(OSC_IN表示引脚名称,5表示引脚编号,以下含义与此相同)和OSC_OUT(6)引脚。利用处理器内率稳定性为20ppm的8M的晶体振荡器,经PLL扩频后处理器运行在72MHz。远程监测终端的STM32F103C6T6处理器振荡电路如图4-4所示。基于GPRS的分布式油田原油计量和防盗系统设引脚来选择的。3种启动模式的说明见表4-1。表4-1启动模式启动模式选择引脚BO0T模式说明0系统FLASH存储器系统存储器被选为启动空间01用户闪存存储器用户闪存存储器被选作启动空间11系统SRAM存储器系统SRAM被选作启动空间由于本系统不扩展外部存储器,应该选取从片内FLASH存储器启动,该模式要求启动控制引脚BOOTO(44)拉低,BOOT1(20)引脚可任意状态。出于对器件防静电干扰的考虑,在设计中将BO0T0(44)和BO0T1(20)引脚通过100K的电阻接地。启动电路如图4-5所示。图4-5启动电路STM32F103C6T6处理器复位引脚NRST(7)属于低有效复位。本设计中使用SP708芯片[37]搭建手动/自动复位电路,该芯片是3.3V工作电压,可以保持长达200毫秒的复位信号有效时间,当初始上电时,芯片自动产生复位信号;也可以由/MR引脚通过按键接地,当按下按键时,提供手动复位功能。复位电路如图4-6。886NC4/MRNRST7图4-6复位电路基于GPRS的分布式油田原油计量和防盗系统设计(4)电源处理为了增强STM32F103C6T6处理器对电源纹波的抗干扰能力,在图4-7微处理器的电源处理Fig4-7Microprocessorpowerprocessing(5)JTAG调试电路STM32F103C6T6处理器支持标准的JTAG接口调试及程序下载。JTAG (JointTestActionGroup,联合测试行动小组)是一种国际标准测试协议,主技术,它在芯片内部封装了专门的测试电路,通过专用的JTAG测试工具对内TMS:测试模式选择,即通过TMS信号控制JTAG状态机的状态;TDI:数据输入,数据通过TDI输入JTAG口;TDO:输出输出,数据通过TDO输出JTAG口;接口外部的上下拉电阻可以省略。JTAG接口电路如图4-8所示。 NC NCGNDGNDGNNDGNDGND24682图4-8JTAG接口电路4.2.2实时时钟电路此外STM32F103C6T6处理器具有一个专门为RTC供电的引脚VBAT(1),方便于采用电池为RTC供电,这样即使设备断电,设备的时钟也能够正常运行。为RTC提供时钟,同时使用一节纽扣电池为RTC提供电源,电路中发光二极管D1的作用是指示电池的电量,当电池电量不足时,发光二极管D1将亮,用于入入C18327684.2.3数据采集模块的供电电路STM32F103C6T6处理器的运行电压范围是2.0~3.6V,数据采集模块上选择的其它芯片的工作电压均是3.3V,因此系统设计成3.3V应用系统。而从上一节我们知道数据采集模块的外部输入电压是24V,因此本系统设计中采用两级电压变换,先通过LM2575开关稳压集成电路将外部输入电压从24V转换成5V,再使用低压差电源芯片LDO(LinearDropOut)SPX1117M3-3.3稳压输出LM2575开关稳压集成电路是美国国家半导体公司生产的1A集成稳压电完善的保护电路,包括电流限制及热关断电路等。LDO芯片SPX1117M3-3.3特点是输出电流可达800mA,输出电压的精度在百分之一以内,还具有电流限数据采集模块供电电路原理图4-10所示。电路中二极管D1是为了防止电——源反接,外部24V直流电源经C4、E5滤波后通过LM2575将电源稳压至5V,再经过SPX1117M3-3.3稳压输出3.3V电压(VCC),发光二极管D7用于指示是否有外部24V直流电源输入,当有外部电源输入,发光二极管D7点亮,否5N58193424.2.4数据采集模块的串行通信电路串行通信使用电子工业协会(EIA)推荐的RS-232C标准,这是一种很常用的串行数据传输总线标准,几乎所有的微控制器、PC机都提供串行接口。要完成最基本的串行通信功能,实际上只需要RXD(数据接发送)和GND(地)。但是由于RS-232标准所定义的高、低电平信号与的标准逻辑“1”对应2V至3.3V,标准“O”对应0V至0.4V,而RS-232标准采用负逻辑方式,标准逻辑“1”对应-5V至-15V,标准逻辑“O”对应+5V至+15V,显然两者之间进行通信必须经过电平转换。设计中采用了SP3232E芯片作为电平转换的接口电路,该芯片工作电压为3.3V。STM32F103C6T6处理器内置两个异步串口,每个都可以工作在中断和DMA模式。在应用中串口1用来和M23AGPRS通信模块通信,串口2用来和VC313嵌入式视频压缩卡进行数据交换。串行通信接口电路如图4-11所示。需要注意的是:与串口1相连的9针串口座的1号引脚与STM32F103C6T6处理器的PB10引脚相连,该引脚将作为GPRS模块的点火引脚,在以下的相关3C1-OC2-8026O-OO09oo348055图4-11数据采集模块的串行通信接口电路Fig4-11Dataacquisitionmoduleserialco4.2.5模拟信号采集电路A/D转换器(AnalogtoDigitalConverter)是一种能把模拟量转换成数字要将外部传感器送出的模拟信号转换为数字信号并交给系统处理器进行处理,STM32F103C6T6处理器自带2个12位精度、10通道的模数转换器,因此本部分电路的设计只需要将传感器的输出信号变换到STM32F103C6T6的模STM32F103C6T6处理器以芯片工作电压VDD(一般3.3V)作为模数转换参考通道,通过软件处理将该通道ADC测量的VDD值作为ADC参考电压值。系统中的模拟信号采集电路如图4-12所示。由于前端液位传感器输出是4~20mA的电流信号,首先将这电流信号通过165欧姆的精密电阻R5转换为的影响,将电压信号经过电压跟随器后再接入STM32F103C通道ADC12_IN3用于监测系统电源输出,以区别当前采集板是通过外部进入该通道,当该通道上电压为零时,说明56LM3582通道电压在3V以上时,表明采集板使用的是市电接入。通道ADC12_IN1用于测量测量处理器工作电压VCC,为了避免STM32F103C6T6处理器的模数转换通道输入阻抗太小引起VCC电压跌VCC电压经电压跟随器后接入模数转换输入通道ADC12_IN1。26图4-12模拟信号采集前端处理电路4.2.6开关量输入处理电路由于选用的接近开关、红外报警器输出电平范围超过了STM32F103C6T6处理器所能承受的高低电平范围,因此需要进行电平转换。开关电路如图4-13所示,图中所示的开关量信号处理电路一共有4路,本系统中在图4-13所示电路中,当外部开关量输出高电平时,光耦导通,处理器系统设计使用的开关量设备都是NPN常开型的,因此在设备上电正常工作时开关量输出是高电平,即4-13图中J1、J2开关量输入端口处正常情况下都是高电平输入,处理器检测引脚一端是低电平;而在开关量设备没有接入J1、上的这个特点,整个系统就可以对外设备是否被接入和故障进行检测,配合软J3图4-13开关量信号处理电路数据采集板系统中设计了2路继电器开关量输出电路,系统中微控器通过使用的开关量输出电路如图4-14所示。5233FLB25图4-14开关量输出电路4.2.7LED及蜂鸣器电路数据采集模块部分设计了4个独立的LED,用于指示设备运行状态。LED高电平时LED点亮,低电平时LED熄灭。为了使整个系统操作友好,在任何按键被按下时给出提示声以及当系统发生故障时给出相应的声音报警,设计了一个蜂鸣器电路,蜂鸣器使用PNP三极管Q2进行驱动控制,当Q2导通,蜂基于GPRS的分布式油田原油计量和防盗系统设计鸣器响,当Q2截止,蜂鸣器停止蜂鸣。通过蜂鸣器电路,用于指示系统中各种操作提示声音。LED及蜂鸣器电路如图4-15所示。图4-15LED及蜂鸣器电路4.2.8SD卡接口电路为了保证在GPRS网络不通时,远程监测终端采集的数据不丢失,以及在有偷盗油警情出现时,监测终端能本地保存井场附近图片数据,监测终端采用了一张128M的SD(SecureDigitalMemoryCard)卡来存储采集的数据及系统运行的相关参数。SD卡[41]由日本松下、东芝及美国SanDisk公司于1999年8月共同开发研制,大小犹如一张邮票的SD记忆卡,重量只有2克,拥有高记忆容量、快速24mm×32mm×2.1mm的体积内结合了SanDisk快闪记忆卡控制与MLC技术和东芝NAND存储技术,通过9针的接口界面与专门的驱动器相连接,不需要额外的电源来保持其上记忆的信息。SD卡的内部结构框图如图4-16所示。图4-16SD卡内部结构框图SD卡工作电压3.3V,接口支持SD卡和SPI模式两种操作模式,主机系基于GPRS的分布式油田原油计量和防盗系统设统可以选择其中任一模式读写SD卡,SD卡模式允许四SPI模式允许简单通用的SPI通道接口,这种模式相对于SD模式的不足之处是丧失了速度。由于远程监测终端对数据存储的操作并不频繁,并为了方便与处理器接口,设计中采用的是SPI的操作模式。SD卡在SPI模式下针脚定义如表4-2所示。表4-2SD卡在SPI模式针脚定义针脚名称类型描述2数据输入3S地4S供电电压5时钟6S地7数据输出89远程监测终端的SD卡接口电路见图4-17。数据从STM32F103C6T6处理器的SPII_MOSI(17)引脚同步输入SD卡的DI/CMD引脚,并由SD卡的DO/DATA0线同步输入STM32F103C6T6的SPI1_MISO(16)引脚。数据在SPI1_SCK(15)信号的上升沿输入和输出。47K(47K(47K(47K(47K34567892图4-17SD卡接口电路GNDGNDGPRS通信猫电路部分以内嵌TCP/IP协议栈的M23A模块为中心,由M23启动电路、通信接口电路和SIM卡接口电路。M23AGSM/GPRS模块工作电压范围3.3V~4.5V,典型值是4.2V。电源必须能够在上行传输时提供约2A的峰值电流且能承受突发传输时的电压降。1)外部电源任何时候不能低于3.3V,而且在突发传输中的电压降不能超过400mV,否则将引起M23AGSM/GPRS模块自动关机。2)为了减小功率损耗,应使用尽可能短的连接电缆,电路板上电源线的综合M23AGSM/GPRS模块对供电电源的特殊要求,为模块设计了如图4-18所示的供电电路,电路采用可调压式稳压电源芯片LM2576-ADJ,该电源芯片最大输出电流能达3A,调节电阻R9使LM2576-ADJ输出4.2V为模块供时时2n图4-18M23AGSM/GPRS模块供电电路才能被启动。为了便于数据采集模块与GPRS信模块的单独调试,设计了如图4-19所示的M23AGSM/GPRS模块的启动电该电路可以通过S1键被按下、数据采集模块上STM32F103C6T6处理器的一个GPIO口接IGT并拉为低电平两种方式来启动M23A模块。结合软件上4.3.3M23A模块通信接口电路M23AGSM/GPRS模块提供了一个全功能的串行通信接口,原本M23A的串行接口和STM32F103C6T6处理器的串行通信接口可以直接相连(两者串行接口的输入输出电平在同一个范围内),但为了使GPRS通信模块更具备通用也能保持不变,为此为M23AGSM/GPRS通信模块设计了图4-20所示的串口电平转换电路,使主处理器和M23AGSM/GPRS模块之间通过RS232进行数据交换。另外为GPRS通信模块设计专门的RS232串行通信接口还便于GPRS通信模块的单独调试。图4-20所示电路中,通过MAX3238器件完成TTL信号向RS232电平信 4C2.58V-pout+0oNVALD7Y6004.3.4SIM卡接口电路GSM网络是使用SIM卡来识别终端设备,故使用GPRS的功能也必须使用SIM卡。M23AGSM/GPRS模块在接口上提供了4个引脚来连接外部的SIM卡座,引脚功能描述如表4-3。引脚名称引脚号引脚方向功能输出SIM卡时钟,由M23A基带处理器可以设置不同的时钟频率输出SIM复位,由M23A基带处理器提供输入/输出串行数据线,数据输入和输出输出调整SIM输出SIMSIM卡电路连接方式如图4-21所示。56734图4-21SIM卡电路连接图基于GPRS的分布式油田原油计量和防盗系统设4.4键盘与显示模块的电路设计远程监测终端的键盘与显示,主要是为了完成以下操作:(1)监测终端实时显示当前油罐中油位高度,与上位机监控中心服务器的连接状态、数据传输状态、电源状态等。(2)通过键盘操作,设置计算机监控中心服务器的IP和端口号、标定液位传感器的输入、设置设备编号和查询设备状态。为实现对显示和键盘的管理,本系统应用中采用IC接口的键盘与显示管理芯片ZLG7290[43与主处理器STM32F103C6T6进行数据交换。I²C总线是Philip公司推出的芯片间串行传输总线,它用两根线实现了完善的全双工同步数据传输,可以极为方便地构成多机系统和外围器件扩展系统。I²C总线通过2根线:串行数据(SDA)和串行时钟(SCL)线在连接到总线上的器件间传递信息,在I²C总线上进行数据传输时,SDA线上的数据必须在时钟线SCL为高电平时保持稳定,数据线SDA的电平状态只有在SCL线是低电平时才能改变,I²C总线上的数据位传输如图4-22所示。允许数允许数数据有效Fig4-22Databittransmission在I²C总线中违反图4-22所示数据位传输的是起始位和停止位的传输,在SCL线是高电平时,SDA线从高电平向低电平切换表示一个起始位;在SCL线是高电平时,SDA线由低电平向高电平切换表示一个停止位,起始位和停止位的数据传输如图4-23所示。s起始位停止位 在I²C总线上进行数据传输时,发送到SDA线上的每个字节必须为8位,且每次传输可以发送的字节数量不受限制。每个字节后必须跟一个应答位,首先传输的是数据的最高位(MSB),I²C总线上完整的一次数据传输如图4-24所示。厂在中断期间S或92每个I²C器件都有一个唯一的地址,ZLG7290的器件地址是70H,其I²C接口的通信速度为32Kbit/s。ZLG7290芯片主要的性能指标为:2)工作电压范围:3.3V~5.5V:3)可驱动8位共阴数码管或64只独立LED和64个按键;6)8个功能键,可检测任一键的连击次数;7)工业级器件,具有封装形式DIP24、SOP24;ZLG7290内部有7个控制寄存器和8个显示缓冲区,通过I²C接口对内部寄存器的操作就可以实现显示和键值获取。ZLG7290芯片内部的功能框图如图4-25所示。键盘扫描系统状态驱动显示命令接口命令解释:通信接口键盘8系统中采用键盘与显示管理芯片ZLG7290来对键盘操作和显示进行管理,可以减少主处理器运行负担,避免不断的对按键和数码管显示进行扫描,使的整个系统的显示更稳定,并且通过在有键按下时ZLG7290提供的中断信号,使的按键操作能够得到及时响应。显示键盘板上有两个4连的8位LED数码管和15个按键,按键分为10在没有按键动作时,数码管上分时显示年月日和时分秒,在键动作时,数据管上显示对应的操作菜单。按键操作主要完成以下几个功能:(1)设置计算机监控中心IP地址及端口号:(2)设置传感器量程;(3)设置GPRS数据传输时间间隔;(4)设置被监控的储油罐数目及储油罐起始编号;(5)时间设置和故障查询;键盘与显示模块的电路见附录D:键盘显示板原理图。 5远程监测终端的软件设计操作系统(以下称之为“裸机”)的纯硬件上的开发模式。实时操作系统RTOS 使用实时操作系统RTOS进行软件开发时常将软件系统层次化,大致上整应用层系统应用层程序(MnAPP)接口层底层驱动层 ◆系统运行的输出。在系统从一个状态转移到另一个状态时会执行一些C4、C5,定义系统输出的集合是C。图5-2即为某一实时系统的状态转移图。图中Cn/En表示当事件En发生时,基于GPRS的分布式油田原油计量和防盗系统设计执行动作Cn,并根据图中箭头的指向进行状态迁移。例如,在S0状态下发生动作,并保持系统状态不变:在S0状态下发生E1事件,系统无动作,系统状态也保持不变;在S0状态下发生E2事件,则执行C1动作,并将系统状态转SI状态。图5-2状态转移图表5-1所示的状态事件变迁和图5-2所示的状态转移图含义相同。状态事件变迁表里的第一行表示每个状态,第一列表示每个事件,状态转移在每个状态和事件的相交处出现。如在状态S0和事件E2相交之处,描述了一个转移使当前状态转移到SI状态,并输出一个CI动作。表5-1状态事件变迁表状态S注:一表示在当前状态下发生当前事件,系统无动作且状态不变。一个嵌入式系统的工作过程总是能用一个状态机来进行完整的描述。系统状态是对整个系统运行过程的静态描述,是根据系统的具体情况人为定义的,如处于准备状态、故障状态、运行状态等。无论系统运行在何种状态,必然同时伴随着某些事件发生,如一次按键、继电器动作或定时时间到,事件发生可以激发状态变化,如按下开机键,系统进入开机状态,故障发生后转入故障状态,也可以只引起某些处理,没有状态变化,也可能不作任何动作处理和状态变化,例如处于运行状态时再按开机键。5.1.2事件驱动的程序设计方法传统的嵌入式系统中应用程序的开发通常是采用面向过程的程序设计方基于GPRS的分布式油田原油计量和防盗系统设法,面向过程的程序设计方法要求程序跟随过程走直至该过程完成,因此当设计一个较为复杂的嵌入式应用程序时,必然将引入大量的标志位来联系程序中各个功能模块,因此可以说程序的流向在很大程度上由大量的标志位来控制,而众多的标志位之间往往处于一种离散的状态,这样导致程序的可读性和可维护性变差。事件驱动的程序设计方法的核心模型是有限状态机,其主要思想是根据系统功能划分好系统的状态及外部输入引起状态改变的各种事件,系统根据不同的事件执行相应的动作,并从一个状态转换到另外一个状态,整个程序设计结构上就是通过索引系统状态和事件两项唯一的确定应该执行的动作程序段。事件驱动程序中设计的一个关键问题是系统状态和事件的划分,系统状态可以根据系统的工作状态来划分;事件可以依据是否是异步动作来划分,例如在远程监测终端的软件开发中,共划分了三个事件,分别是按键事件、串口1接收到数据事件、串口2接收到数据事件,各事件编号如表5-2所示。表5-2监测终端的事件编号Tab5-2Monitoringt事件名称事件编号键事件123为了管理系统中发生的各个事件并做出相应的动作,需要一个循环的缓冲队列,当有事件发生时,就将事件对应的编号写入缓冲队列,上层软件通过读取缓冲队列就知道系统中发生的具体事件,并依据当前状态做出相应的动作。事件管理缓冲队列如图5-3所示,图中APPBuffWR是写队列指针,APPBuffRD读队列指针,在初始化时两个指针同时指向队列的首地址,当事件发生时,事件编号先写入APPBuffWR指向的地址空间,然后调整APPBuffWR指向下一个地址空间,上层软件通过比较APPBuffWR和APPBuffRD两者是否相等就将知道是否有新的事件写入,如果两者不等,则取出APPBuffRD指向地址空间的数据(即发生的事件编号),然后调整APPBuffRD指向下一个地址空间。事件管理缓冲队列的C语言定义如下:uchar8APPBuff[APPBuffLENuchar8*APPBuffWR=APPBuff;1写队列指针uchar8*APPexternvoidWRAPPBuff(uchar8i){if(APPBuffWR==APPBuff+APPBuffLEN)A从事件缓冲区中取出事件编号的相关代码如下:staticuchar8RdAPPBuff(void)if(APPBuffRD==APPBuffWR)return(0);//没有新事件返回0if(APPBuffRD==APPBuff+APPBuffLEN)AP方法中是写一个延时程序来完成需要的延时,这样做的缺点是浪费处理器资源,大大的降低了系统的实时反应能力。在使用嵌入式实时操作系统的软件中,需要延时的最高优先级任务先进行任务切换,使其

温馨提示

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

评论

0/150

提交评论