历史上的今天
返回首页

历史上的今天

今天是:2025年03月01日(星期六)

2018年03月01日 | MSC1210的GPRS无线通信系统设计

2018-03-01 来源:eefocus

 引言

 

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

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

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

1GPRS通信原理及应用特点 

1.1GPRS简介 
    GPRS是通用无线分组业务(GeneralPACketRadioSystem)的缩写,是介于第二代和第三代之间的一种技术,通常称为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与internet连接原理框图


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

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

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

2.1GPRS模块的硬件设计

      嵌入式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和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作为外部数据存储器,8KB的数据存储空间足够程序正常运行。 
图3给出了MSC1210与数据存储器之间的硬件连接图。

             

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


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


2.2单片机通信程序设计 

    软件中的所有代码都用C语言编写,在Keil环境中编译。Keil是KeilSOFtware公司为8051及其兼容产品提供的专门开发工具,它支持在系统调试。Keil中C51编译器很好地集成了RTX多任务实时操作系统,编写程序时,需在源代码头加入“#incluedertx51.h”。所有代码调试通过后经由TIDownloader下载到存储器中。 
    目前,绝大多数基于GPRS网络应用系统所使用的GPRS模块不支持TCP/IP协议。也就是说,要想工作在相同的网络层面上,其内部传输的数据必须都要采用相同的协议,所以除了利用GPRS模块的功能外,必须在单片机系统中嵌入按TCP/IP和PPP协议标准编写的程序,从而使设计的终端设备能够方便的应用GPRS数据分组业务。 2.2.1TCP/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公司的VisualC++编程语言,C++语言应用灵活,功能强大,并对网络编程和数据库有强大的支持。 
    由于通过GPRS,中心监控部分可以直接访问互联网,所以监控部分并不需要再设置GPRS模块。中心只需通过中心软件帧听网络,接收GPRS无线模块传来的UDP协议的IP包和发送上位机控制信息,以实现与GPR终端的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_READ、FD_WRITE、FD_ACCEPT和FD_CONNECT分别调用OnReceive、OnSend、OnAccept和OnConnect函数,驱动相应的事件,完成网络数据通信过程。 

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

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


推荐阅读

史海拾趣

ADPOW公司的发展小趣事

在市场竞争日益激烈的背景下,ADPOW公司深知品质是生存和发展的关键。因此,公司建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格把控。同时,公司注重品牌建设,通过广告宣传、参加展会等方式提升品牌知名度和美誉度。这些举措有效提升了公司的市场竞争力。

FILTRONIC公司的发展小趣事

在快速发展的同时,FILTRONIC始终将品质管理和客户服务放在首位。公司建立了完善的质量管理体系和客户服务体系,从原材料采购、生产制造到产品检测、售后服务等各个环节都严格把关。同时,FILTRONIC还积极倾听客户需求,不断优化产品和服务,以满足客户不断变化的需求。这些努力使得FILTRONIC在客户中树立了良好的口碑和品牌形象。

恒连电子(EVERCOM)公司的发展小趣事

随着公司实力的不断增强,恒连电子开始积极拓展国内外市场。在国内市场,公司通过与各大电商平台合作,加大品牌宣传力度,提高产品的知名度和美誉度。同时,公司还积极参与各类行业展会和论坛活动,与同行交流学习,提升公司的行业影响力。在国际市场方面,恒连电子通过与国外知名企业的合作,引进先进的技术和管理经验,提升公司的国际化水平。此外,公司还积极开拓海外市场,将产品出口到多个国家和地区。

Digital Core Design公司的发展小趣事

1988年,Core Design由Jeremy Heath-Smith创立,起初仅有8名员工和1万6千英镑的注册资金。这家新兴的游戏开发公司很快凭借其首款游戏《Rick Dangerous》在英国游戏市场崭露头角。这款游戏凭借其独特的游戏机制和引人入胜的故事情节,迅速登上英国游戏销量榜的榜首,并赢得了欧洲年度游戏奖,为Core Design的未来发展奠定了坚实的基础。

ACL staticide公司的发展小趣事

