文章转自ADI官网,版权归属原作者一切
简介
IEEE 1588规范诞生于2002 年,首要界说网络分布式时钟的同步协议。测验与丈量、电信和多媒体流处理等许多不同运用,都开端首选这种时钟同步办法。这种规范化时钟同步法本钱效益高,支撑异构体系,并可供给纳秒级同步精度。
本文介绍原版 IEEE 1588-2002 规范以及更新版别 IEEE 1588-2008 中的改进内容。由于IEEE 1588 在一些方针运用中越来越重要,因而ADSP-BF5181 Blackfin® 嵌入式处理器中也集成专用硬件来支撑IEEE 1588。本文将概要介绍其功用,并经过一个示例来展现运用ADSP-BF518 处理器处理方案取得的时钟同步功用成果。
现在几点了?
大多数体系都需求运用本振来保护自己的时刻概念。图1显现硬件和软件怎么组合,在体系内发作时刻信息

体系内的硬件和软件资源均可运用此时刻信息。关于硬件,振荡器时钟会发作一个或多个物理时钟信号(时钟输出),并可运用这些时钟信号驱动或触发体系的其它部分。软件中保护的时刻一般称为”体系时刻”。体系时刻能够用时钟脉冲数或秒/纳秒的办法表明。体系软件运用振荡器时钟脉冲数及其频率信息得出时刻,并供给”运用程序编程接口”(API)函数,软件的其它部分能够运用这些函数检索并设置时刻。假如需求肯定时刻,则所供给的时刻将与预界说时刻点,即基准时刻点相关联.
时钟同步
许多运用要求两台独立的设备以同步办法作业。假如每台设备仅依托自己的振荡器,则各振荡器的特性与作业条件差异将会约束时钟同步作业的才能。一些简略可行的处理方案能够战胜这些约束,包含:
- 一切设备共用一个物理振荡器.这种办法仅对距离很近的分
- 一切设备均运用特性简直彻底相同的振荡器.由 于很难取得 简直彻底相同的振荡器,并保证功用不随时刻飘移,因而这 种办法不可行。更重要的是,各振荡器的作业条件并不相
- 假如一切设备均经过一个通讯网络(例如以太网)互连,则这些设备能够经过网络交流时刻音讯,依据单个”主”时钟 动态调整各自的时钟。运用传统的时刻同步协议—— “网络 时刻协议”(NTP),统中的每台设备依据它从 NTP时刻服 务器获取的时刻信息调整其时钟。可是,该协议只能完成毫 秒级同步精度。
IEEE 1588界说了一个新协议,能够完成纳秒级同步精度。下面评论该规范怎么完成这种水平的时钟同步。
IEEE 1588 有何效果
IEEE 1588规范界说了一种时刻同步协议,适用于地理方位涣散但经过某种通讯技能(例如以太网)互连的设备。设备之间经过交流时序音讯,然后坚持相同的肯定体系时刻(用秒和纳秒表明)。
要完成此方针,一个直观的办法是将一台具有”最佳”(最准确)时钟的设备指定为”主时钟”设备,让它向其它设备播送其时刻。其它设备将会调整各自的时刻,与主时钟所发送的时刻坚持一致。不过,这种处理方案也有几点缺乏:
- 主时钟设备无法以极短的距离播送时刻,因而”从”时钟设备有必要运用自己独立的”低质”振荡器,在主时钟设备
- 播送途径不免存在推迟,推迟起伏取决于通讯技能,例如物理信号沿导线从一台设备传输至另一台设备所需的时 间。这种推迟会进一步扩展主时钟与各从时钟之间的失
- 主时钟设备与各从时钟设备之间的播送途径存在差异,这会进一步下降各从时钟设备之间的同步精度。
IEEE 1588要求经过丈量途径推迟,处理第二个和第三个问题。它还要求待调整的从时钟与主时钟坚持步调一致,然后减轻榜首个问题。假如或许,运用更小的播送距离和更高质量的振荡器,能够进一步减轻榜首个问题
IEEE 1588 怎么丈量通讯推迟
IEEE 1588-20022 界说了四种音讯Sync、Followup、DelayReq和DelayResp,用来丈量前向(主时钟至从时钟)和后向(从时钟至主时钟)途径的通讯推迟。更新版别IEEE 1588-2008,3 还供给其它机制,新增三种音讯PdelayReq、PdelayResp和PdelayRespFollowup,来丈量”点对点推迟”。
这些音讯中,Sync、DelayReq、PdelayReq 和PdelayResp是所谓”事情”音讯,在脱离和抵达一台设备时有必要加上”时刻戳”(记载本地时刻)。给分组加上时刻戳的办法有两种
- 音讯由软件处理时呈现软件时刻戳。一般呈现在音讯的接纳/发送”中止服务程序”(ISR)中,该时刻戳为体系时刻的当时值。
- 音讯实践抵达或脱离设备时呈现硬件时刻戳。该时刻戳操作由硬件履行,硬件会保护自己的接连时刻信息。
两种时刻戳办法均为IEEE 1588 所承受,但硬件时刻戳的精度显着更高,如下文所述。
主时钟设备到从时钟设备的推迟
音讯Sync 和Followup 由主时钟设备发送,从时钟设备担任接纳这些音讯,并核算主时钟设备到从时钟设备的通讯途径推迟.
图2 中,在时刻点 Tm1,主时钟设备软件读取当时本地体系时刻(Tm1,软件时刻戳),将其刺进 Sync 音讯中,并送出该音讯。该音讯在稍后的时刻点 Tm1’脱离主时钟设备,该时刻点为硬件时刻戳。该音讯在时刻点 Ts1’(从时钟设备本地时刻)抵达从时钟硬件,从时钟设备软件在稍后的时刻点Ts1 收到该音讯。该软件将读取硬件时刻戳以取得 Ts1’。假如没有通讯推迟,Ts1’应等于(Tm1′ + Tms),其间Tms 为主时钟与从时钟之间的时刻差。该协议的终究方针是补偿此时刻差.

