• 1.32 MB
  • 2022-04-22 11:27:04 发布

辽宁工程技术大学之基于GPRS的电梯远程监控系统的设计

  • 66页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'辽宁工程技术大学之基于GPRS的电梯远程监控系统的设计摘要随着城市的现代化发展,城市高楼的不断涌向,电梯作为城市高层建筑的唯一运输工具,其安全性和可靠性得到越来越多的人的关注。由于计算机、控制和网络技术的进一步融合,国内外的电梯公司都尝试着通过网络远程来监控电梯的运行情况。但是有各个电梯厂家的标准不相互兼容,导致电梯远程监控系统的开放性和兼容性能都很差。基于以上情况,本文以寻求一种拥有好的兼容性和开放性的电梯远程监控系统为目的,通过GPRS技术来实现电梯运行状态的远程监控。监控的数据采集端采用STM32来实现对电梯控制器的数据采集。监控中心利用DELPHI的组件编程来实现。本文通过分析电梯的发展现状和对传输媒介的讨论,得出最好选择利用GPRS来实现电梯的远程监控的结论。监控中心基本实现了电梯数据的接收和查看,对电梯的各种故障和运行状态能够实时的显示,以便监控人员能够及时作出处理。关键字:GPRS;电梯远程监控;DELPHI;组件编程Ⅰ AbstractAsthecitiesdevelopingmoreandmoremodern,morebuildingshavebeenbuiltincity.Theelevator,theonlytraffictoolinthebuildings,getsmoreandmoreattentioninitssecurityandreliability.Manycompaniesaroundtheworldtrytoremotemonitoringtheelevatorwithnetworkasitisgettingfurtherintegrationintechnologyofcomputer,controlandnetwork.Buteachofcompanyhashisownmanufacturersstandard,theirelevatorremotemonitoringsystemofopennessandcompatibilityareinpoorperformance.Baseontheabovesituation,ItrytomakeabetterelevatorremotemonitoringsystemwhichperformsperfectlyinopennessandcompatibilitywithGPRStechnologyinthispaper.TheterminalofmonitoringsystemtocollectdataismakeupwithSTM32MCUandsoon.ThemonitoringcenterusesDELPHIcomponentprogramming.Inthispaper,byanalyzingthecurrentsituationofthedevelopmentoftheelevatorandthediscussionofthetransmissionmedium,itisconcludedthatthebestchoiceisusingGPRStorealizeremotemonitoring.Monitoringcenterhasbeenbasicallyachievedthedatareceivingandview.Italsocanreal-timedisplayvariousfaultandrunningstatusofelevator.Sotheadministratorcandealwiththeprobleminatimelymanner.Keywords:GPRS;elevatorremotemonitoring;DELPHI;componentprogrammingⅠ 前言随着经济社会的不断发展,城市的规模快速扩大,人口急剧增长,为减缓土地资源的紧张,各种各样用途的建筑在城市中的大量涌现现,电梯作为一种垂直运输设备在社会经济生活中就显得尤其重要。高层建筑的日益增多和建筑设计的档次规格的提高,使得人们对电梯服务有了更高的要求。而人们对电梯的期望已经不仅仅局限于制造坚固、装潢考究、乘搭舒适这些东西了,电梯的安全可靠才是人民真正所关心的[1]。为了提高电梯的服务水平,增强企业行业竞争力,国内外的众多电梯生产企业和有关研究单位都在积极地参与研究开发和推出各自的电梯远程监控系统[2]产品。在国内,比如中国移动的电梯卫士服务,珠海市阿尔法有限公司的“阿尔法电梯远程监控系统”,日立电梯建设的远程监控系统和奥蒂斯公司电梯监控系统等。但是因为这些产品都是各自的厂家在自己的规范内推出的,每个厂家都有不同的规范,因此每个厂家的产品相互不兼容,在通用性和开放性方面表现的不如人意。此外,还有一些系统是基于有线方式的。比如三菱的SMOS-II系统,奥的斯的REM5.0系统等。这使得布线较困难,增加了成本。本文将GPRS网络作为电梯远程监控系统的数据传输网络,充分利用已有的公共网络资源,节省了网络建设及维护成本[3]。而且GPRS仅按数据流量计费,减少了系统运营成本,保证系统能够经济运行,同时在开放性和普遍性方面有进一步的发展。63 1电梯远程监控系统的现状和发展1.1监控技术的概述监控技术广泛应用于各种工业过程控制、军事自动化、电力自动化、金融自动化、高速公路集中监视、环境自动观测、水情遥测、大型输水工程自动监控等[4]。随着电子IT技术的发展,以及计算机技术、数字通信技术、自动控制技术和集成电路的高速发张及融合,20世纪80年代以来基于各种IT技术的监控系统正是随着这些技术的出现和发展而产生的。在20世纪90年代,通信、微电子、计算机等技术的进一步飞快发展,以及市场对监控要求和任务的多样和复杂化,那时的电梯的监控系统也具有器时代的特性。尽管各种系统应用的场合和完成的任务不同,但他们在系统级上,大致都有着以下一些特点和发展趋势[5-6]:(1)系统的功能综合化,在监控方式方面从单一的集中监控、现场监控发展到分散式、分布式的监控。(2)从系统的数字式监测与控制,发展到与视频监控相结合,对监控对象的信息的采集与处理也在数据的基础上增加视频和音频。(3)从综合监控发展到与自动化管理相结合。因此,当前先进的监视控制系统集监视、管理、控制以及决策支持等功能于一体,成为高度集成自动化系统。远程监控是指本地计算机通过类似于因特网[7]这样的网络系统,对位于离监控远处的工业设备进行监视和控制,完成对处于离散状态的工业设备的集中控制,这样就能集中的进行监控和管理了。现有的远程监控系统,都是按照两种不同的方向去发展的[8-9]:(1)关注对图像信息的采集与播放,在控制端以视频的形式再现。这种发展模式的优势在于控制信息直观、有效,但是要在此基础上进行视频数据挖掘,则代价又比较昂贵。现在大众化的视频监控系统是这种类型的典型代表。(2)关注对控制信息的交互,在控制端以仿真的手段实现远程监控,此模式的优点是控制效率较高、数据传输量小,但是直观性不强,操作不够直接。现在很多成熟的工业组态软件,均具有此远程监控功能。63 1.2国内外电梯远程监控系统的发展状况电梯远程监控系统是一种高级的电梯监控技术,它是在计算机技术、通信技术、监控技术的迅猛发展的前提下出现的。国内的一些公司及电信运营商在电梯远程监控系统方面有新的发展。(1)中国移动建立的电梯监控系统如电梯卫士。“电梯卫士”通过安装一系列的传感器来采集电梯运行、故障和维保数据,经过GPRS无线通信模块将将数据传到M2M电梯管理中心,实现物业、维保和政府管理部门对电梯的信息化管理和电梯故障的及时处理。该服务的客户类型大多数都是商务楼宇等物业管理类的,可以对监控电梯运行及故障实时的进行有效的检测和预判。让电梯设备的管理人员能够有效地进行维护处理,降低电梯的故障发生率。(2)由珠海市阿尔法有限公司开发的电梯远程监控系统如“阿尔法电梯远程监控系统”。该系统主要由三部分组成:①信号采集单元。②处理计算机,负责信号值传输的电话网络。③向维修工作人员提交界面式数据服务。当现场设备检测到有电梯故障的信号,监控中心就会收到现在设备通过网络将故障反馈的信息。该系统实施分级检测策略,并提供了故障数据库,用户数据库和用户界面的实时控制窗口,可以进行远程的故障实时显示,具有电梯故障自动报警功能。监控中心的人机交互界面提供了可以实时显示观察到所监控的电梯的工作状态的功能。电梯远程监控系统在国外的研制要比国内要成熟,应用也相对广泛。相对来说,以下的公司是比较有影响力的:(1)日立电梯公司的远程监控系统,该系统能实现对监控的电梯的运行数据实时显示,会建立起一个对电梯工作状态的数据库并能动态的维护和更新,这样就可以利用电梯数据库里面的数据来有效的防范电梯的故障,及时进行维护,延长电梯的使用寿命。当监控的电梯出现故障时,电梯里面的通信模块将主动向监控中心发送报告,监控中心根据故障信息向当地维保人员发出维修命令,维修人员及时赶到故障现场进行维修,及时解决问题。(2)奥蒂斯公司的电梯监控系统。该电梯远程监控系统能够实时的监视电梯的基本参数并智能化决策所需要的维护信息,如对不合理的参数进行调节、给出维护建议等。当电梯里面的设备检测到电梯运行效率降低或预测到电梯将要出现问题时,系统就会给电63 梯的乘坐人员提前发出警告。当检测系统检测到故障时,电梯里面的系统将通过网络及时通知远程监控中心,中心就会根据故障信息及时通知维保人员去维修。63 2GPRS体系结构和工作原理2.1GPRS概述GPRS是通用分组无线业务(GeneralPacketRadioService)的简称,它是GSM移动用户的一种业务,常被描述成“2.5G”。通过利用GSM网络中未使用的TDMA信道,提供一种相对于GSM来说更高的数据传递。GPRS是数据分组交换网,它与GSM网只提供电路连接的方式不同,它是基于数据分组的,是以封包(Packet)的方式来传输的,因此用户的费用可以以其传输流量来计算,并非以使用整个频道计费,从当时的理论上来说较为便宜。通过在GSM网的基础上增加几个功能实体和在现有的基站系统基础上进行改造,实现封包的方式传输,所以说它是GSM的升级。GPRS网络允许用户以端到端分组模式实现数据的发送和接收,不再利用电路交换模式下的网络资源,从而提供了一种高效率、低成本的分组数据业务。GPRS支持具有以下特点的数据应用业务:①适用于不连续的非周期性即带有突发性的数据传送。②小流量数据传输的业务处理,允许每分钟多次突发数据的出现,可以频繁的传输数据;③偶尔的大流量的业务。因此,GPRS技术非常适合于本身具有突发、间断、频繁和量少的数据传输业务,也可适用于偶尔的大数据量传输的应用情况。2.2GPRS技术介绍2.2.1GPRS网络的特点因为GPRS是在GSM网路的基础上添加了SGSN和GGSN两个网络节点而发展起来的,所以它具有GSM网络所不具有的特点。①利用GSM网络中未使用的TDMA信道,提供较高的数据传递。②网络的接入速度快。GPRS网络的核心是一个支持IP分组的网络,它可以和其他的分组网络进行无缝的连接。③可以永久在线。分组业务在传输的时候不占用信道,不像GSM网络不断地进行连接和断开。④支持广发的IP协议和X.25协议。⑤提供丰富的数据业务。虽然GPRS有这么多的优点,但是还是有一些不足。例如,①在传输的过程中会存在丢包的情况。②相对于3G来说会有很严重的延时。③对于图像传输不可靠。④实际的传输速率会比理论值低。综合比较其优点和缺点可以知道GPRS这种技术适合用于传输量小且频繁的远程监控系统。2.2.2GPRS基本的体系结构63 将现有GSM网络改造为能提供GPRS业务的网络需要增加两个主要单元:SGSN(GPRS服务支持节点)和GGSN(GPRS网关支持节点)[10]。SGSN的工作是对移动终端进行定位和跟踪,并发送和接收移动终端的分组。GGSN将SGSN发送和接收的GSM分组按照其他分组协议(如IP)发送到其他网络。GPRS的网络的逻辑结构如图2-1。图2-1GPRS网络的逻辑结构Fig.2-1thelogicalstructureofGPRSnet信令和数据传输接口注:PDN=分组数据网信令接口SMS:短消息服务SM-SC:短消息服务中心SMS-GMSC:支持短消息服务的网关MSCSMS-IWMSC:支持短消息服务的互连MSCSGSN是GPRS网的主要设备,它负责分组的路由选择和传输,在其服务区负责将分组递送给移动台,他是为GPRS移动台构建的GPRS网的服务访问点。当高层的协议数据单元(PDU)要在不同的GPRS网络间传递时,源SGSN负责将PDU进行封装,目的SGSN负责解封装和还原PDU。在SGSN之间采用IP协议作为骨干传输协议,整个分组的传输63 过程采用Tunneling(隧道)协议。GGSN也维护相关的路由信息,以便将PDU通过隧道传送到正在为移动台服务的SGSN。SGSN完成路由和数据传输所需的与GPRS用户相关的信息均存储在HLR中。GGSN像互联网和X.25一样,用于和外部网络的连接。从外部网路的角度看,GGSN是到子网的路由器,因为GGSN对外部网络“隐藏”了GPRS的结构。当GGSN接受到地址为一个特定移动用户的数据时,GGSN检查这个地址是否处于激活状态。如果处于激活状态,GGSN就转发数据到相应的SGSN;但如果不是激活的,则数据将丢弃。由移动台发出的分组被GGSN发送到目标网络。在GPRS网络中,对HLR进行了升级,使其包含了GPRS用户数据信息。SGSN通过Gr接口可以访问HLR,GGSN通过GC接口可以访问HLR。MSC/VLR功能也得到了加强,SGSN通过GS接口可以访问VLR,从而能更好的调和非GPRS之间的服务和功能。为了能在GPRS网中提供SMS,SMS-GMSC(支持短消息服务的网关MSC)和SMS-IWMSC(支持短消息服务的互连MSC)也得到了加强,SGSN通过Gd接口可以访问SMS-GMSC和SMS-IWMSC。为了与SGSN进行互连,基站子系统(BSS)把无线接口升级为增强版的链路层协议(包括无线链路控制(RLC)/多址接入控制(MAC)协议),使得用户能复用相同的物理资源。BSS在数据发送或接受时分配资源给用户,随后还会重新分配。BSSGPRS协议(BSSGP)提供了在一个BSS和一个SGSN之间传输用户数据所必需的无线相关的QoS和路由信息。BSS和SGSN之间的接口为Gb接口。一个简单的GPRS网络之间的路由过程如图2-2。图2-2一个简单的GPRS网络之间的路由过程Fig.2-2theprocessoftheroutinginasimpleGPRSnet63 源移动台的SGSN封装移动台(MS)的分组,并将分组路由到合适的GGSN-S。基于分组中的目的地址,分组通过分组数据网被传送到目的GGSN-D。GGSN-D检查与目的地址相关的路由信息,确定服务目的用户的SGSN-D并确定相关的隧道协议,将分组封装后传送给SGSN-D。SGSN-D最后将分组传送给目的移动用户。2.2.3GPRS的协议GPRS的协议体系如图2-3.图2-3GPRS的协议体系Fig.2-3theprotocolsystemofGPRSGPRS隧道协议(GTP,GPRSTunnelingProtocol)用来在GPRS支出节点(GSN)(GSN是GGSN和SGSN的统称)之间传送数据和信令。它在GPRS的骨干网中通过隧道的方式来传输PDU。所谓隧道,是在GSN之间建立一条路由,使得所有由源GSN和目的GSN服务的分组都通过该路由进行传输。为了实现这种传输,需要将源分组重新封装成以目的GSN为目的地址的分组在GPRS骨干网中传输。在SGSN和MS之间,依赖子网的汇聚协议(SNDCP,SubnetworkDependtConvergenceProtocol)将网络层的协议映射到下面的逻辑链路控制(LLC)层,提供网络层业务的复接、加密、分段、压缩等功能。LLC层是在移动台和SGSN之间向上层提供可靠、保密的逻辑链路,它独立于下层而存在。LLC层有两种转发模式:确认模式和非确认模式。LLC协议的功能是基于LAPD(链路接入步骤-D)协议的。RLC/MAC层通过GPRS无线接口物理层提供信息传输服务,它定义了多个用户共享信道的步骤。RLC负责数据块的传输,采用选择式ARQ协议来纠正传输错误。MAC层63 基于时隙ALOHA协议,控制移动的接入请求,进行冲突分解,仲裁来自不同移动台的业务请求和进行信道资源分配。物理链路子层(PLL)负责前向纠错、交织、帧的定界和检测物理层的拥塞等;物理射频子层(RFL)完成调制解调、物理信道结构和传输速率的确定、收发信机的工作频率和特性确定等。LLC在BSS处分为两段,BSS的功能称为LLC桥接(LLCRelay)。在BSS和SGSN之间,BSSGPRS协议(BSSGP)负责传输路由和与QoS相关的信息,BSSGP工作在帧中继(FrameRelay)的协议之上。63 3系统总体方案设计该系统由前端数据采集控制装置、GPRS数据传输部分和远程监控服务中心组成。电梯设备采用GPRS模块与监控中心之间通过Internet网络进行双工通讯如图3-1。图3-1系统组成框图Fig.3-1BlockDiagramofSystemComposition单片机系统由STM32单片机最小系统组成,主要负责对GPRS通信模块的控制和数据通信,以及通过RS232串口线与电梯控制器进行数据传输和控制(控制命令由上位机发出,经GPRS通信模块传到单片机再传到电梯控制器)。GPRS通信模块(SIM900A)主要负责接入INTERNET网络,接受或发送INTERNET网络数据和命令。上位机(用DELPHI来编写)主要负责在INTERNET上传送数据和管理员的命令到GPRS通信模块中,是一个人机的交互界面。电梯设备的数据可以上传给监控中心,监控中心的数据或命令也能下达给电梯设备。每一台的电梯设备用的是GPRS模块,GPRS模块采用的是SIM卡来进行上网身份的确定和收取服务费,每一张SIM卡的卡号都是唯一的,为了实现远程的智能监控,因此必须是监控中心的一台计算机可以同时监控多台电梯设备,多台电梯设备之间的区别正是设备的设备号。设备的设备号也必须是唯一的,正好每台设备都采用自己的SIM卡的卡号作为本设备的设备号。当一般有报警时,电梯设备就把要上传的报警信息按照一定的格式打成一个数据包,因为GPRS模块上网的模式也正是数据包的格式,正好把打好的数据包通过GPRS模块上传给监控中心,数据包根据事先监控中心与电梯设备规定好的数据格式打包,监控中心收到数据包之后,对数据包进行解包分析,分析出数据包的信息,如果是事故监控中心就通知相应的处理人员并把相关的数据信息进行存储,处理人员立即就对电梯进行事故处理。总的方案示意图如图3-2所示。图3-2总的方案示意图Fig.3-2theschematicofwholeplan63 4系统远程终端设计4.1系统远程终端硬件设计4.1.1系统远程终端硬件设计方案远程终端是系统对监控电梯的数据采集的前端接口,是整个系统运行的基础。考虑到硬件部分应该符合功能实用/结构简单及成本低廉的特点,而且电梯本身的特点要求系统有实时性,因此在进行系统设计的时候要充分考虑以上的几种因素。利用电梯本身现有的控制设备,终端机通过串口从电梯控制器取得电梯的运行数据,有嵌入式MCU处理成监控中心能够识别的信息,完成监控系统的信息采集工作。参考常用的硬件设计方法,有以下三种设计方案可供选择:①单片机实现单片机在其发展的几十年里,已经广泛地应用于工业领域的各行各业,由于单片机具有成本低、开发难度低、集成了串口、计数器功能并扩展了I/O口,在大多数的应用中,单片机的这些功能已能够满足需要了。在单片机应用系统中,常用的有51系列和PIC系列的单片机作为核心芯片,优势在于系统的技术成熟、结构简单和可扩展性强。单片机系统的优点在于成本低廉、容易实现、解决方案成熟并且维护方便,但是单片机系统也有不足之处,系统的工作频率较低,实现高速数据处理较困难,这类型的单片机由于速度和位宽的限制适用于简单应用场合,不能够满足本系统设计的需要。②FPGA实现FPGA是Field-ProgrammableGateArray的缩写,即现场可编程门阵列,是上世纪90年代发展起来的高速可编程的大规模逻辑器件。由于FPGA具有高集成度、高可靠性和系统编程的优点,采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。随着技术的发展,FPGA因其丰富的片上资源,数据处理的高速性能,使得它很适合于高速数字系统的应用。但是该方案的成本较高,技术开发难度较大,所以在本次系统设计中未采用此方案。③ARM方案实现ARM是AdvancedRISCMachines的缩写,ARM处理器以其高性能、小体积、低功耗、紧凑代码密度和多供应源的结合而著称,此类处理器有3大特点:功耗低、成本低和功能强;16位/32位指令集;全球众多合作伙伴保证芯片供应。ARM处理器有丰富的63 片内资源,可扩展应用的I/O接口数量大,使得以ARM为基础的开发工作大大简化;它提供的用于在线调试的JTAG接口,极大地方便软件程序的设计与调试;借助于来自第三方开发者广泛的支持,设计者可以使用丰富的标准开发工具和ARM优化的应用软件。ARM平台的硬件和软件资源都有大量的技术支持,ARM相技术资料丰富,使得设计开发工作变得相对容易。考虑到ARM系统成本低、性能优越,结合监控系统的需要,在本次设计中采用ARM处理器+GPRS通信模块的结构平台来实现。4.1.2系统终端的硬件功能设计远程终端在GPRS电梯监控系统中是一个十分重要的设备。从本质上来说,终端机就是一个小型的远程数据处理终端,它有两方面的作用,一方面采集电梯运行状态数据,获取电梯的工作参数和故障信息;另一方面类似于进行数据上传与接收的转发器,将终端采集的数据发送到监控中心,并接收来自监控中心的数据。终端机的微处理器利用其串行通信接口的功能进行数据通讯的信号传送,把微处理器的一路串口经过RS232电平转换电路连接到电梯控制器,进行电梯运行数据的采集,并对所采集的数据进行处理,按预定格式把处理后的数据打包;另一路串口则与GPRS通信模块相连接在一起,在微处理器与GPRS同模块之间以串行通信的方式实现信息的双向交换传送,微处理器把打包后的数据经GPRS通信模块发送到监控中心,GPRS通信模块则把接收到的监控中心的数据传送到微处理器以待处理。终端机的工作过程:终端上电后向SIM900A模块发送一系列的AT指令,使SIM900A登录到GPRS网络后获得一个动态的IP地址,之后向监控中心发送连接请求。终端机和监控中心连接上后就可以相互发送数据了,因为GPRS网络中如果一段时间没有发送数据则会自动断开终端与GPRS网络的链接,所以还要每隔一段时间发送一次心跳包,以维持终端的永久在线。为了监控系统能够有效安全的运行,终端机要具备如下几个基本功能:①参数配置电梯编号:要能够为每一步电梯编一个唯一的编号,这里以sim卡的卡号作为唯一编号。②操作权限码:为了保证安全需要为每个终端机设置一个权限码,监控中心要在控制终端机时发送一串权限码,只有权限码正确了,才能得到对终端机的控制权。③数据采集63 终端机依据协定在固定的时间间隔,采集电梯的运行状态参数量,如电梯处于运行还是停止状态和开、关门等开关量,所在楼层的实时值,以及定时向监控中心发送数据。④故障报警当终端机和监控中心的连接出现故障或电梯出现意想不到的情况时,终端机会发出故障报警声或闪烁报警,提醒维修人员维护。4.1.3系统远程终端硬件设计①主控模块设计本文采用STM32作为终端的主控芯片。STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M内。按内核的不同可以分为不同的产品类型,其中STM32F1系列的有:STM32F103增强型系列,STM32F101基本型系列,STM32F105和STM32F107互联性系列。为了满足电梯监控的高性能和低功耗的要求,我们选择增强型的STM32系列。STM32F103xx增强型系列使用高性能的ARM Cortex-M3 32位的精简指令内核,工作频率最高可以达到72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN。STM32F103xx增强型系列工作于-40°C至+105°C的温度范围,供电电压2.0V至3.6V,一系列的省电模式保证低功耗应用的要求。正因为STM32集成了如此众多的片上模块,大大的减少我们终端机对外围模块的设计,大大减轻了我们的硬件电路设计工作,STM32的引脚图如图4-1。1、启动电路要想让STM32正常工作,启动电路是必不可少的,如图4-2所示的是STM32的晶振电路。2、稳压电路由于STM32的供电电压为2.0V~3.6V,而外部输入电压为5V,所以还要在最小系统板里面用一个降压电路,电路图如图4-3所示。3、调试电路当然调试和下载程序的电路也是必不可少的,本设计中选择用JTAG接口来调试和下载程序,接口电路图如图4-4所示:63 图4-1STM32F103VET6引脚图Fig.4-1thepinsofSTM32F013VET6图4-2晶振电路Fig.4-2thescheduleofcrystals63 图4-3稳压电路Fig.4-3voltageregulatorschedule图4-4JTAG电路图Fig.4-4JTAGschedule②通信模块设计本文中的GPRS通信模块采用SIM900A通信模块。SIM900A是SIMCOM公司专为中国大陆和印度市场设计的2频的GSM/GPRS模块,工作的频率为:EGSM900MHz和DCS1800MHz。SIM900A支持GPRSmulti-slotclass10/class8(可选)和GPRS编码格式CS-1,CS-2,CS-3和CS-4。SIM900A采用省电技术,所以在SLEEP模式下最低耗流只有1.0mA。SIM900A内嵌TCP/IP协议,扩展的TCP/IPAT命令使用户方便使用TCP/IP协议,其特性如表4-1,功能框图如图4-5,图4-6为基本电路图。63 图4-5GPRS模块功能框图Fig.4-5thefunctionalblockdiagramofGPRSmodule表4-1SIM900A模块特性Table4-1thefeatureofSIM900Amodule特性说明供电l单电压:3.2V-4.8V省电lSLEEP模式下的耗流为1.0mA频段l两频:EGSM900和DCS1800,可以自动的搜寻两个频段。也可以通过AT命令来设置频段。GPRS数据特性lGPRS数据下行传输:最大85.6kbpslGPRS数据上行传输:最大42.8kbpsl编码格式:CS-1,CS-2,CS-3和CS-4l支持通常用于PPP连接的PAP(密码验证协议)协议串口l支持标准的全功能串口l传输速率支持从1200bps到115200bpsl可以通过串口发送AT命令和数据l支持RTS/CTS硬件流控,并且可以通过软件打开或者关闭流控功能l支持符合GSM07.10协议的串口复用功能ll支持从1200bps到57600bps的自动波特率检测功能63 图4-6GPRS的整体电路图Fig.4-6thewholescheduleofGPRS如表4-2列出了SIM900A的引脚的各个功能。表4-2SIM900A引脚描述Table4-2thedescriptionofSIM900Apin引脚名称描述备注VBATl模块采用单电源供电,通过3个VBAT电源引脚供电,电压范围:3.2~4.8,电流≥2A。VRTCl当系统电源VBAT没电时,给实时时钟提供电流输入。当VBAT有电而且后备电池电压过低时给后备电池充电。需要接后备电池或电容VDD_EXTl2.8V电源输出如果不63 用保持悬空GDNl接地PWRKEYl通过拉低PWRKEY并保持至少1秒然后释放,可以开启模块。同样,用户可以通过拉低PWRKEY保持至少一秒然后释放,就可以关闭模块了。模块内部已经上拉至3VnetLEDl网络状态指示RXDl数据接收DTR已经内部上拉到VDD_EXTRXD如果不用需要外部上拉到VDD_EXT.其他不用的引脚保持悬空。TXDl数据发送RTSl发送请求CTSl发送清除RIl振铃提示DSRl数据设备准备DCDl数据载波检测DTRl数据终端准备SIM900A模块包括天线接口、电源接口、串口、LCD接口、音频接口、SIM卡接口等。本设计中只用到天线接口,SIM卡接口,串口和电源接口。1、电源电路图4-7为模块的电源电路图,vcc_4为4V的意思。IN4007能起到1.1v的压降的作用,所以在输入5v的时候,经过IN4007的降压他就会变成3.9v了基本上是SIM900A的工作电压了。同时它还起到一个保护模块防反接的作用和限制电流为1A的作用。图4-7SIM900A电源电路图Fig.4-7thepowerscheduleofSIM900A2、模块启动电路63 图4-8为模块的启动电路图,设置为上电启动。通过拉低PWRKEY并保持至少1秒然后释放,可以开启模块。图4-8GPRS启动电路原理图Fig.4-8thestartingscheduleofGPRS3、SIM卡接口GPRS模块要连接得上网络要有SIM卡,而且SIM卡要有GPRS服务。模块里面的SIM卡的引脚功能和电路图如下所示。表4-3SIM卡引脚描述Table4-3thedescriptionofSIMcart引脚描述备注SIM_VDDlSIM卡电源SIM卡的所有信号线都应该通过TVS二极管来做静电保护。SIM_DATAlSIM卡数据信号SIM_CLKlSIM卡时钟信号SIM_RSTlSIM卡复位信号SIM_PRESENCElSIM卡拔插检测信号如果不用,保持悬空。63 图4-9SIM卡电路原理图Fig.4-9thescheduleofSIMcart③主控模块与通信模块的连接可以直接将STM32的串行口和SIM900AGPRS模块串行口交叉相连,直接进行串口通信,接口电路图如图4-10。图4-10STM32和SIM900A的接口Fig.4-10theinterfacebetweenSTM32andSIM900A在上电启动GPRS模块并初始化后可以通过观察GPRS模块上的D5和D6的闪烁快慢来了解,GPRS模块的工作状态,如表4-4。表4-4GPRS工作状态Table4-4theworkstatusofGPRSD5D6模块工作状态长亮亮一秒灭一秒(快闪)模块正在搜索网络长亮亮一秒灭三秒(慢闪)模块已搜索到网络可以正常工作反复长亮几秒灭一秒亮一秒灭一秒(快闪)电源电流或电压不能满足要63 求熄灭亮一秒灭三秒(慢闪)有电话进来了,模块串口发出RING字符串灭一下后长亮亮一秒灭三秒(慢闪)接收到一条信息④主控模块与电梯控制器的连接主控模块与电梯控制器数据的传输是通过RS232串口线来传输的。RS232是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准。而工业控制的RS-232口一般只使用RXD、TXD、GND三条线。RS-232C标准(协议)的全称是EIA-RS-232C标准,其中EIA(ElectronicIndustryAssociation)代表美国电子工业协会,RS(recommendedstandard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。EIA-RS-232C对电气特性、逻辑电平和各种信号线功能都作了规定。在TxD和RxD上:逻辑1(MARK)=-3V~-15V,逻辑0(SPACE)=+3~+15V。在RTS、CTS、DSR、DTR和DCD等控制线上:信号有效(接通,ON状态,正电压)=+3V~+15V。信号无效(断开,OFF状态,负电压)=-3V~-15V。因为RS232与TTL系统不兼容,一般都用电平转换芯片来转换,常用MAX232,电路图如图4-11所示:图4-11MAX232电路图Fig.4-11MAX232schedule63 4.2系统远程终端的软件设计4.2.1软件开发环境①ARM开发工具MDK即RealViewMDK或MDK-ARM(MicrocontrollerDevelopmentkit),是ARM公司收购Keil公司以后,基于uVision界面推出的针对ARM7、ARM9、Cortex-M0、Cortex-M1、Cortex-M2、Cortex-M3、Cortex-R4等ARM处理器的嵌入式软件开发工具。MDK-ARM集成了业内最领先的技术,包括uVision4集成开发环境与RealView编译器RVCT。支持ARM7、ARM9和最新的Cortex-M3/M1/M0核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。Keil公司开发的ARM开发工具MDK,是用来开发基于ARM核的系列微控制器的嵌入式应用程序。它适合不同层次的开发者使用,包括专业的应用程序开发工程师和嵌入式软件开发的入门者。MDK包含了工业标准的KeilC编译器、宏汇编器、调试器、实时内核等组件,支持所有基于ARM的设备,专为微控制器应用而设计,不仅易学易用,而且功能强大,能够满足大多数苛刻的嵌入式应用。因此,本系统中用MDK来开发。②AT指令在应用中,控制器通过串口发送AT命令来控制GPRS模块。AT指令是一个借口标准,其指令格式都比较固定。所有命令行必须以“AT”或“at”作为开头,以回车()作为结尾。如果SIM900A的波特率和串口的波特率不一样的话,要首先同步波特率,即发两次”AT”指令就可以了,这是因为SIM900A具有自动串口波特率识别功能(识别范围:1200~115200)。SIM900A模块提供的AT命令包含符合GSM07.05、GSM07.07和ITU-TRecommendationV.25ter的指令,以及SIMCOM自己开发的指令。所有AT命令从语法上可以分为三类:“基础类”,“S参数类”以及“扩展类”。常用的AT指令:AT+CPIN:该指令用于查询SIM卡的状态,主要是PIN码,如果该指令返回:+CPIN:READY,则表明SIM卡状态正常,返回其他值,则有可能是没有SIM卡。AT+CSQ:该指令用于查询信号质量,返回SIM900A模块的接收信号强度,如返回:+CSQ:30,0,表示信号强度是30(最大有效值是31)。63 AT+COPS:该指令用于查询当前运营商,该指令只有在连上网络后,才返回运营商,否则返回空,如返回:+COPS:0,0,"CHINAMOBILE",表示当前选择的运营商是中国移动。AT+CGMI:该指令用于查询模块制造商,如返回:SIMCOM_Ltd,说明SIM900A模块是SIMCOM公司生产的。AT+CGMM:该指令用于查询模块型号,如返回:SIMCOM_SIM900A,说明模块型号是SIM900A。AT+CGSN:该指令用于查询产品序列号(即IMEI号),每个模块的IMEI号都是不一样的,具有全球唯一性,如返回:869988012018905,说明模块的产品序列号是:869988012018905。TCP连接指令:AT+CGCLASS="B",设置移动台类别为B。即,模块支持包交换和电路交换模式,但不能同时支持。AT+CGDCONT,用于设置PDP上下文。发送:AT+CGDCONT=1,"IP","UNINET",设置PDP上下文标志为1,采用互联网协议(IP),接入点为"UNINET"。AT+CGATT,用于设置附着和分离GPRS业务。发送:AT+CGATT=1,附着GPRS业务。AT+CIPCSGP,用于设置CSD或GPRS链接模式。发送:AT+CIPCSGP=1,"UNINET",设置为GPRS连接,接入点为”UNINET”。AT+CLPORT,用于设置本地端口号。发送:AT+CLPORT="TCP","8888",即设置TCP连接本地端口号为8888。AT+CIPSTART,用于建立TCP连接或注册UDP端口号。发送:AT+CIPSTART="TCP","180.120.52.222","8086",模块将建立一个TCP连接,连接目标地址为:180.120.52.222,连接端口为8086,连接成功会返回:CONNECTOK。AT+CIPSEND,用于发送数据。在连接成功以后发送:AT+CIPSEND,模块返回:>,此时可以输入要发送的数据,最大可以一次发送1352字节,数据输入完后,同发短信一样,输入十六进制的:1A(0X1A),启动发送数据。在数据发送完成后,模块返回:SENDOK,表示发送成功。AT+CIPSTATUS,用于查询当前连接状态。发送:AT+CIPSTATUS,模块即返回当前连接状态。63 AT+CIPCLOSE,用于关闭TCP/UDP连接。发送:AT+CIPCLOSE=1,即可快速关闭当前TCP/UDP连接。AT+CIPSHUT,用于关闭移动场景。发送:AT+CIPSHUT,则可以关闭移动场景,关闭场景后连接状态为:IPINITIAL,可以通过发送:AT+CIPSTATUS,查询。另外,在连接建立后,如果收到:+PDP:DEACT,则必须发送:AT+CIPSHUT,关闭场景后,才能实现重连。4.2.2软件程序设计软件程序设计部分包括电梯运行状态数据的采集和远程数据传输两部分。①数据采集终端机的数据采集通过RS232串口线来采集电梯控制器里面的数据,然后将采集到的数据按照协议来讲数打成数据包,在通过主控芯片传到GPRS模块,然后上传到系统的监控中心。每个电梯里面都安装有一个终端机,总的系统结构图,如图4-12所示:系统监控中心终端机1终端机2终端机n图4-12系统结构图Fig.4-12systemstructure将采集的数据封装成数据,数据包的结构如图4-13所示。0X1F是包头,0XF1是包尾,这两个是用来区分从终端机发过来的数据的标识符。地址码用终端的每个SIM卡的卡号来表示。63 0X1F地址码信息域0XF1图4-13数据包结构图Fig.4-13thepacketstructure权限码在终端机设计的时候固定在终端机里面,而且每个不一样,要修改的话只能通过终端机的输入设备修改。监控中心向终端机发送控制指令的时候,首先发送地址码,然后发送权限码,只有地址码和权限码都匹配的时候,终端机才能够接受到监控中心发送来的指令,然后进行相应的操作。数据采集的程序框图如图4-14所示。图4-14程序流程图Fig.4-14programchart①数据传输GPRS技术是无线通信技术和IP技术相结合的产物,数据在传送过程中要遵循TCP/IP协议,也就是要有源点和目的IP地址[11]。监控中心跟INTERNET相连会被分配一个固定的公网IP地址。但是,终端机处于GPRS网络中,而GPRS网络的IP地址是动态分配的。SIM900A内嵌了PPP、TCP/IP协议栈,PPP协议负责接入GPRS网络,并申请动态IP地址。在传输过程中的协议有PPP协议、TCP/IP协议和一些在这些协议之内的协议。63 GPRS模块是通过GPRS网络接入到INTERNET上,然后在通过INTERNET上传数据到监控中心的,所以GPRS模块要连接上GPRS网络是数据传输的前提。GPRS自动拨号接入Internet的具体流程如图4-15所示:图4-15SIM900A接入到INTERNET过程Fig.4-15theprocessofSIM900Atobuildwithinternet为了能够进行IP数据包的传输,就必须首先实现数据链路层的PPP协议。因为GPRS模块已经嵌入PPP协议,所以在主控芯片里没有必要开发PPP协议栈了。PPP协议的功能有:1、PPP具有动态分配IP地址的能力,允许在连接时刻协商IP地址;2、PPP支持多种网络协议,比如TCP/IP、NetBEUI、NWLINK等;3、PPP具有错误检测以及纠错能力,支持数据压缩;4、PPP具有身份验证功能。5、PPP可以用于多种类型的物理介质上,包括串口线、电话线、移动电话和光纤(例如SDH),PPP也用于Internet接入。PPP(点到点协议)是为在同等单元之间传输数据包这样的简单链路设计的链路层协议。这种链路提供全双工操作,并按照顺序传递数据包。设计目的主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接63 的一种共通的解决方案。点对点协议(PPP)为在点对点连接上传输多协议数据包提供了一个标准方法。PPP最初设计是为两个对等节点之间的IP流量传输提供一种封装协议。在GPRS网络中一般用到的有LCP(链路控制协议)、PAP(密码验证协议)、CHAP(挑战握手验证协议)和IPCP协议(PPPIP控制协议)。为了建立点到点连接,PPP连接时的两端开始都必须发送LCP数据包来配置和测试数据连接;在连接建立后,对等实体还有可能需要认证。然后,PPP必须发送NCP数据包来选择一种或多种网络层协议来配置。一旦网络层协议被配置好后,该网络层的数据报就可以被封装在PPP帧中在链路上传送了。PPP协议状态图如图4-16。图4-16PPP协议状态转移图Fig.4-16thestatusofPPPprotocolPPP协议基于HDLC,其帧格式和HDLC的帧格式类似,如表4-5所示。表4-5PPP协议格式Table4-5theformatofPPPprotocol标志地址控制协议信息填充检验标志0X7E0XFF0X032Byte可变可变2Byte0X7EPPP帧以标志字符0x7E作为一帧的开始和结束,地址字段和控制字段为固定值,分别为0xFF和0x03。帧检验序列FCS采用CRC-16作为整个PPP帧的校验码。协议字段代表信息字段所属的协议。信息字段根据协议字段的不同装载不同的数据包。填充字段在PPP帧不够长时进行填充。PPP协商过程如图4-17:63 图4-17PPP协商过程Fig.4-17PPPcommunicationprocess在连接上GPRS网络后得到一个IP地址,这样终端机和监控中心就可以进行通信了。终端机与监控中心的网络通信是经过GPRS网络完成的,在登录GPRS网络的过程和与监控中心的数据传输过程中,所传输的数据包是依据PPP协议来封装的。PPP协议是在数据链路层的,它在OSI的7层网络模型中的位置如图4-18。OSI参考模型将整个网络通信的功能划分为七个层次,自下而上依次是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。图4-18OSI模型Fig.4-18OSImodel63 5系统监控中心的设计5.1网络通信SOCKET规范为了减少网络设计的复杂性,大多数网络都采用分层结构。对于不同的网络,层的数量、名字、内容和功能都不尽相同。在相同的网络中,一台机器上的第N层与另一台机器上的第N层可利用第N层协议进行通信,协议基本上是双方关于如何进行通信所达成的一致。两台计算机要进行通信,就要安装相同的协议,现在计算机通信中TCP/IP协议是核心。TCP/IP协议是四层网络模型从下到上分别为网络访问层,互连网层,传输层,应用层。Sockek[12]技术规范是建立在传输层协议上的一种套接字,这种技术最早是由美国加州伯克利大学提出来的,它定义了在任意的两台计算机之间进行数据通信的技术规范。Socket是一种通信机制,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行也可跨网络进行。20世纪90年代初,由SunMicrosystems,JSB,FTPsoftware,Microdyne和Microsoft等几家公司共同定制了一套标准,即WindowsSocket规范,简称WinSock。Delphi的底层通信采用了Socket规范。Socket规范减轻了开发者的程序开发难度,而Delphi中的组件Indy对Socket进行了有效的封装,使程序员很方便的开发网络通信应用。根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。(1)服务器监听:服务器端套接字处于等待连接的状态,实时监控网络状态。(2)客户端请求:由客户端的套接字提出连接请求,要连接的目标是服务器端的套接字。为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求。(3)连接确认:当服务器端套接字监听到或者说接收到客户端套接字的连接请求,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器端套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。具体的过程如图5-1所示:63 图5-1Socket的建立过程Fig.5-1SetupSocket5.2监控中心软件设计监控系统上位机程序运行于中心主机,主要包括电梯实时运行状态显示、远程指令发送、数据库管理和故障查询等功能模块,软件流程框图如图5-2所示。图5-2软件流程框图Fig.5-2SoftwareflowDiagram63 TCP服务器的界面如图5-3。图5-3TCP服务器界面Fig.5-3TCPServerWindows在监控中心上位机的的编写中采用的是面向组件编程技术。面向过程的编程重用函数、面向对象的编程重用类、范型编程重用的是算法的源代码,而组件编程则重用特定功能完整的程序模块。每个组件会提供一些标准且简单的应用接口,允许使用者设置和调整参数和属性。用户可以将不同来源的多个组件有机地结合在一起,快速构成一个符合实际需要(而且价格相对低廉)的复杂(大型)应用程序。组件区别于一般软件的主要特点,是其重用性(公用/通用)、可定制性(设置参数和属性)、自包容性(模块相对独立,功能相对完整)和互操作性(多个组件可协同工作)。可以简单方便地利用可视化工具来实现组件的集成,也是组件技术一个重要优点。基于以上组件编程的种种优点,结合本文设计的特点,综合考虑,最终决定监控中心上位机的编写采用组件编程技术,用DELPHI来编写上位机。5.2.1Indy组件介绍Indy是一组开放源代码的Internet组件,涵盖了几乎所有流行的Internet协议。Indy用Delphi编写,被包含在Delphi6,Kylix1和C++Builder6及以上各个版本的Borland开发环境中。Indy曾经叫做WinShoes(双关于WinSock——Windows的Socket库),是由ChadZ.Hower领导的一群开发者构建的。Delphi7中所带的是Indy9。在其的组件面板上,一共安装有100多个Indy组件。使用这些组件可以开发基于各种协议的TCP客户和服务器应用程序,并处理相关的编码和安全问题。63 使用Winsock开发网络应用程序时,从Socket中读取数据或者向Socket写入数据都是异步发生的,这样就不会阻断程序中其它代码的执行。在收到数据时,Winsock会向应用程序发送相应的消息。这种访问方式被称作非阻塞式连接,要求对事件作出响应,设置状态机,并通常还需要一个等待循环。与通常的Winsock编程方法不同的是,Indy使用了阻塞式Socket调用方式。阻塞式访问更像是文件存取。当读取数据,或是写入数据时,读取和写入函数将一直等到相应的操作完成后才返回。使用阻塞式socket编程的时候比非阻塞的编程变的简单,而且可以很好的利用线程技术。阻塞式Socket通常都采用线程技术,Indy也是如此。从最底层开始,Indy的设计都是线程化的。因此用Indy创建服务器和客户程序跟在Unix下十分相似,并且Delphi的快速开发环境和Indy对WinSock的良好封装使得应用程序创建更加轻易。一个典型的Indy服务器为每个链接的客户端分配一个线程,这样用Delphi来写的TCP服务器就可以很好得监控每一个电梯的运行情况了。Indy服务器组件创建一个同应用程序主进程分离的监听线程来监听客户连接请求,对于接受的每一个客户,都创建一个新的线程来为该客户提供服务,所有与这一客户相关的事务都由该线程来处理,如图5-4所示。主进程监听线程线程1线程2线程3图5-4Indy服务器工作方式Fig.5-4TheworkwayofIndyserver本设计中主要用到Indy组件中的TIdTCPServer组件。TIdTCPServer组件封装了一个完整的多线程的TCP组件。TIdTCPServer使用一个或多个线程来监听客户连接。通过63 TidThreadMgr对象的关联,为每一个连接大服务器的客户端分配一个独立的线程。TIdTCPServer允许配置服务器监听线程,包括默认端口、监听队列、最大链接数等。TIdTCPServer使用了两套机制来为链接线程提供服务。第一种方法是利用响应时间句柄的方法来处理客户连接。这些事件句柄包括:OnConnect、OnExecute、OnDisconnect、OnException等。第二种方法是利用TidCommandHandle对象来辨认合法的服务命令,提供一些方法和属性来处理参数、执行动作、表达正确或错误的响应。本设计中使用第一种方法来设计监控中心的应用程序。5.2.2TIdTCPServer组件概述TIdTCPServer组件的属性介绍:Active属性Active为True的时候,服务器将监听每个客户端的连接,并为每个连接请求分配线程和Socket句柄,响应客户端的各种命令。如果Active为False时,服务器将关闭所有的链接和Socket句柄,中断并释放全部的链接线程和线程的管理对象和监听线程。Bindings属性Bindings是一个TidSocketHandles类型的变量,它是一个TidSocketHandles对象的集合。Bindings为TCP服务器提供默认的端口号,并被TidListenThread对象用来获取对Socket句柄的访问和由TCP/IP提供的底层方法。DefaultPort属性DefaultPort属性指明了服务器监听新的客户端链接请求的端口号。当Active为True时,TIdTCPServer利用DefaultPort的值来绑定已分配的Socket句柄。TIdTCPServer组件的事件句柄介绍:OnConnect事件OnConnect是一个TIdServerThreadEvents类型事件的句柄,在一个客户线程试图链接到TCP服务器时触发。OnConnect事件的参数AThread指明了发送链接请求的客户线程对象。OnExecut事件OnExecut是一个TIdServerThreadEvents类型事件的句柄,当客户线程试图执行TIdpeerThread.Run方法时触发。参数AThread指明了将被启动的客户线程对象。通过给OnExecute事件赋予一个TIdServerThreadEvents类型的过程来相应该事件。63 6总结和展望本文全面介绍了电梯远程监控系统结构和实现方法,在监控系统中用了TCP服务器作为接受GPRS模块传输过来的数据。在TCP服务器上只是简单的显示GPRS模块传输过来的数据,而服务器端向GPRS模块发送数据那一部分还没有实现,这是今后还要改进的地方。本文利用GPRS网络将各个电梯运行状况接入INTERNET上传到监控中心,实现了电梯实时的远程监控。由于作者的水平有限对于本设计的大部分功能还有待改进,在服务器端还没有用到数据库。这对电梯数据的维护和更新是非常不方便的,所以以后还要利用数据库来处理电梯运行状态的数据。而服务器的登录界面等一些功能还要继续完善。现在的无线技术越来越成熟和完善,在带宽和速度上面得到了更大的提高,这为电梯远程监控系统提供了更广阔的空间和平台,相信电梯远程监控会越来越好。63 致谢本设计在杨春玲导师的悉心指导和严格要求下自已完成,从课题选择、方案论证到具体设计和调试,无不凝聚着杨春玲导师的心血和汗水,在四年的本科学习和生活期间,也始终感受着导师的精心指导和无私的关怀,我受益匪浅。在此向导师表示深深的感谢和崇高的敬意。63 参考文献[1]史信芳.电梯技术[M].北京:电子工业出版社,2009.[2]岳庆来等.电梯现代智能控制技术[M].北京:机械工业出版社,2009.[3]胡志坤,林勇,徐飞,等.基于GPRS/GSM的新型公交车辆监控装置[J].计算机测量与控制,2009,17(9):1747-1749.[4]王贯山.利用远程监控组建市区电梯管理网络[J].中国电梯,2001(6):7.[5]徐立中等.多媒体监视监控技术与系统[J].电力系统通信.2001(6):5~10.[6]ChangBumKim.DesignAndImplementationOfAFuzzyElevatorGroupControlSystem[J].IEEETransOnSystemManAndCybernetics,1998,28(3):277~286.[7]徐志祥,于丽杰等.因特网、控制网与智能型传感器[J].测控技术,2001,20(2):13-15.[8]R.Kalden,I.Meirick,M.Meyer.WirelessInternetAccessBasedonGPRS,IEEEPersonalCommunications,2000,7(2):8~18.[9]PeterKlootwijk,StefanP.Nelwan,TeusB.VanDamandSimonH.Meij.Wireless(GPRS-Based)mobilereal-timePatientmonitoring[J].JoumaloftheAmericanCollegeofCardiology,2003,41(6):528.[10]李建东,郭梯云,邬国扬.移动通信第四版[M].西安:西安电子科技大学出版社,2006.12(2007.9重印).[11]韩斌杰.GPRS原理及其网络优化[M].北京机械工业出版社.2003[12]郭振武.基于SOCKET及SMS技术的远程信息传输系统的设计[D].浙江大学硕士论文.2004.63 附录A:中文翻译针对GPRS技术的恶意行为摘要:本文介绍了威胁GPRS网络和GPRS移动用户的恶意操作(攻击)。这些攻击可能会来源于恶意的第三方,或移动用户,网络营运商。网络营运商的工作人员也有可能利用GPRS网络安全体系结构的安全漏洞来实施。此外,攻击者还会利用那些应该保护GPRS体系某些方面的安全措施的缺乏作为他进一步进行攻击的优势。一般入侵GPRS的攻击会把目标锁定为移动用户设备、无线接入网、GPRS骨干网以及连接到其他GPRS网络和公共物联网的接口。这些攻击的结果可能是最终用户的安全性的妥协,用户在计费,关键信息的泄露或篡改,服务不可用,网络故障等。分析攻击带来的后果能够评估GPRS的使用相关的风险,并因此影响其部署移动互联网的概念。为了战胜某些攻击和增强由GPRS提供的安全水平,本文提出了具体的安全措施。1绪论GPRS是提供用于全球系统或移动通信系统(GSM)用户分组无线接入的服务。他提供各种面向分组的多媒体应用和服务给移动用户,实现移动互联网。为成功地执行基于GPRS的这些应用和服务,安全性将会是一个很重要的因素。为了满足安全性的目标,GPRS采用特定的安全体系结构,其目的是防止未经授权的访问的网络和用户的隐私。这个体系是基于GSM网络的安全措施,因为GPRS系统是建立在GSM网络基础上的。然而,GPRS网络相对于GSM来说对入侵者更加暴露,因为它使用的是IP技术。同样的,在IP网络中,对GPRS系统来说,入侵者可能会尝试违反保密性、完整性、可用性或以其他方式滥用系统,通过妥协的服务、骗取用户等等。在他们的天性里面,攻击GPRS系统可分为被动和主动攻击。当一个攻击者不具攻击性地附着上在两个节点的通信信道而不干扰通信时,一个被动攻击便发生了。这种攻击的目的是发现一些在通信信道上传输的有价值的数据或控制消息。另一方面,主动攻击通常涉及攻击者对信息或发送的控制数据的直接干预。主动攻击可以在通信信道上监听、修改,甚至注入数据。主动攻击可以进一步分为两组:外部和内部攻击。外部攻击是由不属于GPRS体系的节点或人造成的,而内部攻击的节点或人往往是属于GPRS体系的。因此,对内部攻击的检测将会更加困难,为了躲避这种攻击需要更加困难的解决方案。63 本文介绍了威胁到GPRS网络、移动的GPRS用户,以及驻留在网络中或者通过它传输的数据的恶意行为(攻击)。这些攻击可能会来源于恶意的第三方,或移动用户,网络营运商。网络营运商的工作人员也有可能利用GPRS网络安全体系结构的安全漏洞来实施。此外,攻击者还会利用那些应该保护GPRS体系某些方面的安全措施的缺乏作为他进一步进行攻击的优势。一般入侵GPRS的攻击会把目标锁定为移动用户设备、无线接入网、GPRS骨干网以及连接到其他GPRS网络和公共物联网的接口。这些攻击的结果可能是最终用户的安全性的妥协,用户在计费,关键信息的泄露或篡改,服务不可用,网络故障等。分析攻击带来的后果能够评估GPRS的使用相关的风险,并因此影响其部署移动互联网的概念。为了战胜某些攻击和增强由GPRS提供的安全水平,本文提出了具体的安全措施。本文的其余部分安排如下。第二部分简要的介绍了GPRS的网络结构,第三部分叙述了适用于它的安全架构。第四部分分析了威胁GPRS用户的攻击,eGPRS网络,以及在GPRS网络里面的和通过它传输的数据。第五部分提出了能够抵抗攻击的一些安全措施以加强GPRS的安全性。最后,第六部分进行了总结。2.GPRS网络体系GPRS的网络体系结构如图1所示。63 图1GPRS网络体系结构图一个GPRS用户拥有一个提供接入到无线网络的移动台(MS)。从网络的一端可以看到基站子系统(BSS)是网络的一部分,它主要负责无线电路径的控制。BSS由两个类型的网络节点:基站控制器(BSC)和基站收发信机台(BTS)组成。BTS负责给定地理区域的无线电覆盖,而BSC向移动站和向网络(核心网)的固定部分的地面保持无线电连接。GPRS核心网络(CN)采用了GSM的网络元件,例如归属位置寄存器(HLR),访问者位置寄存器(VLR),认证中心(AUC)和设备标识寄存器(EIR)。HLR是用于移动用户的永久数据的管理的数据库。VLR是访问由MS的服务区域的一个数据库,并包含所有所需的MS服务的处理的相关信息。AUC中保持与用户的身份安全信息,同时保持EIR与移动设备的身份信息。最后,移动业务交换中心(MSC)是负责线路交换服务的网络元件。正如前面所介绍,GPRS重用多数的GSM网络的基础设施。然而,为了建立一个面向分组的移动网络,一些新的网络元素(节点)是必需的,它们处理基于分组的通信。新类节点,称为GPRS支持节点(GSN),负责一个MS和外部分组数据网络(PDN)之间的数据传递和分组的路由。更具体地,一个服务GSN(SGSN),在它的区域内,负责63 从递送数据分组给MS。其任务包括分组路由和传输,移动性管理,逻辑链路管理,以及认证和计费功能。网关GGSN(GGSN)充当GPRS骨干和外部PDN之间的接口。它把从SGSN来的GPRS数据分组转换到适当的分组数据协议(PDP)格式(例如IP),并将它们转发到对应的PDN。类似的,从对应PDN来的分组也可以在GGSN中被拆解成对应GPRS骨干网的数据分组。在SGSN和GGSN中的数据通信是以GTP协议来传输的。3.GPRS的安全体系为了满足安全性,GPRS采用了一系列的安全措施来构建它的安全体系。这些机制在最初设计时大多数都是用于GSM网络的,但他们已修改过,以适应面向分组的业务性质和GPRS网络组件。在GPRS网络安全体系中,主要针对两个目标:(1)保护网络免受未经授权的访问,以及(2)保护用户的隐私。它包括以下组件:l用户身份模块(SIM)l用户的身份保密l用户身份认证l用户数据和信令在MS和SGSN之间的保密性lGPRS主干网的安全性3.1用户身份模块(SIM)移动用户通过SIM卡连接到网络是一个个性化的过程。每个SIM卡都是唯一的并且和用户关联。它是一个微型计算机,具有处理器、ROM、EEPROM、RAM和I/O接口。它的软件包括了一个操作系统、文件系统和应用程序。SIM卡是负责用户通过提示的验证码(个人身份证号码-PIN)的鉴定,通过钥匙来进行的网络识别,并且通过加密来保护用户数据。为了实现这些功能,它包括了一些列的安全机制:l一个(四位)的PIN码,它用来锁定卡防止误操作。l移动用户的一个唯一的永久性身份,命名为国际移动用户标识(IMSI)。l一个密匙,Ki(128位),认证用的。l一个验证算法(A3)和一个生成加密钥匙的算法(A8)因为SIM卡是GSM/GPRS订户的,他包含了安全的关键信息,它应该在可信的环境中制造、供应、分配和管理。3.2用户的身份保密63 用户身份保密模块处理用户的IMSI和位置等信息的隐私。它包括用于IMSI保护的机制。用户身份保密,主要是通过在两个有线和无线的网络段使用移动用户标识(TMSI)来实现的。TMSI具有局部意思,因此为了避免混乱,它必须伴随着路由区域标识(RAI)。MS和服务VLR、SGSN只知道活动的TMSI和IMSI之间的关系。一个新的TMSI的分配隐含地对应着MS与前一个分配的解除。当一个新的TMSI被分配给MS时,它会以一个加密的模式发送给MS。该MS存储当前的TMSI并且相关联在非易失性存储器存储的RAI,这样即使当MS被切断时数据也不会丢失。改进后的TMSI,临时逻辑链路标识符(TLLI)也在路由区域的无线接口标识了一个GPRS用户。因为TLLI具有本地意义,当它在MS和SGSN转发的时候应该伴随有RAI。该TTLI无论是从SGSN中生成还是在MS中随机导出都提供了身份的保密性。TTLI和IMSI的关系只有在MS和SGSN才知道。3.3用户身份认证移动用户要访问网络必须要首先证明自己的身份。用户身份认证防止冒用并确定正确的计费。GPRS采用已经定义在GSM中使用相同的算法进行认证的加密密钥和生成的鉴定程序以及相同的密钥,Ki,如图2.图2GPRS的认证不管怎样,从网络端来看,整个过程是由SGSN(而不是基站)执行,并且采用了一种不同的随机数(GPRS的RAND),并因此,它产生一个不同的签名响应(GPRS的SRES)和加密密钥(GPRS-KC)比GSM的语音对应。为了实现一个用户的认证成功,SGSN必须具备与特定用户相关的安全信息。通过请求该移动用户所订阅的归属网络的HLR/AUC中获得此信息。它包括一组认证向量,其中每一个包括一随机询问(GPRS的RAND),并为特定的订户相关签名响应(GPRS的SRES)和加密密钥(GPRS-KC)。认证矢量由归属地HLR/AuC中使用该移动用户的秘密密钥Ki产生。在认证服务网络的63 SGSN发送一个选择的随机询问(GPRS的RAND)的认证向量到MS。后者通过使用A3的哈希算法,这是在所述的SIM卡实现,和秘密密钥一起来加密GPRS的RAND。前32位A3的输出被用作签名响应(GPRS的SRES)的质询(GPRS的RAND)和被发送回网络。SGSN检查MS是否有正确的key,如果有,则移动用户被识别为授权用户。否则,服务网络(SN)拒绝给该用户访问系统。A3剩余的64位和密匙一起输出,一起被输入到产生GPRS加密密匙的(GPRS-KC)的A8算法。A3和A8算法不包括在GSM/GPRS的规格,但只有后者描述他们的外部接口。对于这些算法的实施,许多网络运营商使用的一个例子算法,称为COMP128。COMP128是一个加密散列函数。这需要16字(128位)键,K和16字节数据(128位)中,R,以输出一个12字节(96位)的散列。3.4数据和信号的保密性用户的数据和信令在GPRS无线接入到网络时的保护是基于GPRS的加密算法(GPRS-A5)。目前,有三种版本的该算法:GEA1,GEA2和GEA3(实际上是A5/3),这是不公开的,因此,也很难对它们执行的攻击。该MS设备(不是SIMCARD)执行使用加密密钥(GPRSKc)GEA,因为它是一个强有力的算法,需要相对高的处理能力。从网络侧中,SGSN在Um,Abis接口,和Gb接口执行的加密/解密功能来保护用户的信令和数据(参照图1)。在认证过程中的MS指示哪个版本的GEA支持,以及网络(SGSN)决定对将要使用一个双方都能接受的版本。如果没有一个公认的算法,该网络(SGSN)可以决定释放连接。为了能够通过无线初始化加密,MS和SGSN必须合作。更具体的,SGSN指示在该认证请求中是否使用加密,并在MS发送认证应答报文后,开始加密(如图2-2)。GEA是对称流密码算法(参照图3),使用三个输入参数(GPRS-Kc,权利INPUT和方向),并产生一个输出字符串,变化之间1600和5个字节。GPRSKc(64位)是由GPRS认证过程中产生的加密密钥,并且永远不会通过无线电接口发送。输入(INPUT)参数(32位)被用作附加输入,使得每个帧被加密成不同的输出字符串。这个参数是从逻辑链路控制(LLC)帧号,帧计数器,并通过称为IOV(输入偏移值)在SGSN提供的值进行计算的。最后,方向位(方向)指定输出的字符串是否被用于上游或下游通信。加密启动后,发送者通过无线接口发送产生的密文。在接受实体通过解密来获得原来的密文。当MS改变SGSN,加密参数(例如,GPRS的Kc,权利INPUT)从旧SGSN向新SGSN转移,通过(相互)路由区域更新过程,以保证业务的连续性。63 图3GPRS对称流密码算法3.5GPRS主干网安全GPRS骨干网络包括固定网络元素和它们传送用户数据和信令信息物理连接。在GPRS的信令交换主要是基于信令系统7(SS7)技术,该技术不支持GPRS的部署中的任何安全措施。类似地,被用于通信GSN之间的GTP协议不支持安全。因此,用户数据和GPRS骨干网的信令信息明文地传输使他们暴露于各种安全威胁。此外,跨网络通信(不同运营商之间)是基于公共互联网,这使得获得网络访问权的任何恶意的第三方都能够进行IP欺骗。下面将会提出适用于GPRS骨干网的安全性措施。移动营运商对GPRS骨干网和跨网络通信的安全有保护的责任。操作者利用专用IP地址和网络地址转换(NAT),以限制那些未经授权的对GPRS骨干网络的访问。他还可以在该边界防火墙应用为了保护它免受GPRS骨干网未经授权穿透。防火墙通过实施安全策略保护网络。使用安全策略的GPRS运营商可以确保从MS,而不是从互联网开始的流量能够通过防火墙。这个因为有两个原因:(1)严格限制流量以保护MS和网络元素避免外部的攻击(2)保护MS不接收未请求的流量。未经请求的流量可能是用户不需要的,因为他们要为流量付费。GPRS的运营商也可以禁止某些带宽要求苛刻的协议以阻止一些用户业务要消耗这么多的带宽而影响其他用户的使用。此外,应用级防火墙阻止通过使用代理服务器来分析应用程序的命令,进行验证和记录日志直接访问的服务。由于防火墙不提供保密性,虚拟专用网(VPN)技术正好补充他们这个缺点以保护传输中的数据。一个VPN用于传输数据的认证和用户访问企业资源,建立通信双方之间的安全隧道的授权,以及封装和保护由网络传输的数据。在当前的GPRS实现方式中,预先配置的,静态的VPN可以用来保护GPRS网络元件之间(例如,一个SGSN和属于相同主链的GGSN),属于不同移63 动运营商的不同的GPRS骨干之间,或GPRS骨干和远程企业专用网络之间的数据传输。边界网关,它驻留在GPRS骨干网的边界,是提供防火墙功能的网络元素,并还保持静态,预配置的VPN具体的接入。4.对GPRS网络安全的攻击虽然GPRS支持的保安措施,试图保护它,但是这些措施暴露出了一些基本的安全弱点,他们没有充分地保护了GPRS架构的某些部分。这些漏洞可能会导致对移动用户、GPRS网络或驻留于GPRS网络内和通过它传输的数据的攻击。基于GPRS的体系结构和所采用的安全保障措施,有5个关键区域可能会存在对GPRS网络的安全威胁,如图4。图4GPRS体系可能存在的5个关键点l移动站和SIM卡(Ⅰ)l在MS和SGSN(Ⅱ)之间的接口lGPRS骨干网(Ⅲ)l连接不同运营商的分组网络(Ⅳ)l公共互联网(Ⅴ)5.安全措施对GPRS网络攻击的分析会增加对这种网络的使用有关的风险的评估并影响它们实现移动互联网的部署。为了战胜这些风险,一套改进现有的GPRS网络安全架构将会应用到当前的体系结构当中。此外,一些补充的安全措施,其最初被设计用于固定网络和旨在提高GPRS支持的安全性水平,将会被应用。在下文中,对具体的安全改进和互补安全措施的应用进行了简要介绍和分析。63 5.1SIM卡大部分与SIM卡和移动用户的攻击都和COMP128的漏洞有关。为了解决这些,旧版本COMP128的(目前称为COMP128-1)由两个较新版本,COMP128-2和COMP128-3替换,这样为之前的漏洞打了补丁。有一个更新版本COMP128-4,这是基于使用高级加密标准(AES)3GPP算法MILENAGE。此外,提及到GPRS运营商,该COMP128算法仅是一个示例的算法,并且每个操作人员应该使用它自己的算法,以便支持安全的可接受的水平。对于该分区的瞄准COMP128在SIM卡实现的攻击,也可以被击败。IBM研究中心已经开发出一种技术,以保护从边信道攻击的表查找操作。在该技术中,一个表查找操作协商一个在计算机内存中检索的表的在一个特定的位置的值存储。5.2用户数据通过GPRS骨干网和公共网络传输的用户数据可能仍然未得到保护,这使得用户数据会暴露在各种的安全威胁当中。通过以下两种技术,GPRS数据的交换安全性将会得到进一步的提高。1.终端用户安全性的申请2.建立基于IPSec的动态、移动的VPN。用户的安全性是通过使用应用层解决方案来解决的,比如安全套接字层协议(SSL)。SSL是默认互联网安全协议,通过建立在TCP上的安全通道提供点对点的安全性。它使用证书、数据机密性和消息完整性来支持服务器验证。另一方面,IPsec在每秒连接的基础上保护流量,因此,这是独立于运行在它之上的应用程序的。一种基于IPSec的VPN用于认证和用户访问企业资源的授权,建立了通信双方的封装和保护由网络传送的数据之间的安全隧道。这些方案的主要区别在于被放置在GPRS网络安全性的位置上,以及数据的传输是否是用明文或者是暴露于威胁之中的。6.总结本文介绍了威胁到GPRS网络、移动的GPRS用户,以及驻留在网络中或者通过它传输的数据的恶意行为(攻击)。这些攻击可能会来源于恶意的第三方,或移动用户,网络营运商。更具体的,MS可能要处理一些经过计算机传播到GPRS网络的攻击。这些攻击的结果可能是监视该MS使用的,不需要的文件的下载,实现不需要的会议呼叫等。不管怎样,MS和SIM卡都会成为恶意的攻击的目标,其结果是截获到其的密匙。拥有这个密匙的攻击者可以截获MS和SGSN之间的数据的传播,甚至克隆SIM卡从而从事交易,但是计费的是原SIM卡。在MS和SGSN之间的接口是众多的GPRS架构的最暴露的元件。利用一些在GPRS网络安全架构的一些缺点,对手可以进行拒绝服务的攻击和中间人63 攻击,这会导致系统的崩溃和用户安全性的妥协。相同的结果来源于GPRS骨干网络的分析。这些攻击者的目标一样会锁定在用IP和SS7技术在GPRS骨干网传输的数据。然而,在运营商的网络不仅处在从内部进行攻击的威胁,还存在从外部中进行威胁。外部攻击的结果主要是资源和服务的可用性,用户和操作的认证和授权,和传输的数据的完整性和保密性。对攻击的分析和结果是增加了对使用GPRS网路的安全性的评估,并影响实现移动互联网的部署。为了战胜某些攻击和增强由GPRS提供的安全水平,本文已经提出了具体的安全措施。63 附录B:英文文献MaliciousactionsagainsttheGPRStechnologyChristosXenakisAbstractThispaperpresentsthemaliciousactions(attacks),whichthreatenthegeneralpacketradioservices(GPRS)network,theGPRSmobileusers,andthedatathateitherresideatthenetworkoraretransferredthroughit.Theseattacksmaybeperformedbymaliciousthirdparties,mobileusers,networkoperatorsornetworkoperatorpersonnel,whichexploitthesecurityweaknessesoftheGPRSsecurityarchitecture.Moreover,theattackerstakeadvantageofthelackofadequatesecuritymeasuresthatshouldprotectcertainpartsoftheGPRSarchitecture.ThepossibleattacksagainstGPRStargetstheequipmentofmobileusers,theradioaccessnetwork,theGPRSbackbonenetwork,andtheinterfacesthatconnectthelattertootherGPRSnetworksorthepublicInternet.Theresultsoftheseattacksmightbethecompromiseofend-userssecurity,theusersoverbilling,thedisclosureoralterationofcriticalinformation,theservicesunavailability,thenetworkbreakdown,etc.TheanalyzedattacksandtheirconsequencesincreasetherisksassociatedwiththeusageofGPRS,and,thus,influenceitsdeploymentthatrealizestheconceptmobileInternet.InordertodefeatcertainattacksandenhancethelevelofsecurityprovidedbyGPRS,specificsecuritymeasuresareproposed.1IntroductionThegeneralpacketradioservices(GPRS)[1]isaservicethatprovidespacketradioaccessforglobalsystemformobilecommunications(GSM)users.Itenablestheprovisionofavarietyofpacket-orientedmultimediaapplicationsandservicestomobileusers,realizingtheconceptmobileInternet.ForthesuccessfulimplementationoftheseapplicationsandservicesoverGPRS,securityisconsideredasavitalfactor.Inordertomeetsecurityobjectives,GPRSusesaspecificsecurityarchitecture,whichaimsatprotectingthenetworkagainstunauthorizedaccessandtheprivacyofusers.ThisarchitectureisbasedonthesecuritymeasuresappliedtoGSM[2,3],sincetheGPRSsystemisbuiltontheGSMinfrastructure.However,GPRSismoreexposedtointruderscomparedtoGSMbecauseitusestheIPtechnology,whichpresentsknownvulnerabilities.SimilarlytoIPnetworks,intruderstotheGPRSsystemmayattempttobreachtheconfidentiality,integrity,availabilityorotherwiseattempttoabusethesysteminordertocompromiseservices,defraudusersoranypartofit.Upontheirnature,theattacksagainsttheGPRSsystemcanbecategorizedintopassiveandactiveattacks.Apassiveattackhappenswhenanattackerunintrusivelytapsonacommunication63 channelbetweentwonodeswithoutdisturbingthecommunication.Theprimarypurposeofthisattackistodiscoversomevaluableinformationaboutthedataorcontrolmessagessentoverthecommunicationchannel.Ontheotherhand,anactiveattacktypicallyinvolvesanattacker’sdirectinterventionwiththedataand/orcontrolinformationsent.Anactiveattackercanlisten,modify,andinjectdataintothecommunicationchannel.Activeattackscanbefurtherclassifiedintotwogroups:externalandinternalattacks.Externalattacksarecausedbynodes/personsthatdonotbelongtoGPRS,whileinternalattacksareusuallycausedbycompromisednodes/personsthatbelongtoit.Hence,internalattacksaremoredifficulttobedetectedandtheprotectionagainstthemrequiresmoresophisticatedsolutions.Thispaperpresentsthemaliciousactions(attacks),whichthreatentheGPRSnetwork,theGPRSmobileusers,andthedatathateitherresideatthenetworkoraretransferredthroughit.Theseattacksmaybeperformedbymaliciousthirdparties,mobileusers,networkoperatorsornetworkoperatorpersonnel,whichexploitthesecurityweaknessesoftheGPRSsecurityarchitecture.Moreover,theattackerstakeadvantageofthelackofadequatesecuritymeasuresthatshouldprotectcertainpartsoftheGPRSarchitecture.ThepossibleattacksagainstGPRStargetstheequipmentofmobileusers,theradioaccessnetwork,theGPRSbackbonenetwork,andtheinterfacesthatconnectthelattertootherGPRSnetworksorthepublicInternet.Theresultsoftheseattacksmightbethecompromiseofend-userssecurity,theusersoverbilling,thedisclosureoralterationofcriticalinformation,theservicesunavailability,thenetworkbreakdown,etc.TheanalyzedattacksandtheirconsequencesincreasetherisksassociatedwiththeusageofGPRS,and,thus,influenceitsdeploymentthatrealizestheconceptmobileInternet.InordertodefeatcertainattacksandenhancethelevelofsecurityprovidedbyGPRS,specificsecuritymeasuresareproposed.Therestofthisarticleisorganizedasfollows.Section2brieflydescribestheGPRSnetworkarchitecture,andSect.3presentsthesecurityarchitectureappliedtoit.Section4analyzestheattacksthatthreatentheGPRSmobileusers,theGPRSnetworkandthedatathateitherresideatthenetworkoraretransferredthroughit.Section5proposessomesecuritymeasuresthatdefeatcertainattacksandenhancethelevelofsecurityprovidedbyGPRS.Finally,Sect.6containstheconclusions.2GPRSnetworkThenetworkarchitectureofGPRS[1]ispresentedinFig.1.AGPRSuserownsamobilestation(MS)thatprovidesaccesstothewirelessnetwork.Fromthenetworkside,thebasestationsubsystem(BSS)isanetworkpartthatisresponsibleforthecontroloftheradiopath.63 BSSconsistsoftwotypesofnodes:thebasestationcontroller(BSC)andthebasetransceiverstation(BTS).BTSisresponsiblefortheradiocoverageofagivengeographicalarea,whileBSCmaintainsradioconnectionstowardsMSsandterrestrialconnectionstowardsthefixedpartofthenetwork(corenetwork).TheGPRScorenetwork(CN)usesthenetworkelementsofGSMsuchasthehome-locationregister(HLR),thevisitorlocationregister(VLR),theauthenticationcentre(AuC)andtheequipmentidentityregister(EIR).HLRisadatabaseusedforthemanagementofpermanentdataofmobileusers.VLRisadatabaseoftheserviceareavisitedbyanMSandcontainsalltherelatedinformationrequiredfortheMSservicehandling.AuCmaintainssecurityinformationrelatedtosubscribers’identity,whileEIRmaintainsinformationrelatedtomobileequipmentsidentity.Finally,themobileserviceswitchingcentre(MSC)isanetworkelementresponsibleforcircuit-switchedservices(e.g.,voicecall)[1].63 Aspresentedpreviously,GPRSreusesthemajorityoftheGSMnetworkinfrastructure.However,inordertobuildapacket-orientedmobilenetworksomenewnetworkelements(nodes)arerequired,whichhandlepacket-basedtraffic.Thenewclassofnodes,calledGPRSsupportnodes(GSN),isresponsibleforthedeliveryandroutingofdatapacketsbetweenanMSandanexternalpacketdatanetwork(PDN).Morespecifically,aservingGSN(SGSN)isresponsibleforthedeliveryofdatapacketsfrom,andto,aMSwithinitsservicearea.Itstasksincludepacketroutingandtransfer,mobilitymanagement,logicallinkmanagement,andauthenticationandchargingfunctions.AgatewayGSN(GGSN)actsasaninterfacebetweentheGPRSbackboneandanexternalPDN.ItconvertstheGPRSpacketscomingfromtheSGSNintotheappropriatepacketdataprotocol(PDP)format(e.g.,IP),andforwardsthemtothecorrespondingPDN.SimilaristhefunctionalityofGGSNintheoppositedirection.ThecommunicationbetweenGSNs(i.e.,SGSNandGGSN)isbasedonIPtunnelsthroughtheuseoftheGPRStunnelingprotocol(GTP)[4].3GSMsecurityarchitectureInordertomeetsecurityobjectives,GPRSemploysasetofsecuritymechanismsthatconstitutetheGPRSsecurityarchitecture.MostofthesemechanismshavebeenoriginallydesignedforGSM,buttheyhavebeenmodifiedtoadapttothepacket-orientedtrafficnatureandtheGPRSnetworkcomponents.TheGPRSsecurityarchitecture,mainly,aimsattwogoals:(a)toprotectthenetworkagainstunauthorizedaccess,and(b)toprotecttheprivacyofusers.Itincludesthefollowingcomponents[5]:lSubscriberidentitymodule(SIM)lSubscriberidentityconfidentiality.lSubscriberidentityauthentication.lUserdataandsignalingconfidentialitybetweenthelMSandtheSGSN.lGPRSbackbonesecurity.3.1Subscriberidentitymodule:-SIMThesubscriptionofamobileusertoanetworkispersonalizedthroughtheuseofasmartcardnamedsubscriberidentitymodule(SIM)[6].EachSIM-cardisuniqueandrelatedtoauser.Ithasamicrocomputerwithaprocessor,ROM,persistentEPROMmemory,volatileRAM,andanI/Ointerface.Itssoftwareconsistsofanoperatingsystem,filesystem,andapplicationprograms(e.g.,SIMapplicationtoolkit).TheSIM-cardisresponsiblefortheauthenticationoftheuserbypromptingforacode(personalidentitynumber–PIN),theidentificationoftheuser63 toanetworkthroughkeys,andtheprotectionofuserdatathroughcryptography.Toachievethesefunctionsitcontainsasetofsecurityobjectsincluding:lA(four-digit)PINcode,whichisusedtolockthecardpreventingmisuse.lAuniquepermanentidentityofthemobileuser,namedinternationalmobilesubscriberidentity(IMSI)[7].lAsecretkey,Ki,(128bit)thatisusedforauthentication.lAnauthenticationalgorithm(A3)andanalgorithmthatgeneratesencryptionkeys(A8)[5].SincetheSIM-cardofaGSM/GPRSsubscribercontainssecuritycriticalinformation,itshouldbemanufactured,provisioned,distributed,andmanagedintrustedenvironments.3.2SubscriberidentityconfidentialitySubscriberidentityconfidentialitydealswiththeprivacyoftheIMSIandthelocationofamobileuser.Itincludesmechanismsfortheprotectionofthepermanentidentity(IMSI)whenitistransferredinsignalingmessages,aswellasmeasuresthatprecludethepossibilitytoderiveitindirectlyfromlisteningtospecificinformation,suchasaddresses,attheradiopath.Subscriberidentityconfidentialityismainlyachievedbyusingatemporarymobilesubscriberidentity(TMSI)[5,7],whichidentifiesthemobileuserinboththewirelessandwirednetworksegments.TheTMSIhasalocalsignificance,and,thus,itmustbeaccompaniedbytheroutingareaidentity(RAI)inordertoavoidconfusions.TheMSandtheservingVLRandSGSNonlyknowtherelationbetweentheactiveTMSIandtheIMSI.TheallocationofanewTMSIcorrespondsimplicitlyfortheMStothede-allocationofthepreviousone.WhenanewTMSIisallocatedtotheMS,itistransmittedtoitinacipheredmode.TheMSstoresthecurrentTMSIandtheassociatedRAIinanon-volatilememory,sothatthesedataarenotlostwhentheMSisswitchedoff.FurthertotheTMSI,atemporarylogicallinkidentity(TLLI)[7]identifiesalsoaGPRSuserontheradiointerfaceofaroutingarea.SincetheTLLIhasalocalsignificance,whenitisexchangedbetweentheMSandtheSGSN,itshouldbeaccompaniedbytheRAI.TheTLLIiseitherderivedfromtheTMSIallocatedbytheSGSNorbuiltbytheMSrandomly,and,thus,providesidentityconfidentiality.TherelationshipbetweentheTLLIandtheIMSIisonlyknownintheMSandintheSGSN.3.3SubscriberidentityauthenticationAmobileuserthatattemptstoaccessthenetworkmustfirstprovehisidentitytoit.Userauthentication[1]protectsagainstfraudulentuseandensurescorrectbilling.GPRSusesthe63 authenticationprocedurealreadydefinedinGSMwiththesamealgorithmsforauthenticationandgenerationofencryptionkey,andthesamesecretkey,Ki,(seeFig.2).However,fromthenetworkside,thewholeprocedureisexecutedbytheSGSN(insteadofthebasestation)andemploysadifferentrandomnumber(GPRS–RAND),and,thus,itproducesadifferentsignedresponse(GPRS–SRES)andencryptionkey(GPRS-Kc)thantheGSMvoicecounterpart.Toachieveauthenticationofamobileuser,theSGSNmustpossesssecurityrelatedinformationforthespecificuser.ThisinformationisobtainedbyrequestingtheHLR/AuCofthehomenetworkthatthemobileuserissubscribed.Itincludesasetofauthenticationvectors,eachofwhichincludesarandomchallenge(GPRS–RAND),andtherelatedsignedresponse(GPRS–SRES)andencryptionkey(GPRS-Kc)forthespecificsubscriber.TheauthenticationvectorproducedbythehomeHLR/AuCusingthesecretkeyKiofthemobilesubscriber.DuringauthenticationtheSGSNoftheservingnetworksendstherandomchallenge(GPRS–RAND)ofachosenauthenticationvectortotheMS.ThelatterencryptstheGPRS–RANDbyusingtheA3hashalgorithm,whichisimplementedintheSIM-card,andthesecretkey,Ki.Thefirst32bitsoftheA3outputareusedasasignedresponse(GPRS–SRES)tothechallenge(GPRS–RAND)andaresentbacktothenetwork.TheSGSNchecksiftheMShasthecorrectkey,Ki,and,then,themobilesubscriberisrecognizedasanauthorizeduser.Otherwise,theservingnetwork(SN)rejectsthesubscriber’saccesstothesystem.Theremaining64bitsoftheA3outputtogetherwiththesecretkey,Ki,areusedasinputtotheA8algorithmthatproducestheGPRSencryptionkey(GPRS-Kc).A3andA8algorithmsarenotincludedinthespecificationsofGSM/GPRS,butthelatterdescribeonlytheirexternalinterfaces.Fortheimplementationofthesealgorithms,manynetworkoperatorsuseanexamplealgorithm,calledCOMP128,whichisincludedintheGSM63 memorandumofunderstanding.COMP128isakeyedhashfunction[13].Ittakesa16byte(128bits)key,K,and16byte(128bits)ofdata,R,tooutputa12byte(96bits)hash.3.4DataandsignalingprotectionUserdataandsignalingprotectionovertheGPRSradioaccessnetworkisbasedontheGPRScipheringalgorithm(GPRS–A5)[8],whichisalsoreferredtoasGPRSencryptionalgorithm(GEA)andissimilartotheGSMA5.Currently,therearethreeversionsofthisalgorithm:GEA1,GEA2andGEA3(thatisactuallyA5/3),whicharenotpubliclyknown,and,thus,itisdifficulttoperformattacksonthem.TheMSdevice(nottheSIMcard)performsGEAusingtheencryptionkey(GPRSKc),sinceitisastrongalgorithmthatrequiresrelativelyhighprocessingcapabilities.Fromthenetworkside,theSGSNperformstheciphering/decipheringfunctionalityprotectingsignalinganduserdataovertheUm,Abis,andGbinterfaces(seeFig.1).DuringauthenticationtheMSindicateswhichversion(s)oftheGEAsupports,andthenetwork(SGSN)decidesonamutuallyacceptableversionthatwillbeused.Ifthereisnotacommonlyacceptedalgorithm,thenetwork(SGSN)maydecidetoreleasetheconnection.BoththeMSandtheSGSNmustcooperateinordertoinitiatethecipheringovertheradioaccessnetwork.Morespecifically,theSGSNindicateswhethercipheringshouldbeusedornot(whichisalsoapossibleoption)intheAuthenticationRequestmessage,andtheMSstartscipheringaftersendingtheAuthenticationResponsemessage(seeFig.2).GEAisasymmetricstreamcipheralgorithm(seeFig.4)thatusesthreeinputparameters(GPRS-Kc,INPUTandDIRECTION)andproducesanOUTPUTstring,whichvariesbetween5and1,600bytes.GPRSKc(64bits)istheencryptionkeygeneratedbytheGPRSauthenticationprocedureandisnevertransmittedovertheradiointerface.Theinput(INPUT)parameter(32bits)isusedasanadditionalinputsothateachframeiscipheredwithadifferentoutputstring.Thisparameteriscalculatedfromthelogicallinkcontrol(LLC)framenumber,aframecounter,andavaluesuppliedbytheSGSNcalledIOV(inputoffsetvalue).IOVissetupduringthenegotiationofLLCandlayer3parameters.Finally,thedirectionbit(DIRECTION)specifieswhethertheoutputstringisusedforupstreamordownstreamcommunication.Aftertheinitiationofciphering,thesender(MSorSGSN)processes(bit-wiseXOR)theOUTPUTstringwiththepayload(PLAINTEXT)toproducetheCIPHEREDTEXT,whichissentovertheradiointerface.Inthereceivingentity(SGSNorMS),theOUTPUTstringisbit-wiseXORedwiththeCIPHEREDTEXT,andtheoriginalPLAINTEXTisobtained.WhentheMSchangesSGSN,theencryptionparameters(e.g.,GPRS-Kc,INPUT)aretransferredfromthe63 oldSGSNtothenewSGSN,throughthe(inter)routingareaupdateprocedureinordertoguaranteeservicecontinuity.3.5GPRSbackbonesecurityTheGPRSbackbonenetworkincludesthefixednetworkelementsandtheirphysicalconnectionsthatconveyuserdataandsignalinginformation.SignalingexchangeinGPRSismainlybasedontheSignalingSystem7(SS7)technology[9],whichdoesnotsupportanysecuritymeasurefortheGPRSdeployment.Similarly,theGTPprotocolthatisemployedforcommunicationbetweenGSNsdoesnotsupportsecurity.Thus,userdataandsignalinginformationintheGPRSbackbonenetworkareconveyedinclear-textexposingthemtovarioussecuritythreats.Inaddition,inter-networkcommunications(betweendifferentoperators)arebasedonthepublicInternet,whichenablesIPspoofingtoanymaliciousthirdpartywhogetsaccesstoit.Inthesequel,thesecuritymeasuresappliedtotheGPRSbackbonenetworkarepresented.TheresponsibilityforsecurityprotectionoftheGPRSbackboneaswellasinter-networkcommunicationsbelongstomobileoperators.AnoperatorutilizesprivateIPaddressingandnetworkaddresstranslation(NAT)[10]torestrictunauthorizedaccesstotheGPRSbackbone.HemayalsoapplyfirewallsatthebordersoftheGPRSbackbonenetworkinordertoprotectitfromunauthorizedpenetrations.Firewallsprotectthenetworkbyenforcingsecuritypolicies(e.g.,usertrafficaddressedtoanetworkelementisdiscard).UsingsecuritypoliciestheGPRSoperatormayensurethatonlytrafficinitiatedfromtheMSandnotfromtheInternetshouldpassthroughafirewall.Thisisdonefortworeasons:(a)torestricttrafficinordertoprotecttheMSandthenetworkelementsfromexternalattacks;and(b)toprotecttheMSfromreceivingun-requestedtraffic.Un-requestedtrafficmaybeunwantedformobilesubscriberssincetheypayforthetrafficreceivedaswell.TheGPRSoperatormayalsowanttodisallowsomebandwidthdemandingprotocolspreventingagroupofsubscriberstoconsumesomuchbandwidththat63 othersubscribersarenoticeablyaffected.Inaddition,applicationlevelfirewallspreventdirectaccessthroughtheuseofproxiesforservices,whichanalyzeapplicationcommands,performauthenticationandkeeplogs.Sincefirewallsdonotprovideprivacyandconfidentiality,thevirtualprivatenetwork(VPN)technology[11]hastocomplementthemtoprotectdataintransit.AVPNisusedfortheauthenticationandtheauthorizationofuseraccesstocorporateresources,theestablishmentofsecuretunnelsbetweenthecommunicatingparties,andtheencapsulationandprotectionofthedatatransmittedbythenetwork.IncurrentGPRSimplementations,pre-configured,staticVPNscanbeemployedtoprotectdatatransferbetweenGPRSnetworkelements(e.g.,anSGSNandaGGSNthatbelongtothesamebackbone),betweendifferentGPRSbackbonenetworksthatbelongtodifferentmobileoperators,orbetweenaGPRSbackboneandaremotecorporateprivatenetwork.Thebordergateway,whichresidesattheborderoftheGPRSbackbone,isanetworkelementthatprovidesfirewallcapabilitiesandalsomaintainsstatic,pre-configuredVPNstospecificpeers.4AttacksonGPRSsecurityAlthoughGPRSsupportsasetofsecuritymeasuresthatattemptsprotectsit,thesemeasurespresentsomeessentialsecurityweaknessesandtheydonotadequatelyprotectcertainpartsoftheGPRSarchitecture.ThesefactsmayleadtotherealizationofattacksthatthreatentheGPRSmobileusers,theGPRSnetworkandthedatathateitherresideatthenetworkoraretransferredthroughit.BasedonthearchitectureofGPRSandtheemployedsecuritymeasures,therearefivecriticalareaswheretheGPRSsecurityisexposedandsecurityattacksmaybecarriedout[12](seeFig.5):lThemobilestationandtheSIM-card(I).lTheinterfacebetweentheMSandtheSGSN(II).lTheGPRSbackbonenetwork(III).lThepacketnetworkthatconnectsdifferentoperators(IV).lThepublicInternet(V).63 5SecuritymeasuresTheanalyzedattacksagainsttheGPRSnetworkincreasetherisksassociatedwiththeusageofsuchnetworksinfluencingtheirdeployment,whichrealizesthemobileInternet.Inordertodefeatsomeoftheserisks,asetofsecurityimprovementstotheexistingGPRSsecurityarchitecturemaybeincorporated.Additionally,somecomplementarysecuritymeasures,whichhavebeenoriginallydesignedforfixednetworkandaimatenhancingthelevelofsecuritythatGPRSsupportsmaybeapplied.Inthefollowing,thespecificsecurityimprovementsandtheapplicationofthecomplementarysecuritymeasuresarebrieflypresentedandanalyzed.5.1SIM-cardThemajorityoftheattacksthatarerelatedtoaMSandtheSIM-cardofamobileuserhastodowiththevulnerabilitiesofCOMP128.Toaddressthese,theoldversionofCOMP128(currentlynamedasCOMP128-1)isreplacedbytwonewerversions,COMP128-2andCOMP128-3,whichdefeattheknownweaknesses.ThereisanevennewerversionCOMP128-4,whichisbasedonthe3GPPalgorithmMILENAGEthatusesAdvancedEncryptionStandard(AES).Inaddition,itismentionedtotheGPRSoperatorsthattheCOMP128algorithmisonlyanexamplealgorithm,andthateveryoperatorshoulduseitsownalgorithminordertosupportanacceptablelevelofsecurity.Thepartitioningattacks,whichalsotargetCOMP128implementationsonSIM-cards,canbedefeatedtoo.IBMResearchhasdevelopedatechniquetoprotecttablelookupoperationsfromsidechannelattacks[18].Inthistechnique,atablelookupoperationconsultsatableincomputermemorytoretrieveavaluestoredinaparticularlocation.Thus,itreplacesasingletablelookupoperation,whichleaksinformationontheretrievedvalueinthesidechannel,withasequenceoftablelookupsatcompletelyrandomlocations,whichleaksnoinformation.5.2UserdataUserdataconveyedovertheGPRSbackboneandthepublicInternetmostlikelyremainunprotected(exceptforthecasesthattheoperatorsupportspre-establishedVPNsoverthepublicInternet),and,thus,areexposedtovariousthreats.ThelevelofprotectionthatGPRSprovidestothedataexchangedcanbeimprovedbyemployingtwosecuritytechnologies:(a)theapplicationofend-usersecurity,and(b)theestablishmentofmobileIPsec-basedVPN,dynamically.End-usersecurityisappliedbyusingapplicationlayersolutionssuchasthesecuresocketslayerprotocol(SSL)[25].SSListhedefaultInternetsecurityprotocolthatprovidespoint-to-pointsecuritybyestablishingasecurechannelontopofTCP.Itsupportsserverauthenticationusingcertificates,dataconfidentialityandmessageintegrity.Ontheotherhand,IPsecprotectstraffic63 onaperconnectionbasis,and,thus,isindependentfromtheapplicationsthatrunaboveit.AnIPsec-basedVPNisusedfortheauthenticationandtheauthorizationofuseraccesstocorporateresources,theestablishmentofsecuretunnelsbetweenthecommunicatingpartiesandtheencapsulationandprotectionofthedatatransmittedbythenetwork.OndemandVPNsthataretailoredtospecificsecurityneedsareespeciallyusefulforGPRSusers,whichrequireany-to-anyconnectivityinanadhocfashion.RegardingtothedeploymentofmobileVPNsovertheGPRSinfrastructure,threealternativesecurityschemeshavebeenproposed:(a)theend-to-end[26],(b)thenetwork-wide[28],and(c)theborder-based[27].TheseschemesmainlydifferinthepositionwherethesecurityfunctionalityisplacedwithintheGPRSnetworkarchitecture(MS,SGSN,andGGSN),andwhetherdataintransitareeverinclear-textoravailabletobetappedbyoutsiders.6ConclusionsThispaperhaspresentedthesecurityattacks,whichthreatentheGPRSmobileusers,theGPRSnetwork,andthedatathateitherresideatthenetworkoraretransferredthroughit.ThepossibleattacksagainstGPRStargetstheequipmentofmobileusers,theradioaccessnetwork,theGPRSbackbonenetwork,andtheinterfacesthatconnectthelattertootherGPRSnetworksorthepublicInternet.Morespecifically,theMSmaydealwithsomeofthesamesecuritythreatsthatanormalcomputer,whichisconnectedtoanetwork(e.g.,theInternet),encounters.TheresultsoftheseattacksmaybethemonitoringoftheMSusage,thedownloadingofunwantedfiles,therealizationofunwantedsessioncalls,etc.However,notonlytheMSbutalsotheSIM-cardcanbetargeted,maliciously,resultinginthedisclosureofthesecretkey,Ki.PossessingthiskeyanadversarycaninterceptdataconveyedbetweentheMSandtheSGSN,orhecanproduceacloneoftheoriginalSIMcard,and,thus,engageintransactions,whicharebilledtotheoriginalsubscriber.TheinterfacebetweentheMSandtheSGSNisamongstthemostexposedelementsoftheGPRSarchitecture.ExploitingsomeweaknessesthattheGPRSsecurityarchitecturepresents,anadversarymayperformdenialofserviceandman-in-the-middleattacks,whichmayresultinthesystembreakdownandthecompromiseofend-userssecurity.ThesameresultsderivefromattacksthattargettheGPRSbackbonenetwork.TheseattackstargetbothIPandSS7technologiesthatareemployedtoconveyuserdataandsignalinginformationintheGPRSbackbonenetwork.However,thenetworkofaGPRSoperatorisnotonlythreatenedbyattacksthatoriginatefrominsideofit,butalsofromoutside.Theresultsofexternalattacksmainly63 concernwiththeavailabilityofresourcesandservices,theauthenticationandauthorizationofusersandactions,andtheintegrityandconfidentialityofthedatatransferred.TheanalyzedattacksandtheirconsequencesincreasetherisksassociatedwiththeusageofGPRS,and,thus,influenceitsdeploymentthatrealizestheconceptmobileInternet.InordertodefeatcertainattacksandenhancethelevelofsecurityprovidedbyGPRS,specificsecuritymeasureshavebeenproposed.63 附录C:电路图和源码本文的整体电路图63 终端机部分程序:/*******************************AT***************************************/while(sim900a_send_cmd("AT","OK",100));USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);//关USART1接收中断for(i=0;i",100));//usart1_sent_string("ABC123abcd");USART_SendData(USART1,0x1A);USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);//关USART1接收中断for(i=0;i