CPDLC协议的研究与实现讲解_第1页
CPDLC协议的研究与实现讲解_第2页
CPDLC协议的研究与实现讲解_第3页
CPDLC协议的研究与实现讲解_第4页
CPDLC协议的研究与实现讲解_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、本科毕业设计(论文)CPDLC协议的研究与实现学生姓名: 韩 钦 专 业: 通信工程 学 号: 101041407 指导教师: 岳 猛 所属学院: 电子信息工程学院 二一四年六月中国民航大学本科毕业设计(论文)CPDLC协议的研究与实现Research and Implementation of the CPDLC Protocol学生姓名:韩钦专 业:通信工程学 号:101041407指导教师:岳 猛学 院:电子信息工程学院2014年6月I中国民航大学本科毕业论文创见性声明本人声明:所呈交的毕业论文是本人在指导教师的指导下进行的工作和取得的成果,论文中所引用的他人已经发表或撰写过的研究成果,

2、均加以特别标注并在此表示致谢。与我一同工作的同志对本论文所做的任何贡献也已在论文中作了明确的说明并表示谢意。毕业论文作者签名: 签字日期: 年 月 日本科毕业设计(论文)版权使用授权书本毕业设计(论文)作者完全了解中国民航大学有关保留、使用毕业设计(论文)的规定。特授权中国民航大学可以将毕业设计(论文)的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交毕业设计(论文)的复印件和磁盘。(保密的毕业论文在解密后适用本授权说明)毕业论文作者签名: 指导教师签名:签字日期: 年 月 日 签字日期: 年 月 日摘 要近年来随

3、着世界范围内民航业务的迅猛增长,原有的航空通信体系结构已经不能满足目前民航通信发展的需要。空管员飞行员数据链通信(Controller Pilot data Link Communications,CPDLC)是当前国际上航空系统普遍使用的空地通信数据链之一。管制员飞行员数据链通信(Controller Pilot Data Link Communication)是管制员与飞行员之间利用数据通信代替话音通信的新型ATC通信方式,它使用地空双向数据链(TWDL)为管制员和飞行员提供数据通信,CPDLC具有国际规范的数据格式,可以提供包括标准的放行、期望放行、申请和报告等在内的全部管制指令。更为重

4、要的是,CPDLC有效地克服了很多话音通信中存在的问题和缺陷,让通信具有较强的抗干扰能力,很大程度上解决了信号失真的问题。本文首先介绍了飞行员空管员数据通信链路(CPDLC)系统背景及国内外发展现状。其次研究了CPDLC协议和通信过程,按照系统结构的划分,从模块化功能,管制通信实现原理,数据结构封装及编码,报文的组成结构、生成以及报文元素的优先级等多个方面对CPDLC协议进行了全面、详细的阐述。在理论基础上,使用VC+的Socket套接字进行编程模拟,实现空管站与飞行员通信过程,并对报文进行封装和解析。关键词:空管员工作站;CPDLC协议;空中交通管制通信系统;空地通信报文;AbstractI

5、n recent years,with the rapid growth of civil aviation all over the world, the original structure of aeronautical communication systems could not meet the needs of the current development of civil aviation communication. The air traffic controller pilot data link communications (Controller Pilot dat

6、a Link Communications, CPDLC) is one of the air ground communication data link the international aviation system in common use. Controller pilot data link communications (Controller Pilot Data Link Communication) is a new type of ATC communication instead of voice communication between controllers a

7、nd pilots using data communication, which uses air bidirectional data link (TWDL) to provide data communication for pilots and controllers, the CPDLC with international standard data format, can provide including the standard release, release, expectation the application and report, all the control

8、instruction. More importantly, CPDLC overcomes many defects and problems in speech communication, make the communication has strong anti-interference ability, largely solved the problem of signal distortion.First,this paper introduces the pilot ATC data communication link (CPDLC) development system

9、at home and abroad. Secondly, on the study of CPDLC protocol and the communication process, in accordance with the division of the system structure, function module realization principle from control, communication, data structure and code package, multiple packet structure, generation and message e

10、lement priority on CPDLC protocol for a comprehensive, detailed. On the theoretical basis, using the VC+ Socket programmes to simulate the control station and pilot communication process, package and analysis the message.Key Words: Controller workstation;CPDLC; ATCComm; Aircraft-ground communication

