微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > IEEE1588及其测试方法简介

IEEE1588及其测试方法简介

时间:01-08 来源:3721RD 点击:

1 IEEE1588概述

IEEE1588定义了为网络测量和控制系统提供精确时钟同步协议的标准,运营商、电力、制造、运输等各大行业的部分系统都需要一个能在低成本、易部署的以太网上为其提供高精度时钟同步的方法,IEEE1588能满足此需求。可以预见,IEEE1588将是这些业务系统的重要组成部分,在部署它之前需要对设备能力进行充分的测试,以确保满足业务要求。

IEEE1588分为两个版本,本文参照版本2--IEEE Std 1588-2008。

2 IEEE1588基本原理

2.1 IEEE1588几个基本概念

●域(Domain)是一个逻辑概念,属于同一个域的设备之间进行信息同步,不同域之间不需要同步。
●普通时钟(Ordinary Clock),在一个域中只有一个运行PTP协议的端口,既可以是主时钟,也可以是从时钟。
●边界时钟(Boundary Clock),在一个域中有多个运行PTP协议的端口,可以同时是主时钟和从时钟。
●端到端(End-to-end)E2E透明时钟,位于主从时钟之间,计算自身的驻留时间并累加到报文的修正域中。
●点到点(Peer-to-peer)P2P透明时钟,位于主从时钟之间,计算点到点链路时延和自身的驻留时间并累加到报文的修正域中。

2.2 主从关系的建立

在一个域中,普通时钟和边界时钟的每个端口都有各自独立的状态,各个端口通过最佳主时钟算法(BMC,Best Master Clock algorithm),比较收到的宣告(Announce)报文内容以及自身配置,计算端口状态,状态包括主、从、消极(既不是主时钟,也不向主时钟同步,出现在环路情况下),BMC算法在一个网段上只会选择一个主设备。此外,一个域中还存在一个超级主时钟(Grandmaster Clock),其它设备的都直接或间接向其同步。一个域中会达到一个相对稳定的状态,具体参见图1。


图1 主从关系的建立

2.3 PTP协议报文交互

PTP协议是IEEE1588的核心协议,设备之间通过运行PTP协议,交互PTP报文,实现时间和频率的同步。普通的PTP协议交互步骤如下(见图2):


图2 PTP协议报文交互

●主设备会发送sync报文,如果报文中包括发送此报文的时间戳且不再发Follow_up报文则称作一步时钟,如果随后再发送个Follow_up报文记录发送Sync报文的精确时间戳则称为两步时钟(一步时钟对芯片的精度要求更高),从设备收到这一个或两个报文后记录下两个时间t1(Sync发出时间),t2(从设备收到Sync报文时间)。

●从设备在t3时刻发送时延请求报文,主设备在t4时刻收到此报文,并将此时间戳放在时延响应报文中发给从设备,从设备此时又记录下了t3和t4。

2.4 同步计算方法

IEEE1588有个前提:主从设备之间的双向时延需要相对稳定(IEEE1588支持双向时延不同,可以通过异步时延(Delay Asymmetry)进行修正,但仍要求双向时延稳定,Delay Asymmetry的测量不在IEEE1588标准中规定,需要通过其它方法测出双向的时延。在普通以太网的链路上基本能够满足此要求,但以太网设备如路由器交换机等则很难满足,在设备出现拥塞时会将一部分报文缓存,引入了不确定的报文在设备内驻留的时间,但报文从相反方向进入设备时可能没有拥塞,这样双向时延有可能相差很大,所以PTP协议最好不要跨越不感知PTP报文的路由器或交换机来同步时钟。

当从设备知道了4个时间后就计算出了从设备与主设备之间的传输时延,Delay=[(t2-t1)+(t4-t3)]/2。从设备与主设备的时间偏差为Offset=t2-(t1+Delay)=[(t2-t1)-(t4-t3)]/2。从设备根据计算出来的偏差修改本地时间,完成了时钟同步。

在多跳组网环境中通过,相连的两台设备建立主从关系,将时钟一跳一跳同步下去,这样精度会随着跳数增加显著降低,积累误差逐渐增加,而PTP跨越不感知PTP报文的设备也会使精度降低,这样就产生了一个问题,如何在多跳的大型网络中进行高精度的同步时钟,解决方法就是引入透明时钟。透明时钟用来减少网络抖动的影响,进行非对称性修正,透明时钟没有主从状态,能够减少大型网络中的积累误差。透明时钟包括端到端(E2E)透明时钟和点到点(P2P)透明时钟。

2.5 E2E透明时钟

E2E可以理解为对直连模式的扩展,允许主设备和从设备之间有多台设备,但这些设备需要感知PTP报文,即作为E2E透明时钟。E2E透明时钟设备需要在报文中将该报文在设备里的驻留时间累加到修正域中,对所有经过的PTP报文都进行此操作。在普通PTP报文交互的基础上,增加了两个数值,一个是报文从主设备到从设备的时间修正值c1(可以经过任意跳E2E透明时钟,最终得到的值),另一个是反向时间修正值c2,此时Delay=[(t2-t1-c1)+(t4-t3-c2)]/2,从设备与主设备的时间偏差为Offset=t2-t1-Delay-c1(此处只介绍了一步时钟的情况,两步时钟参见

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top