1996年,Core Design推出了其标志性作品《古墓丽影》。这款游戏以其独特的女主角Lara Croft和精心设计的游戏世界吸引了全球玩家的关注。Lara Croft成为游戏界最具代表性的女性角色之一,而《古墓丽影》系列也成为Core Design最成功的游戏系列之一。这款游戏的成功不仅为Core Design带来了巨大的经济收益,也使其在全球游戏市场上赢得了极高的声誉。

Bomar公司的发展小趣事

90年代初,电子行业的竞争日益激烈,Bomar公司为了保持市场领先地位,开始寻求与全球优秀制造商的合作。在这一背景下,公司与一些精选的亚洲工厂建立了密切的合作关系。这些工厂按照Bomar公司的规格和标准进行生产,确保了产品质量的稳定性和一致性。通过与亚洲工厂的合作,Bomar公司成功降低了生产成本,提高了生产效率,进一步巩固了其在全球市场的地位。

问答坊 | AI 解惑

秀偶的STM32-3.2寸TFT-ADS830-IDT7205示波器完工!完全开源!60M采样速率!!

最近一直在玩STM32和LCD屏,从字符到TFT,从1.8到3.5寸,挨个都摸了个摸,公司产品出来了,可一直想用这些东东来作点什么. 示波器上班用公司的,虽说也是便携的,但也不好带回家去用呵,看看市场上动辙千元以上,唉,还是自己动手来DIY方便自己,也造福网友 ...…

查看全部问答>

【请推荐一块数据I/O接口卡】

需要选择一款数字I/O卡,主要是用来进行信号的延时,输入的是光电开关转换的数字量,经过I/O卡的延时处理,输出触发信号去驱动摄像机进行数据采集,延迟大约0.5秒,速度不需要很快,希望用过类似性价比比较高的高手推荐一款,价格在1000元以内。…

查看全部问答>

vxworks目标机运行一段时间后就失去一切网络连接了,有可能是什么原因造成的呢?

我的基于vxworks5.5(tornado2.2)的嵌入式系统负责计费,并及时将信息通过网络(ftp功能)传到服务器上。 可是经常在运行一段时间后(例如几个小时,或者一天以后)发现失去了网络连接。 ftp, telnet都无法连到目标机上,但是系统其他功能还正常, ...…

查看全部问答>

无线蹭网卡网上热卖

“买块无线网卡就能免费上网。”这等“好事”正是日渐庞大的蹭网族所在做的——用邻居家的无线网络上网,就算加密了也能破解。此类无线网卡如今正在网上热卖。记者在淘宝网上找到上海一家WiFi产品专营店,店主极力推荐一款售价299元的USB无线网卡“ ...…

查看全部问答>

初学者,CCS2.2的程序加载和烧写有什么不同,各在什么时候用?

初学者,CCS2.2的程序加载和烧写有什么不同,各在什么时候用?先谢谢了!!…

查看全部问答>

2812最小系统PCB板子购买求助

近期准备学习DSP,现在手头有一块2812芯片,想买块板子自己焊接(最小系统),于是上淘宝转了转,发现淘宝卖2812最小系统板的商家特别少。 目前在淘宝上看中了两块板子,可是同样是最小系统这两块板子差价惊人:一块20元、另一块130多(板子整体质 ...…

查看全部问答>

微机消谐

微机消谐中液晶函数中不需要加判忙语句,只要加3到5个us延时即可. 3.31版本前的频率判断有问题,会经常性的进不去中断,程序算法问题.待改进.  …

查看全部问答>

TI国赛细则!

马上就要开始到南京参见TI杯全国赛了,对于比赛的细则不是很了解,有参加过TI全国赛的大神们能否详解下竞赛规则。比如竞赛全封闭,到底怎么个全封闭的形式,    手机能带吗?    可以上网吗?    可以带书吗? & ...…

查看全部问答>

zigbee有关指定入网的说明

在工程simpleapp工程文件中有个sapi.c文件中有个API专门指定某个设备是否可以入网/****************************************************************************** * @fn          zb_PermitJoiningRequest  ...…

查看全部问答>

李想STM32视频教程下载地址

李想老师讲解的STM32单片机视频,讲的通俗易懂,上去看看吧。 https://download.eeworld.com.cn/detail/zhangdaijinqf/551611 …

查看全部问答>