使用DP83640实现标准网络IEEE1588的同步
速率校正通过测量跟随的同步周期并测量每个消息从 主机开始与到达从机之间的差异进行。这给出了从机频率相 对于主机频率的一个基本比值并可以用来校正频率差。因为 包延时偏差可能很明显,这可能使任何单一的速率测量有很 大的不精确性。
例如,如果同步周期每秒8个同步,误差在 125ms内可能是100us或者接近1000ppm。如果算法是平均 所有速率测量,也许需要成百上千秒来测量速率以得到合理 的估算。使用低廉的振荡器时会发生短期频率变化,平均时 间较长会导致不能对这种频率变化进行控制。 可替代的方法是,建议的算法利用平均路径延时测量来 检测短时等待包时,只使用这些包检测对主机的频率偏移。
如果包满足一个好的最小环回延时要求,通过比较上一个 “好包”时间来测量速率。*估“好包”时,需要在质量和 数量上进行权衡。如果质量过于严格,就可能无法获得足够 的信息来跟踪频率变化。但如果不够严格,速率计算结果中 可能包含过量的偏差。
图3表明用于决定速率的同步消息之间的最基本的关系。
![](http://uphotos.eepw.com.cn/fetch/20130729/152090_2_0.jpg)
从这个图中,速率比值为
rate_ratio(n) = (T2(n) C T2) / (T1(n) CT1)
另外,为准备另一个测量,需要设置:
T1=T1(n),T2=T2(n)
由于测量中存在误差,仍然需要一些平均或滤波测量。
为了简化,使用指数移动平均或平滑函数来跟踪速率。这个等式为:
rate_avg(n) = Rate_avg(n-1)
+α(rate_ratio(n) C rate_avg(n-1))
α的典型值通常设为0.1,但是在某些诸如提高或降低速率的延长周期场合,这个值可能会有所增加。
2.1.3 时间校正
确定时间偏移的典型方法是使用同步消息来确定对主机 的偏差。常使用平均或滤波的方式来平滑连接,并避免每次 测量的过量校正。对于时间校正来说,利用两个不同的机制 来检测和校正时间偏差。
第一个机制的基本想法是寻找最小延时。基本算法是在 最近的延时中检测最小的主机到从机的延时。为防止过量校 正,也对时间校正进行了限制。这种算法依赖于大量的同步 消息,比IEEE-1588网络本身需要的同步报文更多。另外, 在延时请求测量之后,算法可能使用主机到从机延时或从机 到主机延时中产生更小偏差的一个延时。在一个方向的流量 变得拥堵的情况下,另一个方向可以提供更精确的时间偏差 的测量。这个方法基于它拥有的最好信息而在每个周期都进 行校正。如果没有收到真实的最小延时消息报文,这将导致 不适当的校正。原因是算法不能确定测量误差是由时间偏差 还是由包延时偏差引起的。
第二个时间校正机制是尝试只使用延时来进行校正,前 提是这些延时已经确定为真实最小延时包。它有助于避免对 时间值的无效校正。这个机制的基本想法是使用同步和延时 请求来进行时间校正。对于同步消息,如果主机到从机延时 小于最小平均路径延时,测量结果就显示至少有一个主机到 从机延时减去最小平均路径延时的时间偏差。这种情况下, 时间校正是基于偏差测量进行的。如果主机到从机的延时高 于最小平均路径延时,无法知道误差是由时间偏差引起的还 是包延时偏差引起的,所以不会做校正。对于延时请求消息 也相似,如果从机到主机的延时小于最小平均路径延时,测 量结果就显示有至少为平均路径延时减去从机到主机延时的 时间偏差发生。注意,这里检测到的时间偏差是正的,而主 机到从机延时测量中的结果是负的。
两个方法都是通过调节一段时间内的精准时间协议的时 钟速率来进行时间校正。为了避免速率的大波动,每一个校 正都限制幅值。这将有助于降低由于时间偏移的快速校正而 引起的时间间隔误差。在第二个机理中通过保持时间误差值 进行处理。当因接收到的同步或延时请求引起的新误差计算 出来时,如果这个新误差代表了一个更大的偏差,时间误差 就更新为新值。否则,时间误差保持不变。基于时间误差, 只能进行有限的校正并从时间误差中去除。因此,在完成校 正之前,偏移测量可能进行多次校正。
![](http://uphotos.eepw.com.cn/fetch/20130729/152090_2_1.jpg)
第二个机理很少有无效的校正,但是呈现出更长的无校 正周期;基于速率校正误差,很可能会出现漂移。尽管第二 个机理在重流量和多开关的条件下显得更好,但两者的总体 结果相似。由于第二个机理产生更好的结果,结论部分详述 这些结果。
3.0 测试平台
测试时钟伺服算法的*估平台是基于FPGA的常规*估 平台,ALP(模拟测试发射平台)。ALP平台包含一个小的 FPGA来实现MAC接口、数据包缓冲和与DP83640以太网物 理层设备进行通讯的MDIO管理界面。ALP板子包括与PC主 机通讯的USB接口。在PC主机上,ALP软件运行PTP协议来 建立和分析包并控制PHY中的PTP硬件的操作。ALP平台合 并了支持两个独立的PHY器件的逻辑和连接。
评论