GSM模块_GPRS数据传输机制和原理

通信专业术语

BSS--基站子系统,通过无线接口与移动台直接联系,负责在一定区域内和移动台通信。(GSM)

BTS--基站收发台,可以看作一复杂的无线调制器,BSS的主要部分,每个分配有若干信道。(GSM)

RBS--Radio Base Station,无线基站:RBS是基站内所有设备的总称,在GSM规范中对应的主要部分是BTS,它由BSC来控制,用来提供移动台与系统的无线接口,它是CME20系统中的无线设备部分,主要由无线收发信机构成。

BSC--基站控制器,其功能是作为无线电设备与MSC的控制和通信的接口,直接控制BTS。(GSM)

GPRS--General Packet Radio Service, 通用分组无线电业务。GPRS是一种新的GSM数据业务,它可以给移动用户提供无线分组数据接入服务。GPRS主要是在移动用户和远端的数据网络(如支持TCP/IP、X.25等网络)之间提供一种连接,从而给移动用户提供高速无线IP和无线X.25业务。GPRS采用分组交换技术,它可以让多个用户共享某些固定的信道资源。如果把空中接口上的TDMA帧中的8个时隙都用来传送数据,那么数据速率最高可达164kb/s。GSM空中接口的信道资源既可以被话音占用,也可以被GPRS数据业务占用。当然在信道充足的条件下,可以把一些信道定义为GPRS专用信道。沿海部分城市已开通试营业。

GSM--Pan-European digital cellular land mobile telecommunication system ,泛欧数字蜂窝移动通信系统。1982年,欧洲邮电行政大会(CEPT)设立的"移动通信特别小组(Group Special Mobile)即GSM提出的数字蜂窝移动通信系统,其特点为用数字技术开发全欧统一的蜂窝系统以取代欧洲各种模拟蜂窝系统,后来又易名为"全球移动通信系统(Global System for Mobile Communication)。1989年制订了GSM标准;1991年GSM系统正式在欧洲问世,网路开通运行,现已在全球获得广泛应用。该系统发射频段基台为935~960MHz,移动台为890-915MHz,双工间隔45MHz,射频载波间隔200kHz,采用时分多址技术,语音编码采用规则脉冲激励长期预测编码(REP-LPC)算法;小区半径0.5~35km,频谱效率与用户容量较TACS,NMT等模拟蜂窝移动通信系统要高。我国就大部分采用此技术。1991年又更名为SMG:特别移动组。SMG1-SMG4分别对应以前的GSM1-GSM4,而SMG5是致力与GSM形成后的“通用移动电信系统”,1992年又建立了一个SMG6,负责起草运行和维护的规范。

GSN--GPRS Support Node,一个GSN是一个网络节点,它支持在GSM核心网中对GPRS的使用。所有的GSN都应当拥有一个Gn接口,并支持GPRS隧道协议。GSN有两个关键的变种,即网关(gateway)和业务(service)GPRS支撑节点。

IMEI--国际移动设备识别码。(GSM)

IMSI--国际移动用户识别码。储存在用户的SIM卡内,和GSM系统存储器中,以便系统识别任何唯一的移动台。(GSM)

MSC--移动交换中心,应用在数字蜂窝系统中,移动用户、PSTN以及其他移动交换中和移动用户通过MTS产生联结。

SN--Serial Number的缩写,有时也叫SerialNo,也就是产品序列号,产品序列是为了验证产品的合法身份”而引入的一个概念,它是用来保障用户的正版权益,享受合法服务的。

HLR--归属位置寄存器。(GSM)

VLR--拜访位置寄存器。(GSM)

ISDN--综合业务数字网。

OPERATOR--运营者。

PDP-- Packet Data Protocol,分组数据协议,是外部PDN网与GPRS接口所用的网络协议。

PDN--Pubic Data Network,公用数据网,一种由电信运营商组建的广域网,提供接入广域网的服务与技术,为用户提供高质量数据传输服务。

PSPDN--公用分组交换数据网。

SMS--short message services--短消息业务。

SIM--用户识别码。