11、 messageIII目 录摘 要IAbstractII第1章 绪论11.1研究背景及意义11.2国内外研究现状11.3研究内容21.4论文结构2第2章 CPDLC通信系统的结构基础42.1 ATCComm42.2 ACARS网络52.3 地面管制单位6第3章 CPDLC空地双向数据链协议研究73.1连接管理73.1.1 链接的建立73.1.2 链接的终止83.2报文的规范93.2.1 报文属性93.2.2 报文结构的组成113.3 CPDLC通信的管制移交133.4 本章小结14第4章 CPDLC数据链协议的仿真实现154.1 CPDLC协议仿真平台简介154.1.1 Visual C+ 6

12、.0仿真平台简介154.1.2 Socket概述154.2 CPDLC通信协议的仿真实现174.2.1 通信连接的建立174.2.2 管制指令的通信实现184.2.3利用MFC经行窗口化设计254.3 本章小结27第五章 总结与展望28参考文献29致 谢30附录A:程序清单31附录B:外文翻译资料32第1章 绪论第1章 绪论1.1 研究背景及意义自上世纪七十年代以来,随着经济、文化全球化的进程不断加快,国际民航业获得了越来越多的发展契机,俨然成为了20世纪发展最为迅速、对人类社会影响最大的科学技术产业之一。而民航业的飞速发展使得我们对提供实时、高效的空中交通管制提出了越来越高的要求,现行的无线

13、电话音通信方式就逐步显现出种种弊端,如信噪比较低,容易受到信道环境变化所造成的影响;随着民航业务量的增加,容易出现使用频率的拥挤;由于存在人为的短期记忆问题,容易出现由于误听、误解所导致的操作失误等等。因此,管制员飞行员数据链通信应运而生。管制员飞行员数据链通信(Controller Pilot Data Link Communication)是管制员与飞行员之间利用数据通信代替话音通信的新型ATC通信方式,它使用地空双向数据链(TWDL)为管制员和飞行员提供数据通信,CPDLC具有国际规范的数据格式,可以提供包括标准的放行、期望放行、申请和报告等在内的全部管制指令。更为重要的是,CPDLC有

14、效地克服了很多话音通信中存在的问题和缺陷,诸如数字通信具有较强的抗干扰能力,很大程度上解决了信号失真的问题;利用数字通信的时分多址技术,CPDLC可以有效地解决信道拥挤问题,通过数据链信息所具有的表达明确以及长期记忆特性,有效地避免了误听、误解的可能,降低了操作失误的几率;通过FANS的全球覆盖性,管制员还可以通过CPDLC在以前VHF话音通信无法覆盖到的区域内进行管制,包括沙漠地区以及越洋飞行的航线等。对CPDLC的研究和学习,有助于我们下一步进行新航行系统(FANS)以及航空电信网ATN的建设,对我们国家未来民航业的发展有着非凡的意义。1.2 国内外研究现状CPDLC是新航行系统为适应民航

15、未来发展的需要而规定的新型数据通信模式,作为新航行系统FANS的重要应用,近年来随着新航行系统的不断发展和建设,与管制员飞行员数据链通信的协议和标准也不断地得到改进和深化。管制员飞行员数据链通信系统为用户提供一个人机接口(CHI),用于产生和接收工业标准化之后的报文,CPDLC所使用的报文处理装置称为双向数据链TWDL。1993年8月,国际航空无线电技术委员会RTCA发布了CPDLC MOPS,即RTCA DO-219规范,它规定了CPDLC数据链通信系统的最低性能标准,并且,CPDLC作为一种面向比特的应用,应该有自己特殊的报文格式和编译方式,同样在RTCA DO-219当中给出了对CPDL

16、C报文编译方式的详细规定,CPDLC采用的是分组编译规则PER(Packed Encoding Rules)非对齐编译方式,该方式由国际标准化组织ISO在Proposed Draft International Standard(PDIS)8825-2国际标准当中给出,符合SARPS所规定的ASN.1标准。由于空管通信要求语义无歧义、国际通用、安全性要求高以及与管制程序相结合的特点,CPDLC MOPS根据空中交通管理的需要,制定了260多种报文元素,每种报文元素对应着一种管制语言,CPDLC MOPS中对每种元素如何编译成CPDLC报文元素以及这些报文元素如何组成有效的CPDLC报文都进行了

17、详细的规定。1997年12月,ICAO通过了ATN标准和建议案(Standards and Recommended Practices(SARPs) for the ATN),在2000年2月ICAO又在ATNP/3会议上通过了文件资料DOC-9705(E3)作为SARPs的补充,其中在SARPs第二卷当中对ATN网络如何支持CPDLC应用做出了详细的说明和规定。2000年6月,我国西部新航行系统L888航路试飞成功,标志着中国民航在新航行系统建设方面成功地迈出了第一步,该系统中管制员飞行员数据链通信CPDLC应用的成功实现也填补了我国在这一技术上的空白。2001年10月,美国ARINC公司发

