新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 使用DP83640实现标准网络IEEE1588的同步

使用DP83640实现标准网络IEEE1588的同步

作者:时间:2010-02-22来源:网络收藏

1.0 简介

美国国家半导体的精密PHYTER?了IEEE 1588精密时间协议(PTP)的时钟关键部分,允许高精度 IEEE 1588节点。当包含功能器件、边界时钟和透明时钟的时,利用非常简单的时钟伺服算法 来确定速率调整和时间校正,可以获得非常高的精度。不需 要复杂处理,只需要对协议测量进行简单平均或滤波即可。 当网路由不具有IEEE 1588能力的器件构成时,包延时偏差 (PDV)就很重要。简单时钟伺服不会提供很高精度的同 步。

本文描述了一种方法,它可以为较大PDV系统带 来更高的精度。这里描述的方法试图检测最小延时,或 “幸运包”。这个方法还利用了时钟控制机理来独 立控制时钟速率和时间校正,从而将时钟时间精度内的过冲 和摆动降低到最小。

2.0 背景

精确时间协议给从机提供了基本信息,用以确 定相对于最高级主时钟的频率以及时间偏差。基本算法包括 各自的和延时请求消息来测量主机到从机之间和从 机到主机的路径延时。 图1显示了最基本的IEEE 1588的时序图。



主机到从机和从机到主机的延时为:

MSdelay = t2 - t1

SMdelay = t4 Ct3

单向延时或称为平均路径延时正是这两个延时的平均值

MeanPathDelay = (MSdelay + SMdelay)/2

理想情况下,时间偏移为:

offset_from_master = MSdelay C meanPathDelay

在包含支持IEEE-1588元件(桥、开关、路由器)的中,包延时偏差基本上可以忽略。在边界时钟器件中,同步时钟在网络元件上得以保持,它与上游主机同步时间和速率,并充当下游器件的主机。在透明时钟器件中,因为PTP报文要经过这个器件,所以通过测量其停留时间来校 正包延时偏差。



在无1588能力的网络中不做补偿,导致包延时变量大概 是几十或几百微妙的数量级。这些延时变得非常明显,使得 单一测量极度不正确。

只有简单平均和滤波的基本算法的单开关条件 下,得到了图2在80%流量条件下的MTIE(最大时间间隔误差)测试波形。很容易看到,这种方法提供了相对较差的同 步,其误差达到100ms之大。

2.1 建议算法

在无1588能力元件的网络中,包延时可能在每个器件 的最小物理延时和通过每个器件的最大延时总和的范围内变 化。实践中,每个设备经常会有最小传输延时,因此主机到 从机产生最小的总包延时。基本操作是尝试检测最小延时, 或者“幸运延时”,利用这些包的结果进行速率和时间校 正。算法基本上可分为三级:平均路径延时测量、速率校正 和时间校正。

2.1.1 平均路径延时测量

在大多数网络中,最小路径延时是相对恒定的值。再 次配置网络能够引起步长变化,但是这种配置并不是经常性 的。因此有可能采用长期跟踪最小环回延时(即全部的同步 延时请求计算)的方式来检测最小平均路径。这种方法保持 最后N个平均路径延时测量记录,并从中找到最小值:

Min_meanPathDelay(n) = min(meanPathDelay[n+1-N:n]

其中,Min_meanPathDelay(n)为第n次测量记录中保留的N个数据中的最小值。

进行速率校正和时间校正时确定最小平均路径是关键。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