发送Sync音讯之后,主时钟设备软件经过时刻戳单元读取Sync音讯的脱离时刻Tm1’,将其刺进Followup音讯中,然后在时刻点Tm2发送该音讯。从时钟设备软件在时刻点Ts2收到此音讯。此时,从时钟设备软件有两个时刻:Ts1’(Sync抵达时刻)和Tm1’(Sync脱离时刻)。主从途径推迟Tmsd由公式1确认。
![]() |
(1) |
从时钟设备到主时钟设备的推迟ce
从时钟设备发送DelayReq音讯,主时钟设备予以呼应发送DelayResp音讯。运用这些音讯,从时钟设备能够核算从时钟设备到主时钟设备的通讯途径推迟.
在时刻点Ts3(图3),从时钟设备软件读取当时本地体系时刻(T s3),将其刺进DelayReq音讯中,并送出该音讯。发送该音讯之后,从时钟设备软件读取时刻戳以获取音讯脱离时刻Ts3’,并等候主时钟设备的呼应。

DelayReq音讯在稍后的时刻点Tm3’抵达主时钟设备,由主时钟设备软件在时刻点Tm3处理。然后,该软件读取时刻戳以获取抵达时刻Tm3’,将其刺进DelayResp音讯中,并在时刻点Tm4发送至从时钟设备。当从时钟设备软件在时刻点Ts4收到DelayResp音讯时,它能够提取时刻Tm3’,并经过公式2核算从主通讯推迟Tsmd。
![]() |
(2) |
公式1和公式2中均有一个不知道变量,即主从时刻差Tms,因而无法独自求得Tmsd或Tsmd。可是,假如咱们合理地假定通讯途径是对称的,即
![]() |
(3) |
——这是IEEE 1588 树立的要害假定——那么,将公式1 与公式 2 相加能够得出
![]() |
(4) |
由于从时钟设备寻求与主时钟设备同步,因而一切这些核算均由这些设备履行。从时钟设备从主时钟设备的Followup音讯取得Tm1’,从其Rx(接纳)时刻戳取得Ts1’,从其Tx(发送)时刻戳取得Ts3’,并经过主时钟设备的DelayResp音讯取得Tm3′.
怎么核算从时钟与主时钟的时刻差
一旦取得通讯途径推迟Td,便可运用公式1或公式2轻松核算从时钟与主时钟的时刻差,如公式5和公式6所示
![]() |
(5) | ||
![]() |
(6) |
怎么调整从时钟设备的时刻
知道与主时钟的时刻差之后,各从时钟需求调整自己的本地时刻,与主时钟坚持一致。该使命包含两方面。榜首,从时钟设备需求加上时刻差以调整肯定时刻,使其时刻在此时与主时钟时刻彻底一致。第二,从时钟设备需求调整各自的时钟频率,与主时钟的频率坚持一致。咱们不能单靠肯定时刻,由于时刻差仅在一定时刻内运用,或许是正值,也或许是负值;调整的成果是从时钟时刻向前跳动或向后后退。因而,在实践操作中,调整分两步履行:
- 假如时刻差过大,例如
- 假如时刻差较小,则使从时钟的频率改动某一百分比.
一般来说,该体系会变成一个操控环路,其间主时钟时刻是参阅指令,而从时钟时刻是盯梢主时钟时刻的输出,二者之差驱动可调整时钟。能够运用PID操控来完成特定盯梢功用,这是许多IEEE1588施行方案常用的办法。图4显现了这种操控环路.

