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

2019-08-31 11:01

第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协议的研究与实现 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:低游离聚氨酯

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: