灰浆泵厂家
免费服务热线

Free service

hotline

010-00000000
灰浆泵厂家
热门搜索:
技术资讯
当前位置:首页 > 技术资讯

IEEE1588精密时钟同步分析 免费猫

发布时间:2020-02-17 13:29:55 阅读: 来源:灰浆泵厂家

IEEE1588精密时钟同步分析

测试与测量(Test and Measurement,T M)的发展以测试总线的发展为标志。测试总线从GPIB到VXI再到PXI,测试仪器也由机架式发展到了插卡式。但是T M对数据传输与处理综合要求的逐步提高使得这种发展已经远远不能满足人们的需求,于是以太网以其优秀的传输性能开始被广泛采用。

人们开始在测试与测量系统中直接接入以太网,然后使用GPIB、VXI或者PXI总线连接仪器,达到向远程地点传输数据或者从远程地点接收命令的目的。去年9月,Agilent公司和VXI科技公司联合推出了LXI(LAN?based eXtensions for Instruments),这是一种适用于测试系统的新一代基于LAN的模块化平台标准。LXI总线不受带宽、软件和计算机背板体系结构的限制,而且能利用日益增长的Ethernet吞吐能力。

LXI是一种基于网络的仪器接口规范,为实现各种终端设备之间的同步控制,采用了以太网的精密时间协议(Precision Time Protocol,PTP),即IEEE1588。IEEE1588定义了一个在测量和控制网络中,与网络交流、本地计算和分配对象有关的精确同步时钟的协议(PTP)。下面介绍这种精密时钟协议的体系结构、工作原理以及它的精度分析。

1 IEEE1588体系结构

1.1 关于精密时钟

一个1588精密时钟(PTP)系统包括多个节点,每一个都代表一个时钟,时钟之间经由网络连接。按工作原理,时钟可以分为普通时钟和边界时钟两种。二者的区别是普通时钟只有一个PTP端口,而边界时钟包括多个PTP端口。在网络中,每一个时钟都可能处于下面3种状态:从属时钟(SLAVE)、主时钟(MASTER)和原主时钟(PASSIVE)。每个时钟所处的状态是根据最优化的时钟算法决定的,图2IEEE1588的三层结构这些状态随着网络构造的改变而改变。

1.2 PTP参考体系结构

PTP体系结构的特别之处在于硬件部分与协议的分离,以及软件部分与协议的分离,因此,运行时对处理器的要求很低。事实上,下面可以看到,PTP的体系结构是一种完全脱离操作系统的软件结构。

PTP参考体系结构如图1所示。硬件单元由一个高度精确的实时时钟和一个用来产生时间印章的时间印章单元(TSU)组成。软件部分通过与实时时钟和硬件时间印章单元的联系来实现时钟同步。

图1同步元件组成框图

PTP这种体系结构的目的是为了支持一种完全脱离操作系统的软件组成模型,如图2所示。根据抽象程度的不同,PTP可分为3层结构: 协议层、OS抽象层和OS层。

协议层包含完成网络时钟同步的精密时钟协议,它能运用在不同的通信元件中(如PC、集线器、路由器等)。协议层中使用的仅仅是ANSI/ISO C中的保角函数(Conformal Functions),因此无需对不同平台的接口功能函数有很深的了解,就能很容易地移植该协议。协议层与OS抽象层之间的通信是通过一个序列和3个精确定义的接口实现的。

OS抽象层包含了基于操作系统的功能函数,

因此,这一层操作者必须掌握。这一层中包含PTP的3个通信接口:时间印章接口、时钟接口、端口接口。时间印章接口通过对Sync和DelayReq信号加盖时间印章来提供精密时钟协议,同时根据精度需要决定到底是硬件还是软件产生时间印章。产生“软件时间印章”的最好方法是依赖操作系统的NIC网络接口卡驱动,并且要在传输媒介中取得越近越好。通过时钟接口能够对本地时钟进行读和更改的操作,当然,这些操作是建立在熟知各类功能函数的基础上。该接口包含了与时钟同步质量(如精确度、稳定度等)密切相关的控制算法。端口接口用来分配/接收PTP信息。

这种模块化的软件平台在Windows与Linux中的应用是通过软件中的时间印章实现的。纯粹的软件实现也能达到大约100μs 的精确度,而且精确度很有可能达到小于10μs的精确度。

1.3 IEEE1588 与集线器

IEEE1588的精确度与所基于网络拓扑结构的偏移抖动(latency jitter)密切相关。测量时,点对点连接能提供最高的精确度,而Hub的使用会产生网络抖动(jitter)。当负载很低或者根本没有负载时第二层集线器(Layer 2 switches)的处理时间很短,一般是2μs 10μs外加信息包接收时间。但是,集线器是以序列的方式处理和储存数据,采取“存储-转发”方式进行数据交换的。因此仅仅一个序列的最大长度信息包就会给下面的信息包造成大约122μs的延迟,而且在高负载条件下,往往不止存在一个序列。

该协议的精确度的第二个问题是,(在下面的分析中可以看出)当考虑偏移(latency)的时候假设从主时钟到从属时钟以及从从属时钟到主时钟是完全对称的,很显然,在较高的网络负载中这一点几乎是无法保证的。

IEEE802.2D/p信息包的优先权(Prioritization)根本无法真正解决上述问题。因为在这种协议中,至少在同步信息包的前面必须有一个长信息包,因此,在传输的过程中就会产生122μs的抖动,而且一般在优先程序(priority scheduler)后面会存在一个有2到8个信息包的序列,而且还可能不止一个序列,这就意味着在重负载的条件下,将会存在360μs到1ms的抖动。 这个问题的解决方法是在集线器中使用IEEE1588边界时钟。这样就只存在点对点连接,在主时钟和从属时钟之间几乎不存在抖动,而且,集线器内部序列的延迟(抖动)(delay/jitter)也不会有任何关系了。在本文精度测试的试验中就是接入了边界时钟后进行的测试,如图3所示。

图3边界时钟的使用2IEEE1588的时间同步实现

同步过程分为两个阶段:偏移测量阶段和延迟测量阶段。

2.1 偏移测量

偏移测量阶段用来修正主时钟和从属时钟的时间差。在这个偏移修正过程中,主时钟周期性发出一个确定的同步信息(简称Sync信息)(一般为每两秒一次),它包含了一个时间印章(time stamp),精确地描述了数据包发出的预计时间。如图4所示,假设同步之前主时钟的时间为Tm=1050s,而从属时钟的时间为Ts=1000s。主时钟测量出发送的准确时间TM1,而从属时钟测量出接收的准确时间TS1。由于信息包含的是预计的发出时间而不是真实的发出时间,所以主时钟在Sync信息发出后发出一个Follow_Up信息,该信息加了一个时间印章,准确地记载了Sync信息的真实发出时间TM1。这样一来,从属时钟使用Follow_Up信息中的真实发出时间和接收方的真实接收时间,可以计算出从属时钟与主时钟之间的偏移(offset):

图4偏移测量

Offset = TS1-TM1-Delay

这里要说明的是,上式中的Delay指的是主时钟与从属时钟之间的传输延迟时间,它将在下面的测量阶段测出,所以在这里是未知的,从偏移测量阶段就提供了一个修正时间(Adjust Time),将从属时钟修正为:

Adjust Time=Ts-Offset

2.2 延迟测量

延迟测量(delay measurement)阶段用来测量网络传输造成的延迟时间。为了测量网络的传输延时,IEEE1588定义了一个延迟请求信息包(Delay Request Packet),简称Delay_Req。

图5延迟测量

如图5所示,从属时钟在收到Sync信息后在TS3时刻发出延迟请求信息包Delay_Req,主时钟收到Delay_Req后在延迟响应信息包(Delay Request Packet,Delay_Resp)印章出准确的接收时间TM3,并发送给从属时钟,因此从属时钟就可以非常准确地计算出网络延时:

TM2→TS2:Delay1= TS2-(TM2+Offset)

TS3→TM3:Delay2=(TM3+Offset)-TS3

因为网络延迟时间是对称相等的,所以:

Delay=Delay1+Delay22

与偏移测量阶段不同的是,延迟测量阶段的延迟请求信息包是随机发出的,并没有时间限制。需要说明的是,在这个测量过程中,假设传输介质是对称均匀的。

2.3 同步实现

如图5所示,经过同步信息的交换,从属时钟与主时钟实现了精确同步。

3 精确度测试

为保证测试结果能够最大限度地接近工程应用的实际情况,使主时钟和从属时钟之间的偏离数据具有说服力,在精确度测试中接入一个以太网信息包发生器加重网络负载,测试系统连接如图6所示。主时钟和从属时钟的PPS(Plus Per Second)输出连接到示波器,通过示波器就能非常清楚地测量出两个信号之间的偏离,而且还可以描绘出这种偏离的频率分布情况。这次测量前后用时84个小时,图7是示波器的显示值。从图7可以看出,最大抖动条件下的同步精确度落在±100 ns内,显示的是纳秒级的主时钟和从属时钟之间偏移值的频率分布,标准偏离达到23.95ns,平均值是-4.248ns。

图6测试系统的组成

图7测试示波器显示

结束语

精密时钟协议将IEEE1588标准化达到亚微妙范围内的同步精确度,而且还存在提高精确度的潜力。它适用于那些需要实现最高精确度分布时钟的时间同步的有限网络领域。

为使集线器以太网网络达到高精确度,建议装备具有IEEE1588技术的集线器。

绥化旗袍

花莲市旗袍

打屁股故事

变装小说