基于Sim卡座的GPRS无线通信系统设计

出处:wangxiaoya 发布于:2012-12-22 12:39:46

  引言

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

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

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

  GPRS通信原理及应用特点

  ◇ GPRS简介

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

  ◇ 基本工作原理

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

GPRS与Internet进行连接的原理框图

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

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

  GPRS模块的硬件设计

  嵌入式GPRS无线通信模块主要由嵌入TCP/IP的单片机(MSC1210Y5)、GPRS模块、SIM卡座、外部接口和扩展数据存储器等部分组成。图2是其系统硬件框图。了解更多关于Sim卡座的更多内容请点击此处:https://www.dzsc.com/product/infomation/665772/2012111515114867.html

系统硬件框图

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

  ◇ 单片机模块

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

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

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

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

  ◇ 扩展数据存储器

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

MSC1210与数据存储器之间的硬件连接图

  ◇ GPRS无线数传模块

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

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

MC35的外围电路

  图中,由AS2815将外部电压转换成3.3V工作电压。系统中的启动电路由三极管和上电复位电路组成,模块上电后,为使之正常工作,必须在15脚加至少100ms的低电平信号,启动后,15脚信号应保持高电平。

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

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

  单片机通信程序设计

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

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

  ◇ TCP/IP协议的嵌入

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

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

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

  ◇ 数据处理

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

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

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

  上位机监控中心的设计

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

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

  Socket接口是TCP/IP网络的API,Socket接口定义了许多函数和例程,程序员可以利用它来开发TCPIP网络上的应用程序,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函数,以驱动相应的事件,从而完成网络数据通信。

  结束语

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

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

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!