(精密仪器及机械专业论文)GPS多天线控制系统数据传输研究与实现.pdf_第1页
(精密仪器及机械专业论文)GPS多天线控制系统数据传输研究与实现.pdf_第2页
(精密仪器及机械专业论文)GPS多天线控制系统数据传输研究与实现.pdf_第3页
(精密仪器及机械专业论文)GPS多天线控制系统数据传输研究与实现.pdf_第4页
(精密仪器及机械专业论文)GPS多天线控制系统数据传输研究与实现.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

捅要f目前,g p s ( g l o b a lp o s i t i o ns y s t e m ,全球定位系统) 正目益广泛地应用于测绘、导航、通讯和其它许多领域。在大地位移实时监测方面,g p s 多天线数据控制系统( g m s ) 改变了一台g p s 接收机与一个g p s 天线相连的传统做法,采用1 机多天线的方法实现g p s 数据的采集。为了提高定位精度及对监控区域统一管理,需要通过通信软件将采集的g p s 数据远程传输到控制中心进行处理。在此背景下,论文研究的是如何通过自编程的方法,实现g m s 系统远程数据通信。论文提出了两种实现g p s 数据远程传输的方法:通过模拟电话线路和网络进行g p s 数据的异地传输。在m o d e m 通信编程方面,根据g m s 程序不同的运行环境,论文详细讨论了在m s d o s 环境下,通过软件的方法实现对m o d e m 控制和采用中断的方式进行串行i o :在w i n d o w s 9 8 环境下,通过微软公司的t a p i 技术实现对m o d e m 控制和采用重叠i o的方法进行串行i o 。为确保数据远程传输的准确性,论文还对三种文件传输协议x m o d e m 、y m o d e m 和z o m d e m 进行了讨论及代码实现。在网络通信方面,论文对当前广泛使用的网络通信协议t c p i p 进行了讨论。在w i n d o w s 9 8 环境下,采用微软的w i n s o c ka p i 和m f cw i n s o c k 类进行网络通信编程,实现了通过i n t e r n e t 进行g p s 数据传输。测试结果表明,采用自编程的方法进行网络和m o d e m 通信是可行的、有效的,且便于软件功能扩展,提高g m s 系统的附加值。关键词:g p s 、m o d e m 、中断、文件传输协议、t a p i 、多线程、重叠i o 、t c p i p 、m f c。7o 。|,7tw i n s o c ka b s t r a c ta tp r e s e n t ,p e o p l ea r ei n c r e a s i n g l ya p p l y i n gg p st om a p p i n g 、n a v i g a t i o n 、c o m m u n i c a t i o n sa n dm a n yo t h e rf i e l d s i nt h ee a r t hd i s p l a c e m e n tr e s p e c to fr e a l t i m es u p e r v i s o r yc o n t r o l ,t h ec o n t r o ls y s t e mo fg p sm u l t i a n t e n n a ew i l lc h a n g et h et r a d i t i o n a lm e t h o do fag p sr e c e i v e rc o n n e c t i n gt oag p sa n t e n n a ,a n di m p l e m e n td a t ac o l l e c t i o nb yt h em e t h o do fag p sr e c e i v e ra n dm u lti a n t e n n a e t oi m p r o v eo r i e n t a t i o np r e c i s i o na n dt ob ec o n v e n i e n tt om a n a g e ,g p sd a t an e e db et r a n s f e r r e dt oc o n t r o lc e n t e rb yc o m m u n i c a t i o n ss o f t w a r e o nt h eb a c k g r o u n do ft h i st r e n d ,h o wt oi m p l e m e n td a t at r a f f i co fg m sb yp r o g r a m m i n gi sr e s e a r c h e di nt h i sp a p e r t w om e t h o d sa r ep r o p o s e d ,w h i c ha r el i n ea n dn e t w o r k i nt h er e s p e c to fm o d e mc o m m u n i c a t i o n sp r o g r a m m i n g ,a c c o r d i n gt od if f e r e n tr u ne n v i r o n m e n t ,c o n t r o l l i n gm o d e mb ys o f t w a r ea n di m p l e m e n t i n gs e r i a li 0b yi n t e r r u p ti nm s d o s ,c o n t r o l l i n gm o d e mb ym i c r o s o f t 。st a p ia n di m p l e m e n t i n gs e r i a li ob yo v e r i a p p e d1 oi nw i n d o w s 9 8a r ep r o p o s e d f o rt h es a k eo fa c c u r a c y ,t h r e ef il e st r a n s f e rp r o t o c o la r ep r o p o s e da n di m p l e m e n t e d i nt h er e s p e c to fn e t w o r kc o m m u n i c a t i o n sp r o g r a m m i n g ,t c p i pn e t w o r kp r o t o c o li sd i s c u s s e d i nw i n d o w s 9 8 ,w ei m p l e m e n tn e t w o r kc o m m u n i c a t i o n sp r o g r a m m i n gt h r o u g hm i c r o s o f tsw i n s o c ka p ia n dm f cw i n s o c kc l a s s t h et e s tr e s u l t ss h o wt h a tt h em e t h o d so fs e l f p r o g r a m m i n ga r ee f f e c t i r e ,c o n v e n i e n tt oe x p a n dt h ef u n c t i o n so fs y s t e ma n di n c r e a s et h ee x t r av a l u eo fg m ss y s t e m k e yw o r d s :g p s 、m o d e m 、i n t e r r u p t 、f i l e st r a n s f e rp r o t o c o l 、o v e r l a p p e di o 、m u l t i p l et h r e a d s 、t c p i p 、m f cw i n s o c k壹壅堕窒堕丕盔堂亟主堂焦丝銮第一章绪论1 1 背景我国是世界上地质灾害最严重的国家之一,日趋严重的地质灾害,直接危害着人民的生命财产,直接影响我国社会经济的可持续发展。据有关资料报告,我国目前有4 0 0 个地质灾害重灾县( 市) ,占全国县( 市) 的2 0 。每年地质灾害( 不包括地震)造成的直接经济损失占各种自然灾害造成损失的2 0 - 2 5 ,年平均死亡近千人,伤近万人,直接经济损失近百亿元。1 9 9 8 年我国发生滑坡、崩塌、泥石流等突发性地质灾害1 8 万起,其中重大者4 4 7 起,造成i 0 0 0 0 余人受伤,1 i 5 7 人死亡,5 0 多万间房屋被毁,直接经济损失2 7 0 亿元。1 9 9 9 年我国地质灾害相对较轻,仍造成重大损失,据六省( 市) 不完全统计,发生地质灾害1 3 9 0 起,5 9 6 人死亡,直接经济损失1 2 1亿元。长江三峡是我国地质灾害多发区和重灾区。例如,1 9 9 9 年8 月巫山老县城城墙内的登龙街滑坡,造成3 6 0 0 人无家可归。如何对这些地质灾害严重地区进行监测,及早预报可能的崩塌滑坡,具有重要的经济效益和社会效益。目前,国内外崩塌滑坡监测技术方法已发展到一个较高水平。由过去的人工用度尺地表量测等简易监测,发展到仪器仪表监测,现正逐步实现自动化、高精度的遥测系统。g p s ( g l o b a lp o s i t l o n i n gs y s t e m ) 即全球定位系统,是美国国防部于1 9 9 3 年底建成的军民两用卫星导航定位系统。近年来,g p s 技术在我国测绘领域迅速推广,广泛用于大地测量、精密工程测量、地壳和建筑物形变监测、石油物探、资源调查、城市测绘,并己开始用于交通运输、军事、海洋、航道、航测遥感、通讯、气象等领域。g p s 在测绘行业得到广泛应用是因为其具有以下特点:( 1 ) 测量精度高。g p s 观测的精度明显高于一般常规测量方法,g p s 基线向量的相对精度一般在1 0 1 0 1 之间。( 2 ) 选点灵活、费用低。g p s 测量不要求测站之间互相通视,只需测站上空开阔即可,因此可节省大量的造标费用。由于无需点间通视,点位位置可根据需要,可稀可密,使选点工作甚为灵活,也可省去经典大地网中的传算点、过渡点的测量工作。正是g p s 测量不要求测站间相互通视,作业成本低,大大降低了布网费用。( 3 ) 可提供三维坐标。经典大地测量将平面与高程采用不同方法分别施钡j 。g p s可同时精确测定测站点的三维坐标。目前g p s 水准可满足四等水准测量的精度要求。( 4 ) 全天候作业。在任何时间、任何气候条件下均可以进行g p s 观测,不受阴天黑夜、起雾刮风、下雨下雪等气候的影响,极大地方便了测量作业。( 5 ) 观测时间短。采用g p s 布设控制网时每个测站上的观测时间一般在3 0 4 0 m i n左右,采用快速静态定位方法,观测时间更短。例如使用t i m b l e 4 8 0 0 g p s 接收机的g p s 多天线控制系统数据传输研究与实现r t k 法可在5 s 以内求得测点坐标。( 6 ) 操作简便,自动化程度高。随着g p s 接收机不断改进,自动化程度越来越高,有的已达“傻瓜化”的程度;接收机的体积越来越小,重量越来越轻,极大地减轻测量工作者的工作紧张程度和劳动强度。使野外工作变得轻松愉快。观测人员只需将天线对中、整平,量取天线高,打开电源即可进行自动观测,利用数据处理软件对数据进行处理即能求得测点三维坐标。g p s 在崩塌滑坡监测方面,主要进行以下两个方面的监测:绝对位移监测绝对位移监测是基本的常规监测方法,用以监测崩滑体测点的三维坐标,从而得出测点的三维变形位移量、位移方位与变形位移速率,是崩滑体监测的主要内容和重要内容。相对位移监测相对位移测是设点量测崩滑体重点变形部位点与点之间相对位移变化( 张开、闭合、下沉、抬升、错动等) 的一种常用的变形监测方法。主要用于对裂缝、崩滑带、采空区顶底板等部位的监测,是崩滑监测的主要内容和重要内容之一。到目前为止,我国应用g p 8 测量大坝变形并实现自动化监控管理的已有好几个实例。其中湖北清江隔河岩水电站是最为成功的例予之一。该系统主要由5 个坝顶测点和左右岸两个基准点组成,1 9 9 8 年3 月正式投入试运行。系统中采用了7 台g p s 接收机3 6 5 天2 4 小时连续观测。在大地位移实时监测方面,人们希望能够利用g p s 静态定位精度高的特点,进行大地位移实时监测,通过处理远程传输过来的g p s 数据,及时地将危险信号通知有关部门,从而避免造成人民生命和财产的损失:希望能够将某个可能的危险区域的g p s数据通过传输线路汇总起来,以便于集中处理,实现对危险区域的集中监控。般的数据采集监控系统主要由三个部分组成:前端数据采集设备、数据传输线路和用户终端设备,如图卜1 所示。图1 - 1 数据采集监控控制系统组成顾名思义,前端数据采集设备主要负责数据的采集和存储,并能够将数据传输到用户终端设备。用户终端设备对传输过来的数据进行处理,通知用户被监视区域的状态,同时,还要为用户提供一个友好的操作环境。在大地位移实时监测方面,应用g p s 高精度静态定位技术,布设精密监视控制网,可以对局部区域进行监控。根据监控范围,g p s 网的建设需要定数量的g p s 接收机,常用的应用模式是一部g p s 接收机与单一接收机天线相连,构成一个测量定位单元。童室堕窒堕丞盔兰塑型苎箜塑堡茎= _ =近来,针对局部多点测量国外尝试将多部g p s 接收机集成在同一个机箱内以方便观测,但这样整套设备复杂、造价高。g p s 多天线控制系统( g m s ) 正是在这样的背景下发展起来。1 2g p s 多天线控制系统正如有关学者指出的,隔河岩水电站自动化系统缺点之一便是,投资费用较高,总经费超过了6 0 0 万元,除去软件,由于每个变形测点需配备g p s 接收机,单点费用也在2 0 万元以上。如何降低系统费用是一个关键问题。现在的g p s 系统是每个测点均有一台g p s 接收机,也即一个g p s 接收机与单一接收机天线相连,构成一个测量定位单元。自从1 9 9 9 年开始,南京航空航天大学导航研究中心开始对如何降低g p s 成本方面展开研究,设计研究出了国家专利成果g p s 多天线技术,即一台g p s 接收机接多个天线,根据用户的设定,不同的天线在不同的时间内与接收机相连。这样,一台接收机可以对多个监测点进行监测。现在一台接收机最多可以连8 1 6 个天线。已经设计并生产了多套产品,形成了一个系列化的产品,在香港理工大学的滑坡监测项目中得到了很好的应用。通常情况下使用g p s 时,每个测点均有一台g p s 接收机,而采用g p s 多天线技术后,所有测点( 或相近测点) 共用一台接收机,接收机依次通过天线采集数据从而降低系统费用。图卜2 是g p s 多天线示意图,价格高昂的g p s 接收机阵列,变成了g p s 天线阵列,价格大大降低。图i - 2g p s 多天线示意图g p s 多天线控制系统( g p sm u l t i a n t e n n as y s t e m g m s ) ,是一种对多目标点定位监测和数据采集处理的装置。它采用嵌入式p c 1 0 4 工业控制计算机进行现场图1 3 所示。图1 3g p s 多天线数据采集控制系统由于g m s 控制计算机是放在距离监控点很近的现场,所以又简称为现场计算机。主要由嵌入式p c 1 0 4 工业控制计算机、g m s 控制板、g m s 通道开关、g p so e m 板组成。另外,还包括g p s 天线和供电系统等。现场计算机的功能包括以下几个部分:( 1 ) 设定g p s 各天线的接通与否及时间可以根据各个点在监控网中的重要等级,设定各个天线的接通时间。也可以由控制中心进行设定,并将相应的设定文件通过数据m o d e m 或网络等传送给现场计算机进行控制。( 2 1 控制g m s 天线开关根据用户的设定,对各个g p s 天线的接通进行控制。( 3 ) 采集g p s 数据实时采集g p s 接收机的数据,并转换成r i n e x 格式。( 4 ) 数据传输由于形变监测需要进行复杂的计算处理,需要将现场计算机采集到的g p s 数据送回控制中心。根据实际使用情况的不同,可以有多种数据传送方式。常用的串行通讯方式。例如r s 2 3 2 、r s 4 2 2 等标准进行通讯,这几种方式传输距离各有不同,但都有一定的限制:r s 2 3 2 只能传几十米,r s 4 2 2 可以传几公里。这几种方式,成本较低,工作时不存在费用问题,实时性、可靠性可以保证,适用于短距离传输。4堕壅塾窒堕丞杰堂亟主堂焦鲨塞利用电话线进行数据通讯。由于有现成的电话线,只需购置相关的t e l e p h o n em o d 。m 即可,成本较低,传输距离不受限制,实时性可以保证。工作时,由于占用电话网,费用较高。可以考虑使用内部小总机分机方式进行通讯。利用无线方式进行数据通讯。这种方式下,需购置相关的r a d i om o d e m 或g s mm o d e m ,传送距离会因不同的m o d e m 而不同,对于r a d i om o d e m 而言,需要申请通讯频点。在本系统中,采用了g s mm o d e m 方式,采用公众网进行数据的传送。局域网。利用网上的相关资源进行数据通讯。这种方式进行数据通讯时,方便、可靠、通用性强,不需购置什么专用设备。但组网成本较高,如果不是具备现成的网络条件,不太适宜采用。由于数据传送速度快,可靠性高,适合于集中处理方式,例如一天或几天进行一次数据处理的情况。再以清江隔河岩水电站为例,如果采用一台g m s 一8 型的多天线系统,也即一台g p s接收机,外加8 个g p s 天线即可满足需要。如果考虑到距离问题,对一些距离较远的点可以加上天线放大器进行信号的放大。这样,g p s 方面的投资最多也就是4 0 万元,仅此一项就可以节省成本1 0 0 万元。1 3g m s 系统数据传输对于高精度的静态定位,g p s 接收机提供的原始定位信息精度是不够的,需要通过后处理软件对原始g p s 数据进行处理,以实现精确定位。另外,对于一个自动监控系统而言,仅完成控制、数据采集和数据处理是不够的。它还应该包括数据分析和数据库管理。显然,现场计算机由于容量和速度的限制,是不能完成这样的任务。需要通过某种途径将现场计算机采集的原始g p s 数据远程传输到控制中心进行处理分析。在远程数据传输方面,通信方法主要有:电话线和网络通信。计算机通过m o d e m可以在p b x 、p s t n 和i s d n 之间传输数据,亦可在局域网或广域网间传输数据。这些都需要有能够运行在现场计算机和控制中心的通信软件,通过通信软件实现数据传输。可以通过购买相关的通信软件,例如p c a n y w h e r e 就是一个很好的数据传送软件。但这是一个商用软件,对用户是不开放的,无法与实际系统相集成,不能进行系统功能扩展,无法将系统的通信和控制功能集成在一个软件上。本论文针对实际系统的要求,对g m s 数据传输展开了研究,对应于不同的数据传送方法,分别研究并实现了基于串行口的( 如,普通电话) 、基于网络的数据传送。如图卜4 所示。这是本文研究的主要内容。图卜4g m s 系统数据传输g p s 多天线控制系统数据传输研究与实现根据现场计算机( 前端数据采集设备) 的操作系统要求,g m s 系统的通信软件应能够运行在不同操作系统的计算机上。另外,g m s 通信软件也应该具有m o d e m 通信和网络通信功能。因此,g p s 多天线控制系统的通信软件包括了d o s 环境下的m o d e m 通信软件、w i n d o w s 环境下m o d e m 和网络通信软件。作为6 m s 系统的重要部分,g m s 通信软件的主要功能是进行数据传输。它的性能要求如下:准确性要求:g m s 通信软件要求数据传输具有很高的准确性,因为一旦有一个或几个字节的错误,可能会导致一个历元的数据都无法读出。实时性要求:对于事后处理方式,g m s 通信软件的实时性要求不高;而对于实时处理方式,要求将g p s 数据实时传到控制中心,这时需要具备较高的实时性。人机交互友好性:用户界面友好,便于用户操作使用。可靠性:程序必须具有很高的可靠性。根据应用情况的不同,现场计算机可能会放在很遥远的地方,例如放在山区里、大坝上,不论阴天、黑夜、起雾刮风、下雨下雪等气候天2 4 小时运行,而且处于无人值守状态,如果系统一旦出了故障,就必须去现场进行排除。为了提高系统的可靠性,必须采用模块化、结构化设计。1 4g p s 多天线控制系统的市场前景g p s 多天线控制系统具有成本低、定位精度高、整个监测系统的重量和体积小等的特点。可望应用于城市和矿区油田地面沉降监测、大坝变形监测、高层建筑变形监测、库区形变观测、山体滑坡、桥梁监测、地震网监测等方面。具有广阔的市场前景。1 5 论文结构全文共分七章。第一章介绍了论文的背景、g p s 多天线数据控制系统( g m s ) 和g m s 通信软件综合要求。第二章介绍了g p s 多天线控制系统通信软件的总体设计。第三章简要介绍了串行通信编程的基本知识,详细讨论了g m s 系统在d o s 环境下和w i n d o w s 环境下的m o d e m 通信编程。第四章简要介绍了t c p i p 编程的基本知识,详细讨论了g m s 系统在w i n d o w s 环境下的网络通信编程第五章简要介绍了x m o d e m 、y m o d e m 和z m o d e m 文件传输协议,详细讨论了采用文件传输协议的g m s 系统的通信编程。南京航空航天大学硕士学位论文第六章简要介绍了d o s 环境下和w i n d o w s 环境下,g m s 系统的通信程序的测试情况,以及对测试结果的分析。第七章是对论文的总结。鱼堕墨丞垡蕉型丕堕塑堡焦煎堑窒皇塞墨一2 1 引言第二章g m s 通信软件的总体设计一个软件工程项目的开发过程称为软件生存期过程。一般来说,软件生存期可分为三个时期:项目定义期、设计开发期和运行维护期。作为g m s 系统的一部分,本章将忽略项目定义期和运行维护期的讨论,而主要讨论设计开发期的工作。设计开发期由总体设计、详细设计、编写代码和系统测试等阶段组成。本章将讨论软件设计开发期的首要任务:g m s 系统通信软件的总体设计。在总体设计中,简要介绍了酬s 系统的构成,然后讨论了通信软件的设计且标、设计原则以及分系统的接口要求等。在分系统的接口要求中,介绍了计算机通信的分层描述模型,o s i 参考模型是本文进行通信编程研究和实现的参考标准。2 2g m s 系统通信软件的总体设计2 2 1g m s 系统的构成在进行g m s 系统通信软件的总体设计之前,有必要先了解下g m s 系统的基本组成。如图2 1 所示,它仍然是由前端数据采集( 现场计算机) 、终端监控系统( 控制中心) 和传输网络或电话网三个主要组成部分。图2 - 1g m s 系统总体结构图g m s 系统的控制中心由软件组成,它包括用于g p s 精确定位后处理软件包和通信软件。现场计算机由嵌入式p c 1 0 4 工业控制计算机组成,并将g m s 控制板、g p so e m板集成在p c 1 0 4 工控机中。另外,还包括g p s 天线、g p s 接收机和供电系统。p c 1 0 4上可以运行现场控制软件和通信软件。图2 1 所示的现场计算机可以不只3 台,由用户的实际需要决定,目前最多可达1 6 台。壹室堕窒堕丞盔堂亟堂焦迨窒如图2 1 所示,这里只给出了g m s 系统采用的两种进行远程数据传输的方法:p s t n和网络。p s t n ( p u b i cs w i t c h e dt e l e c o m m u n i c a t i o n sn e t w o r k ,公用交换电信网)提供了远距离的模拟信号线路。网络是指l a n ( l o c a a r e an e t w o r k ,局域网) 和w a n( w i d ea r e an e t w o r k ,广域网) 的统称。计算机通过l a n 可以与其他数字化设备相连接。它应用的物理范围较小,但是,通过w a n 和其他的l a n 连接,可扩大其应用范围。w a n 通常可以扩大到个很大的物理区域。2 2 2g i v l s 系统通信软件的设计原则及要求g m s 系统通信软件设计的目标是实现g p s 数据无误差的远程传输。但是,这还不够,一方面,程序中需要有为通信功能提供支持的其他代码,另一方面,软件还需易于扩展非通信功能。为此,g m s 系统的通信软件设计应遵循以下的原则:1 综合规划,分步实现。软件结构灵活,便于扩充并具有开放性。2 软件设计要遵循标准化、通用化、模块化的原则。3 通信软件的数据传输具有很高的准确性。4 操作简单,人机界面友好。在开始g m s 系统通信软件的总体设计之前,再重申一下第一章说明的g m s 系统通信软件的基本要求:1 运行在w i n d o w s 或m s - d o s 操作系统下的应用程序。2 能够通过电话线传输文件。3 能够通过网络传输文件。4 文件的远程传输要求准确。5 用户界面友好。2 2 3 开发工具的选择采用面向对象的程序设计( o o p ) 方法进行g m s 系统的通信软件设计。因此,在g m s 系统通信程序设计中,所有程序都是以c + + 语言编写。c + + 是目前最通用的程序开发语言,具有表达能力强、代码简洁严谨、移植性好等特点。特别是,它提供了一种面向对象的程序设计能力,便于程序扩展。d o s 环境下的应用程序选择的开发工具是b o r l a n d 公司提供的t u r b oc + + 3 0 编译器,t c + + 3 0 是目前开发1 6 位应用程序最受欢迎的编译器。t c + + 3 0 的环境支持鼠标器、支持多重覆盖窗口,集编辑、编译、调试和运行等功能于一体,是一个功能强大、高效快速的c + + 编译器。w i n d o w s 环境下的应用程序选择的开发工具是m i c r o s o f t 公司提供的v i s u a lc + + 6 0 编译器。v is u a c + + 具有非常好的可视化开发环境,编程人员可以直接在用9鱼坠垒丕垡蕉剑丕堕塑塑堡捡堑窒量蒌垫一户界面中进行编程工作。它的最大特性是对面向对象技术的支持,它利用类把大部分与用户界面设计有关的w i n d o w sa p i 函数封装起来,通过m f c 类库的方式提供给开发人员使用,大大提高了软件的可重用性。它的集成开发环境包含了许多好用的工具和功能,供编程人员使用,从而大大提高了应用程序的开发效率。在基于t a p i 的m o d e m 通信程序和基于t c p i p 的网络通信程序的设计中,宜选择m i c r o s o f tv i s u a c + + 6 0 编译器作为应用程序的开发工具。m i c r o s o f t 基础类( m i c r o s o f tf o u n d a t i o nc l a s s ,m f c ) 将为使用t a p i 进行m o d e m 通信编程和使用t c p i p 进行网络通信编程的程序提供了支持。2 2 4g 1 v i s 分系统的接口要求一、o s i 模型和传输标准o s i ( o p e ns y s t e mi n t e r c o n n e c t i o n ,开放式系统互连) 模型是理解数据传输的一个概念。在这个模型下,允许使用不同操作系统的制造商用标准接口互联设备。i s o( i n t e r n a t i o n a lo r g a n i z a t i o nf o rs t a n d a r d i z a t i o n ,国际标准化组织) 制定了这一模型标准,具体结构如图2 - 2 所示。应用层表示层会话层运输层管理层数据链路层网络层t c pi pe c l l e m 吐20异步串行通信硝络图2 - 2 传输标准和i s o 模型在图2 2 中,o s i 提供了七层参考模型。第七层:应用层。负责处理需要数据通信的应用程序的各种请求,该层可以对运行在互连计算机中的应用程序直接访问。第六层:表示层。负责接收与解释来自会话层的数据,向应用程序提供编码、压缩或字符转换等服务。第五层:会话层。负责接收来自传输层数据,并在向表示层传输数据的过程中纠错,建立数据通信中计算机应用程序之间的会话。1 0南京航空航天大学硕士学位论文第四层:传输层。负责可靠地传输消息,消息可由若干个数据包组成,也可比数据包小。该层确保主机间的消息传输不发生数据丢失,不能保证传送数据的正确性。表示层和会话层将负责数据的正确传送或出错重发。第三层:网络层。用以处理在网络上传输的信息,信息以数据包形式发送,数据包可以由若干个数据帧组成,也可比帧d k 网络层还可以改变数据包的传输路径,避免网络阻塞和拥挤情况发生。第二层:数据链路层。用以将物理层的信息转换成帧( 数据帧) ,并在网络中正确传送。第一层:物理层。负责把数据传输给接收方。在计算机通信程序设计中采用分层结构优点突出。第一,保证了层与层之间的独立性,便于程序模块化设计。第二,系统各模块的耦合减少,降低了系统出现问题的可能性。二、接口要求在g m s 系统中,各分系统之间的连接是指控制中心和现场计算机之间的连接,它们之间的连接要遵守有关的接口协议。控制中心和现场计算机实际上是计算机之间的通信,可以采用分层描述模型的概念来研究。g m s 通信软件可以采用i s o 提出的o s i模型来进行设计和构建通信软件的各个模块。对于m o d e m 异步串行通信,采用r s 一2 3 2 接口标准和异步通信协议。对于网络通信,采用以太网,其标准是e t h e r n e t 2 0 和互联网的主要协议t c p i p 。i p 协议引导数据包在网络内传输,t c p 协议引导数据包在不同的网络之间传输。2 3 小结按照国家软件设计标准g b 8 5 6 7 ,软件工程的总体设计实际上是在软件工程项目定义期的基础上进行的。软件总体设计解决的是:如何实现项目定义期明确的软件需要实现的主要功能。因此,g d s 系统通信软件总体设计方案的好坏对于以后的详细设计、编写代码等一系列开发过程影响很大。本章主要讨论了g m s 系统通信软件的总体设计。根据g m s 系统通信软件的需求,选择了面向对象的设计方法及适应这种设计方法的开发工具( t c + + 和v c + + ) ,提高软件的开发效率;采用了分层描述模型( o s i ) 的观念来研究,设计和构建通信软件的各个模块;采用了目前广泛使用的接口协议( r s 一2 3 2 c 和t c p i p ) ,进行电话线或网络文件传输。鱼堕玺丞垡量剑丕笙塑塑焦煎婴窭量塞堡3 1 引言第三章m o d e m 通信编程使用m o d e m 实现异地信息传输是一种传统的方法。但是,由于i n t e r n e t 的普及和m o d e m 性能的大大提高,利用现存的四通八达的电话网络是最直接也是最简单的方法。在g p s 多天线数据采集控制系统中,远程数据通信的一种方法是:采用调制解调器通过电话线进行控制中心与现场计算机之间的数据通信。本章主要讨论了两种不同的编程方法使用户能够对标准的智能m o d e m 进行控制:m s d o s 环境下的软件方法和w i n d o w s 环境下的t a p i 方法,以及两种方法下的数据i o 编程实现方法。在讨论m o d e m 通信编程之前,本章还简要介绍了有关m o d e m 通信编程需要掌握的一些基本知识,如r s - - 2 3 2 c 接口标准、通用异步接收发送器( u a r t ) 、流控制和用于m o d e m 控制的a t 命令集等。掌握这些基本知识,对于进行m o d e m 通信编程的程序设计人员是十分必要的,特别是,对于d o s 环境下的m o d e m 通信编程。3 2 与m o d e m 通信编程相关的内容3 2 1r s - - 2 3 2 c 标准r s - - 2 3 2 c 接口标准是d t e ( d a t at e r m i n a le q u i p m e n t ,数据终端设备) 和d c e( d a t ac o m m u n i c a t i o ne q u i p m e n t ,数据通信设备) 这两种不同设备间的电子接口。通常使用的计算机就是典型的d t e ,调制解调器则是典型的d c e 。该标准明确规定了连接两种设备的电路以及连接电路的电子特性。对于程序设计人员来说,只要对r s - - 2 3 2 的连接有基本了解,就能很好地进行d c e 和d t e 之间的连接。使用电缆连接计算机和调制解调器,根据连接的端口类型,电缆两端可以是d b - - 2 5 连接器,也可以是d b - - 9 连接器,如图3 - - 2 所示。常用的9 条r s - - 2 3 2 线可分成三个部分:数据线、控制线、地线:( d 数据线传输数据( t d ) ,计算机的数据经此脚发往调制解调器。接收数据( r d ) ,计算机通过此脚接收数据。( 2 ) 控制线壹室墅塑型型型型监蔓_ = 一请求发送( r t s ) ,由计算机发出,通知调制解调器计算机已准备好接收数据。清除发送( c t s ) ,由调制解调器发出,通知计算机调制解调器可以传送数据。计筻机d b 一2 5调制解涌器d b 一2 5223344556677882 02 02 22 2计篡机d b 一9调制解调器d b 一2 518233242 05766748592 2图3 2p c 机与调制解调器连接器的管脚数据设置就绪( b s r ) ,由调制解调器发出,通知计算机调制解调器已经正确地连接到电话线上,并处于数据传输方式。载波检测( c d ) ,当调制解调器收到远方的调制解调器发来的载波信号时,便通过该脚通知计算机。数据终端就绪( d t r ) ,由计算机发出,当它准备好与调制解调器通信时,便通过该脚通知调制解调器。振铃指示( r i ) ,具有自动应答的调制解调器在收到电话响铃时,通过该脚通知计算机已经收到振铃。( 3 ) 地线信号地线( g n d ) ,公用一个普通的地信号线可以确保输入数据线和控制线具有相同的参考电压。3 2 。2 异步接收发送器( u a r t )从程序员的观点看,r s - - 2 3 2 接口上的数据、控制需要通过硬件来执行。在计算机中,串行数据传输的任务是通过u a r t ( u n i v e r s a la s y n c h r o n o u sr e c e i v e r t r a n s m i t t e r ,通用异步接收器发送器) 芯片来完成,u a r t 把字节转换成r s - - 2 3 2 线上的串行数据,并能读取串行数据。本结以8 2 5 0 为例。一、寄存器寻址啪m帆咖嗽|耋哪mq 堕垒丕垡蕉剑丕笙塑堡焦殓亟窒量塞塑大多数p c 机都有c o m l 、c o m 2 等串行口,在d o s 操作系统下运行时,应用程序可以像打开文件一样打开名为c o m i c o m 4 的串行口,程序是通过读写u a r t 中的一系列寄存器来进行通信的。表3 一l 给出了从c o m l - - c o m 4 的标准基地址。表3 一lc o m l 一c 0 m 4 的标准基地址lc o m 口基地址c o m lo x 3 f 8c o m 2o x 2 f 8lc o m 3o x 3 e 8lc o m 4o x 2 e 8二、u a r t 的寄存器开发基于d o s 操作系统的m o d e m 通信程序,程序员必须直接对硬件进行访问,即直接访问8 2 5 0 寄存器。可以通过对8 2 5 0 进行控制来实现r s 一2 3 2 接口线上的控制功能。因此,程序员必须熟悉u a r t 的寄存器。1 发送保持寄存器( t h r )向寄存器0 写入一个字节将导致它被串行化,并以当前的数据格式和波特率在s o u t 输出端发送出去。2 接收缓冲寄存器( r b r )把8 2 5 0 的s i n 输入端上的一个位流装配成一个字节后,从该寄存器即可读取该字节。3 中断允许寄存器( i e r )该读写寄存器能够产生由8 2 5 0 支持的四类中断:r s 一2 3 2 输入、接收器错误或b r e a k 、发送缓冲器空( t b e ) 和接收数据,在其相应的位为l 时。将允许一个中断。4 中断标识寄存器( i i r )当个中断发生时,通过中断标识寄存器可识别出确切的中断源。5 线路控制寄存器( l c r )线路控制寄存器( l c r ) 用于设置接收和发送操作的串行数据格式,l c r 也可以与因子锁存寄存器联合设置8 2 5 0 的通信速率。6 线路状态寄存器( l s r )线路状态寄存器( l s r ) 指示数据传送操作的状态,包括b r e a k 检测、接收器错误及发送器和接收器寄存器的就绪状态。7 调制解调器控制寄存器( m c r )调制解调器控制寄存器( m c r ) 可用来控制8 2 5 0 向调制解调器发送的输出信号。8 调制解调器状态寄存器( m s r )该寄存器不仅表明了调制解调器状态信号的当前状态,也显示了上一次读m s r 之后状态发生改变与否。1 4南京航空航天大学硕士学位论文3 2 3a t 命令集程序员控制调制解调器行为的方法有两种:通过硬件方法( 即计算机和调制解调器之间的导线) 和通过软件方法( 即在数据流中发送命令) 。在d o s 环境下的通信程序中,采用的是软件控制的方法,具体地说,通过使用a t 命令集对调制解调器进行控制。今天的调制解调器几乎一律是智能的调制解调器,这就意味着调制解调器具有内置的微处理器,c p u 可通过扩展外围电路实现更多的功能,如错误检测和纠正、数据压缩等。a t 命令也是智能调制解调器提供的一种功能,这减轻了程序员的工作,程序员通过编程将用户输入的a t 命令输出到调制解调器,进行调制解调器控制。这样的软件,使用户通过键盘也能容易地控制调制解调器。发送给调制解调器的每个a t 命令都是以a t 后面跟一串字母、数字字符组成,以回车字符结束。大多数调制解调器生产厂商均生产与h a y e s 标准兼容的产品,对程序设计人员来说,应以h a y e s 标准作为基准,这样就可以编写出与每个“h a y e s 兼容”的调制解调器都工作的软件。3 2 4 流控制流控制是串行通信中的重要部分。两台计算机相连时,经常会出现端不能继续接收数据,而另一端还在不停地发送数据,接下来输入的数据就很容易丢失。流控制可以解决这个问题,采用了流控制以后,当一端的设备不能再接收数据时,可以通知另一端的设备停止发送数据。有两种流控制的方法:软件流控制和硬件流控制。硬件流控制方法采用r s 2 3 2控制线( r t s c t s ) 开始和停止数据流。软件流控制方法采用x o n x o f f 协议来实现。3 3d o s 操作系统下的m o d e m 通信编程3 3 1d o s 环境下的m o d e m 通信程序设计思路d o s 操作系统下的m o d e m 通信程序,它主要是被用来执行拨号和建立数据通路后的数据传输功能。按照图2 2 ,r s 2 3 2 按1 3 标准是一个低级接口,它要求程序员直接面对硬件进行操作。基于d o s 操作系统的m o d e m 通信编程,如图2 2 所示,g m s 系统的控制中心和现场计算机之间的通信可以采用四层模型来描述:数据传输层、传输控制层、表示层和应用层。它们分别对应于o s i 模型的数据链路层和物理层、会话层、表示层、应用层。其中,数据传输层对应的是数据链路层和物理层。可以采用s o鱼堕墨型型隧燮堕型型塑蒸l _ 孟提出的o s i 模型来设计和构建系统各个模块,其体系结构如图3 - 3 所示。它们的功能分别如下:数据传输层。它包括了数据链路层和物理层,提供了异步串行协议和r s 一2 3 2 标准。主要负责控制中心和现场计算机之间的数据传输。传输控制层。为控制中心和现场计算机之间的数据传输提供连接通路,包括建立、维护和终止对话。表示层。主要负责数据的处理。对于文件传输而言,就是发送和存储文件,并采用一定的文件传输协议,保证文件传输的准确性。应用层。它处于整个系统的最外层,直接面向具体的用户。它负责接收用户的命令,并将系统的信息通知给用户。它具有操作简单的特点。在图3 3 中,对于文件传输而言,前端的现场计算机与终端的控制中心的结构是相同的。使用相同的通信程序,可以节省开发时间。现场计算机用户工作区配置j 主程序模块z 、j f。“l文件传输模块un垦信控制模块j fir7v通信模块j fm o d e m控制中心i 用户工作区l 配置 fj 主程序模块、。j 。9z文件传输模块u通信控制模块j fr7通信模块jh o d e al图3 - 3d o s 环境下的i o d e m 通信编程体系结构3 3 2d o s 环境下的m o d e m 通信程序设计实现应用层表示层会话层数据链路层以卜从上节可知,d o s 环境下的m o d e m 通信程序设计采用了分层描述的方法,下面对四个层次的实现分别论述。一、应用层实现应用层包括了主程序模块、用户工作区和配置三个部分。1 6壹壅堕窒堕丞盔堂亟主堂焦迨銮一i 主程序模块主程序模块是d o s 环境下的m o d e m 通信程序的核心。所有的命令、数据都先汇总到这里,由它调用各个模块来处理数据,执行命令。所有的模块都是在它的统一管理下,协调工作。它的工作流程图如图3 4 所示。在图3 4 的主流程图中有一个接收用户输入请求和串行输入信息的主循环,程序运行后一方面监视串行口的输入,另一方面等待用户的请求。一旦串口有信息输入,通过判断,程序将决定是否启动z m o d e m 协议接收文件。2 用户工作区用户工作区包含了下拉菜单、数据显示窗口、状态栏。这是通过菜单类、窗口类、g 1 0 b a l c p p 和k e y h 共同完成的。菜单类用于支持用户界面中的下拉菜单。它将用于支持使用下拉菜单的数据和函数封装在同一个类中,通过对其接口函数的调用可以被其它的模块或类使用。菜单类包含了下面一些接口函数:m e n u ( ) ;这是一个可重载构造函数,对它的调用可以构造新的菜单选项。s e t c o l o r s ( ) :设置菜单选项的颜色,以识别被选中的菜单项。d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论