1基于GPRS无线数据采集与传输系统设计Word下载.docx
《1基于GPRS无线数据采集与传输系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《1基于GPRS无线数据采集与传输系统设计Word下载.docx(26页珍藏版)》请在冰豆网上搜索。
2.4数据采集系统3
3系统硬件设计4
3.1AT89C51单片机4
3.2单片机最小系统电路6
3.2.1晶振电路6
3.2.2复位电路6
3.3信号处理电路6
3.4数据采集电路7
3.5GPRS通信系统8
3.5.1通信系统硬件设计方案8
3.5.2GTM900-CGPRS模块简介9
4系统软件设计10
4.1软件开发环境10
4.1.1KeiluVision2简介10
4.1.2Proteus7简介10
4.2采集系统流程图10
4.3传输系统流程图11
4.4GPRS通信系统的软件设计方案12
4.4.1连接的建立12
4.4.2数据处理13
5实际应用14
5.1矿井风压测量系统与GPRS传输14
5.2风压测量器与GPRS报警14
6结论与展望15
6.1主要结论15
6.2优势15
6.2.1功能优势15
6.2.2成本优势15
6.3前景展望15
致谢16
参考文献17
附录1系统程序18
1.引言
1.1课题研究背景
目前,无线通信已经深入到寻常百姓家,在中国移动通讯通讯网络覆盖率已超过90%。
针对通信网络的可靠性,数据传输速率,GPRS通信业务是移动通信网络中无线数据传输的一个更好的选择。
基于GPRS无线数据采集与传输系统的研究在当前工厂生产控制和安全预防等方面有着相当实用的应用意义。
在这个信息传输飞速传输时代,数据的交换与传输是各种信息交流的重要方法。
数据传输的各种技术也应运而生,尤其是Internet的飞速发展让我们将信息的传递速度提升到前所未有的高度,为人们的信息交流打下了坚实的基础。
但是因为各种地理条件限制和线路安装的困难,使无线数据传输数据更加受到人们的青睐。
随着Internet网络的在人们生活中的逐渐普及,网络在我们的生产生活中占有越来越重要的地位,而且网络的数据传输已经是我们生活中不可缺少的一部分。
因此当我们越来越离不开网络的时候,我们就非常希望通过网络来实现方便的、快捷的信息传递交流和长距离设备控制。
这些想法已经在我们生活的一些领域中得到了实现,例如网络会议等。
当今生产生活中有越来越多的应用系统,采用的是微控制器或者单片机系统对其进行控制,因此我们把这样的系统统一称之为嵌入式系统。
这种系统具有体积小、开发方便、生产成本低廉等优点,在生活中的很多领域得到了广泛的应用,但是这种系统的传输系统功能非常有线。
以单片机作为控制核心,与一些传感器等一些设备结合从而实现一些功能。
1.2课题研究的目的和意义
目前,我国在水利、电力、天然气和石油等的监测中还没有经济实用的自动化数据采集和传输设备,尤其是在偏远的乡村、山区以及其他恶劣环境下的数据传输更加的困难,不能满足工业现代化、自动化的要求。
GPRS通信系统是现代测控的基础,用于获取各种采集到的数据,因为GPRS通信系统作为获取信息的重要工具,正广泛应用于生产、科研的各个领域。
随着通信事业的发展,我国已建成了覆盖全国的GSM数字蜂窝移动通信网,GSM网络中重要发展的GPRS网络也已经投入使用。
本课题提出并设计了基于单片机的GPRS通信系统的设计,实现远程数据的传输,使得数据传输更加的灵活,并且大大降低了成本,为一些监控系统后的传输数据带来了方便快捷。
2系统设计构想
2.1系统总体结构
这个系统主要由两个部分组成,由AT89C51单片机组成的数据采集系统终端与GSM900-C构成的无线数据的传输终端所组成的。
数据采集终端对外界变化数据进行采集和处理,而无线传输终端将我们采集到的数据无线传输出去。
主程序由子函数组成。
系统的主程序流程大如下:
首先要对单片机中需要测量的变量进行初始化,通常情况下将对应的变量设置为0,同时,我们还要对单片机的相应单元的进行初始化的配置,例如设定每一个端口的输入输出方向、设置各个中断的优先级别及需要有用到的定时器计数器进行初始化配置等,然后我们要通过单片机控制GTM900-C芯片的电源的通断,来决定是否需要将其上电开启,待开机成功后,通过一系列的代码来查询GPRS模块的网络是否已经注册成功,如果注册成功,便可以建立GPRS模块与PC端服务器的连接,并进行数据扽传输与短信息的处理,另外我们还可以根据用户的个性化需要来发送具有特定格式的信息。
2.2单片机
单片机是由集成电路所构成的芯片,采用的是超大规模技术,单片机的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM)与输入输出的电路(I/O口)集成到了一个电路芯片上,也有一些单片机包含特有的定时器,计数器,数据通信接口口,显示驱动电路,脉宽调制电路(PWM)以及模拟多路转换器及A/D转换器等,这些由各单个的功能所构成的模块组成了一个小巧而全面的计算机系统。
这些电路能在软件的控制下准确、迅速、高效地完成程序设计者事先规定的任务。
单片机如果按照它用途通常可以分为为两大类别:
1.通用型单片机
2.专用型单片机
通常专用型单片机一般是指那些使用过程中用途比较单一,这种单片机在出厂时,单片机里面的程序就已经固化好,而其内部的程序已经不能够再被修改的单片机。
它的生产成本很低。
而通用型单片机就拥有较为广泛的用途,根据实际情况,用户可以使用各种不同的接口及编写不同的程序下载到单片机中,使得单片机完成不同的功能。
2.3GPRS系统
GPRS是GeneralPackerRadioService的英文缩写,中文译为通用无线分组业务,详细来说,GPRS是高速数据处理的技术,是一个通过新的用户分组数据的传输所承载数据传输技术,主要是通过GPRS的网络给每一个分组的所有用户进行数据的传输。
相对原有的电路交换数据的传送方式,GPRS具有“实时在线”、“按量计费”、“快捷登录”、“高速传输”、“自如切换”的优点。
因此,GPRS技术可以使人们使用手机互联网的更加快速,便捷,价格低廉。
GPRS通讯的达成要基于现有的GSM网络进行,选用与GSM相同的频段、频带宽度、突发结构、无线调制标准、跳频规律和一样的TDMA帧结构。
现有的基站子系统从一开始就可提供全面的GPRS覆盖。
当然如果你想要了解GPRS的技术,也必须要从现有的GSM网络结构上面开始了解。
现在社会的GPRS技术已经被应用在很多方面,例如:
工业的生产过程中、公安与交通、生活中移动车辆的监控与调度等方面。
在现在的工业生产中,多用于城市配电网络的数据传输自动化系统;
抽油管道实时监测;
水管,闸门,泵站和水质监测:
天然气的管道、阀门的检测与加压站情况的监测;
水文、气象等的信息采集、监测与信息传输等方面。
在公安交通,公安移动数据(ID,查询档案);
交警移动性数据(车辆、司机档案等)查询;
公安、110、交警车辆监控调度;
城市各个路口的交通指挥的指示牌上的信息发布;
城市路况信息的指示信息;
公共运输车辆如公交车出租车等的调度,可以使用GPRS通信技术来进行信息的传递。
而在移动车辆监控与调度系统里,银行运钞车、邮政运输车监控调度;
城市出租车的管理,物流、公司集团的车辆监控调度当然也可以基于GPRS技术来实现。
2.4数据采集系统
数据采集系统主要由一个内置TCP/IP协议的单片机系统。
单片机系统对各个传感器系统所传出的数字信号进行采集和处理,并且通过GPRS网络与数据处理中心进行数据的交换。
单片机系统与用户之间是通过RS-232这个接口与用户的设备进行参数的设置与数据读取的。
3系统硬件设计
3.1AT89C51单片机
本设计使用的单片机是AT89C51单片机,AT89C51是美国ATMEL公司生产的低功耗、高性能CMOS的8位单片机,片内含4K的可编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚,它集Flash程序存储器既可在线编程(ISP),也可用传统方法进行编程及通用8位微处理器于单片机芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制的领域。
AT89C51单片机中主要是通过中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、多功能可编程I/O接口等各种计算机所需要的基本功能元件都集成在一块大规模的集成电路中,这些部件经高速片内总线连接在一起,在软件和控制逻辑的作用下构成一个有机的整体。
AT89C51的引脚如图2所示:
图1AT89C51
1.引脚20:
此引脚为接地脚。
2.引脚40:
此引脚为接电源脚,在AT89C51单片机正常工作或者是片内EPROM读写程序的情况下,此引脚应该接+5V电源。
3.引脚19:
这个引脚是时钟XTAL1脚,是AT89C51单片机片里振荡电路的输入端。
4.引脚18:
这个引脚是时钟XTAL2脚,是AT89C51单片机片里振荡电路的输出端。
5.输入输出(I/O)引脚:
引脚39-引脚32为P0.0-P0.7输入输出脚,引脚1-引脚8为P1.0-P1.7输入输出脚,引脚21-引脚28为P2.0-P2.7输入输出脚,引脚10-引脚17为P3.0-P3.7输入输出脚。
引脚9(RST/VPD):
此引脚为复位/备用的电源脚,在AT89C51单片机通上电之后,单片机上面的时钟电路从这时就开始工作了,然而在单片机的正常的工作过程中,如果在RST的引脚上面连续的出现了超过单片机上的两个机器周期的高电平情况下,系统就能够进行系统初始化的复位操作。
完成系统的初始化复位操作后,AT89C51单片机的程序中计数器PC就会指向了地址0000H,堆栈指针被写入到地址07H,而P0-P3输出口也将全部被置为高电平,AT89C51单片机中的其它的专用的寄存器会被清为“0”。
而当RST引脚上的电平由高电平变为低电平之后,系统也就会从0000H地址开始执行事先所编写好的程序。
然而,系统的初始化复位操作并不会改变RAM(包括工作寄存器R0-R7)的状态,AT89C51单片机的复位状态表,如表1所示:
寄存器
复位状态
PC
0000H
B
00H
A
SP
07H
PSW
TH0
DPTR
TL0
IP
xxx00000B
TH1
IE
0xx00000B
TL1
TMOD
TCON
SCON
SBUF
xxxxxxxxB
P0-P3
1111111B
PCON
0xxx0000B
表1AT89C51单片机的复位状态表
引脚30:
此引脚为ALE/
(地址锁存允许/编程线)。
ALE引脚所输出的时钟信号为的频率是AT89C51单片机时钟信号频率的1/6,在STC89C511单片机访问片外的程序或数据存储器时,ALE引脚所输出的脉冲信号的下降通常沿用于锁存P0口所输出的低8位的地址线,和P2口输出的信号,结合形成了16位地址总线;
在单片机不访问外部的程序或数据的存储器时,ALE引脚依旧会通过不变的频率来周期性的向外部输出脉冲信号,因此,ALE端口既被用作为对外输出的时钟,也可以别用做来实现定时的功能,但在实际应用的时候,有一点需要我们特别的注意,当AT89C51单片机访问外部的数据存储器的时候,系统就会跳空一个ALE脉冲,在这种情况下,ALE端口就不应该被作为一个时钟的输出端口来使用。
8.引脚29:
此引脚为
(片外程序存储器读选通信号输出端)。
当单片机需要从外部的其他程序存储器中读取常数或者是指令的时候,这个引脚所输出的信号就会在每一个机器周期内会出现两次的有效电平,在有效的电平时,单片机可以通过数据总线P0口读回常数或指令。
但是,在访问单片机外的数据存储器的时候,这种电平信号就不会出现。
9.引脚31:
此引脚为
(片外程序存储器选用端)。
在该引脚是高电平的时侯,单片机就会访问系统内部的程序存储器,当单片机的程序计数器内的值超过了片内的程序存储器的空间时,单片机就会自动的转向外部的程序存储器,访问其所存储的程序。
当该引脚为低电平时,单片机就只会访问外部的程序存储器,不管单片机是否拥有内部程序存储器。
3.2单片机最小系统电路
3.2.1晶振电路
晶振电路为单片机AT89C51工作提供时钟信号,芯片中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振荡器一起构成自激振荡器。
电路中的外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,系统的晶振电路如图所示。
由于外接电容C1、C2的容量大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,电容的容量大小范围为30pF±
10pF;
如果使用陶瓷谐振,则电容容量大小为40pF±
10pF。
本设计中使用石英晶体,电容的容值设定为30pF。
3.2.2复位电路
复位电路的基本功能是:
系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89C51的复位信号是从REST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果REST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
图2复位电路
3.3信号处理电路
由于传感器所输出的模拟信号较为微弱,并且含有少量干扰信号,所以信号处理系统需要将传感器输出信号进行滤波和放大。
同时对于传感器所输出的模拟信号,一般都要用运算放大器对其进行调理或放大,来满足A/D转换器对传感器输入的模拟量幅值及极性的要求。
采样时,把相对应的模拟电压信号送进LM324A进行信号放大处理后,输出送入A/D模数转换电路中。
图3信号处理电路
3.4数据采集电路
本设计中的A/D使用的是通用8位芯片ADC0809,芯片的几个重要管脚功能如下:
ALE为地址锁存允许输入线,高电平有效。
START为转换启动信号,当START上跳沿时,所有内部寄存器清零;
下跳沿时,开始进行A/D转换;
在转换期间,START应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;
否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制输出锁存器向单片机输出转换得到的数据。
OE=1,输出转换得到的数据;
OE=0,输出数据线呈高阻状态。
由于本设计中数模转换芯片使用的是ADC0809,其工作的时钟信号为500KHz,因其内部没有时钟电路,时钟信号由外部AT89C51提供。
系统AT89C51与ADC0809接口电路如图所示。
当AT89C51不访问外部存储器时,AT89C51以时钟振荡频率的1/6输出固定的正脉冲信号,因此晶振设定为12MKz,单片机便可向ADC0809模数转换器输出500KHz的时钟信号。
图4AT89C51与ADC0809接口图
3.5GPRS通信系统
3.5.1通信系统硬件设计方案
在这个系统中我们的电路中使用的GPRS通信系统模块是由华为公司所生产的GTM900-C,这个芯片内部嵌入了所需TCP/IP协议栈,因此使用非常方便,另外我们所使用的控制芯片为AT89C51单片机进行控制,这两种芯片都能提供支持RS-232这个通信标准的串行的通信接口。
因此,本设计的核心部分是编写单片机AT89C51对GTM900-C的GPRS模块控制的程序代码。
AT89C51单片机有一个通用的异步串行接口,使单片机与GTM900-C模块的相对应引脚进行连接,用于单片机对GPRS模块进行数据和AT命令的传输,另外GTM900-C模块的外部需要安装一个天线。
图5通信系统硬件框图
3.5.2GTM900-CGPRS模块简介
AT89C51单片机用于控制GTM900-C模块的数据的收发,在软件中采用串口通信来实现数据的采集。
GTM900-C是华为公司生产的一款双频段EGSM900/GSM1800的通信模块,它在EGSM900Class4频段下的最大发射功率为2W,而在GSM1800Class1频段时的最大发射功率为1W,它拥有较大的工作温度范围为-20℃~+70℃,芯片平均的带电电流为3.5mA,它支持GSM/GPRSPhase2/2+协议以及华为自己的GT800协议。
在这些协议的基础上,用户可进行GPRS网段的数据传输,同时芯片也支持短消息服务等功能,采用3.8V电压供电,外围可拥有多种连接接口,如天线接口、模拟音频接口、异步串行接口、SIM卡接口等,另外
还可以支持12C通信,其芯片的内部嵌入了TCP/IP协议栈,支持多个链接,可以提供ACK应答,并且提供大容量的缓存,因此我们采用此芯片能够大大降低微控制器的编程难度。
实物如图所示:
图6GTM900-C
4系统软件设计
4.1软件开发环境
4.1.1KeiluVision2简介
本系统摒弃了传统的汇编语言而采用C语言进行程序设计。
因为C语言的描述由函数组成,是一种结构化的程序设计语言,所以更容易实现模块化,而且具有可读性好,易于移植等优点,同时还有汇编语言一样的位操作功能的硬件详细控制指令。
数据结构方面,可以使用结构体和数组,能够处理复杂的数据,可用于实时处理系统。
本系统的软件编程使用的是美国KeilSoftware公司出品的KeiluVision2,是51系列兼容单片机C语言软件开发系统。
KeiluVision2软件提供丰富的库函数和功能强大的集成开发调试工具。
另外重要的一点,KeiluVision2生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
4.1.2Proteus7简介
Protues软件是英国Labcenterelectronics公司出版的EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译。
4.2采集系统流程图
外界数据的采集是采集系统中的重要组成部分。
系统设计时对通过传感器对外界变化进行采集、判断的方法。
每次我们采集到数据后,需要将数据存入单片机的寄存器,然后在由单片机的判断程序,把我们通过传感器采集到的数据与设定的数值范围进行对比,从而判定是否需要向外传输报警信息。
图7采集系统流程图
4.3传输系统流程图
首先我们对单片机中需要用到的变量进行初始化,通常情况下我们会将相应的变量设置为0,同时,还需要进行单片机相对应的单元的初始化设置,比如设定各个端口的输入输出方向、设置不同中断的优先级别以及所有需要用到的定时器计数器的初始化配置等,然后再通过单片机控制GTM900-C芯片的电源的通断,来决定是否需要将其上电开启,待开机成功后,通过一系