CPDLC协议的研究与实现 - 图文

更新时间:2024-01-17 14:33:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科毕业设计(论文)

应用程序1应用程序2网络应用程序界面(SOOCKET)TCP/IP核心协议物理介质

CPDLC协议的研究与实现

学生姓名: 韩 钦 专 业: 通信工程 学 号: 101041407 指导教师: 岳 猛 所属学院: 电子信息工程学院

二〇一四年六月

中国民航大学

本科毕业设计(论文)

CPDLC协议的研究与实现

Research and Implementation of the

CPDLC Protocol

学生姓名:韩钦 专 业:通信工程 学 号:101041407 指导教师:岳 猛

学 院:电子信息工程学院

2014年6月

中国民航大学本科毕业论文

创见性声明

本人声明:所呈交的毕业论文是本人在指导教师的指导下进行

的工作和取得的成果,论文中所引用的他人已经发表或撰写过的研究成果,均加以特别标注并在此表示致谢。与我一同工作的同志对本论文所做的任何贡献也已在论文中作了明确的说明并表示谢意。

毕业论文作者签名: 签字日期: 年 月 日

本毕业设计(论文)作者完全了解中国民航大学有关保留、使用毕业设计(论文)的规定。特授权中国民航大学可以将毕业设计(论文)的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交毕业设计(论文)的复印件和磁盘。

(保密的毕业论文在解密后适用本授权说明)

毕业论文作者签名: 指导教师签名:

签字日期: 年 月 日 签字日期: 年 月 日

本科毕业设计(论文)版权使用授权书

中国民航大学本科毕业论文

摘 要

近年来随着世界范围内民航业务的迅猛增长,原有的航空通信体系结构已经不能满足目前民航通信发展的需要。空管员飞行员数据链通信(Controller Pilot data Link Communications,CPDLC)是当前国际上航空系统普遍使用的空地通信数据链之一。管制员飞行员数据链通信(Controller Pilot Data Link Communication)是管制员与飞行员之间利用数据通信代替话音通信的新型ATC通信方式,它使用地空双向数据链(TWDL)为管制员和飞行员提供数据通信,CPDLC具有国际规范的数据格式,可以提供包括标准的放行、期望放行、申请和报告等在内的全部管制指令。更为重要的是,CPDLC有效地克服了很多话音通信中存在的问题和缺陷,让通信具有较强的抗干扰能力,很大程度上解决了信号失真的问题。

本文首先介绍了飞行员空管员数据通信链路(CPDLC)系统背景及国内外发展现状。其次研究了CPDLC协议和通信过程,按照系统结构的划分,从模块化功能,管制通信实现原理,数据结构封装及编码,报文的组成结构、生成以及报文元素的优先级等多个方面对CPDLC协议进行了全面、详细的阐述。在理论基础上,使用VC++的Socket套接字进行编程模拟,实现空管站与飞行员通信过程,并对报文进行封装和解析。

关键词:空管员工作站;CPDLC协议;空中交通管制通信系统;空地通信报文;

I

第1章 绪论

第2章 从通信系统的结构划分角度对CPDLC通信协议进行了详细地阐述和说明。

第3章 对RTCA DO-219标准规范文件进行了深入地讲解和分析,从数据结构封装及编码,报文的组成结构、生成以及报文元素的优先级等多个方面对CPDLC协议进行了全面、详细的阐述。

第4章 在基于C语言的Socket套接字实验环境中对CPDLC协议进行了仿真模拟,真实地模拟了飞机和地面管制单位之间通过CPDLC协议进行管制数据及指令的传输和通信,以最为直观、具体的方式展示了CPDLC管制通信的原理和特点。

第5章 对本次毕业设计当中的不足进行了总结和分析,并对下一阶段的研究重点做出了计划和展望。

3

中国民航大学本科毕业论文

第2章CPDLC通信系统的结构基础

要成功实现CPDLC通信,至少应包含三部分结构基础,分别是机载的CPDLC系统、地空数据链网络以及具有CPDLC报文解析能力的地面工作站或管制塔台。我们通常将机载的CPDLC系统简称为ATCComm,它泛指飞机上安装的用于与地面进行TWDL通信所需的包括软件系统在内的所有组件和单元。与ATCComm相对应,地面工作站或管制塔台就是CPDLC的地面对等实体,ATCComm与地面塔台等CPDLC应用实体通过ATN或ACARS等地空网络系统来实现建立、管理和终止CPDLC连接的能力。