点对点推迟
修订版IEEE 1588-2008引入了新的机制来丈量途径推迟,称为”点对点”(P2P)推迟。与之比较,上文评论的主从机制则是”端对端”(E2E)推迟。在支撑IEEE1588-2008的网络中,主时钟设备能够与从时钟设备直接相连,或许隔几个中继站(级)相连。E2E推迟实践上是主时钟设备到从时钟设备的”总”推迟,包含其间的一切中继站在内。可是,P2P推迟则仅限于两个直接相连的设备。通讯途径的总推迟等于一切中继站的P2P推迟之和。从保证途径对称性的视点看,P2P机制可供给更高的精度.
如上文所述,IEEE 1588-2008新增了PdelayReq、PdelayResp和PdelayRespFollowup三种音讯来丈量P2P推迟。这些音讯的作业办法与上文所述办法类似,概况请看参阅文献3。
影响同步功用的要素
精心设计的IEEE1588设备能够完成高度准确的时钟同步,但也有必要了解直接影响同步功用的首要要素,其间包含:
- 途径推迟: 如上文所述, IEEE 1588 的途径推迟丈量假定通 信途径推迟是对称的,即前向途径的传输推迟与后向传输 推迟相同。此外,在推迟丈量期间,推迟不该改变。丈量 期间推迟改变会导致不对称和推迟颤动,这将直接影响同 步精度。尽管无法在 IEEE 1588 设备的鸿沟之外操控推迟对 称性和颤动,但假如丈量根据硬件时刻戳,则可在设备内 改进途径对称性和颤动。由于中止延时、环境切换和线程 调度,软件时刻戳会导致显着的颤动,而硬件时刻戳则不
- 时钟的漂移和颤动特性:: 主时钟的频率和相位代表盯梢控 制体系的输入,从时钟则是操控目标。主时钟的任何时变 行为都会扰动该操控体系,导致稳态和瞬态两种差错。因
- 操控规律: 从时钟调整怎么校正从时钟设备的时刻误 差取 决于操控办法。操控规律参数包含树立时刻、过冲和稳态
- 时钟分辩率: 如图 1 所示,本地时刻的分辩率由时钟频率 决议;最小时刻增量为时钟信号的一个周期。 IEEE 1588- 2002 支撑 1 ns 的时刻分辩率, IEEE 1588-2008 则支撑 2 -16 ns 的时刻分辩率。 2 16 (!) GHz (乃至 1 GHz )的时钟是不 实际的。本地时钟的量化会影响本地时刻丈量和操控的精
- Sync 音讯的发送周期: 从时钟的更新频率终究会影响同步 精度。由于时刻差错是从时钟频率差错的全体累积值,所 以发送周期越长,下一个 Sync 所观察到的时刻差错一般会
- 推迟丈量的频率: 以预期相邻采样点之间推迟没有显着变 化的距离时刻,定时履行推迟丈量。假如 IEEE 1588 网络 的推迟改变较大,则添加推迟丈量频率能够改进时钟同步 功用。
哪个是主时钟?
在考虑怎么准确确认主时钟设备与从时钟设备之间的时刻差之后,下一个相关问题是:在成百上千台互连设备中,怎么确认哪一台设备充任主时钟。
IEEE 1588界说了一种称为”最佳主时钟”(BMC)算法的办法,用于挑选主时钟设备。这种办法要求IEEE1588网络的每台设备均供给一个数据集,描绘其本地时钟的性质、质量、安稳性、仅有辨认符和首选设置。当一台设备参加IEEE1588网络时,它会播送其时钟的数据集,并接纳一切其它设备的数据集。运用一切参加设备的数据集,每台设备均运转同一BMC算法,以确认主时钟及其自己的未来状况(主时钟或从时钟)。由于一切设备均选用相同的数据独立履行同一算法,因而定论将会相同,设备之间不需求进行任何洽谈。有关BMC算法的更多详细信息,请看参阅文献2和3。
ADSP-BF518处理器支撑IEEE 1588
ADI公司Blackfin DSP系列最近新增一款产品:ADSP-BF518处理器。像前款产品 ADSP-BF537,4 该处理器内置”以太网媒体拜访操控器”(EMAC)模块。它还具有TSYNC模块,进一步扩展了支撑IEEE 1588规范EMAC功用的才能;还供给其它额定特性,可支撑以太网的各种IEEE1588运用。图5显现了TSYNC模块的框图。ADSP-BF51x Blackfin 处理器硬件参阅供给了更多信息5

分组检测
ADSP-BF518处理器能够检测IEEE1588的一切事情音讯,包含送入和送出的分组,并为其供给硬件时刻戳。由于事情音讯时刻戳的精度及其提取方位会影响途径推迟的对称性和安稳性要求,所以IEEE1588体系的精度在很大程度上取决于这二者。ADSP-BF518的TSYNC模块继续监控MAC操控器与以太网”物理接口收发器”(PHY)之间的硬件接口,即”媒体独立接口”(MII),而且只需检测到事情音讯,就会发作硬件时刻戳,这一功用可进步ADSP-BF518的同步精度。
事情音讯检测功用是可编程的,根本装备有两种:支撑IEEE1588-2002(默许状况)或支撑IEEE 1588-2008。此外,这种可编程才能还支撑将来版别的IEEE 1588,以及其它要求时刻戳的一般协议,包含装备为给进出处理器的每个以太网分组加上时刻戳。
灵敏的时钟源
本地时钟的特点关于IEEE1588体系的功用很重要。为了满意各种不同运用的要求,ADSP-BF518处理器可供给三种本地时钟源选项:体系时钟、外部时钟或以太网时钟。假如运用具有特定时钟要求,则能够挑选”外部时钟”,并供给定制时钟源。假如主时钟设备与从时钟设备”背靠背”衔接,由于”以太网时钟”来自以太网线路,而且两台设备选用同一时钟作业,因而该时钟选项能够供给杰出的精度。一般运用能够挑选处理器的“体系时钟”作为时钟源。
所选源时钟也由TSYNC模块驱动,经过特定引脚Clockout作为处理器输出,体系的其它部分可运用该输出供给本地时刻信息。
PPS输出
“每秒脉冲” (PPS)信号是时刻信息的物理表明。它名义上是一个1-Hz信号,在每个1秒转化时刻宣布一个脉冲。它可用来操控本地设备,或许在发作网络故障时供给辅佐时刻通道。它也能够用于测验。两台设备的PPS信号之间的相位差是二者时刻偏移的物理丈量
ADSP-BF518处理器供给灵敏的PPS输出。它运用可编程”开端时刻”(PPS_ST) 和周期(PPS_P)发作一个在时刻(PPS_ST+n×PPS_P)宣布脉冲的信号,其间n = 1,2,3…。根本用法是将PPS_P设置为1秒,并将PPS_ST设置为用秒数表明的将来任一时刻,然后发作PPS信号。参阅根本用法,能够运用这种PPS输出功用发作具有可编程频率和开端时刻的周期性信号。
辅佐快照
一些运用或许需求依照标志信号切换指示,给某一事情加上时刻戳。ADSP-BF518的TSYNC模块经过辅佐“快照” 功用,运用一个专用引脚来接纳外部标志,以便完成这种恳求。切换标志将触发该模块捕捉时刻戳寄存器中的当时本地时刻,供软件拜访。.
报警
假如运用需在特定时刻履行一项使命,则能够用TSYNC模块的“报警”功用。这项功用能够设置本地肯定时刻,抵达该时刻时,就会触发处理器中止。然后,软件便可运用中止履行使命。
可调时钟
TSYNC模块的可调时钟是一种”根据加数”的时钟。如图 6 所示,它取得一个固定输入时钟信号,并输出该输入的”盗取脉冲”版别信号:关于每个输入时钟,”加数”的值添加到累加器中,而且每次累加器溢出时,进位位就会驱动“本地时刻计数器”,然后发作以脉冲计数值表明的本地时刻。更改加数能够调整本地时钟的频率,由于加数决议累加器溢出的频率,然后决议本地时刻计数器递加的频率。假如输入时钟的频率为Fin,且加数的值为A,则本地时钟频率为:
![]() |
(7) |

选用ADSP-BF518 处理器的 IEEE 1588 施行方案
ADSP-BF518 处理器上构建了一个完好的 IEEE 1588-2008 兼容体系,如图 7 所示。

处理器的TSYNC模块检测送入和送出的IEEE 1588音讯,并经过硬件给事情音讯加上时刻戳。由I X X AT ( I X X ATAutomation GmbH)供给的IEEE 1588协议栈软件可完成规范所要求的音讯交流协议。它运用TSYNC驱动程序读取、写入并调整TSYNC时钟,并运用MAC操控器驱动程序在以太网MAC层(开放体系互连模型的第二层)发送和接纳音讯。它还可完成P2P 推迟丈量的操控规律和过滤。以太网 PHY 挑选具有低颤动推迟特性的National SemiconductorDP838486。为简明起见,TSYNC 模块时钟源挑选处理器的体系时钟 (80 MHz)。

图 8 是两个彻底相同的ADSP-BF518 IEEE 1588体系之间的丈量差错直方图,由此可看出该器材的时钟同步功用。在约 1700 秒的时刻内共进行了 6938 次丈量。终究平均差错为0.015 ns,规范差为 12.96 ns。该测验所用的 Sync 音讯距离为0.25 秒。
定论
IEEE 1588规范供给了一种高精度、低本钱的分布式时钟同步办法。尽管IEEE 1588并未明文要求硬件支撑,但硬件辅佐音讯检测和时刻戳关于完成极高同步精度至关重要。ADSP-BF518为IEEE 1588-2002和IEEE 1588-2008供给硬件支撑,包含各种运用的支撑功用。运用ADSP-BF518处理器和IXXAT IEEE 1588-2008协议软件施行IEEE 1588技能,已证明能够完成高精度时钟同步。
参阅电路
1ADSP-BF518数据手册。http://www.analog.com/en/products/processors-dsp/blackfin/adsp-bf518.html.
2IEEE Std. 1588-2002.网络丈量和操控体系的精细时钟同步协议 IEEE 规范。 http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=1048550.
3IEEE Std. 1588-2008.网络丈量和操控体系的精细时钟同步协议 IEEE 规范。http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=4579760.
4ADSP-BF537数据手册。 http://www.analog.com/en/products/processors-dsp/blackfin/adsp-bf537.html.
5ADSP-BF51x Blackfin处理器硬件参阅,0.1 版(初始版)。2009 年 1 月。Analog Devices, Inc.http://www.analog.com/media/en/dsp-documentation/processor-manuals/ADSP-BF51x_hwr_rev1.2.pdf.
6AN-1507:DP83848 和 DP83849 100Mb数据延时。2006.National Semiconductor Corporation. http://www.ti.com/lit/an/snla084b/snla084b.pdf.