新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 利用IEEE 1588和Blackfin嵌入式处理器实现设备时钟同步

利用IEEE 1588和Blackfin嵌入式处理器实现设备时钟同步

作者: 时间:2011-01-05 来源:网络 收藏

DelayReq消息在稍后的时间点Tm3'到达主,由主软件在时间点Tm3处理。然后,该软件读取时间戳以获取到达时间Tm3',将其插入DelayResp消息中,并在时间点Tm4发送至从。当从时钟设备软件在时间点Ts4收到DelayResp消息时,它可以提取时间Tm3',并通过公式2计算从主通信延迟Tsmd。

(2)

公式1和公式2中均有一个未知变量,即主从时间差Tms,因此无法单独求得Tmsd或Tsmd。但是,如果我们合理地假设通信路径是对称的,即

(3)

——这是 1588成立的关键假设——那么,将公式1与公式2相加可以得出:

 (4)

由于从时钟设备寻求与主时钟设备,因此所有这些计算均由这些设备执行。从时钟设备从主时钟设备的Followup消息获得Tm1',从其Rx(接收)时间戳获得Ts1',从其Tx(发送)时间戳获得Ts3',并通过主时钟设备的DelayResp消息获得Tm3'。

如何计算从时钟与主时钟的时间差

一旦获得通信路径延迟Td,便可公式1或公式2轻松计算从时钟与主时钟的时间差,如公式5和公式6所示。

 (5)

 (6)

如何调整从时钟设备的时间

知道与主时钟的时间差之后,各从时钟需要调整自己的本地时间,与主时钟保持一致。该任务包括两方面。第一,从时钟设备需要加上时间差以调整绝对时间,使其时间在此刻与主时钟时间完全一致。第二,从时钟设备需要调整各自的时钟频率,与主时钟的频率保持一致。我们不能单靠绝对时间,因为时间差仅在一定期间内应用,可能是正值,也可能是负值;调整的结果是从时钟时间向前跳跃或向后倒退。因此,在实际操作中,调整分两步执行:

1.如果时间差过大,例如1秒以上,则应用绝对时间调整。

2.I如果时间差较小,则使从时钟的频率改变某一百分比。

一般而言,该系统会变成一个控制环路,其中主时钟时间是参考命令,而从时钟时间是跟踪主时钟时间的输出,二者之差驱动可调整时钟。可以使用PID控制来特定跟踪性能,这是许多 1588实施方案常用的方法。图4显示了这种控制环路。

IEEE 1588控制环路

图4. 1588控制环路

点对点延迟

修订版IEEE 1588-2008引入了新的机制来测量路径延迟,称为“点对点”(P2P)延迟。与之相比,上文讨论的主从机制则是“端对端”(E2E)延迟。在支持IEEE 1588-2008的网络中,主时钟设备可以与从时钟设备直接相连,或者隔几个中继站(级)相连。E2E延迟实际上是主时钟设备到从时钟设备的“总”延迟,包括其间的所有中继站在内。但是,P2P延迟则仅限于两个直接相连的设备。通信路径的总延迟等于所有中继站的P2P延迟之和。从确保路径对称性的角度看,P2P机制可提供更高的精度。

如上文所述,IEEE 1588-2008新增了PdelayReq、PdelayResp和PdelayRespFollowup三种消息来测量P2P延迟。这些消息的工作方式与上文所述方式相似,详情请看参考文献3。

影响性能的因素

精心设计的IEEE 1588设备能够高度精确的时钟,但也必须了解直接影响同步性能的主要因素,其中包括:

1.路径延迟:如上文所述,IEEE 1588的路径延迟测量假设通信路径延迟是对称的,即前向路径的传输延迟与后向传输延迟相同。此外,在延迟测量期间,延迟不应变化。测量期间延迟变化会导致不对称和延迟抖动,这将直接影响同步精度。虽然无法在IEEE 1588设备的边界之外控制延迟对称性和抖动,但如果测量基于硬件时间戳,则可在设备内改善路径对称性和抖动。由于中断延时、环境切换和线程调度,软件时间戳会导致明显的抖动,而硬件时间戳则不存在这一问题。

2.时钟的漂移和抖动特性:主时钟的频率和相位代表跟踪控制系统的输入,从时钟则是控制对象。主时钟的任何时变行为都会扰动该控制系统,导致稳态和瞬态两种误差。因此,时钟的漂移和抖动越低,则同步精度越高。

3.控制法则:从时钟调整如何校正从时钟设备的时间误差取决于控制方法。控制法则参数包括建立时间、过冲和稳态误差,都将直接影响时钟同步性能。

4.时钟分辨率:如图1所示,本地时间的分辨率由时钟频率决定;最小时间增量为时钟信号的一个周期。IEEE 1588-2002支持1 ns的时间分辨率,IEEE 1588-2008则支持2–16 ns的时间分辨率。216 (!) GHz(甚至1 GHz)的时钟是不现实的。本地时钟的量化会影响本地时间测量和控制的精度。

5.Sync消息的发送周期:从时钟的更新频率最终会影响同步精度。因为时间误差是从时钟频率误差的整体累积值,所以发送周期越长,下一个Sync所观察到的时间误差一般会越大。

6.延迟测量的频率:以预期相邻采样点之间延迟没有明显变化的间隔时间,定期执行延迟测量。如果IEEE 1588网络的延迟变化较大,则增加延迟测量频率可以改善时钟同步性能。

哪个是主时钟?

在考虑如何精确确定主时钟设备与从时钟设备之间的时间差之后,下一个相关问题是:在成百上千台互连设备中,如何确定哪一台设备充当主时钟。

IEEE 1588定义了一种称为“最佳主时钟”(BMC)算法的方法,用于选择主时钟设备。这种方法要求IEEE 1588网络的每台设备均提供一个数据集,描述其本地时钟的性质、质量、稳定性、唯一识别符和首选设置。当一台设备加入IEEE 1588网络时,它会广播其时钟的数据集,并接收所有其它设备的数据集。所有参与设备的数据集,每台设备均运行同一BMC算法,以确定主时钟及其自己的未来状态(主时钟或从时钟)。由于所有设备均采用同样的数据独立执行同一算法,因此结论将会相同,设备之间不需要进行任何协商。有关BMC算法的更多详细信息,请看参考文献2和3。

ADSP-BF518支持IEEE 1588

ADI公司 DSP系列最近新增一款产品:ADSP-BF518。像前款产品ADSP-BF537,4一样,该内置“以太网媒体访问控制器”(EMAC)模块。它还具有TSYNC模块,进一步扩展了支持IEEE 1588标准EMAC功能的能力;还提供其它额外特性,可支持以太网的各种IEEE 1588应用。图5显示了TSYNC模块的框图。 ADSP-BF51x 处理器硬件参考提供了更多信息。

ADSP-BF518处理器TSYNC模块的框图

图5. ADSP-BF518处理器TSYNC模块的框图

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