在围绕赛灵思FPGA及SoC器件构建的产品中,一种基于以太网的高精度时序解决方案正在进入市场。
电信和信息科学的最新发展正在推动工业时间传输要求明显接近科研应用水平。例如,即将到来的100G以太网网络及5G移动电信要求时序精度在几纳秒范围内,而用于配电的智能电网则要求亚微秒精度。高频率交易的时间戳(一般指股票交易)需要可靠的机制将时间从认证机构分配给业务中心。最后,GPS或伽利略等采用GNSS技术的定位服务都可通过高精度同步机制获得优势。
一种诞生于欧洲核研究机构CERN、名为“大白兔”的以太网技术旨在满足这些应用及其他应用的高精度时间需求。以《爱丽丝仙境奇遇记》中着迷于时间的野兔命名的“大白兔”技术基于并兼容于PTPv2(IEEE-1588v2)和同步以太网等标准机制,但经过适当修改,可实现亚纳秒精度。“大白兔”不仅天生可通过远距离链路执行自校准,而且还能够以极小的退化将时间分配给极大数量的设备。
我们的分支机构Seven Solutions SL自2009年“大白兔”技术创世以来就一直在开发该技术,其始终致力使用赛灵思全可编程解决方案将大白兔产品带入市场。我们的最新产品是ZEN(Zynq®嵌入式节点)电路板,这是一款旨在保持高精度参考时钟的时序电路板,不仅可为其它节点提供时序信息,同时还可在“大白兔”网络框架中进行自我同步。
由于价格原因,基于芯片级原子钟等高精度时钟的解决方案对于大规模采用而言成本太高。
时间简史
物理学家一直都理解时间的重要性,多年来已经发明了各种测量时间的方法。从简单的天空扫描技术(日规、测星仪)到依靠亚原子世界(原子钟)属性的复杂机制,科学家一直都在为开发精确时钟而孜孜不倦地工作。现有时钟在大约3亿年内不会有1秒的误差,这种精度在许多应用中至关重要,例如维持国家度量衡实验室时标。
不过,这些极为精确的时钟非常昂贵、脆弱,并且会占据大量的物理空间。因此它们并不适合许多现实场景。实际上大多数应用通常依赖电子产品,其包含低成本时钟(晶体振荡器)。只需花上几美元,我们就可在一大批规格各异的振荡器中做出选择。
对于简单的应用而言,振荡器的精确度已经足够了。但在许多其它需要同步通信或全局时间概念来同步工作的应用领域(分布式仪器)中,这些彼此互不相连的“自由运行时钟”就无法使用了。虽然设计人员可通过安装较好的振荡器来局部解决该问题,但在技术上这样做并非总是可行。单独的时钟仍然没有同步,即便小小的频率偏差,也会让这种方法失效。
然而由于价格原因,基于高精度时钟(如芯片级原子钟或CSAC)的解决方案对于大规模采用而言成本太高。在这些情况下,替代方法是将时钟信息从基准时钟(高稳定、一般价格昂贵)分配给网络中所有其它需要准确同步的组份。问题是我们如何才能做到?
时间传输技术
分配时间可选择多种方法。请注意分配频率(涉及通过导线发送振荡器信号)与分配相位(当事件在网络的所有组份中以极为一致的瞬间触发时)不同。
例如,我们可通过使用同轴线缆或光纤传输时钟振荡来解决第一个问题(频率分配)。在第二个场景(相位分配)中,我们不仅可在导线上编码一个脉冲,进行每秒传输,而且还可将这个脉冲作为参考,知道新的每秒开始的时间。这种技术一般被称为每秒脉冲(PPS)信号。
另外,还存在第三个问题。我们可能还需要提供时间,这不仅要让各项工作按相同时间运行,或是提供有关何时开始计数(相位)的相同参考,而且还要确保我们在所有设备中具有相同的时间。因此,可通过从中央时间服务器传播时间信息,然后测量该消息的传播时间并在每个节点上对其进行标注的方法来分配时间值。有了频率、相位(PPS)和时间这三个元素,我们就可以说网络是同步的。
目前的工业解决方案以不同的方法提供这些属性。例如,GPS设备通过提供参考频率(10至50MHz)、PPS信号和串行码来提供时间(一般基于NMEA协议)。这种方法广泛用于大量需要准确同步的系统中,因为不同仪器可以便捷连接至不同的GPS接收器。但它使用大量低级信号。在电网应用中,这些值通过名为IRIG-B的简单协议提供,其可提供时间和PPS信息。过去,IRIG-B方法一直能充分满足同步电网的需求。然而今天它不能处理“智能电网”,因为这种电网正在变得空前复杂,而且还包含需要更高精度的新型能源监控应用。
随着数据包网络的基本普及,交换网络以往使用的机制已经过发展演化,适应了数据包网络。在基于精确时间协议(PTPv2或IEEE-1588v2)加同步以太网(SynCE)的解决方案中,SDH/SONET技术也在逐渐转变。PTPv2是网络时间协议(NTP)的工业演化版,该协议被互联网用于同步整个网络中的计算机。PTPv2依靠硬件时间戳机制显著改善时间同步的精度。
第二种机制SynCE可实现在数据载体上编码时钟信号。采用这种对用户透明的方法,我们可将时钟信息和频率分配给所有设备。将PTPv2与SynCE配对,有助于我们针对电信无缝使用数据包网络。这种组合是当前电信、电网和自动化应用中最常见的解决方案。请注意,一些与相位传播及系统可扩展性有关的关键问题仍然十分重要,而且尚待解决。
科学应用及更高层次应用
许多应用都需要把参考时钟源信息传播到不同目的地点。科研机构可能是需要高精度时间分配最为严格的基础设施。从CERN的LHC加速器到CTA、SKA或KM3NeT等大型射电天文分布式设施,所有这些都需要超高精度的时间与频率分配。
但新一代IT及通信应用还需要使用目前标准方法无法实现的极高精度时间传输。例如在GPS应用领域,测量卫星信号传播时间等同于测量距离,因此定位与时间精度测量密切相关。一般来说,GNSS容易受阻塞或电子欺骗问题的影响。所以在用于时间分配时,建议重要基础设施将地面替代方案(基于光纤)用作互补冗余机制。
“大白兔”解决方案
“大白兔”(http://www.whiterabbitsolution.com/)是精确时序以太网的扩展和外延。它是CERN于2009年构思的一个开放式协作软硬件项目,技术行业已急切开始参与了其发展。源代码提供在开放式硬件资源库(OHWR,http://www.ohwr.org)中,以鼓励不同企业及研究机构进行开发。
从一开始起,位于西班牙格拉纳达的Seven Solutions (www.sevensols.com)就一直在协作设计各种大白兔产品,其中包括电子产品、固件以及门控件。此外,该公司还可提供基于该技术的定制解决方案和交钥匙解决方案。
作为以太网的扩展,”大白兔”技术正在接受评估,以加入高精度配置文件框架中的新一代高精度时间协议标准(IEEE-1588v3)中。标准化将有助于“大白兔”集成至未来各种不同技术中,如图1所示。
“大白兔”技术的深入介绍
“大白兔”整合大量机制,可优化其位于以太网扩展框架内的时序精度,因此可保留以太网通信结构。此外,“大白兔”还集成PTP、同步以太网以及数字双路混合器时间差异(DMTD)相位跟踪技术。
Seven Solutions提供的全新ZEN电路板将展示“大白兔”的主要组份如何在产品中结合(图2)。ZEN电路板以赛灵思Zynq-7000全可编程SoC为基础,内含“大白兔”内核以及可提供高精度时钟的千兆位以太网MAC实现方案。在“大白兔”内核中实现的同步机制包括以下组份:
频率同步(同步):这可通过使用SynCE实现,其可编码数据载体中的时钟信号。为确保所有节点都使用相同的频率,我们采用一个基于本地振荡器的机制,该振荡器可通过从光链路恢复的外部时钟进行控制。
相位同步:节点的物理时钟可转发至主设备组份,或从主设备组份转发至节点,以便主设备能够将该信号(来自从设备)的相位与自己的相位相比较。偏差应该与信号通过光纤的传播时间相同(使用PTP进行正确测量)。有了该信息,主设备就可确定其自己的时钟与来自从设备的时钟之间的相位差,并要求从设备将其相位转换成与主设备完全相同的值。该过程可通过在FPGA门控件中实现一个数字DMTD来数字化完成。
时间同步:这是使用PTPv2协议的结果,该协议不仅可测量链路传播时间,而且还可提供全局时间概念。此外,“大白兔”还考虑了因在双向光纤中为每次通信传输(在环路中向前和向后)使用不同波长而产生的有关传播时间的不对称性,从而可提高标准PTP协议的精度。由于频率和相位之前已经同步,因此我们可以在”大白兔”网络中确保所有设备的全局时间概念。
所有这些工作均可在“大白兔”内核中实现,一部分使用适当的FPGA门控件,一部分使用嵌入式软件内核。“大白兔”产品包括执行这些不同时钟工作所需的适当振荡器、PLL和时序电子产品。
作为案例研究,下面我们将更详细了解ZEN电路板。该电路板采用双路“大白兔”内核(D-WRC),这是Seven Solutions用我们最新系列赛灵思7系列产品开发的原始“大白兔”内核的修订版。D-WRC能够同步两个“大白兔”节点,也可作为菊花链网络中的中间链路。此外,ZEN电路板还包含由D-WRC控制的高精度、低抖动、温度补偿时钟资源。
此外,Zynq SoC在Linux操作系统下运行的双核ARM® Cortex™-A9处理器可促进用户应用的开发。板载提供Linux,有助于使用令人关注的全新特性,例如适用于配置的Web服务、状态监控的SNMP支持以及远程固件加载与更新。
ZEN电路板旨在用作提供高精度时间,它可提供多样化连接与扩展带来的大量可能性:
IRIG-B I/O是ZEN电路板使用的当日时间,它既可作为主设备,也可作为从设备。
两个连接至ARM处理器的10/100/1000以太网端口可用于各类网络应用和协议(NTP、sNTP、PTPv2 以及管理等)。
提供两个SFP模块,用于插接符合”大白兔”规范的链路。
SMA连接器可让ZEN电路板与更精确的时钟同步(例如GPS源或高稳定振荡器),提供由“大白兔”同步的各类时钟。
FMC连接器可插入一款采用“大白兔”项目框架开发的夹层板,或是市场现有的任何其它工业电路板。这些FMC卡不仅可增强ZEN的发展潜能,而且还可实现大量的产品配置。
存储器资源包括SD、DDR3和闪存。
包含两个UART-USB连接器,可在D-WRC和Cortex处理器中进行管理和调试。
简言之,ZEN电路板可为最终用户提供一个节点,其不仅可实现亚纳秒同步并以菊花链方式工作,同时还可尽其所能地提供最佳的Zynq SoC与全新水平的系统设计功能。
“大白兔”设备
“大白兔”技术肇始于CERN提倡的开放式硬件社区(开放式硬件库,OHWR)。为加速该技术的学习进程,Seven Solutions开发出了一款由两片名为SPEC的Spartan®-6电路板组成的“大白兔”入门套件。其中一个可配置为主设备,另一个则可配置为从设备。目的是鼓励用户执行几个早期评估实验。
这项技术最复杂的组份是交换机。我们通过与CERN、GSI以及其他合作伙伴合作,共同开发了18端口“大白兔”交换机,从而设计了采用MicroTC尺寸规格的主板。核心组份是一款Virtex®-6 (LX240T) FPGA。我们将该器件与一款运行嵌入式Linux 操作系统的外部处理器(ARM926E)进行配对,执行了系统更新和文件管理等各项高级工作。该交换机使用了18个针对SFP的GTX链路以及40个面向通用任务(LEDS、SFP检测等)的GPIO。这是一种非常复杂的产品,既能分配时间,也能在使用标准电信工具的同时处理数据包。
近期,Seven Solutions将“大白兔”内核移植到了LEN电路板中的赛灵思Artix® FPGA系列中(图3),实现了比现有OHWR器件成本更低、能效更高的解决方案。此外,我们刚刚开发出了一款基于Zynq SoC器件的“大白兔”产品。该WR-ZEN节点(之前的名称)代表一个完整的通用片上系统方法,其中节点和计算机都整合在同一电路板中。该解决方案可在降低成本,改善系统灵活性的同时,实现更便捷的维护。
Seven Solutions目前开发的工业产品可为管理、配置和监控提供标准接口,不仅能充分利用“大白兔”技术的各项优势,同时还可提供更强大的特性、支持和文档。
“大白兔”应用
“大白兔”技术的第一个目标是科学应用。近期该技术已经在一些设备及研究项目中整合,用于高能物理及分布式射电天文设施的框架中。“大白兔”技术已经在多个粒子加速器(CERN、GSI以及其他机构)中使用,而且KM3NeT与HISCORE等国际科研计划也正在考虑使用该技术。因此,“大白兔”方法已在各种要求严格的应用中得到验证,这类应用要求通过大型设施上的分布式仪器实现精确的时序与频率转移。
2014年,“大白兔”还由荷兰VSL进行了125km的远距离链路测试,并由芬兰MIKES进行了1,000km的远距离链路测试。
在科研领域之外的广泛应用中也需要精确时序。智能电网要求准确可靠的时序,而高频率交易也离不开经过认证的精确时序。
许多此类应用领域目前依赖的是GPS时序信号,这种信号生来就容易受到影响(由于环境条件或者由于意外或恶意阻塞及电子欺骗)。GPS不应该用于安全关键性基础设施(2010年1月20日《美国空军首脑对过度依赖GPS的警告》,摘自《Inside GNSS》杂志新闻)。在这一点上,“大白兔”代表着一种替代性解决方案,其可实现通过地面光纤进行高精度时序及频率传输。可通过部署标准电信网络来降低这种方法的成本。
除“大白兔”的功能特性外,Seven Solutions还正在面向要求高可用性的重要应用开发全新工业产品。冗余电源、热插拔风扇、延期振荡器以及其它技术允许其部署于不能承受系统故障或长时间维修过程的设施。