18、布了ARINC 622协议标准,它可以将CPDLC应用产生的面向位的报文通过位-字符转换,转换成为面向字符的报文,这样,CPDLC应用就可以兼容于现有的ACARS空地网络,使得在全球尚没有成熟的ATN网络之前,将CPDLC应用于现有的、较为成熟的ACARS网络,提高了管制员飞行员数据链通信系统较早应用于实践当中的可行性,加速了CPDLC发展的进程。1.3 研究内容本文对一种未来极具发展潜力的地空双向数据链通信协议CPDLC协议进行了深入地研究和学习,按照系统结构的划分,从模块化功能,管制通信实现原理,数据结构封装及编码,报文的组成结构、生成以及报文元素的优先级等多个方面对CPDLC协议进行了全

19、面、详细的阐述。并通过基于C语言的Socket套接字实验环境对协议进行了仿真模拟,真实地模拟了飞机和地面管制单位之间通过CPDLC协议进行管制数据及指令的传输和通信,以最为直观、具体的方式展示了CPDLC管制通信的原理和特点。1.4 论文结构本文的主要内容安排如下:第1章 为绪论,主要介绍了CPDLC通信方式出现的背景以及它对未来空中交通管制发展的重大意义,之后更加细致地介绍了CPDLC通信协议现阶段的发展状况。第2章 从通信系统的结构划分角度对CPDLC通信协议进行了详细地阐述和说明。第3章 对RTCA DO-219标准规范文件进行了深入地讲解和分析,从数据结构封装及编码,报文的组成结构、生

20、成以及报文元素的优先级等多个方面对CPDLC协议进行了全面、详细的阐述。第4章 在基于C语言的Socket套接字实验环境中对CPDLC协议进行了仿真模拟,真实地模拟了飞机和地面管制单位之间通过CPDLC协议进行管制数据及指令的传输和通信,以最为直观、具体的方式展示了CPDLC管制通信的原理和特点。第5章 对本次毕业设计当中的不足进行了总结和分析,并对下一阶段的研究重点做出了计划和展望。27第2章 CPDLC通信系统结构基础第2章CPDLC通信系统的结构基础要成功实现CPDLC通信,至少应包含三部分结构基础,分别是机载的CPDLC系统、地空数据链网络以及具有CPDLC报文解析能力的地面工作站或管

21、制塔台。我们通常将机载的CPDLC系统简称为ATCComm,它泛指飞机上安装的用于与地面进行TWDL通信所需的包括软件系统在内的所有组件和单元。与ATCComm相对应,地面工作站或管制塔台就是CPDLC的地面对等实体,ATCComm与地面塔台等CPDLC应用实体通过ATN或ACARS等地空网络系统来实现建立、管理和终止CPDLC连接的能力。2.1 ATCCommATCComm是管制员飞行员数据链通信的机载终端设备,它包含了使飞行器支持地空双向数据链通信所需的一切器件、单元、软件等设施设备。ATCComm为飞行器提供通过ATN与地面空管单位建立、管理和终止链接的能力,一但一个正常的地空双向数据链

22、建立成功,ATCComm就能为飞行员提供与管制员交换信息的能力。每当接收到一个信息,ATCComm会将数据块进行解码,并对报文的紧急程度、飞行员告警需求以及飞行员回应需求做出判断。之后,做出的上述判断会直接指导ATCComm开始处理飞行员告警、报文显示和回复等一系列操作。ATCComm同样具有将飞行员报文进行编码并发送给地面管制单位的能力。作为ATN网络的终端应用,CPDLC层次结构的划分以及每一层协议的规范如下图2-1所示。图2-1 CPDLC层次结构示意图2.2 ACARS网络CPDLC作为未来航行系统FANS中的一种重要应用,在设计之初,必须建立在航空电信网ATN的基础之上,尽管世界上所

23、有国家都在积极地向ATN过渡,但到目前为止,还没有一个国家或区域性组织有能力建设一个真正健全的ATN系统。以我国为例,当前我国的地空数据链系统是由美国ARINC公司开发的基于VHF的ACARS数据通信系统,因此,本论文将基于ACARS系统对CPDLC协议进行研究和实现。ACARS(Aircraft communication addressing reporting system)即飞机通信寻址与报告系统。迄今为止,ACARS系统已经使用了20多年,ACARS原先仅用于当飞机推出登机门、起飞、着陆、停靠登机门时向航空公司签派部门报告,当签派部门与飞机维护和机组管理部门综合在一起时,这个能力得到

24、扩展。随后,ARINC 620协议定义了ACARS系统的处理和运行规范,协议规定ACARS是面向字符的数据协议,也就是说在传输用户数据的过程中,只有大写字母、数字和少量字符可以作为有效字符。ACARS下行链路的报头信息由数据服务提供者提供解析,根据此信息,计算机和用户数据得到处理并通过地面网络按照要求进行传送。同样,从地面用户到数据服务提供者计算机的信息则通过ACARS系统传送到飞机上。每一个ACARS数据块由在陆地发信端进行块序列检测的计算机来保证发送信息的完好性,并在收信端完成重新计算,一个信息可由一个或多个数据块组成,每一个数据块可多达220个字节,信息多于一个块长度的就称为多块信息。A

25、CARS包含三种报文类型,分别是空中交通管制ATC、航空运行控制AOC和航线管理控制AAC。ATC报文是由ARINC 623规范定义的,主要用于机组请求放行,由地面人员进行放行。AOC及AAC报文用于飞机和基站之间进行通信,这些报文或者由用户定义,或者由ARINC 618/633规范定义,不同类型的报文可能包含诸如油耗、引擎性能数据和飞机位置等自由文本信息。ACARS数据链系统主要由以下三部分组成:1. 机载设备:主要包含一个ACARS通信管理单元CMU,一方面与标准VHF收、发信机相连,另一方面与机载的其他数字终端设备相连,主要完成数据采集、报文形成、调制解调、模式转化、话音/数字信道切换和

26、频率管理等功能,ARINC 758协议对CMU进行了规范和定义。CMU其实相当于一个路由器,大多说情况下CMU也作为AOC报文的终端使用。ACARS机载设备还包含一个终端,它是下传和上传ACARS消息的起点和终点。2. 数据链服务提供商:数据链服务提供商(DSP)负责在空地之间进行消息分发,它相当于一个中央交换系统,通过网控及处理中心来实现空地终端之间的自动数据通信,DSP采用中央集成处理的方式,通过地面站网络将ACARS报文路由到合适的终端设备上。3. 地基系统:主要是指与机载ACARS设备相对应得甚高频远端地面站(RGS),RGS包括VHF天线、收发信机和一个数据控制与接口单元(DCIU)

27、。地基系统是上传数据的起始地和下传数据的目的地,通常属于政府部门或航空公司管辖。ACARS设备以25KHz为频率间隔,数据传输速率高达2400bit/s,采用单信道半双工工作方式,空地数据链通信遵循ARINC 618协议,地地数据链通信遵循ARINC 620协议。虽然现阶段ACARS系统存在频率利用率低,通信质量易受大气环境扰动等缺点,但它所具有的建设成本低、维护方便、关键航路覆盖率高等优点仍旧使得ACARS系统成为了目前使用最为广泛的VHF地空数据链系统,ARINC公司为了将ACARS系统向新航行系统过渡,对其进行了优化和改造,推出了ARINC 622协议,并将面向比特的应用包装在ARINC

28、 620协议当中,使得ACARS系统能够支持CPDLC、ADS等诸多面向比特的应用。2.3 地面管制单位地面管制单位就是与ATCComm对应的CPDLC地面对等实体,它必须具有编译、发送、接收和解析CPDLC报文的能力。与ADS等其他ATN应用不同,考虑到空中交通管制高安全性的要求,一个飞机在同一时间只能和一个地面管制单位进行CPDLC通信,也就是说在任意时刻只有一个地面管制单位能够对飞机进行管制,我们称这个管制单位为当前管制单位CDA(Current Data Authority),飞机将要进入的下一个管制区的管制单位为下一管制单位NDA(Next Data Authority)。第3章 C

29、PDLC空地双向数据链协议研究第3章 CPDLC空地双向数据链协议研究CPDLC协议的全称为管制员飞行员数据链通信协议,是一种空地双向的数据链通信协议,最早由国际航空无线电技术委员会在1993年提出并规范。CPDLC在飞机与地面ATC服务单位之间提供了数据通信能力,基本服务包括与放行、信息以及请求在内的一切空中交通管制服务。CPDLC协议正式对数据链的建立、报文的传输以及处理做出了规范和统一,是我们本章研究的重点。3.1 连接管理3.1.1 链接的建立CPDLC链接的建立通常由地面管制单位发起,地面管制单位向某个待管制的飞机发送链接请求,由于安全需求的限制,某一飞行器同一时刻只能与一个地面管制