2.1 ATCComm

ATCComm是管制员飞行员数据链通信的机载终端设备,它包含了使飞行器支持地空双向数据链通信所需的一切器件、单元、软件等设施设备。

ATCComm为飞行器提供通过ATN与地面空管单位建立、管理和终止链接的能力,一但一个正常的地空双向数据链建立成功,ATCComm就能为飞行员提供与管制员交换信息的能力。每当接收到一个信息,ATCComm会将数据块进行解码,并对报文的紧急程度、飞行员告警需求以及飞行员回应需求做出判断。之后,做出的上述判断会直接指导ATCComm开始处理飞行员告警、报文显示和回复等一系列操作。ATCComm同样具有将飞行员报文进行编码并发送给地面管制单位的能力。

作为ATN网络的终端应用,CPDLC层次结构的划分以及每一层协议的规范如下图2-1所示。

图2-1 CPDLC层次结构示意图

4

第2章 CPDLC通信系统结构基础

2.2 ACARS网络

CPDLC作为未来航行系统FANS中的一种重要应用,在设计之初,必须建立在航空电信网ATN的基础之上,尽管世界上所有国家都在积极地向ATN过渡,但到目前为止,还没有一个国家或区域性组织有能力建设一个真正健全的ATN系统。以我国为例,当前我国的地空数据链系统是由美国ARINC公司开发的基于VHF的ACARS数据通信系统,因此,本论文将基于ACARS系统对CPDLC协议进行研究和实现。

ACARS(Aircraft communication addressing reporting system)即飞机通信寻址与报告系统。迄今为止,ACARS系统已经使用了20多年,ACARS原先仅用于当飞机推出登机门、起飞、着陆、停靠登机门时向航空公司签派部门报告,当签派部门与飞机维护和机组管理部门综合在一起时,这个能力得到扩展。随后,ARINC 620协议定义了ACARS系统的处理和运行规范,协议规定ACARS是面向字符的数据协议,也就是说在传输用户数据的过程中,只有大写字母、数字和少量字符可以作为有效字符。ACARS下行链路的报头信息由数据服务提供者提供解析,根据此信息,计算机和用户数据得到处理并通过地面网络按照要求进行传送。同样,从地面用户到数据服务提供者计算机的信息则通过ACARS系统传送到飞机上。每一个ACARS数据块由在陆地发信端进行块序列检测的计算机来保证发送信息的完好性,并在收信端完成重新计算,一个信息可由一个或多个数据块组成,每一个数据块可多达220个字节,信息多于一个块长度的就称为多块信息。

ACARS包含三种报文类型,分别是空中交通管制ATC、航空运行控制AOC和航线管理控制AAC。ATC报文是由ARINC 623规范定义的,主要用于机组请求放行,由地面人员进行放行。AOC及AAC报文用于飞机和基站之间进行通信,这些报文或者由用户定义,或者由ARINC 618/633规范定义,不同类型的报文可能包含诸如油耗、引擎性能数据和飞机位置等自由文本信息。

ACARS数据链系统主要由以下三部分组成:

1. 机载设备:主要包含一个ACARS通信管理单元CMU,一方面与标准VHF收、发信机相连,另一方面与机载的其他数字终端设备相连,主要完成数据采集、报文形成、调制解调、模式转化、话音/数字信道切换和频率管理等功能,ARINC 758协议对CMU进行了规范和定义。CMU其实相当于一个路由器,大多说情况下CMU也作为AOC报文的终端使用。ACARS机载设备还包含一个终端,它是下传和上传ACARS消息的起点和终点。

2. 数据链服务提供商:数据链服务提供商(DSP)负责在空地之间进行消息分发,它相当于一个中央交换系统,通过网控及处理中心来实现空地终端之间的自动数据通信,DSP采用中央集成处理的方式,通过地面站网络将ACARS报文路由到合适的终

5

中国民航大学本科毕业论文

端设备上。

3. 地基系统:主要是指与机载ACARS设备相对应得甚高频远端地面站(RGS),RGS包括VHF天线、收发信机和一个数据控制与接口单元(DCIU)。地基系统是上传数据的起始地和下传数据的目的地,通常属于政府部门或航空公司管辖。

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

2.3 地面管制单位

地面管制单位就是与ATCComm对应的CPDLC地面对等实体,它必须具有编译、发送、接收和解析CPDLC报文的能力。