X.25--分组交换网内的一种通信协议。1976年批准,并多次修改,一般用于ISDN的分组交换中。包括三个层:物理层,链路层,分组层。对应于OSI模型的最低三层。

GPRS网络结构

图1 GPRS的原理结构图

GPRS网络引入了分组交换和分组传输的概念,使得GSM网络对数据业务的支持上得到了加强,它是通过在GSM网络上增加GGSN和SGSN来实现的,GGSN和SGSN分别表示GPRS网关支持节点和GPRS服务支持节点。

GPRS网络分为无线接入和核心网络两个部分,无线接入部分是在移动台(MS)与基站子系统(BSS)之间传输数据,核心网络在BSS与标准数据通信网边界网关之间中继传输数据。按GSM规范提出的基本结构,BSS由两个基本部分组成:通过无连接口与移动台一侧相连的基站收、发信机(BTS)和与交换机一侧相连的基站控制器(BSC)。

GSN是GPRS网络中最重要的网络节点。GSN具有移动路由管理功能,它可以连接各种类型的数据网络,并可以连到GPRS寄存器。GSN可以完成移动台和各种数据网络之间的数据传送和格式转换。GSN可以是一种类似于路由器的独立设备,也可以与GSM中的MSC集成在一起。

GSN有两种类型:一种为SGSN(Serving
GSN,服务GSN),另一种为GGSN(Gateway
GSN,网关GSN),SGSN的主要作用是记录移动台的当前位置信息,并且在移动台和GGSN之间完成移动分组数据的发送和接收。GGSN主要是起网关作用,它可以和多种不同的数据网络连接,如ISDN、PSPDN和LAN等。有的文献中,把GGSN称为GPRS路由器。GGSN可以把GSM网中的GPRS分组数据包进行协议转换,从而可以把这些分组数据包传送到远端的TCP/IP或X.25网络。

另外,有的厂商提出了GR(GSM Register,GPRS数据库)的概念。GR类似于GSM中的HLR,是GPRS业务数据库。它可以独立存在,也可以和HLR共存,由服务器或程控交换机实现。GR这个名称在ETSI的建议中没有专门提及。

GPRS工作原理

GPRS网络的工作原理体现在它的分组数据路由传输和传输协议模式上,用户通讯数据通过串行或无线方式连接到GPRS终端上,然后GPRS终端与GSM基站通信,这种方式与电路交换式数据呼叫不同,GPRS分组是从基站发送到GPRS服务支持节点(SGSN),而不是通过移动交换中心(MSC)连接到语音网络上。因此,SGSN与GPRS网关支持节点(GGSN)进行通信,GGSN对分组数据进行相应的处理后,再发送到目的网络,如Internet或X.25网络。

如图 1 所示,其具体的数据传输流程分为四步:

第一步:用户设备通过串行接口向GPRS终端传输数据;

第二步:经过处理后的GPRS分组数据发送到GSM基站;

第三步:分组数据经GSM基站的SGSN封装后,然后发送到GPRS骨干网;

第四步:在GPRS网关支持节点GGSN对SGSN分组数据进行相应的处理后,再发送到目的网络移动台(MS),和GPRS 之间的分层传输协议模型主要由GTP

LLC和RLC协议构成,Um接口是GSM的空中接口,Um接口上的通信协议有 5 层,自下而上依次为物理层、MAC层、 LLC层、SNDC层和网络层,RLC/MAC为无线链路控制、媒质接入控制层,LLC层为逻辑链路控制层,GTP是将用户数据及信令用隧道技术在GPRS网络GSN节点之间传送。

GPRS协议模型

Um接口是GSM的空中接口。Um接口上的通信协议有5层,自下而上依次为物理层、MAC Medium Access
Control)层、LLC(Logical Link Control)层、SNDC(Sub network Dependant
Convergence)层和网络层。

Um接口的物理层为射频接口部分,而物理链路层则负责提供空中接口的各种逻辑信道。GSM空中接口的载频带宽为20OkHz,一个载频分为8个物理信道。如果8个物理信道都分配为传送GPRS数据,则原始数据速率可达20Okb/s。考虑前向纠错码的开销,则最终的数据速率可达164kb/s左右。

MAC为媒质接入控制层。MAC的主要作用是定义和分配空中接口的GPRS逻辑信道,使得这些信道能被不同的移动台共享。GPRS的逻辑信道共有3类,分别是公共控制信道、分组业务信道和GPRS广播信道。公共控制信道用来传送数据通信的控制信令,具体又分为寻呼和应答等信道。分组业务信道用来传送分组数据。广播信道则是用来给移动台发送网络信息。

LLC层为逻辑链路控制层。它是一种基于高速数据链路规程HDLC的无线链路协议。LLC层负责在高层SNDC层的SNDC数据单元上形成LLC地址、帧字段,从而生成完整的LLC帧。另外,LLC可以实现一点对多点的寻址和数据帧的重发控制。

BSS中的LLR层是逻辑链路传递层。这一层负责转送MS和SGSN之间的LLC帧。LLR层对于SNDC数据单元来说是透明的,即不负责处理SNDC数据。SNDC被称为子网依赖结合层。它的主要作用是完成传送数据的分组、打包,确定TCP/IP地址和加密方式。在SNDC层,移动台和SGSN之间传送的数据被分割为一个或多个SNDC数据包单元。SNDC数据包单元生成后被放置到LLC帧内。

网络层的协议目前主要是Phase 1阶段提供的TCP/IP和L25协议。TCP/IP和X.25协议对于传统的GSM网络设备(如BSS和NSS等设备)是透明的。

在GPRS网络传输中,常用的有两种传输协议,即TCP和用户数据报协议UDP它们都是使用 IP 作为网络层协议,每组数据都通过端系统和每个中间路由器中的 IP层在互联网中进行传输TCP主要负责把应用程序交给它的数据分成合适的小块然后再交给下面的网络层 确认接收到的分组 设置发送最后确认分组的超时时钟等,是为两台主机提供高可靠性的数据通信。

UDP协议与TCP协议最大的不同表现在数据传输的可靠性上,UDP协议是一种不可靠的或最尽力的协议,它本身不提供可靠的数据传输,但并不意味着在UDP协议之上就不能有可靠的数据传输 在网络传输中使用UDP协议的应用程序要负责实施重传 过滤多余信息等等 如果一个UDP包在传输过程中丢失或者损坏,需要引起发送数据的应用程序注意才行TCP协议和UDP协议各有优势,工业监控系统中究竟是采用 TCP协议还是 UDP协议,可以根据实际条件和技术水平来综合考虑。

GPRS连接过程详解

MS在附着过程中,通过BSC系统的PCU模块进行接入控制和信道分配,通过SGSN和HLR进行鉴权管理,并从HLR中获得用户的签约信息,最终在MS、HLR与SGSN内部形成有关用户的移动管理信息,此时MS通过HLR系统完成鉴权,位置更新等过程,最后由HLR通过GR接口信令向SGSN发送鉴权三元组,完成附着。

当MS完成附着后,它将在RLC/MAC层使用TLLI作为身份标识,这时MS进入READY状态,并在MS和SGSN中建立起MM上下文,之后MS才可以发起PDP上下文激活过程,在这个时刻以前的所有过程的成功与否均与PDP没有关系。即是用户在附着过程中,主要涉及无线系统、如PCU、无线信道、SGSN和HLR等业务单元,而与GGSN无关。

PDP激活作为GPRS通信过程中第二个重要的过程,在该过程中涉及中DNS号段解析、DHCP地址分配、radius认证过程等重要过程。当PDP激活成功后,手机可以获得IP地址,系统开始形成计费话单,用户将进入通信前的临界状态。

PDP上下文包含与某个APN相关的地址映射以及路由信息。目前在我省主要的APN应用由WAP、NET以及今后的行业VPDN应用,这些特定的应用均有相对应的IP地址网段、路由信息与之相匹配。MS通过激活PDP上下文得到GGSN系统分配的动态IP地址后完成数据接入工作。所以MS能否正常从GGSN系统获得IP地址是PDP成功激活的关键所在。

DNS系统解析是否成功直接关系到PDP激活是否成功。

