您的当前位置:首页正文

基于单片机GPRS通信系统的毕业设计 好!(优.选)

2020-09-13 来源:独旅网
word.

基于单片机GPRS通信系统的设计

word.

word.

摘要

GPRS(通用分组无线电业务)是利用包交换的概念发展的一套无线传输方式,GPRS网络是基于现有的GSM(全球移动通信系统)网络实现的,在现有的GSM网络中需要增加一些节点,如GGSN(GPRS网关支持节点)和SGSN(GPRS服务支持节点)。SGSN的主要作用是记录移动终端的当前位置信息,并且在移动终端与GGSN之间完成移动分组数据的发送和接受。GGSN主要起网关作用,可以与多种不同的数据网络连接,如ISDM(综合业务数字网)、PSPDN(包交换公用数据网)和LAN(局域网)等。GGSN可以把GSM网中的GPRS分组数据包进行协议转换。从而把这些分组数据包传送到远端的TCP/IP或X.25网络。GPRS网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等有点,而且其本身就是一个分组性数据网,支持TCP/IP协议,可以直接与Internet互通。因此,GPRS在无线上网、环境监测便携型、交通监控、移动办公等行业中具有无可比拟的性价比优势。

关键词:数据传输与接收 单片机 GPRS通信系统

word.

word.

Abstract

GPRS (general packet radio service) is to use the concept of packet switching the development of a wireless transmission, a GPRS network is based on existing GSM (global system for mobile communications) network realization, in the existing GSM network of some nodes need to increase, such as GGSN (GPRS gateway support node) and SGSN (GPRS service support node).The main Function is to record SGSN mobile terminal current position information, and in the mobile terminal and GGSN completed of mobile group data to send and receive. GGSN main up gateway function, and can be with a variety of different data network, such as ISDM (integrated services digital network), PSPDN (packet switching public data networks) and LAN (local area network), etc. GGSN can put the GSM network packets of GPRS group for protocol conversion. So the group sent packets to a remote TCP/IP or X.25 network. GPRS nets not only has to cover range, data transmission speed, high quality, and always online communication according to flow billing, and a bit, and its itself is a group sex data networks, support the TCP/IP protocol, can be directly and Internet communication. Therefore, GPRS is in wireless Internet and environmental monitoring portable type, traffic monitoring, mobile office, and other industries with an unmatched price advantage.

Keywords:Data transmission and reception Single-chip, microcomputer,

GPRS communication system

word.

word.

目录

摘要 ................................................................................................................. I Abstract ......................................................................................................... II 目录 .............................................................................................................. III 前言 ................................................................................................................ 1 1 GPRS通信 ................................................................................................. 2

1.1 GPRS通信 ........................................................................................ 2 1.2 课题研究的意义 .............................................................................. 3 2 GPRS通信无线网络的介绍 ..................................................................... 5

2.1 GPRS无线通讯网络 ........................................................................ 5 2.2 GPRS的网络结构 ........................................................................... 5

2.2.1 GPRS协议栈 ......................................................................... 6 2.2.2 基于GPRS的TCP/IP协议 .................................................. 7 2.2.4 GPRS的优点 ......................................................................... 8 2.2.5 GPRS开创新时代 ............................................................... 9

3 GPRS通信系统的整体设计方案 ........................................................... 10

3.1 GPRS通信系统的方案论证 ......................................................... 10

3.1.1 系统总体功能概述 .............................................................. 11 3.2 硬件部分设计方案 ........................................................................ 12

3.2.1 单片机 .................................................................................. 13 3.2.2单片机STC89C51 ................................................................ 14 3.2.3 GPRS模块简介及应用 ........................................................ 15 3.2.4 CTM900-CGPRS模块简介 ................................................ 16 3.3 软件设计方案 ................................................................................ 16

3.3.1 连接的建立 .......................................................................... 16 3.3.2 数据处理 .............................................................................. 23 3.3.3 主程序流程 .......................................................................... 24

结论 .............................................................................................................. 26 致谢 .............................................................................................................. 27 参考文献 ...................................................................................................... 28 附录1 电路原理图 ..................................................................................... 29 附录2 系统程序 ......................................................................................... 30

word.

word.

前言

近年来,通信技术和网络技术的迅速发展,特别是无线通信技术的发展,使得电力系统的自动化程度进一步提高。GSM网络出现后,技术人员很快把GSM模块嵌入到各种仪表仪器中,如多功能电能表、故障测录仪、抄表系统和用电负荷监控等,从而使这些仪表仪器具有远程通信功能。GPRS是在现有GSM系统上发展出来的一种新的数据承载业务,支持TCP/IP协议,可以与分组数据网(Internet等)直接互通。GPRS无线传输系统的应用范围非常广泛,几乎可以涵盖所有的中低业务和低速率的数据传输,尤其适合突发的小流量数据传输业务。本文设计的GPRS无线通信模块,内嵌了TCP/IP协议,采用工业级的GPRS模块,适用于单片机据采集传输系统没有TCP/IP协议栈,但使用串口通信的情况。

word.

word.

1 GPRS通信

1.1 GPRS通信

GPRS是通用分组无线业务(General Packet Radio Service)的简称,它突破了GSM网只能提供电路交换的思维方式,只通过增加相应的功能实体和对现有的基站系统进行部分改造来实现分组交换,这种改造的投入相对来说并不大,但得到的用户数据速率却相当可观。GPRS(General Packet Radio Service)是一种以全球手机系统(GSM)为基础的数据传输技术,可说是GSM的延续。GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。

GPRS经常被描述成“2.5G”,也就是说这项技术位于第二代(2G)和第三代(3G)移动通讯技术之间。它通过利用GSM网络中未使用的TDMA信道,提供中速的数据传递。GPRS突破了GSM网只能提供电路交换的思维方式,只通过增加相应的功能实体和对现有的基站系统进行部分改造来实现分组交换,这种改造的投入相对来说并不大,但得到的用户数据速率却相当可观,GPRS的传输速率可提升至56甚至114Kbps,而且,因为不再需要现行无线应用所需要的中介转换器,所以连接及传输都会更方便容易。

GPRS的特点 1. 应用上的特点

目前,用手机上网还显得有些不尽人意。因此,全面的解决方法GPRS也就这样应运而生了,这项全新技术可以令您在任何时间、任何地点都能快速方便地实现连接,同时费用又很合理。简单地说:速度上去了,内容丰富了,应用增加了,而费用却更加合理。

(1)高速数据传输

速度10倍于GSM,更可满足您的理想需求,还可以稳定地传送大容量的高质量音频与视频文件,可谓不一般的巨大进步。

(2)永远在线

由于建立新的连接几乎无需任何时间(即无需为每次数据的访问建

word.

word.

立呼叫连接),因而您随时都可与网络保持联系,举个例子,若无GPRS的支持,当您正在网上漫游,而此时恰有电话接入,大部分情况下您不得不断线后接通来电,通话完毕后重新拨号上网。这对大多数人来说,的确是件非常令人恼火的事。而有了GPRS,您就能轻而易举地解决这个冲突。

(3)仅按数据流量计费

即根据您传输的数据量(如:网上下载信息时)来计费,而不是按上网时间计费也就是说,只要不进行数据传输,哪怕您一直“在线”,也无需付费。做个“打电话”的比方,在使用GSM+WAP手机上网时,就好比电话接通便开始计费;而使用GPRE+WAP上网则要合理得多,就像电话接通并不收费,只有对话时才计算费用。总之,它真正体现了少用少付费的原则[2].

1.2 课题研究的意义

GPRS通用无线分组业务(General Packet Radio Service)是利用包交换的概念发展的一套无线传输方式。GPRS网络是基于现有的GSM(全球移动通信系统)网络实现的。在现有的GSM网络中需要增加一些节点,如GGSN(GPRS网关支持节点)和SGSN(GPRS服务支持节点)。SGSN的主要作用是记录移动终端的当前位置信息,并且在移动终端与GGSN之间完成移动分组数据的发送和接受。GGSN主要起网关作用,可以与多种不同的数据网络连接,如ISDN(综合业务数字网)、PSPDN(包交换公用数据网)和LAN(局域网)等。GGSN可以把GSM网中的GPRS分组数据包进行协议转换,从而把这些分组数据包传送到远端的TCP/IP或X.25网络。

GPRS网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,而且其本身就是一个分组型数据网,支持TCP/IP协议,可以直接与Internet互通。因此,GPRS在无线上网、环境监测便携型、交通监控、移动办公等行业中具有无可比拟的性价比优势。

目前,我国在水利、电力和天然气、石油等资源的监测中还没有经济实用的自动化数据采集和传输设备,尤其是在偏远的乡村、山区以及其他恶劣环境下的数据传输更加的困难,不能满足工业现代化、自动化

word.

word.

的要求。GPRS通信系统是现代测控的基础,用于获取各种采集到的数据,因为作为获取信息的重要工具,GPRS通信系统正广泛应用于生产、科研的各个领域。随着通信事业的发展,我国已建成了覆盖全国的GSM数字蜂窝移动通信网,GSM网络中重要发展的GPRS网络也已经投入使用,所以,本课题提出并设计了基于单片机的GPRS通信系统的设计,实现远程数据传输系统,使得数据传输更加的灵活,并且大大降低了成本,为一些监控系统后的传输数据带来了方便快捷。

word.

word.

2 GPRS通信无线网络的介绍

2.1 GPRS无线通讯网络

GPRS是通用分组无线业务(General Packet Radio Service)的英文简称,是一种新的分组数据承载业务。相对原来GSM的拨号方式的电路交换数据传送方式,GPRS是分组交换技术,具有“实时在线”、“按量计费”、“快捷登录”、“高速传输”、“自如切换”的优点。

GPRS是General Packer Radio Service的英文缩写,中文译为通用无线分组业务,具体来讲,GPRS是一项高速数据处理的科技,即以分组的“形式”把数据传送到用户手上。因此,GPRS技术可以令手机上网省时、省力、省花费。打个比方,GSM是猫上普通固定电话线网的话,那么GPRS就是手机的ADSL。

