微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 使用DP83640实现标准网络IEEE 1588的同步

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

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

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

2.0 背景

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



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

MSdelay = t2 - t1

SMdelay = t4 –t3

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

MeanPathDelay = (MSdelay + SMdelay)/2

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

offset_from_master = MSdelay – 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个数据中的最小值。

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

2.1.2 速率校正

速率校正通过测量跟随的同步周期并测量每个消息从 主机开始与到达从机之间的差异进行。这给出了从机频率相 对于主机频率的一个基本比值并可以用来校正频率差。因为 包延时偏差可能很明显,这可能使任何单一的速率测量有很 大的不精确性。

例如,如果同步周期每秒8个同步,误差在 125ms内可能是100us或者接近1000ppm。如果算法是平均 所有速率测量,也许需要成百上千秒来测量速率以得到合理 的估算。使用低廉的振荡器时会发生短期频率变化,平均时 间较长会导致不能对这种频率变化进行控制。 可替代的方法是,建议的算法利用平均路径延时测量来 检测短时等待包时,只使用这些包检测对主机的频率偏移。

如果包满足一个好的最小环回延时要求,通过比较上一个 "好包"时间来测量速率。*估"好包"时,需要在质量和 数量上进行权衡。如果质量过于严格,就可能无法获得足够 的信息来跟踪频率变化。但如果不够严格,速率计算结果中 可能包含过量的偏差。

图3表明用于决定速率的同步消息之间的最基本的关系。



从这个图中,速率比值为

rate_ratio(n) = (T2(n) – T2) / (T1(n) –T1)

另外,为准备另一个测量,需要设置:

T1=T1(n),T2=T2(n)

由于测量中存在误差,仍然需要一些平均或滤波测量。

为了简化,使用指数移动平均或平滑函数来跟踪速率。这个等式为:

rate_avg(n) = Rate_avg(n-1)

+α(rate_ratio(n) – rate_avg(n-1))

α的典型值通常设为0.1,但是在某些诸如提高或降低速率的延长周期场合,这个值可能会有所增加。

2.1.3 时间校正

确定时间偏移的典型方法是使用同步消息来确定对主机 的偏差。常使用平均或滤波的方式来平滑连接,并避免每次 测量的过量校正。对于时间校正来说,利用两个不同的机制 来检测和校正时间偏差。

第一个机制的基本想法是寻找最小延时。基本算法是在 最近的延时中检测最小的主机到从机的延时。为防止过量校 正,也对时间校正进行了限制。这种算法依赖于大量的同步 消息,比IEEE-1588网络本身需要的同步报文更多。另外, 在延时请求测量之后,算法可能使用主机到从机延时或从机 到主机延时中产生更小偏差的一个延时。在一个方向的流量 变得拥堵的情况下,另一个方向可以提供更精确的时间偏差 的测量。这个方法基于它拥有的最好信息而在每个周期都进 行校正。如果没有收到真实的最小延时消息报文,这将导致 不适当的校正。原因是算法不能确定测量误差是由时间偏差 还是由包延时偏差引起的。

第二个时间校正机制是尝试只使用延时来进行校正,前 提是这些延时已经确定为真实最小延时包。它有助于避免对 时间值的无效校正。这个机制的基本想法是使用同步和延时 请求来进行时间校正。对于同步消息,如果主机到从机延时 小于最小平均路径延时,测量结果就显示至少有一个主机到 从机延时减去最小平均路径延时的时间偏差。这种情况下, 时间校正是基于偏差测量进行的。如果主机到从机的延时高 于最小平均路径延时,无法知道误差是由时间偏差引起的还 是包延时偏差引起的,所以不会做校正。对于延时请求消息 也相似,如果从机到主机的延时小于最小平均路径延时,测 量结果就显示有至少为平均路径延时减去从机到主机延时的 时间偏差发生。注意,这里检测到的时间偏差是正的,而主 机到从机延时测量中的结果是负的。

两个方法都是通过调节一段时间内的精准时间协议的时 钟速率来进行时间校正。为了避免速率的大波动,每一个校 正都限制幅值。这将有助于降低由于时间偏移的快速校正而 引起的时间间隔误差。在第二个机理中通过保持时间误差值 进行处理。当因接收到的同步或延时请求引起的新误差计算 出来时,如果这个新误差代表了一个更大的偏差,时间误差 就更新为新值。否则,时间误差保持不变。基于时间误差, 只能进行有限的校正并从时间误差中去除。因此,在完成校 正之前,偏移测量可能进行多次校正。



第二个机理很少有无效的校正,但是呈现出更长的无校 正周期;基于速率校正误差,很可能会出现漂移。尽管第二 个机理在重流量和多开关的条件下显得更好,但两者的总体 结果相似。由于第二个机理产生更好的结果,结论部分详述 这些结果。

编辑:小宇

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

网站地图

Top