GPRS通信全过程包含ATTACH和PDP两个子过程。

GPRS的应用--TCP/IP/PPP

实际上GPRS DTU上实现的是协议栈是TCP/IP Over PPP。

每一次GSM模块拨ATD*99***1#之后其实都在采用PPP协议和移动的接入设备(一般是移动公司的一台特殊的GGSN路由器)进行握手,当PPP协议握手成功后,GSM模块都会获得一个动态IP地址。一般来说,每一次GSM模块下线后(挂断连接或者直接断电后)在重新进行拨号和PPP握手后取得的动态IP地址都是不一样的。但是移动公司可以通过为客户开通特定的APN和发行特殊的SIM卡,使得用这张SIM卡获得的动态IP地址每一次都不变。也就是说可以做到SIM卡和IP地址绑定。

在采用公网的Apn(“cmnet”)的条件下,如果我们用GSM模块主动向公网上的一个静态公网IP地址发起TCP连接,只要这个公网上的机器确实有侦听相应的端口,这样是可以连上的;但是相反地,如果是由公网上的静态IP向GSM模块动态获得的IP地址主动发起的TCP连接将不会成功。这个现象的原因是:实际上GSM模块获得的动态IP地址是移动的一个特殊的内部网段上的地址,这个特殊内部网段里的地址如果要和外部网(公网)的地址进行TCP通信,必须通过一个类似于TCP代理(或者NAT)的设备进行通信的转发。换句话说,这个动态地址对于网络上的其他机器来说是不可访问的。

确定一条TCP连接有4个要素,这4个要素是双方的IP地址和双方的TCP端口号。在使用TCP协议进行数据通信时,必须要经过三个阶段,第一个阶段是连接建立阶段,第二个阶段是数据收发阶段,第三个阶段是连接释放阶段。

GPRS相关AT指令集

GPRS指令

AT+CGATT=1    //返回OK,附着网络

AT+CGACT=1,1    //激活网络,之后就可以使用tcpip的指令了

TCP/IP指令

AT+CIPSTART="TCP","121.41.97.28",60000    //连接TCPIP服务器

AT+CIPSEND=20    //返回>,就可以输入要发送的内容20表示有20个字节

AT+CIPCLOSE    //关闭TCPIP连接

+CIPRCV:5,12345    //收到服务器返回的5个字节

多路TCP/IP连接指令

AT+CGDCONT=1,"IP","cmnet"    //设置PDP参数

AT+CGACT=1,1    //激活PDP

AT+CIPSTATUS?    //查询ip连接情况,共有8路,实际最多支持同时开4路tcpip连接

AT+CIPCLOSE    //关闭该链路

AT+CIPMUX?    //查询是否开启多连接

AT+CIPMUX=1    //开启多链接

AT+CGPADDR    //显示PDP地址

ATD*99***1#    //请求GPRS服务

GPRS网络优势

GPRS技术可以令您在任何时间、任何地点都能快速方便地实现连接网络,同时费用又很合理。简单地说:速度上去了,内容丰富了,应用增加了,而费用却更加合理。

1)  永远在线性

2)  支持IP协议和X.25协议

3)  支持多种数据应用

4)  资源利用率高(分组交换的传输方式)

5)  移动和分布的灵活性

6)  按流量收费

时间: 2024-10-05 00:17:10

GSM模块_GPRS数据传输机制和原理的相关文章

GSM模块_STM32实现GPRS与服务器数据传输经验总结

硬件环境 MCU:STM32F103RET6 (调试器:J-Link) GSM模块:Ai-Thinker_A6 (安信可)(还需要配一个串口打印工具,当初选这个模块纯粹是因为价格是最便宜的) ------------------------------------------------------------------------- 软件环境 Keil4 ---------------------------------------------------------------------

利用GSM模块通过GPRS在GMSK调制方式下与IP网通信