与ADS等其他ATN应用不同,考虑到空中交通管制高安全性的要求,一个飞机在同一时间只能和一个地面管制单位进行CPDLC通信,也就是说在任意时刻只有一个地面管制单位能够对飞机进行管制,我们称这个管制单位为当前管制单位CDA(Current Data Authority),飞机将要进入的下一个管制区的管制单位为下一管制单位NDA(Next Data Authority)。

6

第3章 CPDLC空地双向数据链协议研究

第3章 CPDLC空地双向数据链协议研究

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

3.1 连接管理

3.1.1 链接的建立

CPDLC链接的建立通常由地面管制单位发起,地面管制单位向某个待管制的飞机发送链接请求,由于安全需求的限制,某一飞行器同一时刻只能与一个地面管制单位建立CPDLC链接,因此根据ATCComm系统当前已建立链接数的不同,CPDLC链接的初始化包含以下几种情况。

1.ATCComm当前无链接

如果机载ATCComm系统当前即没有已经建立的CPDLC链接,也没有正在建立的CPDCL链接,而此时飞机接收到一个地面管制单位发出的“Connection Request”报文,则ATCComm系统将进行如下操作:

1)如果该“Connection Request”报文的格式不合法,则发送“Disconnect Request”报并抛弃该用户数据。“Disconnect Request”报中应该包含正确信息的ERROR[errorinformation]报文元素。发送该“Disconnect Request”报文之后,ATCComm停止操作。

2)如果接收到的“Connection Request”报文格式合法,则ATCComm将发送一个只包含[versionnumber]报文元素的“Connection Confirm”报文给地面管制单位。自此,CPDLC链接成功建立,接收到该“Connection Confirm”报文的地面管制单位即为当前管制单位CDA。之后,CDA与飞行器之间就可以进行正常的报文通信了。

2. ATCComm当前存在一个链接

如果机载ATCComm系统当前已经存在一个链接,或正在建立一个链接,此时接收到某一地面管制单位发出的“Connection Request”报文,则ATCComm系统将进行如下操作:

7

中国民航大学本科毕业论文

1)如果Connection Request报文的格式不合法,则ATCComm向地面管制单位发送“Disconnect Request”报并抛弃用户数据,“Disconnect Request”中应该包含带有正确信息的ERROR[errorinformation]报文元素,之后,ATCComm停止采取任何行动。

2)如果“Connection Request”报文格式合法,但报文中指定的地面管制单位与机载数据库中的下一管制单位NDA不相符,则ATCComm发送“Disconnect Request”报并抛弃用户数据,“Disconnect Request”报文中要包含[icaofacilitydesignation]报文元素来指明当前管制单位。

3)如果“Connection Request”报文格式合法,并且报文中指定的管制单位与机载数据库中的下一管制单位NDA相符,则ATCComm按如下顺序工作:

a) 向该管制单位发送一个只包含[versionnumber]报文元素的“Connection Confirm”报文。

b) 每次从这个链接接收到报文时就发送一个带有Not Current Data Authority报文元素的报文,并抛弃接收到的报文。

此时,第二个链接,即飞机与NDA之间的链接就建立起来了,该链接不能进行普通的报文传送,因为机载ATCComm系统将所有NDA发来的报文都忽略了。

3. ATCComm当前存在两个链接

如果机载ATCCOmm系统当前已经存在或正在建立两个链接,此时收到

地面管制单位发出的“Connection Request”报,则ATCComm向地面发送

“Disconnect Request”报文并抛弃该管制单位发来的所有用户数据,该“Disconnect Request”报文汇总要包含指明CDA的[icaofacilitydesignation]报文元素。 3.1.2 链接的终止

通常情况下,CPDLC链接的终止是由当前地面管制单位CDA发起的,当前地面管制单位在发送END SERVICE报文之前,应该处理完全部挂起的上行报文,CDA发送带有“End Service”报文元素的报文,ATCComm在接收到该报文之后,根据通信情况采取相应的行动来断开连接。特殊情况发生时,机载CPDLC系统也可以主动终止与地面系统之间的链接,ATCComm向所有的链接发送“Disconnect Request”报,报文内容中表明该链接是被强制终止的。

“End Service”可以自己组成单元素报文,也可以和其他元素一起组成多元素报文,ATCComm系统对于单元素报文和多元素报文的反应如下: 1. 单报文元素报文