30、单位建立CPDLC链接,因此根据ATCComm系统当前已建立链接数的不同,CPDLC链接的初始化包含以下几种情况。1.ATCComm当前无链接如果机载ATCComm系统当前即没有已经建立的CPDLC链接,也没有正在建立的CPDCL链接,而此时飞机接收到一个地面管制单位发出的“Connection Request”报文,则ATCComm系统将进行如下操作:1)如果该“Connection Request”报文的格式不合法,则发送“Disconnect Request”报并抛弃该用户数据。“Disconnect Request”报中应该包含正确信息的ERRORerrorinformation报文元

31、素。发送该“Disconnect Request”报文之后,ATCComm停止操作。2)如果接收到的“Connection Request”报文格式合法,则ATCComm将发送一个只包含versionnumber报文元素的“Connection Confirm”报文给地面管制单位。自此,CPDLC链接成功建立,接收到该“Connection Confirm”报文的地面管制单位即为当前管制单位CDA。之后,CDA与飞行器之间就可以进行正常的报文通信了。2. ATCComm当前存在一个链接如果机载ATCComm系统当前已经存在一个链接,或正在建立一个链接,此时接收到某一地面管制单位发出的“Conn

32、ection Request”报文,则ATCComm系统将进行如下操作:1)如果Connection Request报文的格式不合法,则ATCComm向地面管制单位发送“Disconnect Request”报并抛弃用户数据,“Disconnect Request”中应该包含带有正确信息的ERRORerrorinformation报文元素,之后,ATCComm停止采取任何行动。2)如果“Connection Request”报文格式合法,但报文中指定的地面管制单位与机载数据库中的下一管制单位NDA不相符,则ATCComm发送“Disconnect Request”报并抛弃用户数据,“Disco

33、nnect Request”报文中要包含icaofacilitydesignation报文元素来指明当前管制单位。3)如果“Connection Request”报文格式合法,并且报文中指定的管制单位与机载数据库中的下一管制单位NDA相符,则ATCComm按如下顺序工作:a) 向该管制单位发送一个只包含versionnumber报文元素的“Connection Confirm”报文。b) 每次从这个链接接收到报文时就发送一个带有Not Current Data Authority报文元素的报文,并抛弃接收到的报文。此时,第二个链接,即飞机与NDA之间的链接就建立起来了,该链接不能进行普通的报文

34、传送,因为机载ATCComm系统将所有NDA发来的报文都忽略了。3. ATCComm当前存在两个链接如果机载ATCCOmm系统当前已经存在或正在建立两个链接,此时收到地面管制单位发出的“Connection Request”报,则ATCComm向地面发送“Disconnect Request”报文并抛弃该管制单位发来的所有用户数据,该“Disconnect Request”报文汇总要包含指明CDA的icaofacilitydesignation报文元素。3.1.2 链接的终止通常情况下,CPDLC链接的终止是由当前地面管制单位CDA发起的,当前地面管制单位在发送END SERVICE报文之前,

35、应该处理完全部挂起的上行报文,CDA发送带有“End Service”报文元素的报文,ATCComm在接收到该报文之后,根据通信情况采取相应的行动来断开连接。特殊情况发生时,机载CPDLC系统也可以主动终止与地面系统之间的链接,ATCComm向所有的链接发送“Disconnect Request”报,报文内容中表明该链接是被强制终止的。“End Service”可以自己组成单元素报文,也可以和其他元素一起组成多元素报文,ATCComm系统对于单元素报文和多元素报文的反应如下:1. 单报文元素报文如果接收到的报文中只含有一个End Service报文元素,ATCComm执行如下操作:如果机载系统

36、当中存在未处理的挂起上行报文,则向地面管制系统发送“Disconnect Request”报,其中包含一个带有endServiceWithPendingMsgs值的ERRORerrorinformation元素的报文,地面管制单位在收到这个错误信息之后对地面CPDLC系统进行检查,看是否存在未处理的挂起报文。如果机载系统当中不存在未处理的挂起上行报文,则:1.向CDA发送一个“Disconnect Request”报文。2.如果ATCComm除了当前CDA之外还存在其他的链接,即存在下一管制单位NDA链接,则NDA自动变成当前管制单位CDA。2. 多报文元素报文如果地面管制单位向飞行器发出的报

37、文中除了End Service报文元素之外还存在着其他的报文元素,则ATCCOmm执行如下操作:如果End Service是多报文元素当中的一个元素,而WILCO回复不是这个报文的有效响应,则ATCComm向所有链接发送“Disconnect Request”报文并抛弃该报文,“Disconnect Request”报文中包含一个带有值为endServiceWithNoValidResponse的错误信息。如果WILCO报文是该报文的有效响应,ATCComm会将该报文作为一个单元素报文进行处理,它将正常工作直到生成一个该报文的WILCO回复。带有WILCO回复的报文被下发给当前地面管制单位CD