相对于GSM的9.6kbps的访问速度而言,GPRS拥有171.2kbps的访问速度;在连接建立时间方面,GSM需要10-30秒,而GPRS只需要极短的时间就可以访问到相关请求;而对于费用而言,GSM是按连接时间计费的,而GPRS只需要按数据流量计费;GPRS对于网络资源的利用率而相对远远高于GSM。

2.2 GPRS的网络结构

GPRS网络结构基于GSM系统实现,话音部分人采用原先的基本处理单元,而对与数据本分则新增了一些数据处理单元和接口。GPRS系统中新增的数据单元包括一下几个部分。

word.

word.

图2.1 GPRS网络单元

(1)PCU(Packet Control Unit):分组处理单元,它是BSC(Basc Station Controller,基站控制器)的一部分,可以独立设置或者与BSC合并设置,它与BSC之间的接口不开放。

(2)SGSN(Service GPRS Support Node):GPRS服务支持节点。功能和作用与MSC(Mobile Switching Center,移动交换中心)具有相同点,进行分组移动用户的状态管理,计费管理等并负责到HLR(Home Location Register,小区位置存储器)的用户数据信息的传送。

(3)GGSN(Gateway GPRS Support Node):GPRS网关支持节点。负责和外部数据网络的接口。进行数据包转发,具有路由器的部分功能。

2.2.1 GPRS协议栈

GPRS协议规程体现了无线和网络相结合的特征。其实既包含类似局域网技术中的逻辑链路控制LLC子层和媒体接入控制MAC子层。又包含RLC和BSSGP等新引入的特定规程。由GPRS网络系统的端到端之间的应用协议结构可知,GPRS网络是存在于应用层之下的承载网络,它用以承载IP或X.25等数据业务,由于GPRS本身采用IP数据网络结构,所以基于GPRS网络的IP应用规程结构可理解为两层IP结构,即应用级的IP协议以及采用IP协议的GPRS本身。

word.

word.

2.2.2 基于GPRS的TCP/IP协议

TCP/IP是为协同操作计算机、分享网络资源的一套协议。该协议成员包括IP、TCP、UDP等。TCP确保数据的正确传送,如果对于一个信息包来说,数量太大,TCP则可将其分成若干组。IP被用来为信息包到达另一端寻找通道,每一个与网络相连接的工作站都有一个唯一的IP地址,该IP地址为一个32位数,它通常被写成四个十进制数字,每一个代表8位。

TCP/IP是一个无连接协议,信息以分组方式进行传输,信息包的最大容量在初始化过程中得以商定。如果信息超过其最大容量,则将被分成若干组分别传送。信息包未得以按顺序传送甚至丢失及再次转发的可能性是存在的,因此,TCP必须将序号、信息来源和目的地通道数,以及其他信息添加进数据包中,被称为TCP包头。接收器端将利用该信息来监测数据包是否被正确的接收,从而加以整理。要直接将信息包发送至正确的工作站,仅有TCP包头,是不允许的。一个IP抱头必须被加在TCP抱头之上,源地址和目的地址被包括在IP包头里。发送信息包至目的地,计算机将首先核对其自身的路由列表,如果目的地在自己的网络内,它将直接发送信息包。否则,它将发送信息包至网关,每一个网关都有一个路由列表,信息包将通过几个单独的路由节点到达目的地址。

GPRS网提供网络功能将IP信息包从移动用户点传送至外部网络。GPRS可以为IP地址提供多重选择,包括公共地址、专用地址以及客户代理地址。指定IP地址选择权的GPRS机制被称为接入点域名(APN)。

因为IP地址的整体供应受到限制,一个GPRS网络提供商通常使用专用的、可动态分配的地址,然而,公用网址选择可由专门的客户提供,专用网址则无法越过公共网进行操作。为连接公共网络,专用网址被转换成公共网址。该转换通过一个节点发生,该节点是专用的网络地址转换(NAT)。多重专用地址可被映射成一个公共地址,对于急于IP协议的应用,和有限网络一样,在无线网络中他们以相同的方式工作。当GPRS对话启动是,大多数服务提供商也将监控数据的传输流量,如果在特定的一段时间内没有数据传输,其连接将被断开。

因为TCP/IP信息包是通过GSM网络传输的,所以,必须考虑

word.

word.

TCP/IP协议栈的一些参数配置。基于GPRS的TCP应当支持适当的窗口尺寸以利于优化端对端连接的宽带延迟,默认接受和发送缓冲器比例应当增加到容纳足够大的窗口,被衔接层支持的IP数据包的最大值是最大传输单元(MTU)。在高误码率的连接上,较小的MTU尺寸增加了成功传输的机会,默认IP最大传输单元值为576字节。一句链路条件和ARQ的配置,它有可能增加MTU大到一个较大的值,一个较大的MTU允许TCP更快的增加拥挤窗口。对于急于GPRS的TCP/IP协议的设计,必须考虑这些。

2.2.4 GPRS的优点

相对原来的GSM的拨号方式的电路交换数据传送方式,GPRS的分组交换技术,具有“实时在线”、“按量计费”、“快捷登录”、“高速传输”、“自如切换”的优点。

(1)实时在线 “实时在线”,即用户随时与网络保持联系。举个例子,用户访问互联网时,手机就在无线信道上发送和接受数据,就算没有数据传送,手机还一直与网络保持联接,不但可以由用户侧发起数据传输,还可以从网络侧随时启动push类业务,不像普通拨号上网那样断线后还得重新拨号才能上网冲浪。

(2)按量计费

用户可以一直在线,按照用户接收和发送数据包的数量来收取费用,没有数据流量传递时,用户即使挂在网上也是不收费的。形象地讲:休眠发呆都是免费的。

(3)快捷登录 GPRS的用户一开机,就始终附着在GPRS网络上,每次使用时只需一个激活的过程,一般只需1~3秒的时间马上就能登录至互联网,而固定拨号方式接入互联网需要拨号、验证用户名密码、登录服务器等过程,至少需要8~10秒甚至更长的时间。

(4)高速传输

GPRS 采用分组交换的技术,数据传输速率最高理论值能达171.2kb/s,但实际速度受到编码的限制和手机终端的限制,可能会有所不同。电路交换数据业务,速率为每秒9.6K比特,因此电路交换数据

word.

word.

业务(简称CSD)与GPRS的关系就像是9.6K Modem和33.6K、56K的Modem的区别一样。

(5)自如切换

GPRS还具有数据传输与话音传输可同时进行或切换进行的优势。也就是说用户在用移动电话上网冲浪的同时,可以接收语音电话。举个例子,原来的电话拨号上网,接入之后就不能再打电话,也不能接电话,而GPRS就类似于固定电话的ISDN的概念,电话上网两不误。相对原来GSM的拨号方式的电路交换数据传送方式,GPRS是分组交换技术,具有“高速”和“永远在线”的优点。

2.2.5 GPRS开创新时代

对于用手机上网的用户来说,最让人讨厌的就是上网速度慢、经常掉线,不过随着中国移动先进的GPRS网络建设完成,全球通手机用户很快就不会再有这些麻烦了,而且下载文件的速率还会比现在提高近10倍。GPRS 网络启动后,手机上网的计费方式还要从现在的按时间收费,改变成按下载字节计费。新一代的GPRS网络,由于引进了数据通信技术、尤其是互联网技术,使数据传输速率大大提高,掉线率大大降低。

GPRS是通用分组无线业务(General Packet Radio Service)的英文简称,是在现有的第二代移动通信GSM系统上发展出来的分组交换系统,提供端到端的、广域的无线IP连接。GPRS是作为现有 GSM网络向第三代移动通信演变的过渡技术,发展GPRS技术十分经济,因为只须沿用现有的GSM网络来发展即可,虽然是介于第二代和第三代这间的一种网络技术(2.5代),但是它在许多方面都具有显著的优势,也是目前国内最先进的商用网络技术。

GPRS网络中,无线信道可以根据需要,自行进行分配,而在CSD环境下,WAP用户只能使用指定的信道来传输数据,如果操作不结束,这条信道就会一直被占用。例如,当4个用户同时上网时,就必须占用4个数据信道。而gprs技术就不存在这个问题,可以在同一个信道中同时支持4个用户,而且不会对性能有任何大的影响。如果流量过大,还会自动启用其它信道。

word.

word.

3 GPRS通信系统的整体设计方案

3.1 GPRS通信系统的方案论证

方案一:基于GPRS网络的医疗监护系统

近年来,在家庭修养的病人由于不能得到及时看护和抢救,死亡的人数大量提高。而随着老年化的加剧,老年人在家中的健康状况也得到了更高的重视。本文研究的医疗服务系统可以极大的降低运送病人的时间和成本,并能及时的看护老年人的健康状况,对提高我国全民的健康水平有着重要作用。本论文提出了一种基于GPRS 网络的家庭医疗服务系统,本系统采用了最新的GPRS 传输技术和比较人性化的菜单式人机接口,实现了医院对家庭病人的实时监测。

该系统工作原理:

该系统由人体健康参数检测模块,GPRS 网络和远程计算机监控中心组成。人体健康参数检测模块由人体生命参数采集传感器, 传感器组是适配板,GPRS 网络,MPU 及辅助电路构成。

传感器进行对人体健康参数的采集,当传感器采集的信号是数字量,则信号直接传送给MPU当传感器采集的信号是模拟量则需要通过传感器组适配板进行信号放大滤波处理,再传送给MPU通过MPU处理的信号在LCD上显示和存储,MPU对数据进行相应的协议封装然后传送给GPRS无线通讯模块,该模块将数据传送上GPRS公众网,通过Internet 传输方式将数据传送到远程计算机监控中心。该中心对接收到的数据进行整理存储,以达到监测病人的目的。

方案二:基于GPRS的城市供水报警监控系统的设计

城市供水系统是保证城市居民能够稳定、安全、可靠饮水的重要保障,其中城市报警系统是组成该系统重要的一部分。目前,大多数城市报警系统的自动化水平还比较低,当泵站出现故障时不能及时地发现,只有人员到了泵房才能发现,甚至直到严重影响到居民生活用水才知道,一般要延迟很长时间。针对这种情况本文设计了一种城市供水报警监控系统,当有故障发生时就会报警,利用GPRS短信模块,通过发短

word.

word.