如果接收到的报文中只含有一个End Service报文元素,ATCComm执行如下操作:

8

第3章 CPDLC空地双向数据链协议研究

如果机载系统当中存在未处理的挂起上行报文,则向地面管制系统发送“Disconnect Request”报,其中包含一个带有[endServiceWithPendingMsgs]值的ERROR[errorinformation]元素的报文,地面管制单位在收到这个错误信息之后对地面CPDLC系统进行检查,看是否存在未处理的挂起报文。

如果机载系统当中不存在未处理的挂起上行报文,则: 1.向CDA发送一个“Disconnect Request”报文。

2.如果ATCComm除了当前CDA之外还存在其他的链接,即存在下一管制单位NDA链接,则NDA自动变成当前管制单位CDA。 2. 多报文元素报文

如果地面管制单位向飞行器发出的报文中除了End Service报文元素之外还存在着其他的报文元素,则ATCCOmm执行如下操作:

如果End Service是多报文元素当中的一个元素,而WILCO回复不是这个报文的有效响应,则ATCComm向所有链接发送“Disconnect Request”报文并抛弃该报文,“Disconnect Request”报文中包含一个带有值为

[endServiceWithNoValidResponse]的错误信息。如果WILCO报文是该报文的有效响应,ATCComm会将该报文作为一个单元素报文进行处理,它将正常工作直到生成一个该报文的WILCO回复。带有WILCO回复的报文被下发给当前地面管制单位CDA,然后该链接将被终止。如果飞行器存在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通过规定报文属性来区分如何对多种报文元素进行操作,每一种报文元素都有优先级、告警、回复等属性。CPDLC报文属性规范如下:

1. 优先级属性Urg 类型 D U 描述 遇险 紧急 9

优先级 1 2 中国民航大学本科毕业论文

N L 正常 低 表3-1

3 4 当接收到的报文在队列中等待显示时,拥有较高优先级的报文将被置于显示队列的前端,当优先级相同时,则按照接收到的时间进行排序。

2. 告警属性Alr 类型 A/D A V N 描述 特殊听觉、视觉的告警 一般听觉、视觉的告警 二级视觉、听觉告警 无告警需求 表3-2

优先级 1 2 3 4 3. 回复属性Resp

上行报文元素回复属性(Up Link) 类型 W/U A/N R NE 描述 以WILCO、UNABLE、STANDBY回复 以AFIRM、NEGATIVE、STANDBY回复 以ROGER、STANDBY回复 不能以WILCO、UNABLE、AFFIRM、 NEGATIVE、ROGER、STANDBY回复 表3-3

优先级 1 2 3 4 地面站发送的上行报文元素的属性包括W/U、A/N、R和NE。如果报文元素的属性为W/U,ATCComm对该报文的回复必须是肯定答复WILCO、否定答复UNABLE和待命STANDBY三种答复当中的一种。

下行报文元素回复属性(Down Link) 类型 Y N 4. 回查属性

Recall属性(上行报文) 类型 VC RC EC

描述 需要回复 无需回复 表3-4 优先级 1 2 描述 高度间隔信息 航路间隔信息 预期航路间隔/高度信息 10

优先级 1 2 3 第3章 CPDLC空地双向数据链协议研究

表3-5

3.2.2 报文结构的组成

CPDCL报文包括报头和报体两部分,报头包括MIN、MRN以及时间步进三部分。报头之后紧跟报文主体,报文主体由一个或多个报文元素组成。CPDLC报文的具体组成如下图3-1所示:

CPDLC报文 图3-1 CPDLC报文组成结构

报头 MIN MRN Time Stamp 小时 分钟 秒 报文元素 报文元素号 上行:182种 下行:80种 报文元素内容 图中虚线部分表示该部分内容是可选内容,具体的CPDLC报文当中是否包含该部分内容要视具体情况而定,每个可选部分是否出现由报头当中对应的标识位体现,如果标识位为1则表示报文当中包含相应内容,如果标志位为0则表示具体的报文当中不包含该部分内容。 1.CPDLC报头

CPDLC报头主要包括MIN、MRN以及时间步进三个部分。 1) 报文标识号MIN(Message Identification Number) 报文标识号的生成和管理规则如下:

11

中国民航大学本科毕业论文

a) 如果收到一个回复类型为“W/U”,“A/N”,或者“R”类型的报文,则该报文的MIN即为该报文元素的回应下行报文的MRN(Message Reference Number)。

b) 如果接收到的报文的MIN号与某一挂起未处理的报文的MIN号相同,则CPDLC系统就发送一个带有参数为[duplicateMsgIdentificationNumber]的Error[errorinformation]报文元素的报文,并抛弃该接收报文。 c) 系统为每个CPDLC报文分配一个MIN。

d) 每个待分配的MIN应该与当前挂起报文的MIN都不相同。

e) 如果对报文没有可用于分配的MIN,ATCComm就向当前所有链接发送一个“Disconnect Request”报文,该报文中应包含一个带有参数为

[noAvailaleMsgIdentificationNumber]的Error[errorinformation]报文元素。 f) 如果ATCCOmm当前不存在链接,或所有链接都已经断开,则所有的MIN都可用。

g) 如果一个挂起的报文被删除,则按照规定,该报文的MIN不能被重用,因为删除挂起报文是一个本地事件,而对等的CPDLC应用系统中仍然保存有该挂起报文的信息,包括MIN号。

2)报文参考号MRN(Message Reference Number)

报文参考号是CPDLC报文当中的可选内容,如果系统接收到报文的回复属性要求系统进行回复,则该回复报文就应该带有报文参考号MRN,关于报文参考号MRN的操作需满足如下规定:

a) 对所有ATCComm发送的包含WILCO、UNABLE、STANDBY、ROGER、AFFIRM或者NEGATIVE等报文元素的报文都需要报文参考号MRN,并且MRN应该与相应的上行报文的MIN号相同。

b) 如果收到的报文的MRN不等于当前某一挂起报文的MIN号,则CPDLC系统就发送一个带有参数为[unrecognizedMsgReferenceNumber]的Error[errorinformation]报文元素的报文,并抛弃该接收报文。当前管制单位CDA为所有带有Y回复属性的报文提供最终的回复,上行报文的最终回复应该包含有正确的MRN。

2. CPDLC报体

CPDLC报文主体紧跟在CPDLC报头之后,由一个或多个报文元素组成。

管制员飞行员数据链通信系统对报文元素的处理遵守如下规定:

1)如果接收到的报文当中存在与规定的元素号不同的元素,则机载ATCComm系统就发送一个带有参数为[invalidData]的Error[errorinformation]报文元素的报文,并抛弃当前接收到的报文。

12

第3章 CPDLC空地双向数据链协议研究

2)如果接收到的报文当中包含五个以上的报文元素,则机载ATCComm系统就发送一个带有参数为[unexpectedData]的Error[errorinformation]报文元素的报文,并抛弃当前接收到的报文。

3)地面管制单位与ATCComm系统不能发送缺少必要数据模块的报文。

3.3 CPDLC通信的管制移交

与现代话音通信管制相同,CPDLC数据链通信管制服务同样具有管制移交功能的需求。与话音管制移交方式不同的是,由于在CPDLC数据链通信系统当中,空地之间的链接是由地面管制单位发起的,而且同一时间只能有一个地面管制单位同飞机之间建立正常的CPDLC通信链接,这就决定了CPDLC的管制移交是一个相当复杂的过程。

下图3-2给出了当前管制单位CDA将飞机管制服务移交给下一管制单位NDA的过程示意图:

图3-2 管制移交程序

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

下表3-6中给出了CPDLC管制移交过程当中所需的报文:

13

中国民航大学本科毕业论文

顺序 1 2 3 4 5 6 7 8 9 10 11

报文 Next Data Authority[ATS2] AFN Contract Adversary AFN Response AFN Contract AFN Acknowledgement AFN Complete CR1 CC1 Monitor+End Service WILCO DR1 作用 ATS1向飞机指定NDA为ATS2 ATS1要求飞机向ATS2进行AFN登陆 飞机表示接到指令 飞机向ATS2请求AFN登陆 ATS2与飞机之间建立链接 飞机通知ATS1飞机与ATS2的链接已成功建立 ATS2向飞机发送CPDLC登陆请求 飞机与ATS2建立CPDLC链接 ATS1发送了包含结束通信的多元素报文 飞机对挂起报文的最终回复 飞机与ATS1断开链接,ATS2成为CDA 3.4 本章小结

本章究详细的,并对诸如管制移交等具体的CPDLC通信过程进行了分析。对实现CPDLC通信系主要对CPDLC MOPS协议,即RTCA DO-219当中对地空双向数据链通信系统的规范做了较为介绍,对CPDLC通信链接的初始化、CPDLC报文的组成结构、格式、属性等内容做了深入细致的研统的建立有了进一步的了解,方便之后对整个系统进行仿真和分析。

14

第4章 CPDLC数据链协议的仿真实现

第4章 CPDLC数据链协议的仿真实现

本章我们将利用计算机仿真模拟CPDLC空地双向数据链的通信,为模拟实现真正的通信进程,必须借助仿真软件分别模拟飞机ATCComm系统与地面管制单位,因此我们在此选用基于Visual C++的Socket套接字来实现仿真模拟,选取Visual C++ 6.0作为仿真平台。

4.1 CPDLC协议仿真平台简介

通过应用socket套接字程序,用客户端来模拟飞机,服务器端模拟地面站。通过对socket的服务器与客户端程序的编写,实现socket服务器和客户端之间的连接,并且发送和接收信息。在对服务器与客户端程序的编写完成后,进行socket程序在本机上的连接,使得两个端口连接,以实现socket 套接字的通信。从而可以实现地面站与飞行员的通信过程。 4.1.1 Visual C++ 6.0仿真平台简介

VC++是Visual C++的简称,由一款由微软开发的C++开发工具,是一个包含了编译器、调试器和编辑器的集成开发环境。自2002年微软发布Visual Studio.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公司采用了支持TCP/IP协议的UNIX BSD操作系统,从而使得基于TCP/IP协议的应用得到了巨大的发展,其网络应用编程界面Socket套接字在网络当中也得到了广泛的应用,至今,Socket套接字已经被引入微机操作系统Windows当中,成为开发网络应用程序的有力工具。Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。

Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix

15

中国民航大学本科毕业论文

系统的输入和输出的话,就很容易了解Socket。网络编程中的Socket数据传输其实是一种特殊的I/O,Socket也可以被理解为一种文件描述符,它具有一个创建套接字的函数调用socket(),该函数返回一个整型的Socket描述符,即Socket套接字号,随后的连接建立、数据传输等操作都可以通过bind()、connect()、accept()、send()、recv() 等函数调用来实现。

在TCP/IP网络应用当中,进行通信的两个进程之间相互作用的主要模式是客户/服务器模式(Client/Server model),即客户向服务器发出服务请求,服务器接收到请求之后,向客户端提供相应的服务。客户/服务器模式在操作过程当中采取主动请求的方式,即服务器方要首先启动,并执行如下操作:

1. 打开通信通道并告知本地主机,声明其愿意在某一公关地址(周知口)上接收客户请求。

2. 等待客户请求到达该端口。

3. 接收到重复服务请求,处理该请求并发送应答信号。服务完成之后,关闭此新进程与客户之间的通信链路。

4. 返回第二部,重新等待客户的请求。 5. 关闭服务器。

客户方进程则完成以下操作:

1. 打开通信信道,连接到服务器所在主机的特定端口。

2. 向服务器发送服务请求报文,等到并接收应答信号;继续提出请求…… 3. 请求结束后关闭通信信道,并终止。

综上,我们可以看出服务器与客户进程的作用是非对等的,服务进程一般是先于客户请求启动的,只要系统运行,该服务进程一直存在,直到正常或强迫终止。

在此,我们使用Socket Server和Socket Client分别完成服务器和客户端进程的仿真。下图为TCP/IP协议核心与应用程序之间的关系图:

应用程序1应用程序2网络应用程序界面(SOOCKET)TCP/IP核心协议物理介质

16

第4章 CPDLC数据链协议的仿真实现 图4-1 TCP/IP协议核心与应用程序关系图

4.2 CPDLC通信协议的仿真实现

4.2.1 通信连接的建立

Socket套接字系统又分为面向连接和无连接两种通信模式,由于我们模拟的地空通信传输的数据当中是不携带地址信息的,因此我们在此需要建立的是面向连接的套接字服务,即在每一次传输报文数据之前都需要建立连接。

根据CPDLC通信协议的规定,一架飞机同时只能与一个地面管制单位进行通信,并且是由地面管制单位向飞机发出请求连接的报文,因此我们这里设置飞机为服务器端,地面管制塔台为客户端。因为本次试验建模仅包含一个客户端和一个服务器端,因此我们不考虑飞机当前已经存在连接的情况。