38、A,然后该链接将被终止。如果飞行器存在NDA链接,则NDA直接变为CDA。3.2 报文的规范CPDLC采用ISO/IEC 8825-2规定的非对齐分组编译规则来对ISO ASN.1的报文结构和内容进行编译。由于CPDLC使用非对齐分组编译规则PER,因此报文内容并不是以字符为间隔的,报文长度也未必是满字节的,因此RTCA DO-219规定编译后的报文应该在右边补足零来凑足整个字节,这种非对齐面向位的编译方式组成的报文具有非常高的效率。RTCA DO-219对CPDLC的报文属性、内容、格式以及编译解析方法都作出了详细的规范。3.2.1 报文属性CPDLC通过规定报文属性来区分如何对多种报文元素

39、进行操作,每一种报文元素都有优先级、告警、回复等属性。CPDLC报文属性规范如下:1. 优先级属性Urg类型描述优先级D遇险1U紧急2N正常3L低4表3-1当接收到的报文在队列中等待显示时,拥有较高优先级的报文将被置于显示队列的前端,当优先级相同时,则按照接收到的时间进行排序。2. 告警属性Alr类型描述优先级A/D特殊听觉、视觉的告警1A一般听觉、视觉的告警2V二级视觉、听觉告警3N无告警需求4表3-23. 回复属性Resp上行报文元素回复属性(Up Link)类型描述优先级W/U以WILCO、UNABLE、STANDBY回复1A/N以AFIRM、NEGATIVE、STANDBY回复2R以R

40、OGER、STANDBY回复3NE不能以WILCO、UNABLE、AFFIRM、NEGATIVE、ROGER、STANDBY回复4表3-3地面站发送的上行报文元素的属性包括W/U、A/N、R和NE。如果报文元素的属性为W/U,ATCComm对该报文的回复必须是肯定答复WILCO、否定答复UNABLE和待命STANDBY三种答复当中的一种。下行报文元素回复属性(Down Link)类型描述优先级Y需要回复1N无需回复2表3-44. 回查属性Recall属性(上行报文)类型描述优先级VC高度间隔信息1RC航路间隔信息2EC预期航路间隔/高度信息3表3-53.2.2 报文结构的组成CPDCL报文包括

41、报头和报体两部分,报头包括MIN、MRN以及时间步进三部分。报头之后紧跟报文主体,报文主体由一个或多个报文元素组成。CPDLC报文的具体组成如下图3-1所示:报头报文元素MINMRNTime Stamp小时分钟秒报文元素号报文元素内容上行:182种下行:80种CPDLC报文图3-1 CPDLC报文组成结构图中虚线部分表示该部分内容是可选内容,具体的CPDLC报文当中是否包含该部分内容要视具体情况而定,每个可选部分是否出现由报头当中对应的标识位体现,如果标识位为1则表示报文当中包含相应内容,如果标志位为0则表示具体的报文当中不包含该部分内容。1.CPDLC报头CPDLC报头主要包括MIN、MRN

42、以及时间步进三个部分。1) 报文标识号MIN(Message Identification Number)报文标识号的生成和管理规则如下:a) 如果收到一个回复类型为“W/U”,“A/N”,或者“R”类型的报文,则该报文的MIN即为该报文元素的回应下行报文的MRN(Message Reference Number)。b) 如果接收到的报文的MIN号与某一挂起未处理的报文的MIN号相同,则CPDLC系统就发送一个带有参数为duplicateMsgIdentificationNumber的Errorerrorinformation报文元素的报文,并抛弃该接收报文。c) 系统为每个CPDLC报文分配

43、一个MIN。d) 每个待分配的MIN应该与当前挂起报文的MIN都不相同。e) 如果对报文没有可用于分配的MIN,ATCComm就向当前所有链接发送一个“Disconnect Request”报文,该报文中应包含一个带有参数为noAvailaleMsgIdentificationNumber的Errorerrorinformation报文元素。f) 如果ATCCOmm当前不存在链接,或所有链接都已经断开,则所有的MIN都可用。g) 如果一个挂起的报文被删除,则按照规定,该报文的MIN不能被重用,因为删除挂起报文是一个本地事件,而对等的CPDLC应用系统中仍然保存有该挂起报文的信息,包括MIN号。

44、2)报文参考号MRN(Message Reference Number)报文参考号是CPDLC报文当中的可选内容,如果系统接收到报文的回复属性要求系统进行回复,则该回复报文就应该带有报文参考号MRN,关于报文参考号MRN的操作需满足如下规定:a) 对所有ATCComm发送的包含WILCO、UNABLE、STANDBY、ROGER、AFFIRM或者NEGATIVE等报文元素的报文都需要报文参考号MRN,并且MRN应该与相应的上行报文的MIN号相同。b) 如果收到的报文的MRN不等于当前某一挂起报文的MIN号,则CPDLC系统就发送一个带有参数为unrecognizedMsgReferenceNu

45、mber的Errorerrorinformation报文元素的报文,并抛弃该接收报文。当前管制单位CDA为所有带有Y回复属性的报文提供最终的回复,上行报文的最终回复应该包含有正确的MRN。2. CPDLC报体CPDLC报文主体紧跟在CPDLC报头之后,由一个或多个报文元素组成。 管制员飞行员数据链通信系统对报文元素的处理遵守如下规定:1)如果接收到的报文当中存在与规定的元素号不同的元素,则机载ATCComm系统就发送一个带有参数为invalidData的Errorerrorinformation报文元素的报文,并抛弃当前接收到的报文。2)如果接收到的报文当中包含五个以上的报文元素,则机载ATC

46、Comm系统就发送一个带有参数为unexpectedData的Errorerrorinformation报文元素的报文,并抛弃当前接收到的报文。3)地面管制单位与ATCComm系统不能发送缺少必要数据模块的报文。3.3 CPDLC通信的管制移交与现代话音通信管制相同,CPDLC数据链通信管制服务同样具有管制移交功能的需求。与话音管制移交方式不同的是,由于在CPDLC数据链通信系统当中,空地之间的链接是由地面管制单位发起的,而且同一时间只能有一个地面管制单位同飞机之间建立正常的CPDLC通信链接,这就决定了CPDLC的管制移交是一个相当复杂的过程。下图3-2给出了当前管制单位CDA将飞机管制服务

47、移交给下一管制单位NDA的过程示意图:图3-2 管制移交程序上图3-2中机载ATCComm与直面管制单位之间的每一个箭头表示两者之间进行的一次通信,如图所示的CPDLC管制移交过程包括了下一管制单位NDA的指定、飞机与NDA之间CPDLC连接的建立以及CDA与飞机的CPDLC链接断开等几个部分,每一部分的操作都依靠一系列报文操作来完成,上图给出的管制移交过程需要经历至少11次报文传送。下表3-6中给出了CPDLC管制移交过程当中所需的报文:顺序报文作用1Next Data AuthorityATS2ATS1向飞机指定NDA为ATS22AFN Contract AdversaryATS1要求飞机

48、向ATS2进行AFN登陆3AFN Response飞机表示接到指令4AFN Contract飞机向ATS2请求AFN登陆5AFN AcknowledgementATS2与飞机之间建立链接6AFN Complete飞机通知ATS1飞机与ATS2的链接已成功建立7CR1ATS2向飞机发送CPDLC登陆请求8CC1飞机与ATS2建立CPDLC链接9Monitor+End ServiceATS1发送了包含结束通信的多元素报文10WILCO飞机对挂起报文的最终回复11DR1飞机与ATS1断开链接,ATS2成为CDA3.4 本章小结本章究详细的,并对诸如管制移交等具体的CPDLC通信过程进行了分析。对实现

49、CPDLC通信系主要对CPDLC MOPS协议,即RTCA DO-219当中对地空双向数据链通信系统的规范做了较为介绍,对CPDLC通信链接的初始化、CPDLC报文的组成结构、格式、属性等内容做了深入细致的研统的建立有了进一步的了解,方便之后对整个系统进行仿真和分析。第4章 CPDLC数据链协议的仿真实现第4章 CPDLC数据链协议的仿真实现本章我们将利用计算机仿真模拟CPDLC空地双向数据链的通信,为模拟实现真正的通信进程,必须借助仿真软件分别模拟飞机ATCComm系统与地面管制单位,因此我们在此选用基于Visual C+的Socket套接字来实现仿真模拟,选取Visual C+ 6.0作为

50、仿真平台。4.1 CPDLC协议仿真平台简介通过应用socket套接字程序,用客户端来模拟飞机,服务器端模拟地面站。通过对socket的服务器与客户端程序的编写,实现socket服务器和客户端之间的连接,并且发送和接收信息。在对服务器与客户端程序的编写完成后,进行socket程序在本机上的连接,使得两个端口连接,以实现socket 套接字的通信。从而可以实现地面站与飞行员的通信过程。4.1.1 Visual C+ 6.0仿真平台简介 VC+是Visual C+的简称,由一款由微软开发的C+开发工具,是一个包含了编译器、调试器和编辑器的集成开发环境。自2002年微软发布Visual Studio

