软件工程硕士论文开题报告最终版.docx
《软件工程硕士论文开题报告最终版.docx》由会员分享,可在线阅读,更多相关《软件工程硕士论文开题报告最终版.docx(16页珍藏版)》请在冰豆网上搜索。
软件工程硕士论文开题报告最终版
学号:
123126
东南大学
全日制研究生学位论文
开题报告及论文工作实施计划
院(系、所)软件学院
学位类别工程硕士
专业领域软件工程
研究生姓名 梁姣
指导教师(校内)杨鹏
指导教师(校外)黄海林
开题报告日期2014-9
填表须知
1、论文开题报告由研究生本人向审议小组报告并听取意见后,由研究生本人填写此表。
2、论文开题报告填写完成后,必须经导师审批,通过后方能提交。
3、硕士生应在第三学期内完成此开题报告。
开题报告经研究生秘书在网上审核确认(至少半年)后
方可申请答辩。
4、本表一式两份,一份研究生自留放入本人“研究生档案材料袋”;一份由院(系、所)保存并归入院(系、所)研究生教学档案。
5、学位类别为:
工程硕士;建筑学硕士;公共管理硕士;法律硕士(非法学);工商管理硕士;风景园林硕士;临床医学;公共卫生硕士。
6、本表下载区:
。
本表电子文档打印时用A4纸张,格式不
变,内容较多可以加页。
一、学位论文开题报告
论文题目
基于IEEE1588协议的航电以太网时钟同步系统的研究与实现
研究
方向
软件工程技术
题目来源
国家
部委
省
市
企业
自选
有无合同
经费数
备注
√
题目
类型
理论
研究
应用
研究
工程
技术
跨学科
研究
其他
应用研究
一、课题来源、选题依据、课题研究目的、工程应用价值
1.课题来源
本课题来源于中国航天集团第772研究所预研项目,旨在设计和开发基于IEEE1588协议的航电以太网时钟同步系统。
2.选题依据
现代大型飞行器迫切需要采用一种既能够兼顾数据传输,又能够满足高精度时钟同步要求的航电网络。
目前在飞行器中采用的新一代航电以太网TTEthernet[1](TimeTriggerEthernet),虽然具备高数据量传输能力,但该以太网中的时钟同步功能还急需研究实现。
IEEE1588协议是用于网络测量和控制系统的精密时钟同步协议,目前在航电以太网中还未得到广泛应用。
结合IEEE1588协议的特点和航电以太网的应用需求进行分析,可以发现,IEEE1588协议比较适合航电以太网TTEthernet的应用场景。
因为,IEEE1588协议是针对相对本地化的网络而设计的,另外它的高精度时钟同步设计十分符合现有航电以太网的要求。
所以,将IEEE1588协议应用于TTEthernet网络,可以为解决航电以太网中急需实现的精密时钟同步问题提供帮助,具有重要的研究意义和实际应用价值。
3.课题研究目的
通过分析航电以太网的实际应用需求和IEEE1588时钟同步协议特点,研究并实现航电以太网上的精确时钟同步系统,解决航电系统不同终端设备之间的时钟同步问题。
4.工程应用价值
一般时间同步协议难以满足航电以太网的高实时性要求,航天772所正在研究基于IEEE1588协议的航电以太网时钟同步系统。
该系统具有更高的同步精度,将实际应用于航电以太网TTEthernet中,因此具有重要的工程应用价值。
二、国内外研究现状、发展动态
时钟同步技术是分布式应用的重要支撑技术,历来受到研究界的重视。
目前许多重要应用领域需要依靠时钟同步技术来精确控制关键性的任务,例如卫星发射与测控系统、航空管理系统、社会联动系统以及核能发电系统等等。
这些应用对分布式系统内时钟的一致性和精确性要求很高,然而,一般的时钟同步技术已经无法满足高精度的要求,随着计算机的普及和网络技术的发展,网络时钟同步技术也在不断地推陈出新,快速的演进和发展。
1.传统的时间同步技术
图1典型的传统时间同步系统
传统的时间同步系统的拓扑结构可以用图1来描述。
图中的时间服务器一般集成有GPS等标准时间源,相应的配置也较高;现场设备一般情况下通过l0M/l00M以太网与时间服务器保持时间同步,其精度为10毫秒到秒级不等,部分应用(如快速响应系统)可能要求达到1毫秒的级别甚至更高。
一般地,为了解决时间同步问题,传统采用的方法为:
整秒时由时间服务器在以太网上发送时码信息,网络上的各个时间客户接收该时码信息,再校正各自机器的系统时间。
经过测算,设备采用这种方法对准时间后,与标准时间进行比对,误差在1~100毫秒之间。
但是这种时钟同步方法,在网络流量越大时间误差也越大,因为发送报文的节点越多,冲突的机会也越多,延时也越大。
网络流量的差异是造成这种延时的主要原因,但这类延时通常又是不定的,因此,难以对这种延时差异进行补偿。
综上所述,传统的同步方法误差较大,对于时间精度要求较高的航电网络来说,很难满足其时间同步的需要。
2.网络时间同步协议
目前可以用于网络对时的协议主要有:
时间协议(TimeProtocol,简称TP)、日期时间协议(DaytimeProtocol,简称DP)、网络时间协议[2](NetworkTimeProtocol,简称NTP)以及简单网络时间协议[3](SimpleNetworkTimeProtocol,简称SNTP)。
时间协议TP和日期时间协议DP都只能表示到秒,而且这两种协议都没有估算网络延时,因此同步精度较低,目前在工程中应用较少。
由美国特拉华大学的DavidL.Mills教授等人设计开发的网络时间协议NTP(NetworkTimeProtocol),是用于互联网中时间同步的标准互联网协议。
在通常的环境下,NTP提供的时间精度在LAN上仅为ms级,NTP时间服务器需要经常维护,也需要外部时钟源的支持,且适用于跨越广域网的大型网络,这些特点都不符合航电以太网的要求。
SNTP是NTP的一个简单版本,数据包格式与NTP兼容,适用于时间精确度低于NTP的客户机,并强烈建议仅限于使用在时间同步网的终端位置。
SNTP的时间精确度为s级,难以满足航电以太网的应用需求。
3.IEEE1588时钟同步协议标准
由于许多重要应用领域需要利用计算机控制系统来精确控制关键性的工作与任务,因此对监控和控制的同步性和实时性提出了越来越高的要求。
此时,一些研究机构和商业组织开始研究设备之间,尤其是测量和控制设备之间的时钟同步技术。
在此背景下,美国的一些研究机构和商业组织在2001年发起成立了一个特别委员会,专门针对设备之间,尤其是网络测控设备之间的时钟同步问题进行研究。
经过长时间的不断探索和试验,该委员会向美国电气与电子工程师协会(IEEE)提交一份研究方案,并通过该组织一年多的核准和论证,2002年正式形成IEEE1588协议[4],2008年对协议做了修改和完善,形成最新版本IEEE1588v2。
IEEEl588协议标准的全称是“网络测量和控制系统的精密时钟同步协议标准”(IEEEStandardforaPrecisionClockSynchronizationProtocolforNetworkedMeasurementandControlSystems,简称PTP),通常又叫做精密时钟同步协议。
IEEE1588协议主要针对小型同构或异构局域网设计,适合用于支持多播消息的分布式网络通信系统,如标准以太网,其基本功能是使网络内的最精确时钟与其他时钟保持同步。
IEEE1588协议对系统中的传感器、执行器以及其他终端设备中的时钟进行同步,精度可达到亚微秒级。
IEEE1588协议与其它对时方案的性能对比由表1给出。
表1几种对时方案的性能对比
GPS
NTP
北斗
IEEE1588v2
典型授时精度
20ns
10ms
100ns
100ns
需要卫星覆盖
需要
需要
需要
不需要
综合成本
中
低
高
低
支持以太网端口
不支持
支持
不支持
支持
可控性
低
高
中
高
安全性
低
低
高
中
可靠性
中
高
中
高
从上表的对比分析可以看出,IEEEl588协议的各项性能指标都具有较大优势。
IEEEl588协议还具备以下优点:
1)时钟精度控制在us级,在硬件的帮助下能达到ns级。
2)对网络设备计算能力、硬件资源的要求较低,适合于在低端设备上应用,极大降低了成本。
3)IEEEl588协议支持多种传输协议,例如UPD/IPv4,UDP/IPv6,Layer-2Ethernet。
4)IEEEl588协议提出了一种包级同步技术,将同步信息封装在数据报文当中,仍然使用原来以太网的数据线传送,无需额外的时钟线。
5)实现IEEE1588协议的子网只需要很少的管理开销,甚至不需要管理功能(单个子网)。
6)IEEEl588协议是基于以太网的精确时钟同步技术,但是不仅仅局限于以太网,只要其它网络或总线具有群发和点对点的数据传输能力,就能实现IEEEl588协议定义的功能。
7)IEEE1588协议被公布为一个标准,便于对协议进行改进和交流。
IEEEl588协议可能达到较高的精度,一方面由其本身规定的一系列同步机制决定,另一方面需要硬件技术的协助,主要包括以下几点:
1)延时的起伏将直接影响同步的精度,点对点连接可提供最高的精度,带路由器会增加网络抖动,为了解决这个问题,在PTP系统内通过交换机连接时,通常使用支持IEEE1588协议的交换机作为边界时钟,其内部包含了一个PTP时钟,由于它是直接接收主时钟报文的,它与主时钟的传输延时不存在排队与存储的问题,所以在需要分支时通常使用带边界时钟的交换机。
2)IEEE1588v2提出透明时钟的概念,所谓透明时钟是指有专用交换设备记录数据帧进入与离开节点的时间,并得到两者之差,通过硬件改写时钟同步控制帧(PCF)的透明时钟(TC)域,使数据帧的节点驻留时间得以积累,而总延迟时间为所有节点驻留时间与路径延迟的总和,透明时钟的机制更精确的计算报文驻留和延迟时间,使高精度时钟同步得以实现。
3)如果本地时钟的振荡频率稍有偏离,就会造成时间的偏离,而且时间的偏离是累计的会越来越大,虽然通过同步报文的计算可以校正时间,但本地时间的频繁校正会打乱本地时钟的连续性,使需要定时处理的任务,比如通过时间段计量脉冲的速度测量等应用陷入混乱。
所以在PTP系统内使用频率可调的晶振,通过硬件技术对频率的校正使本地时钟的频率与主时钟同步,可达到更高精度,对这种晶振的要求是0.01%精度和0.02%的频率可调范围。
国内在高精度网络时钟同步领域的研究起步相对较晚,虽然目前已有一些关于IEEE1588协议的研究工作,但主要集中在对标准进行介绍、或是针对性地对某些时钟同步算法进行相应的改进。
国外自动化测量和控制领域中,时钟同步精度要求达到100ns的级别已经广泛采用IEEE1588协议。
2007年,美国宣布推出业界首款集成IEEE1588协议的以太网收发器,这款高精度收发器可确保分布式网络上各节点能按照主机的时钟同步定时,并确保各节点之间的时间偏差不会超过8纳秒,因此最适用于物体移动控制、测量仪表、数据采集及电子通信等设备。
由于IEEE1588协议更能满足具有多跳和固有冗余特性的分布式网络的特殊需求,电信网络、测试/测量以及工业控制等领域也有应用,IEEE1588协议定义的PTP精密时钟同步技术逐渐成为未来的发展趋势。
对于航空电子系统这样的任务或安全关键性系统,需要具有时间确定性保证。
时间触发概念的提出,其目的在于通过全局的时钟精确同步,使通信任务和收发操作具有完全的时间确定性,经过适用性改造的时间触发以太网TTEthernet已经被用于分布式嵌入式系统中,成为大型飞行器采用的新一代航电以太网。
时间触发以太网,即以时间触发代替事件触发,将通信任务通过合理的调度定时触发发送,可避免数据帧争用物理链路,保证实时性。
时间触发网络中每一个同步的节点只能在规定的时刻进行数据收发,周期性的数据传输操作构成一个时分多址周期,即TDMA(time-divisionmultipleaccess)周期。
图2给出了一个TDMA周期的示意图,每一个节点都在TDMA周期内使用一定的时间段称为时间槽(slot)来发送数据。
通过全局时钟机制,网络中每一个节点都使用自己的时间槽进行通信,所有节点的通信相互不冲突。
周期性的节点时间槽构成了一个TDMA周期,所有的TDMA周期都具有相同的时间长度,在TDMA周期中,节点每一次发送数据的长度和内容可能不同。
多个TDMA周期构成集群(cluster)周期,整个传输时间轴由重复的cluster周期构成。
图2TDMA调度示意图
时间触发的前提是实现时钟同步,航电以太网TTEthernet相对于其他专用总线和直接I/O方法缺乏对定时控制的支持,尽管航空航天领域和自动化测控领域有很多不同,但在系统级的控制和定时问题上它们却是非常相似的,而IEEE1588协议则能在基于以太网的控制和测试领域提供一种精确时钟同步的服务。
另外,IEEE1588协议是针对相对本地化、网络化的系统而设计的,它要求子网较好、内部组件相对稳定,所以非常适合于TTEthernet航电网络环境。
本论文按照IEEE1588协议去策划和设计的航电以太网时钟同步系统,其同步精度预定达到us级的程度,为消除或削弱分布式网络测控系统各个测控设备的时钟误差和测控数据在网络中的传输延迟提供了算法和途径,从而可以有效地解决航电网络TTEthernet的实时性问题。
三、研究基础
1.了解网络体系结构,熟悉以太网标准;
2.分析了IEEE1588时间同步技术的基本原理、特点;
3.分析比较了NTP协议、SNTP协议和IEEE1588协议各自的特点和时间同步机制
4.分析了IEEE1588协议报文的特点;
5.分析了影响实现网络时钟同步高精度的因素(操作系统与协议栈、网络元件、时钟的不稳定性和时钟的分辨率);
6.研究所提供项目研究需要的设备和条件。
4、主要内容及研究开发过程中的关键点或难点
1.主要内容
本论文瞄准航电以太网时钟同步的实际应用需求,设计并实现基于IEEE1588协议的航电以太网时钟同步系统。
论文的主要内容如下:
1)航电以太网中的主时钟选取算法。
在航电以太网时钟同步系统的初始化阶段,设计最佳主时钟算法来确定主时钟。
2)同步间隔设置与时间戳提取方法。
在系统中设置一定的同步间隔,每一个非主时钟都周期性地向主时钟发送带有时间戳的数据报。
另外,设计航电以太网中的时间戳提取方法,从而为时钟偏移测量算法奠定基础。
3)航电以太网中的时钟偏移测量算法。
根据时间戳提取方法,设计基于主从时钟交换报文中时间戳的时钟偏移测量流程和算法,提高主从时钟偏移量的计算精确度。
4)基于IEEE1588协议的航电以太网时钟同步系统原型设计与开发。
集成上述关键技术,设计和开发基于IEEE1588协议的航电以太网时钟同步系统原型,并进行测试分析。
2.研究开发过程中的关键点或难点
航电以太网时钟同步的精度和性能受到多方面因素的影响,为了提高同步精度,在实际设计中需要重点解决以下几方面问题。
1)最佳主时钟算法的设计。
所有从时钟都要同步到主时钟,主时钟的选择对整个时钟同步系统来说十分重要。
因此,设计的算法需要在所有设备的时钟里选择性能最稳定、精度最高、确定性最好的时钟作为整个系统中的最佳主时钟。
2)时钟的偏移测量。
各节点设备的内部时钟晶振频率存在差异造成时间偏差,需要周期性的计算出本地时钟与主时钟之间的偏移,传送给本地时钟的校准装置,如图3所示,调整时间以保持各节点的时钟同步。
图3周期性的校准时钟
3)路径延迟测量。
网络路径存在传输延迟,需要估算延迟,消除延迟导致的时标误差。
根据航电以太网的实际网络环境,飞行器测控系统中的传感器、控制器和执行器等设备节点通过拓扑结构比较简单的TTEthernet网络连接,在时间触发以太网中,系统中的各结点采用时间触发通信,分时复用带宽,不会产生带宽争用现象,没有通信冲突。
而且,在TTEthernet网络中采用IEEE1588协议进行时钟同步时,使用短帧传输,数据量较小,通过交换机时不会产生拥塞,数据帧传输过程中对网络资源占用少,网络延迟抖动基本可忽略不计,从而传输延迟可认为是对称的。
因此,本论文在算法设计中从通信路径延迟对称的情况入手,之后可以考虑更复杂的情况。
如图4所示,即前向路径的传输延迟与后向传输延迟相同。
图4路径延迟测量
5、实施方案与可行性分析
1.实施方案
本论文设计的时钟同步系统实际应用场景为航空飞行器,10Mbit/s的TTEthernet网络在大型飞行器中的分布如图5所示。
图5网络系统分布示意图
TTEthernet网络主要应用在飞行器的发动机控制系统,机头、机尾的计算资源和跨引擎的数据交换也通过TTEthernet网络进行通信,TTEthernet网络在通信过程中采用全局时钟启动数据的收发,每一个组件的操作只与全局时间有关,而与其它组件的工作状况无关,各种系统指令信号的产生是由时间的推进来触发的,时钟同步是实现时间触发的基础。
时钟同步系统重点解决TTEthernet网络中的飞行器各部件的时钟同步问题,从而在指令信号基于时间触发时,各部件可以更加精确、统一、协调、有序的协作。
考虑到实际的飞行器测控系统网络环境是特定的局域网系统,通信网络中所传递的信息主要是各种测量数据和控制指令,数据内容很少,网络流量较小,不像广域网中网络环境复杂,影响因素较多,因此时钟同步方案设计可在一定程度上进行简化。
图6所示为时钟同步系统与其他装置进行数据交互的总体框架。
图6时间同步系统的体系结构图
时钟同步系统实现方案分为:
航电以太网中的最佳主时钟选取算法、同步间隔设置与时间戳提取方法、航电以太网中的时钟偏移测量算法、基于IEEE1588协议的航电以太网时钟同步系统原型设计与开发。
航电以太网中的最佳主时钟(BMC)选取算法。
时钟同步系统首要解决的问题就是确定主时钟,本论文实现最佳主时钟选取的方法包括两个步骤:
数据集比较算法和状态决定算法。
数据集比较算法根据时钟数据集,将所有时钟的属性特征信息都进行比较,以筛选出性能最稳定的时钟,作为最佳主时钟。
网络中的每台设备均提供一个数据集,描述其本地时钟的性质、质量、稳定性、唯一识别符和首选设置。
当一台设备加入网络时,它会广播其时钟的数据集,并接收所有其它设备的数据集。
利用所有参与设备的数据集,每台设备均运行同一BMC算法,以确定主时钟及其自己的未来状态(主时钟或从时钟)。
由于所有设备均采用同样的数据独立执行同一算法,因此选出的主时钟将会相同,设备之间不需要进行任何协商。
状态决定算法在已经确定所属PTP域的主时钟后执行,普通时钟和边界时钟的每一个端口都利用接收到的announce消息和自身的时钟数据集,独立运行同一套状态决定算法,选择N个端口中最好的一个作为时钟的信息更新来源。
还可以进一步确定每个时钟的各个PTP端口所处状态,具体推荐状态(共八种):
初始化、故障、禁止、监听、主时钟、待机、从时钟、未校正,根据这些状态本地时钟会在时钟同步过程中做出相应的反应,算法采用数据集服务器所提供的端口数据集和时钟数据集来实现。
最佳主时钟算法最终能得出主从时钟拓扑结构,如图7所示。
图中的几种时钟分别代表不同的PTP时钟设备,边界时钟将PTP域划分成不同的网段,这些网段被称为通信路径,每条通信路径中PTP设备之间可以进行直接通信,不同的路径之间通过边界时钟桥接。
PTP端口是用于访问PTP时钟设备的逻辑端点,决定主一从拓扑结构的端口状态主要有两个:
M(MASTER)端口是它所服务的路径上的时钟源;S(SLAVE)端口同步于路径上处于主状态的端口。
图7确定主从时钟拓扑结构
同步间隔设置与时间戳提取方法。
在一定时间内同步的次数越多,网络内时钟的精度越高,但为了减少通讯占用的网络流量,从时钟并不是每个同步周期都向主时钟发送同步请求(Delay_Req)报文,而是每隔若干个周期发送一次,具体同步间隔在设计时根据需要进行设置,通过测试比较各种同步间隔下的时钟精度,得出最合适的时间间隔。
时间戳的精度直接影响IEEE1588协议实现的时钟同步精度,要实现高精度的同步,必须有高准确度的时间戳,即准确地获取同步报文发送和接收的时间。
在一个IEEE1588应用系统中,报文发出一般依次经过应用程序、操作系统、网络协议栈和以太网控制器,最后通过网络发送到接收端。
报文到达接收端后,依次通过以太网控制器、网络协议栈和操作系统,最后通过操作系统达到应用程序。
为了消除操作系统和网络协议栈带来的波动,达到较高的精确度,对传输报文的时间打标越靠近物理层越好。
不带硬件辅助实现时间打标时,在软件层对发送和接收报文的时间做标记,这种情况下既可以在应用层捕获时间戳信息,也可以在网卡驱动程序中捕获。
当在应用层捕获时间戳时,操作系统和网络协议栈内的延迟起伏引起的抖动将影响时间戳的精度。
为了提高时间戳的精度,本设计在网卡驱动程序中捕获消息发送和接收时间作为时间戳,消除了从网卡驱动到应用层之间的延迟起伏引起的抖动,时间戳捕获位置如图8所示。
图8时间戳捕获位置
航电以太网中的时钟偏移测量算法。
本算法的设计基于每个从时钟与主时钟交换同步报文,从而达到同步。
这个过程分为两个阶段:
偏移测量阶段和延迟测量阶段。
第一阶段修正主时钟与从时钟之间的时间偏差,称为偏移测量,如图9所示。
图9偏移测量
在修正偏移量的过程中,主时钟按照规定的间隔时间(缺省是2秒)周期性地以多播方式向从时钟发出时钟同步报文:
同步报文包括该报文离开主时钟的时间估计值TM1,该值包含在同步报文的originTimestamp字段中,从时钟测量接收的准确时间TS1。
之后,主时钟发出跟随报文(Follow_Up),此报文与同步报文相关联,且包含同步报文放到PTP通信路径上的更为精确的估计值,该值包含在随后报文的preciseOriginTimestamp字段中。
从时钟根据同步报文和随后报文中的信息来计算偏移量,然后按照这个偏移量来修正从时钟的时间,如果在传输路径中没有延迟,那么两个时钟就会同步。
偏移值的计算公式是:
其中,Toffset是偏移值,TS1是从时钟收到同步报文的时间戳,TM1是主时钟发出同步报文的时间戳(如果同步报文字段中允许随后报文,则TM1为随后报文中的精确时间戳。
否则,TM1为同步报文中的时间戳),Delay是时钟同步报文在通信路径上的传输延迟,在偏移测量阶段,报文传输延迟未知,先假设传输延迟为0。
图9中对时间单位进行了量化处理,则Toffset=1002-1051-0=-49。
从时钟根据偏移值Toffset来修正本地时钟。
本地时钟Ts-Toffset=Ts+49,即从时钟在原来的数值上加上49,通过偏移修正后,主时钟和从时钟数值就只相差传输延迟Delay。
如果不进行延迟测量,则主时钟每隔2秒发送一次同步报文,重复一次上述调整过程来保证从时钟和主时钟的同步。
为了提高修正精度,可以把主时钟到从时钟的报文传输延迟等待时间考虑进来,即延迟测量,这是同步过程的第二个阶段,如图10所示。
从时钟向主时钟发出一个延迟请求报文,由从时钟测量该报文传递时间TS3。
主时钟对接收数据包打上一个时间戳,然后在延迟响应报文中把接收时间戳TM3送回到从时钟,该值包含在主时钟所接收到的延迟请求报文的delayReceiptTimestamp字段中。
根据传递时间戳TS3和主时钟提供的接收时间戳TM3,计算从时钟与主时钟之间的延迟时间。
而主时钟到从时钟的传输延迟根据上一次同步报文的发送来计算,因此