• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 微波/射频 > RF技术文章 > MSC1210的GPRS无线通信系统设计

MSC1210的GPRS无线通信系统设计

录入:edatop.com    点击:


引 言

近年来,通信技术和网络技术的迅速发展,特别是无线通信技术的发展,使得电力系统的自动化程度进一步提高。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相同的频段、频带宽度、突发结构、无线调制标准、跳频规则以及相同的tdma帧结构。因此,在gsm系统的基础上构建gprs系统时,gsm系统中的绝大部分部件都不需要作硬件改动,只需作软件升级。有了gprs,用户的呼叫建立时间大大缩短,几乎可以做到“永远在线”。此外, gprs是以营运商传输的数据量而不是连接时间为基准来计费,从而令每个用户的服务成本更低。

1.2 基本工作原理

gprs是在原有的基于电路交换(csd)方式的gsm网络上引入两个新的网络节点: gprs服务支持节点(sgsn)和网关支持节点(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。该芯片具有很强的数据处理能力,时钟频率为33 mhz,指令运行速度实际上与运行在99 mhz时钟频率下的标准8051内核相当。32 kb flash程序存储器,256 b内部ram和1024 b片上sram,2 kb启动rom,支持串行和并行的在系统编程。双数据指针dptr0和dptr1可加快数据块的移动速度。

其主要实现过程如下:

① 通过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作为外部数据存储器,8 kb的数据存储空间足够程序正常运行。

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

2.1.3 gprs无线数传模块

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

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

as2815将外部电压转换成3.3 v工作电压。

启动电路由三极管和上电复位电路组成,模块上电后,为使之正常工作,必须在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编制的界面窗口通过ado访问access中的数据。需要说明的是,笔者是通过socket接收网络终端信息的。

socket接口是tcp/ip网络的api,socket接口定义了许多函数和例程,程序员可以利用它来开发tcp/ip网络上的应用程序。vc中的mfc类提供了casyncsocket这样一个套接字类,用它来实现socket编程非常方便。本设计中采用数据报文式的socket,它是一种无连接的socket,对应于无连接的udp服务应用。

casyncsocket类用docallback函数处理mfc消息,当一个网络事件发生时,docallback函数按照网络事件类型:fd_rea d、fd_write、fd_accept和fd_connect分别调用onreceive、onsend、onaccept和onconnect函数,驱动相应的事件,完成网络数据通信过程。

4 结论

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

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

如何成为一名优秀的射频工程师,敬请关注: 射频工程师养成培训

上一篇:基于CDMA短信息的无线通信系统的实现
下一篇:科胜讯推出全球首个 VDSL2 CPE 网关半导体解决方案

射频和天线工程师培训课程详情>>

  网站地图