信能及时准确地告知维修人员。同时,工作人员利用趋势曲线可以进行数据的分析以及利用报表进行数据的统计和总结,这样可以降低故障率。为居民提供稳定的生活用水。该系统大大提高了城市供水报警系统的智能化和信息化。

系统的工作原理:

压力传感器和温度传感器负责将泵房里稳压罐的入口压力、出口压力和泵房温度的采集,并通过4-20mA标准信号传送给数据采集模块的AI通道。红外传感器和地面水位传感器分别将泵房的火灾和漏水情况的数据采集,以及变频器异常情况通过开关量24V传送给数据采集模块的DI通道。数据采集模块将AI通道里的数据和DI通道里的数据进行处理,然后通过RS-485接口把处理过的数据传给GPRS模块。三相智能电力仪表对电压、电流进行测量,并通过RS-485接口把测量的数据传至GPRS模块,GPRS模块通过GPRS网络和因特网相连,把数据传送至监控中心。

方案三:基于GPRS的数据传输(GPRS的通信系统)

近年来,通信技术和网络技术的迅速发展,特别是无线通信技术的发展,使得电力系统的自动化程度进一步提高。GSM网络出现后,技术人员很快把GSM模块嵌入到各种仪表仪器中,如多功能电能表、故障测录仪、抄表系统和用电负荷监控等,从而使这些仪表仪器具有远程通信功能。

系统设计的原理:

系统采用华为公司的内部嵌有TCP/IP协议栈的GPRS通信模块GTM900-C和STC89C51单片机,二者的串口均支持RS-232通信标准。核心设计在于单片机与CTM900-C的连接和软件的编写。STC89C51单片机具有一个USBRT(通用异步串行接口),其中一个与CTM900-C模块相连,进行数据和AT命令的传输,另一个与终端芯片的串口相连,与终端进行通信。

三个方案进行比较后,我选择地三个方案,能更快捷的做出实物,并且能用在多方面的系统当中去。

3.1.1 系统总体功能概述

利用单片机控制的GPRS通信网络,终端和主台的所有交换信息通

word.

word.

过中国移动的数据通信服务中心,在移动的数据服务中心和供电局配电中心之间申请VPN专网,并在电力局配电中心建立中心主站,所有终端设备通过GPRS网络及移动数据中心连至该中心主站,实现终端和主站的实时在线连接。

该系统的主要功能:  全自动数据抄收  故障信息主动上报  实时巡检表计参数

 自动电量平衡分析

 及时发现表计被非法侵入及窃电行为

当然这个通信系统就会是这些方案实现的基础和核心。

3.2 硬件部分设计方案

系统采用华为公司的内部嵌有TCP/IP协议栈的GPRS通信模块GTM900-C和STC89C51单片机,二者的串口均支持RS-232通信标准。核心设计在于单片机与GTM900-C的连接和软件的编写。STC89C51单片机具有一个USBRT(通用异步串行接口),其中一个与GTM900-C模块相连,进行数据和AT命令的传输,另一个与终端芯片的串口相连,与终端进行通信,CTM900-C模块外部需要安装天线,如图1所示。

STC89C51单片机控制CTM900-C模块发送和接受数据,在软件中采用串行口的中断来实现收发数据和转发数据。

word.

word.

图3.2 系统硬件框图

3.2.1 单片机

单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机了解计算机原理与结构的最佳选择。

可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制)。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简

word.

word.

单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。

在计算机出现以前,有不少能工巧匠做出了不少精巧的机械。 进入电器时代后,人们借助电气技术实现了自动控制机械,自动生 产线甚至自动工厂,并且大大地发展了控制理论。然而,在一些大 中型系统中自动化结果均不理想。只有在计算机出现后,人们才见 到了希望的曙光。如今借助计算机逐渐实现了人类的梦想。但是, 计算机出现后的相当长的时间里,计算机作为科学武器,在科学的 神圣殿堂里默默地工作,而工业现场的测控领域并没有得到真正的 应用。只有在单片机(Microcontroller)出现后,计算机才真正 地从科学的神圣殿堂走入寻常百姓家,成为广大工程技术人员现代 化技术革新,技术革命的有利武器。目前,单片机在民用和工业测 控领域得到最广泛的应用。彩电,冰箱,空调,录像机,VCD,遥 控器,游戏机,电饭煲等无处不见单片机的影子,单片机早已深深 地溶入我们每个人的生活之中。

单片机作为计算机发展的一个重要分支领域,根据目前发展情况,从不同角度单片机大致可以分为通用型/专用型、总线型/非总线型及工控型/家电型。通用型/专用型 这是按单片机适用范围来区分的。例如,80C51是通用型单片机,它不是为某种专用途设计的;专用型单片机是针对一类产品甚至某一个产品设计生产的,例如为了满足电子体温计的要求,在片内集成ADC接口等功能的温度测量控制电路。总线型/非总线型 这是按单片机是否提供并行总线来区分的。总线型单片机普遍设置有并行地址总线、 数据总线、控制总线,这些引脚用以扩展并行外围器件都可通过串行口与单片机连接,另外,许多单片机已把所需要的外围器件及外设接口集成一片内,因此在许多情况下可以不要并行扩展总线,大大减省封装成本和芯片体积,这类单片机称为非总线型单片机。控制型/家电型 这是按照单片机大致应用的领域进行区分的。一般而言,工控型寻址范围大,运算能力强;用于家电的单片机多为专用型,通常是小封装、低价格,外围器件和外设接口集成度高。 显然,上述分类并不是惟一的和严格的。例如,80C51类单片机既是通用型又是总线型,还可以作工控用。

3.2.2单片机STC89C51

本设计采用的是STC89C51系列单片机。

STC89C51系列单片机是宏晶科技推出的新一代超强抗干扰/高速/

word.

word.

低功耗的单片机,是MCS-51系列单片机的派生产品;它们在指令系统中、硬件系统和片内资源与标准的8052单片机完全兼容,DIP-40封装系列与8051为pin-to-pin兼容,指令代码是与8051完全兼容的单片机。STC89C51单片机具有增强型12时钟/机器周期、6时钟机器/周期任意选择,工作电压为5.5V-3.4V(5V单片机)/3.8V-2.0V(5V单片机);工作频率范围:0-40MHZ,相当于普通8051的0-80MHZ。实际频率可达48MHZ。用户应用程序空间为4K/8K/13K/16K/20K/32K/64K字节 ;片上集成1280字节/512字节RAM;有32/36个通用I/O口,P1/P2/P3/P4是准双向口;集成ISP(在系统可编程)/IPA(在应用可编程),无需专用的编程器/仿真器,可通过串行口(P3.0/P3.1)直接下载用户程序,8K程序3秒就可以完成一片,具备EEPROM功能,工作温度范围在0-750,共有3个16位定时器/计数器,其中定时器T0还可以当成2个8位定时器使用;封装形式有DIP-40,PLCC-44,PQFP-44等。

3.2.3 GPRS模块简介及应用

基于GPRS的IP协议提供了与互联网“永远在线”的可能性,使之成为一种节约成本的选择。为了开发基于IP协议的应用,系统设计师需要同时通晓无线网络和TCP/IP。各种各样的接入技术被运用于无线网络。在FDMA技术中,每个用户被分配一个频率,而TDMA技术则通过实践分隔用户。在CDMA技术中,所有用户在痛一时间使用同一个频段发送信号,分隔用户通过各自被分配到的为一代吗来实现。在2G系统中,数据传输主要是通过电路交换,既一个被分配给用户的传输信道,当一个用户完成传输任务,让出信道后,该传输信道才被提供给其他用户使用。由于促发性是数据业务的基本特征,当一个用户不在有数据传输时,宽带就处于荒废状态中。在分组交换系统中,所有用户分享同一个信道,用户则可以实现多路复用的功能。当一个用户没有需要传输数据的时候,信道就会被其他用户所使用。信息包的传输方式可通过媒体存储控制(MAC)协议被编排。

在互联网上的信息包传输全部基于IP协议。无线网络将于互联网结合,信息包通过无线媒介传送至基于IP协议的网络,在传输前,为了能直接到达指定的目的地,数据包必须根据TCP/IP协议封装。在GPRS网络中就是采用IP协议进行传输。

word.

word.

3.2.4 CTM900-CGPRS模块简介

CTM900-C是华为公司生产的一款双频段EGSM900/GSM1800的通信模块,它的最大发射功率为EGSM900 Class4(2W)和GSM1800 Class1(1W),它正常的工作温度在-20℃~+70℃之间,平均带电电流为3.5mA,它支持的协议有GSM/GPRS Phase2/2+和华为GT800协议,在此模块的基础上,可进行GPRS数据传输,具有支持短消息服务等功能,采用3.8V电压供电,多外可提供多种接口,如天线接口、模拟音频接口、异步串行接口、SIM卡接口等,也支持12C通信,内部集成了TCO/IP协议栈,支持多链接,提供ACK应答,提供打容量缓存,因此采用此芯片会大大降低低微控制器编程工作的难度。

3.3 软件设计方案

系统软件采用C语言编写,在IAR环境下编译。由于本系统是远程管理终端的一个模块,因此在程序的编写中要遵守一定的协议,这样才能保证正确通信。程序的主题是如何控制CTM900-C的AT命令对CTM900-C进行初始设置和信息数据的处理。程序总体上可以分为以下两个模块,一是CPRS连接的初始设置,二就是判断数据以及发送。主程序吧这些程序块有机的结合到一起,相互控制。

3.3.1 连接的建立

GPRS模块连接到Internet和GPRS网络实现的过程如下: a) 单片机软件控制GPRS模块开机,等待此模块正常启动。 b)通过单片机和GTM900-C模块连接的串口,GTM900-C模块写入相应的AT设置命令,进行初始化,使模块成功粘附在GPRS网络上,获取网络运行商分配的动态IP地址,与目的终端建立连接。

其步骤如下;

第一步:AT+CSQ 查询网络质量

word.

word.

图3.3 查询网络质量图

第二步:AT+CPIN? 查询SIM是否准备好

图3.4 查询SIM是否准备好图

第三步:AT+CGREG? 查询是否注册成功

word.

word.

图3.5 查询是否注册成功图

以上三步主要是确认当前网络和模块的状态。 第四步:AT+CGDCONT=1,“IP”,“CMNET”设置APN无线接入点

图3.6 设置APN无线接入点图

第五步:AT%ETCPIP=””,”” 进行PPP拨号

word.

word.

图3.7 PPP拨号图

第六步: AT%ETCPIP? 查询获得本地IP地址,以用DNS服务器地址

图3.8 查询获得本地IP图

第七步:AT%IPOPEN=”TCP”,”221.207.252.107”,1234

word.

word.

图3.9

图3.10

第八步:AT%IPSEND=”616263313233”发送内容为abc123的十六进制数据。

word.

word.

图3.11 发送数据图

图3.12 发送数据界面图

第九步:接收数据

word.

word.

图3.13 接受数据界面图

图3.14 接受数据图

第十步:AT%IPOPEN? 查询链路状态

word.

word.

图3.15 查询链路状态图

第十一步:AT%IPCLOSE 和AT%IPCLOSE=5 关闭连接

图3.16 关闭连接图

3.3.2 数据处理

数据包在数据中心服务器和GPRS服务器中的传输是基于IP数据

word.

word.

包的,但明文传送IP包不可取,因此太多选用PPP(点对点协议)进行传输,实现通过GPRS模块的数据和Internet网络的透明传输。GTM900-C内部集成了TCP/IP协议栈,所以用户对IP协议相关的程序就不必编写,可以直接通过GTM900-C传递数据。

模块与Internet上PC机的数据传输:要求PC机具有公网的IP地址和开放的端口以及监视传输报文的运行软件。这样,模块与Internet传输数据时,报文就会显示。在模块成功连入网络后,单片机只要将要发送的数据通过串口发给GTM900-C,GTM900-C就会把数据发给相应的IP地址的PC机。

3.3.3 主程序流程

主程序由模块函数组成,模块函数由基本函数嵌套组成。主程序流程大致如下,首先进行单片机设置变量的初始化,一般均为0,进行单片机相应配置单元的初始化,比如设定端口方向、设置中断优先级、定时器初始化等,然后由单片机控制CTM900-C的电源,以决定是否开机,待开机成功后,查询网络是否注册成功,成功后即可建立模块与PC机服务器的连接,并进行数据传输和短信息处理,根据需要发送一定格式的信息。

word.

word.

图3.17 主程序流程图

word.

word.

结论

该通信系统是用嵌入式TCP/IP协议,通过高速8位单片机实现GPRS业务的数据传输功能,具有整体电路少,操作简单,制作方便,使用更人性化,成本更低等优点。通过标准RS232串口和外部控制器连接,只需按照预先规定的协议就可互相通信,通用性较强。系统软件均使用C语言编写,稍加改动就可以在各种控制器上实现,可移植性也较强。

由于GPRS的系统也有一定的缺点,比如现在的GPRS网还不够稳定,有丢包的现象;主控制器要实现IP协议,使用起来比较复杂;上位机基于互联网的解决方案保密性较差等。但是这些问题都能通过我们的精密的硬件和软件设计来克服这些问题,所以GPRS系统在未来的发展中有着无可比拟前途。

word.

word.

致谢

word.

word.

参考文献

[1] [2] [3] [4]

周静. MSC1210的GPRS无线通信系统设计[D]. 武汉大学, 2010. . 使用单片机实现GPRS通信笑系统的设计. 江世民 .单片机原理及应用.中国铁道出版社.2010

林伸茂. 8051单片机彻底研究基础篇[M]. 北京:人民邮电出版社,

2004.

[5] 北京应嘉兴业科技介绍.

[6] 何立民 .单片机高级教程-------应用于设计.北京航大.2011

word.

word.

附录1 电路原理图

CTM900-C的电路图

单片机的电路图

word.

word.

附录2 系统程序

#include

#define CPU_F ((double)8000000) //mxlk16000K

#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))

#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))

#define RST 1 //宏定义 #define GPRS_APN_flag 2 #define GPRS_PPP_flag 3 #define GPRS_IP_DNS_flag 4 #define GPRS_TCPIP_flag 5 #define GPRS_SEND_OK_flag 6 #define GPRS_ACTIVE_flag 7 #define uchar unsigned char

uchar i_TC35_RECE; //定义无符号的字符型变量

uchar i_receive; uchar TC35_MAX; uchar TC35_CON;

uchar TC35_RE[500];

uchar TC_ATF[]={\"AT&F\ //格式化命令。

uchar GPRS_QD1[]={\"AT+CGDCONT=1\ //设置APN无线接入点

uchar GPRS_QD2[]={\"IP\ //设置APN无线接入点 uchar GPRS_QD3[]={\"CMNET\ //设置APN无线接入点

word.

word.

uchar GPRS_PPP_CMD[]={\"AT%ETCPIP=\ //进行PPP拨号 //--------------------------

uchar GPRS_IP_DNS_CMD[]={\"AT%ETCPIP?\ //查询本地IP启用DNS服务器

//========DTU连接============================= uchar GPRS_TCP1[]={\"AT%IPOPEN=\ //连接服务器 uchar GPRS_TCP2[]={\"TCP\ //连接服务器

uchar GPRS_TCP3[]={\"118.119.161.192\ //该IP为动态分配IP经网络查询

uchar GPRS_TCP4[]={\"1234\ //服务器端口号 uchar GPRS_TCP5[]={\"AT%IPOPEN?\

uchar GPRS_SEND1[]={\"AT%IPSEND=\ //向服务器发送数据 命令

uchar GPRS_SEND3[]={\"12345\ void delayX(uchar m) //延时模块 { uchar k,h; for(k=m;k>0;k--) for(h=0;h<255;h++); }

void init_serialcom( void ) {

P3SEL |= 0x30; // 选择P3.4和P3.5做UART通信端口 ME1 |= UTXE0 + URXE0; // 使能USART0的发送和接受 UCTL0 |= CHAR; // 选择8位字符 UTCTL0 |= SSEL0; // UCLK = ACLK UBR00 = 0x03; // 波特率9600 UBR10 = 0x00; //

UMCTL0 = 0x4A; // Modulation

UCTL0 &= ~SWRST; // 初始化UART状态机 IE1 |= URXIE0; // 使能USART0的接收中断 }

void send_uart( uchar a_s) {

word.

word.

while (!(IFG1 & UTXIFG0)); //等待发送寄存器为空 TXBUF0 = a_s;

} void AT_RST() {

uchar i;

for(i=0;isend_uart(TC_ATF[i]); }

send_uart(0X0D); send_uart(0X0A); TC35_CON=RST; }

/************************************************************ void GPRS_APN():AT+CGDCONT=1,”IP”,”CMNET” 设置APN无线接入点

************************************************************/ void GPRS_APN() { uchar i; for(i=0;iword.

word.

}

/************************************************************ GPRS_PPP():AT%ETCPIP=””,”” 进行PPP拨号

************************************************************/ void GPRS_PPP() { uchar i; for(i=0;i/************************************************************ void GPRS_IP_DNS():AT%ETCPIP? 查询获得本地IP地址,以用DNS服务器地址

************************************************************/ void GPRS_IP_DNS() { uchar i; for(i=0;i/************************************************************ void GPRS_TCPIP():AT%IPOPEN=”TCP”,”221.207.252.107”,1234 进行TCPIP连接

************************************************************/ void GPRS_TCPIP() {

word.

word.

uchar i; for(i=0;ivoid GPRS_Init(void) {

long int i,m; m=1; AT_RST(); delay_ms(20); while(m) { if(TC35_CON==RST) { if((TC35_RE[7]=='O')&&(TC35_RE[8]=='K')) GPRS_APN();

delay_ms(20); } if(TC35_CON==GPRS_APN_flag)

word.

word.

{ if((TC35_RE[39]=='O')&&(TC35_RE[40]=='K')) GPRS_PPP();

delay_ms(20); }

if(TC35_CON==GPRS_PPP_flag) { if((TC35_RE[61]=='O')&&(TC35_RE[62]=='K')) GPRS_IP_DNS();

delay_ms(20); }

if(TC35_CON==GPRS_IP_DNS_flag) {

if((TC35_RE[138]=='K')||(TC35_RE[139]=='K')) GPRS_TCPIP();

delay_ms(20); } if(TC35_CON==GPRS_TCPIP_flag) { if((TC35_RE[182]=='C')||(TC35_RE[183]=='C')) {

delay_ms(100); m=0;//初始化完成 for(i=0;i<500;i++) { TC35_RE[i]=0; }

i_TC35_RECE=0; } } } }

/************************************************************

word.

word.

GPRS数据发送

************************************************************/ void GPRS_SENDDATA() {

long int i;

for(i=0;ifor(i=0;isend_uart('3');

send_uart(GPRS_SEND3[i]); }

send_uart(0X22);//分号 send_uart(0X0D);//回车 send_uart(0X0A); delay_ms(100);

if((TC35_RE[41]=='K')||(TC35_RE[42]=='K')) {

for(i=0;i<500;i++) {

TC35_RE[i]=0; }

i_TC35_RECE=0; } }

void GPRS_ACTIVE() {

long int i;

for(i=0;iTC35_CON=GPRS_ACTIVE_flag; delay_ms(500);

word.

word.

if((TC35_RE[60]=='K')||(TC35_RE[59]=='K')) {

for(i=0;i<500;i++) {

TC35_RE[i]=0; }

i_TC35_RECE=0; } }

void main( void ) {

// Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD;

/*------选择系统主时钟为8MHz-------*/

BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器 uchar i; do {

IFG1 &= ~OFIFG; //清除晶振失败标志 for (i = 0xFF; i > 0; i--); //等待8MHz晶体起振 }

while ((IFG1 & OFIFG)); //晶振失效标志仍然存在? BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振 init_serialcom(); _EINT(); GPRS_Init(); while(1) {

GPRS_SENDDATA(); GPRS_SENDDATA(); GPRS_SENDDATA(); GPRS_SENDDATA(); GPRS_ACTIVE(); delay_ms(20); }

word.

word.

}

#pragma vector = UART0RX_VECTOR

__interrupt void data_Receive(void) // UART接收中断 { i_receive=RXBUF0; TC35_RE[i_TC35_RECE++]=i_receive; }

最新文件---------------- 仅供参考--------------------已改成word文本 --------------------- 方便更改

word.

因篇幅问题不能全部显示,请点此查看更多更全内容