仿真开始之后,首先地面管制单位显示是否与指定航班进行连接的建立,此时飞机端显示尚无管制塔台发出连接请求。如下图4-2所示:

之后管制单位输入指令,确定向指定航班发送连接请求,飞机收到请求连接的报文之后,显示询问是否与该地面管制单位建立连接,如果输入确认指令“Confirm”,则飞机向塔台发送同意建立连接的报文,如果飞机一端输入不同意连接的指令“Disconnect”,则飞机向塔台发送不建立连接的报文,并断开该链接。

17

中国民航大学本科毕业论文

第五章 总结与展望

本文对CPDLC通信协议的通信原理、报文格式、优先级等要素进行了研究和分析,并通过基于C语言的Socket套接字环境对实际的通信过程进行了仿真模拟,通过详细的描述以及具体图例使CPDLC通信协议的报文格式以及编码方法得以更加直观的体现。

由于时间和研究能力的限制,以及对CPDLC协议的相关资料的缺乏,对于CPDLC通信协议具体内容的了解还不够细致全面。另一方面,缺少一个管制员飞行员进行管制通信的操作界面,使得模拟的过程操作较为繁琐,操作不够简便和人性化,这将是我在下一阶段进行研究的主要方向和重点。

28

参考文献

参考文献

29

中国民航大学本科毕业论文

致 谢

本文是在岳猛老师的指导下完成的,不论在论文的选题、立意及方案的研究,还是在论文的撰写过程中,老师都倾注了大量的心血。在此期间遇到了一些困难,但岳老师始终本着极其认真负责、细心教导的态度,将最详实的信息传达给我。论文的顺利完成,也得益于老师的合理和周密的安排。导师严谨的治学态度,渊博的学识、崇高的敬业精神使我受益匪浅。四年的大学生活,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。对老师在学习和生活上所给予的热情关心和帮助,在此我向他表示最衷心的感谢!

同时,从开始进入课题到论文的顺利完成,我得到了学姐、同学、朋友的鼓励与帮助,我也向他们表示感谢!

感谢评阅本文并提出宝贵意见的所有老师!

30

附录A:程序清单

附录A:程序清单

刻在光盘里,不装订

31

中国民航大学本科毕业论文

附录B:外文翻译资料

Article Source:ARINC 622-2008,

CPDLC 文翻译资料译文部分

文章出处:ARINC 631-5-2008, 2008,26-31 .

CPDLC

32

附件四

中国民航大学毕业设计(论文)评阅教师评阅表

课题名称 学生姓名 CPDLC协议的研究与实现 韩钦 专 业 评 价 内 容 毕业设计(论文)文稿规范性,主要包括:摘要、正文、参考文献等(满分20) 毕业设计(论文)质量,主要包括:问题综述、基毕业设计(论文) 本概念及问题分析、解决问题的基本方法步骤和设计方案及实现、总结等(满分50) 符合专业培养目标,工作量饱满,具有一定的难度(满分20) 对前人工作有改进或突破,或有独特见解 (满分10分) 总 分 评阅教师签字: 年 月 日

38

评阅教师 通信工程 评 分

附件五

中国民航大学毕业设计(论文)答辩评语及成绩评定表

课题名称 学生姓名 答辩小组成员 评价内容 具体要求 思路清晰;概念清楚,语言表达准论文内容 确。论点正确;方法科学,分析归纳合理;结构严谨;有应用价值。 创 新 答 辩 对前人工作有改进或突破,或有独特见解。 回答问题有理论依据,基本概念清楚,主要问题回答准确。 总 分 组长签字: 答辩成员签字: 年 月 日 指导教师评分(30%) 是否推荐校级优秀 评阅教师评分(20%) □是 是否推荐市级□否 优秀 答辩小组评分(50%) □是 是否推荐优秀□否 工程设计作品 成绩(五分制) □是 □否 10 40 50 韩钦 CPDLC协议的研究与实现 专业 通信工程 满分 评分 学号 101041407 注:1.毕业设计(论文)的成绩应由答辩小组根据指导教师评定成绩(30%)、论文评阅成

绩(20%)和答辩成绩(50%)综合评定。

2.五分制与百分制对照:优(100-90);良(89-80);中 (79-70);及格(69-60);

不及格(59以下)。

3.校级优秀推荐比率5%,市级优秀推荐比率1%,理工科优秀工程设计作品推荐比率7%

39

本文来源:https://www.bwwdw.com/article/3svo.html

Top