随着当代通信技术的飞速发展,2G已经基本上淘汰,3G和4G也已经渗透入我们的生活,5G也开始由实验室走出,但是今天我要说的是第二代通信技术GSM与服务器通信. GSM 全称为全球移动通信系统(Global System for Mobile Communications),俗称全球通.它起初是欧洲为工作于900 MHz 波段的通信系统所制定的标准,之后由于模拟通信系统的扩充能力有限,基于增加业务容量的需求而发展了该项技术,取得了全球性的成功.目前 GSM 已经成为当今最广泛认可的无线通信标准.G

php运行机制与原理

php运行机制与原理: PHP总共有三个模块:内核.Zend引擎.以及扩展层: 1. PHP内核用来处理请求.文件流.错误处理等相关操作: 2. Zend引擎(ZE)用以将源文件转换成机器语言(二进制),然后在虚拟机上运行它: 3. 扩展层是一组函数.类库和流,PHP使用它们来执行一些特定的操作.比如,我们需要mysql扩展来连接MySQL数据库:当ZE执行程序时可能会需要连接若干扩展,这时ZE将控制权交给扩展,等处理完特定任务后再返还: 最后,ZE将程序运行结果返回给PHP内核,它再将结果传送

Qt核心机制与原理

转:  https://blog.csdn.net/light_in_dark/article/details/64125085 ★了解Qt和C++的关系 ★掌握Qt的信号/槽机制的原理和使用方法 ★了解Qt的元对象系统 ★掌握Qt的架构 ★理解Qt的事件模型,掌握其使用的时机 信号与槽.元对象系统.事件模型是Qt机制的核心,如果您想要掌握Qt编程,就需要对它们有比较深入的了解.本章重点介绍了信号与槽的基本概念和用法.元对象系统.Qt的事件模型,以及它们在实际使用过程中应注意的一些问题. Qt对

Redis数据持久化机制AOF原理分析二

Redis数据持久化机制AOF原理分析二 分类: Redis 2014-01-12 15:36  737人阅读  评论(0)  收藏  举报 redis AOF rewrite 目录(?)[+] 本文所引用的源码全部来自Redis2.8.2版本. Redis AOF数据持久化机制的实现相关代码是redis.c, redis.h, aof.c, bio.c, rio.c, config.c 在阅读本文之前请先阅读Redis数据持久化机制AOF原理分析之配置详解文章,了解AOF相关参数的解析,文章链

如何使用Arduino和SIM900A GPRS / GSM模块将数据发送到Web服务器

今天我们在这里介绍一个非常有趣的项目,我们将使用Arduino开发板和GPRS将数据发送到SparkFun服务器.这是一个基于IoT的项目,我们将使用GSM模块SIM900A将一些数据发送到互联网上的Web服务器. 在这个项目中,我们将使用4x4数字键盘输入一些文本,并使用Arduino和GPRS将其发送到SparkFun网站,从那里您可以通过互联网在任何地方看到这些数据.在这里,我们还连接??了一个16x2液晶显示器,以便在本地查看数据.这种数据发送技术在物联网项目中非常有用,您可以在世界上任

Java序列化与反序列化学习(三):序列化机制与原理

Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的 过程.Java序列化API提供一种处理对象序列化的标准机制.在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用 一个实例来示范序列化以后的字节是如何描述一个对象的信息的. 序列化的必要性 Java中,一切都是对象,在分布式环境中经常需要将Object从这一端网络或设备传递到另一端.这就需要有一种

为什么要有handler机制?handler机制的原理

为什么要有handler机制? 在Android的UI开发中,我们经常会使用Handler来控制主UI程序的界面变化.有关Handler的作用,我们总结为:与其他线程协同工作,接收其他线程的消息并通过接收到的消息更新主UI线程的内容. 我们假设在一个UI界面上面,有一个按钮,当点击这个按钮的时候,会进行网络连接,并把网络上的一个字符串拿下来显示到界面上的一个 TextView上面,这时就出现了一个问题,如果这个网络连接的延迟过大,可能是10秒钟甚至更长,那我们的界面将处于一直假死状态,而如果这段

Java序列化机制和原理

Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的过程.Java序列化API提供一种处理对象序列化的标准机制.在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的. 序列化的必要性 Java中,一切都是对象,在分布式环境中经常需要将Object从这一端网络或设备传递到另一端. 这就需要有一种可