MSC1210的GPRS无线通信系统设计

2006-08-07 14:55:33来源: 单片机及嵌入式系统应用

  引言

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

GPRS是在现有GSM系统上发展出来的一种新的数据承载业务,支持TCP/IP协议,可以与分组数据网(Internet等)直接互通。GPRS无线传输系统的应用范围非常广泛,几乎可以涵盖所有的中低业务和低速率的数据传输,尤其适合突发的小流量数据传输业务。

本文设计的GPRS无线通信模块,内嵌了TCP/IP协议,采用工业级的GPRS模块,适用于单片机数据采集传输系统没有TCP/IP协议栈,但使用串口通信的情况。

1 GPRS通信原理及应用特点

1.1 GPRS简介

GPRS是通用无线分组业务(General Packet Radio System)的缩写,是介于第二代和第三代之间的一种技术,通常称为2.5G。GPRS采用与GSM相同的频段、频带宽度、突发结构、无线调制标准、跳频规则以及相同的TD-MA帧结构。因此,在GSM系统的基础上构建GPRS系统时,GSM系统中的绝大部分部件都不需要作硬件改动,只需作软件升级。有了GPRS,用户的呼叫建立时间大大缩短,几乎可以做到“永远在线”。此外,GPRS是以营运商传输的数据量而不是连接时间为基准来计费,从而令每个用户的服务成本更低。

1.2基本工作原理

GPRS是在原有的基于电路交换(CSD)方式的GSM网络上引入两个新的网络节点:GPRS服务支持节点(SG-SN)和网关支持节点(GGSN)。SGSN和MSC在同一等级水平,并跟踪单个MS的存储单元实现安全功能和接入控制,并通过帧中继连接到基站系统。GGSN支持与外部分组交换网的互通,并经由基于IP的GPRS骨干网和SGSN连通。图1给出了GPRS与Internet连接原理框图

GPRS终端通过接口从客户系统取得数据,处理后的GPRS分组数据发送到GSM基站。分组数据经SGSN封装后,SGSN通过GPRS骨干网与网关支持接点GGSN进行通信。GGSN对分组数据进行相应的处理,再发送到目的网络,如Internet或X.25网络。

若分组数据是发送到另一个GPRS终端,则数据由GPRS骨干网发送到SGSN,再经BSS发送到GPRS终端。

2 嵌入式GPRS通信系统的实现

2.1 GPRS模块的硬件设计

嵌入式GPRS无线通信模块主要由嵌入TCP/IP的单片机(MSC1210Y5)、GPRS模块、SIM卡座、外部接口和扩展数据存储器等部分组成。图2是系统的硬件框图。

MSC1210控制GPRS模块接收和发送信息,通过标准RS232串口和外部控制器(比如数据采集端)进行数据通信。用软件实现中断,完成数据的转发。

2.1.1 单片机模块

单片机采用美国德州仪器公司最新推出的基于8051内核的MSC1210Y5。该芯片具有很强的数据处理能力,时钟频率为33MHz,指令运行速度实际上与运行在99MHz时钟频率下的标准8051内核相当。32KB Flash程序存储器,256 B内部RAM和1024 B片上SRAM,2 KB启动ROM,支持串行和并行的在系统编程。双数据指针DPTR0和DPTRl可加快数据块的移动速度。

其主要实现过程如下:

①通过AT指令初始化GPRS无线模块,使之附着在GPSR网络上,获得网络运营商动态分配的GPRS终端IP地址,并与目的终端建立连接。

②通过串口0扩展MAX232标准串口和外部控制器(例如数据采集端)连接,外部控制器端接出标准串口,按照约好的协议可很容易利用本设计的控制器进行通信。

③复用P1.2和P1.3,也就是串口1分别和GPRS模块的TXD0和RXD0连接,P1口的其他6个端口分别接到GPRS模块对应的剩余RS232通信口,通过软件置位完成对MC35的初始化和控制GPRS模块的收发数据。

2.1.2 扩展数据存储器部分

MSC1210的Flash存储器可全部作为Flash程序存储器,也可以全部作为数据Flash程序。因为要嵌入实时操作系统和网络协议,需要一定的空间,因此将其全部用作程序存储器,而通过74HC573作为地址锁存器,扩展6264作为外部数据存储器,8KB的数据存储空间足够程序正常运行。

图3给出了MSC12lO与数据存储器之间的硬件连接图。

2.1.3 GPRS无线数传模块

GPRS无线模块作为终端的无线收发模块,把从单片机发送过来的IP包或基站传来的分组数据进行相应的处理后再转发。

GPRS模块采用德国Simens公司生产的MC35模块。MC35模块主要由射频天线、内部Flash、SRAM、GSM基带处理器、匹配电源和一个40脚的ZIF插座组成。GSM基带处理器是核心部件,其作用相当于一个协议处理器.用来处理外部系统通过串口发送AT指令。射频天线部分主要实现信号的调制和解调,以及外部射频信号与内部基带处理器之间的信号转换。匹配电源为处理器基射频部分提供所需的电源。MC35外围电路如图4所示。

AS2815将外部电压转换成3.3V工作电压。

启动电路由三极管和上电复位电路组成,模块上电后,为使之正常工作,必须在15脚加至少为100 ms的低电平信号。启动后,15脚信号应保持高电平。

MC35在ZIF连接器上为SIM卡接口预留的引脚数为6个,要注意的是,CCIN引脚用来检测SIM卡座是否插有SIM卡。当插入SIM卡,该引脚置为高电平时,系统方可进入正常工作。

SYNC引脚有两种工作模式:一种是指示发射状态时的功率增长情况,另一种是指示MC35的工组状态。本设计中使用后一种模式,LED熄灭时,表明MC35处于关闭或睡眠状态;当LED为600 ms亮/600 ms熄时,表明SIM卡没有插入或MC35正在进行网络登陆;当LED为75 ms亮/3 s熄时,表明MC35已登陆进网络,处于待机状态。

2.2 单片机通信程序设计

软件中的所有代码都用C语言编写,在Keil环境中编译。Keil是Keil Software公司为8051及其兼容产品提供的专门开发工具,它支持在系统调试。Keil中C51编译器很好地集成了RTX多任务实时操作系统,编写程序时,需在源代码头加入“#incluede rtx51.h”。所有代码调试通过后经由TI Downloader下载到存储器中。

目前,绝大多数基于GPRS网络应用系统所使用的GPRS模块不支持TCP/IP协议。也就是说,要想工作在相同的网络层面上,其内部传输的数据必须都要采用相同的协议,所以除了利用GPRS模块的功能外,必须在单片机系统中嵌入按TCP/IP和PPP协议标准编写的程序,从而使设计的终端设备能够方便的应用GPRS数据分组业务。

2.2.1 TCP/IP协议的嵌入

有很多种方法可以完成协议转换,本设计利用在嵌入式实时操作系统RTX51中移值部分IP和PPP协议来增强系统的可扩展性和产品开发的可延续性。

TCP/IP协议是一个标准协议套件,可以用分层模型来描述。数据打包处理数据时,每一层把自己的信息添加到一个数据头中,而这个数据头又被下一层中的协议包装到数据体中。数据解包处理程序接收到GPRS数据时,把相应的数据头剥离,并把数据包的其余部分当作数据体对待。

考虑到嵌入式系统的特点,本设计采用了系统开销较小的IP+UDP协议来实现GPRS通信。主机发送的UDP数据报文经GPRS通道传送给GPRS通信模块,GPRS通信模块负责对数据报进行解析,解析后的数据按照一定的波特率串行传送给用户终端。

2.2.2 数据处理

数据包在主机和GPRS服务器群中传输使用的是基于IP的分组,即所有的数据报文都要基于IP包。但明文传送IP包不可取,故一般使用PPP协议进行传输。模块向网关发送PPP报文都会传送到Internet网中相应的地址,而从Internet传送过来的应答帧也同样会根据IP地址传送到GPSR模块,从而实现采集数据和Internet网络通过GPRS模块的透明传输。

要注意的是,GSM网络无静态IP地址,故其他通信设备不能向它提出建立连接请求,监控中心必须拥有一个固定的IP,以便监测终端可以在登陆GSM网络后通过该IP找到监控中心。关于这一点,很容易解决,只需在电信申请相应的服务就可以了。

GPRS模块登陆上GSM网络后,自动连接到数据中心,向数据中心报告其IP地址,并保持和维护数据链路的连接。GPRS监测链路的连接情况,一旦发生异常,GPRS模块自动重新建立链路,数据中心和GPRS模块之间就可以通过I地址通过UDP/IP协议进行双向通信,实现透明的可靠数据传输。

3 上位机监控中心的设计

监控中心的功能是实现GPRS信息的接收和保存。设计语言采用Microsoft公司的Visual C++编程语言,C++语言应用灵活,功能强大,并对网络编程和数据库有强大的支持。

由于通过GPRS.中心监控部分可以直接访问互联网,所以监控部分并不需要再设置GPRS模块。中心只需通过中心软件帧听网络,接收GPRS无线模块传来的UDP协议的IP包和发送上位机控制信息,以实现与GPRS终端的IP协议通信。接收到的信息要保存到中心的数据库中,以备查历史记录。数据库采用Access,VC编制的界面窗口通过AD()访问Access中的数据。需要说明的是,笔者是通过Socket接收网络终端信息的。

Socket接口是TCP/IP网络的API,Socket接口定义了许多函数和例程,程序员可以利用它来开发TCP/IP网络上的应用程序。VC中的MFC类提供了CAsyncSocket这样一个套接字类,用它来实现Socket编程非常方便。本设计中采用数据报文式的Socket,它是一种无连接的Socket,对应于无连接的UDP服务应用。

CAsyncSocket:类用DoCallBack函数处理MFC消息,当一个网络事件发生时,DoCallBack函数按照网络事件类型:FD_READ、FD_WRITE、FD_ACCEPT和FD_CON-NECT分别调用OnReceive、OnSend、OnAccept和OnCon-nect函数,驱动相应的事件,完成网络数据通信过程。

4 结论

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

基于GPRS的系统也有一定的缺点,例如,现在的GPRS网还不够稳定,有丢包的现象;主控制器要实现IP协议,使用起来比较复杂;上位机基于互联网的解决方案保密性较差等。上述问题经过精细设计是可以避免和解决的,所以基于GPRS的设计仍具有无可比拟的优势。

关键字:模块  单片机  存储器

编辑: 引用地址:http://www.eeworld.com.cn/wltx/RFID/200608/2271.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
模块
单片机
存储器

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved