IEEE1588 End-to-end Transparent Clock

 end-to-end transparent clock 模型如下图所示

 end-to-end transparent clock 像普通网桥,路由器或者转发器一样,转发所有的消息。但是,对于PTP event messages,驻留时间桥(residence time bridge),可以测量PTP event message的驻留时间(residence time, message 穿过transparent clock所花费的时间); 这些residence times会累积在PTP event message或者相关联的后续message(Follow_Up或者Pdelay_Resp_Follow_Up ) 的特殊字段中,即CorrectionField. 该correction是基于event message进入或者离开transparent clock时生成的timestamp的差异。注意,correction update和checksums的更新值都是指定到每个output port 和message的,因为对于通过透明时钟的所有路径或同一路径上的后续消息,residenc timie不一定相同。

下图5是correction process:

用于计算residence time的timestamps 是基于local clock生成的timestamp;由于slave使用这些residence time来调整master提供的time,因此,重要的是由主站和透明时钟的速率差异引起的任何错误,对于应用程序要求的精度可以忽略不计。由于主时钟和本地时钟的速率(本质上是两个时钟中第二个时钟的定义)可能相差0.02%,因此引入的误差可能是测得的停留时间的0.02%。 因此,对于1 ms的停留时间,最大误差为200 ns。 此错误可能会大到无法接受的程度,并且有几种可能的方法来减少它。

一种方法是在11.3中广泛讨论的方法,是使本地时钟的速率等于主时钟的速率,即,将本地时钟同步到主时钟。这是通过在接收到的Sync和Follow_Up消息中观察时序信息(针对任何上游停留时间进行校正)来完成的。这在方框RC(速率控制)中的图4中进行了说明。将针对任何上游停留时间进行校正的主时钟时间输入到RC中的速率估算和控制块(由标有“主时钟时间”的箭头所示)。相应的本地时间也输入到该块。速率估计和控制块使用主时钟和相应的本地时间序列来估计主时钟和本地时钟速率的比率。然后,速率估计和控制块使用该估计的速率比率来调整(即,控制)本地时钟速率。注意,本地时钟速率的调整不必是振荡器频率的物理改变(即模拟实现);同样可以使用固定频率的本机振荡器,计算主速率和本机速率之比,并将本机时钟占用的时间戳乘以该比例(即数字实现)。 RC所示方案的关键方面是闭环运行。即,在速率估计和停留时间测量中使用的本地时间是相对于速率调整后的本地振荡器而言的。这意味着对一个节点上的振荡器的速率调整会影响下游节点上的调整,因为驻留时间用于调整下游节点上的主时间。

在某些应用中可能有用的减少驻留时间误差影响的第二种方法是使用自由运行的本地时钟。这在图4中的块RE(速率估计)中进行了说明。在这种情况下,不调整本地振荡器的频率,但允许其自由运行。每个时钟基于自由运行的时钟来测量Sync消息的本地驻留时间。该测量的停留时间将添加到Sync或Follow_Up消息的CorrectionField中,如11.3所述。每个本地时钟还计算本地自由运行时钟的速率与主时钟的速率之比。该比率基于接收到的Sync和Follow_Up消息中的时间戳(通过添加correctionField校正)来计算。即使更正字段没有反映确切的停留时间,与仅使用原始时间戳相比,所得比率仍将大大降低抖动,并且仍将具有正确的平均值。另外,如果停留时间相对于速率比测量间隔足够大,则连续透明时钟序列上最坏情况下的相位误差累积将小于使用第一种方法的误差累积(上述),但代价是更大许多非最坏情况下的相位累积。速率比率的本地值必须在每个时钟中保持,以用于校正Delay_Req消息的停留时间,如下所述。另外,每个本地时钟计算通过该比率校正的停留时间与未校正的停留时间之间的差。这些差异也必须累积并传递到从时钟。如果要使用此方法,则应在配置文件(请参见19.3)中指定该方法,以及用于累加的配置文件特定的TLV。使用此方法,从设备必须先将这些累积的差添加到接收到的Sync或Follow_Up消息的correctionField中,然后再计算从时钟到主设备的从时钟偏移。端到端透明时钟还可以校正Delay_Req消息的停留时间。但是,由于使用这种方法,振荡器是自由运行的,因此必须使用本地时钟速率与如前所述计算和保存的本地时钟速率之比来校正Delay_Req消息的停留时间的测量值。这是Delay_Req消息的时钟操作的唯一变化。使用此技术,Pdelay_Resp消息与同步消息完全一样,并且必须为此指定一个TLV。 Pdelay_Req消息的处理与Delay_Req消息完全相同。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值