51、.NET,建立基于.NET框架的代码托管机制以来,一个项目可以支持多种开发语言的组件,VC+同样被扩展为支持代码托管机制的开发环境,所以之后,微软不再提供VC+的独立安装程序,逐步推出了VS2003、VS2005和VS2010等集成开发工具包。VC+ 6.0作为最稳定的VS开发平台,拥有更加强大的功能,类库和开发技术都非常完善,人机交互界面也更加友好便捷,因此在此次CPDLC仿真中我们选取VC+ 6.0作为仿真平台。4.1.2 Socket概述在UNIX系统当中,主要包含两类网络应用编程界面:UNIX BSD的套接字,即Socket与UNIX system V的TLI,后由于Sun公司采用了支

52、持TCP/IP协议的UNIX BSD操作系统,从而使得基于TCP/IP协议的应用得到了巨大的发展,其网络应用编程界面Socket套接字在网络当中也得到了广泛的应用,至今,Socket套接字已经被引入微机操作系统Windows当中,成为开发网络应用程序的有力工具。Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket。网络编程中的Socket数据传输其实是一种特殊的I/O,Socket也可以被理解为一种文件描述符,它具有一个创建套接字的函

53、数调用socket(),该函数返回一个整型的Socket描述符,即Socket套接字号,随后的连接建立、数据传输等操作都可以通过bind()、connect()、accept()、send()、recv() 等函数调用来实现。在TCP/IP网络应用当中,进行通信的两个进程之间相互作用的主要模式是客户/服务器模式(Client/Server model),即客户向服务器发出服务请求,服务器接收到请求之后,向客户端提供相应的服务。客户/服务器模式在操作过程当中采取主动请求的方式,即服务器方要首先启动,并执行如下操作:1. 打开通信通道并告知本地主机,声明其愿意在某一公关地址(周知口)上接收客户请求

54、。2. 等待客户请求到达该端口。3. 接收到重复服务请求,处理该请求并发送应答信号。服务完成之后,关闭此新进程与客户之间的通信链路。4. 返回第二部,重新等待客户的请求。5. 关闭服务器。 客户方进程则完成以下操作:1. 打开通信信道,连接到服务器所在主机的特定端口。2. 向服务器发送服务请求报文,等到并接收应答信号;继续提出请求3. 请求结束后关闭通信信道,并终止。综上,我们可以看出服务器与客户进程的作用是非对等的,服务进程一般是先于客户请求启动的,只要系统运行,该服务进程一直存在,直到正常或强迫终止。在此,我们使用Socket Server和Socket Client分别完成服务器和客户端

55、进程的仿真。下图为TCP/IP协议核心与应用程序之间的关系图:图4-1 TCP/IP协议核心与应用程序关系图4.2 CPDLC通信协议的仿真实现4.2.1 通信连接的建立Socket套接字系统又分为面向连接和无连接两种通信模式,由于我们模拟的地空通信传输的数据当中是不携带地址信息的,因此我们在此需要建立的是面向连接的套接字服务,即在每一次传输报文数据之前都需要建立连接。根据CPDLC通信协议的规定,一架飞机同时只能与一个地面管制单位进行通信,并且是由地面管制单位向飞机发出请求连接的报文,因此我们这里设置飞机为服务器端,地面管制塔台为客户端。因为本次试验建模仅包含一个客户端和一个服务器端,因此我

56、们不考虑飞机当前已经存在连接的情况。仿真开始之后,首先地面管制单位显示是否与指定航班进行连接的建立,此时飞机端显示尚无管制塔台发出连接请求。如下图4-2所示:之后管制单位输入指令,确定向指定航班发送连接请求,飞机收到请求连接的报文之后,显示询问是否与该地面管制单位建立连接,如果输入确认指令“Confirm”,则飞机向塔台发送同意建立连接的报文,如果飞机一端输入不同意连接的指令“Disconnect”,则飞机向塔台发送不建立连接的报文,并断开该链接。我们在此输入确认连接的指令“Confirm”,飞机将显示“已经成功向地面管制单位发送回应信息,等待对方应答。”地面管制单位则显示“该航班已同意建立连接,可以开始传输管制指令。”具体如下图4-4所示的信息:4.2.2 管制指令的通信实现随后我们就可以开始让地面管制单位向飞机发送管制指令,即模仿双方之间的地空双向数据链通信,作为完善的CPDLC平台,管制员和飞

温馨提示

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

评论

0/150

提交评论