从金融、电信、工业、消费到航空航天与国防以及汽车,如今,“同步”这个概念,在所有行业无处不在。
众多应用完全离不开同步;本文将探讨其中的部分应用并根据这些示例来分享同步这个概念。
此外,本文的第二部分将研讨同步的两个关键技术指标:精度与准确性和集成。 从这两个指标出发,我将介绍Versal™ 系列之所以成为理想同步平台的特定功能,帮助读者以全新、独到的视角理解这种改变游戏规则的革命性的可编程、自适应平台。
无处不在的同步
没有同步,众多应用根本不可能存在。为什么这么说呢?本段将使用两个具有代表性的示例来支持这个论断。
在本文中,术语时钟 (clock)、时间、钟表时间 (TOD) 同义。
具体而言,对于同步,时钟 (clock) 并非周期性的波形(图 1)。
图 1 - 在同步情景下定义时钟。
在我们的日常生活中(例 1),我们经常说“明天下午 2点见面”。这个简单陈述包含众多关于同步的假设:
-它假定受邀与会的人有同样的时间观念。如果您身处中欧,这句话假定双方都使用 UTC +1[1]
-UTC时间由位于伦敦的计量实验室维护,也是世界常规使用的时间。我们的手机运行 UTC 时间的副本并定期在后台与 UTC 同步,确保二者保持同步。我们的计算机也进行相同的操作[2]。
简单的一句陈述“我们在下午2 点见”,假定其背后存在复杂的基础设施,而我们下意识地参考它。
例2 中考虑了一个“显著”不同的情况:通过 GNSS 进行地理定位[3]。
手机接收来自多个不同卫星的时间(就是时钟),每个卫星在同一时间发送一个。手机并非与所有卫星距离相等,因此可以测量由不同源发送的时钟之间的相位差。如果卫星位置先天已知,GNSS接收器就很容易地重新计算自己的位置。
上面这两个示例有众多相似性:受邀参会的双方有相同的时间观念,就如例 2 中的卫星。此外,双方和卫星都保持他们/它们参考的公共时间的副本。他们/它们并非直接共享同一个时间源,因为他们/它们在地理位置上彼此远离。
同步是让本地时钟副本(从时间)与公共参考(主时间)随时间推移保持一致的技术。这就是我们在寻找的定义。
在上面两个示例中,任何同步误差都会影响最终应用的性能。在第一个示例中,如果受邀人自己的时钟慢了(举例),他在会面时就会迟到。
在第二个示例中,如果卫星的本地时钟副本有误差,那么 GNSS 接收器将计算出错误的位置。
虽然两种应用有众多相似性,但二者之间存在根本的区别,即应用要求的准确性不同。在第一个示例中,如果时钟慢了 1 秒,没有人会抱怨,因为延误 1 秒对会议而言一般可以容忍。而对于 GNSS 接收器,误差 1 秒将导致计算出错误的位置,直接让应用不具备使用价值。
这就告诉我们,虽然这两种应用依靠相同的技术(同步),但验收标准完全不同。事实上,验收标准只与应用有关。虽然准确性是最重要的验收标准之一,但绝非唯一的标准。安全性、可用性、精度、集成度等都是其他的验收标准示例。
在我们继续研讨之前,有必要简要介绍一下 UTC的背景。UTC使用原子钟确保时间单位秒得到正确地定义。可以将地球自转作为一种时间基准,但令人遗憾的是,它的准确度欠佳,因为它逐年发生数秒的变化。在经历长时间以后,累积的误差有可能导致 UTC 完全与地球时间不同步。例如在多年后,本该是中午,但 UTC时间是夜晚。为了解决这种潜在的长期失准问题,伦敦计量实验室通过选择性地定期增减1 秒,对 UTC进行补偿。这一般在每年的 6 月末和 12月末进行。这些校正被称作闰秒[4]。
全球定位系统 (GPS) 分配的时间使用与 UTC 相同的秒定义,但没有采用闰秒。因此在 2021 年年初,GPS 时间和 UTC 时间相差 18秒。这个数字在未来还会改变。
作为用户,我们不必担心这些校正。我们的手机和计算机将在后台同步到 UTC,即便存在闰秒,也能保持一致。
为在无数据覆盖的时间和地点传播 UTC,UTC 时间也通过德国 DCF77 电台用长波传播[5]。
您也许会觉得相当意外,但原子钟的精度远优于地球自转。
Versal中的同步指标
同步这一术语代表的是通用技术,而验收标准则与应用严格相关。在下文中,我将着重介绍 Versal 自适应计算加速平台 (ACAP) 的两个具体指标:
-准确性和精度。
-集成:应用的范围一般远不止于同步。选择集成所需的所有软件块和硬件块的平台是正确的做法。
Versal在这两个指标上都表现优异,我将具体解释其原因。
准确性与精度
读者可能想知道的第一个问题是:准确性和精度,它们是不是一回事?
站在测量理论的角度,精度和准确性有不同的意义且彼此独立。我们现在具体了解。
如果重复测量同一对象得到的结果彼此相近(即使不正确),那么这个测量系统属于“高精度”。
如果重复测量同一对象得到的结果的平均值正确,这个测量系统属于“高准确性”。
为更深入地理解上述定义,读者应考虑图 2。在该系统中,对象(红点)的位置在二维空间内,而且我们想要测量它的位置。
我有两个仪器(蓝色和绿色),能测量对象的位置。五个蓝点是蓝色仪器完成的测量。五个绿点是绿色仪器完成的测量。
图 2 - 精度与准确性对比。
根据上述定义,绿色仪器比蓝色仪器更准确,蓝色仪器比绿色仪器更精确。现在很容易理解准确性和精度是彼此独立的概念。读者可以轻松地生成各种测量值集,可以是既不精确也不准确,或者是既精确又准确。
换言之,我们可以看到,只要测量系统是准确的,求平均值就是提高我们对这个对象的位置的认知的良好途径。
如果测量系统不准确,校准是我们可以考虑的唯一解决方案。
导致时钟的本地时钟副本不准确的最主要因素之一是电子电路,特别是收发器的 FIFO:
-收发器FIFO 的时延在每次启动时会发生改变
-收发器FIFO 存在 PVT 相关时延[6]
上述两个因素需要分开考虑,因为它们对准确性产生影响的方式不同。
第一个因素直接影响准确性:如果接收器和发送器在启动时时延不同,IEEE1588 机制将无法检测出这种不同。任何失衡都会直接地影响准确性。甚至求平均值也不能缓解。对于图 3 所示的这个案例,读者会注意两个测量值集存在偏向。
令人惊奇的是,第二个因素对准确性没有影响。事实上,因环境条件(电压和温度)造成的时延变化将同时适用于接收器和发送器,并且 IEEE1588 机制将予以抵消。在我们继续进行研讨前,我认为我们应该更详细地考虑一下上面这个论述。
这是否暗示时间传递只在启动后进行一次?答案是否。
如果我们只校准一次,尽管 RX 和 TX 之间存在对称性,但时延的改变仍会引起从时钟误差,而且这个误差将随着温度/电源漂移不断累积。这种情况的对策是以快于温度/供电变化的速度再同步。
我们回顾一下到目前的内容:影响因素 1 要求我们在启动时分别了解 RX 和 TX 的时延。影响因素 2 要求我们随时间推移,用足够快的速度再同步从时钟。
Versal 收发器提供不同的替代方法来测量并控制时延,既在启动时也在运行中,这些方法可分为下列两种类型:
图 3 - 启动间的时延变化。
-缓冲器旁路。
-FIFO 时延测量。
缓冲器旁路允许在 RX 和 TX 方向绕过 FIFO,通过建立精密的时钟方案,可处理跨时钟域的数据,且避免时序误差[7]、[8][i]。毋庸赘述,缓冲器旁路的时延最小。虽然这种“副作用”可能对同步应用无关,但这对高频交易 (HFT) 等其他行业领域而言则是关键。
缓冲器旁路能通过将收发器时延设定成固定值来解决问题,而另一类值得重视的方法是将重点放在时延测量本身。如果任何给定时间点的时延已知,则可以方便地重新用于以数学方式校正钟表时间 (TOD) 值。
这种方法对同步应用很有意义,因为它不必修改 IP 本身的时钟架构,就能为所有 IP(首先是以太网)提供自然的升级路径。
精度同时通过两类方法实现,因为精度取决于:
-收发器内置的硬编码模拟相位检测器以及
-用户控制的模拟相位内插器。用户可以用皮秒范围的增量轻松实现时钟相位的步进或步退。
虽然这看似值得关注,但其准确性如何?失准的典型原因是启动之间的时延变化,这是分频器在重置后的随机相位造成的。
Versal 能够在启动时测量或设置时延。这个初始校准阶段有助于确保已去除收发器中的所有失准源。
正如我们之前提到的,运行中发生的时延改变对 RX 和 TX 是对称的,可通过 PTP 机制本身予以补偿。我认为对这个最后的论述有必要详细阐述。如果 PTP 能够补偿这种类型的时延改变,那么随时间推移时延测量的优势是什么?
很多情况下,时延的改变在 RX 和 TX 之间并不对称。读者可以考虑固有的非对称协议的情况,例如 PON[9]。
在其他情况下,RX 路径和 TX 路径可以在不同物理器件上:在测试设备上是典型情况。不同的器件可能有不同温度,不同工艺和不同电源。所有这些原因综合起来,将导致 RX 和 TX 之间的时延会随时间的推移而演进发展,从而导致失准。
上面的示例,只是用来支持 RX 和 TX 之间的时延并非总是一起变化的观点。
虽然很多平台都能正确地实现 PTP 协议,但 Versal 平台便于您在工作中运用自己的专业知识和思路,打赢这场准确性之战。这是一款助力您将创意变为现实的标准产品。
从纳秒级的典型架构时钟,到 Versal 内硬编码的模拟相位内插器提供的皮秒级时钟,Versal ACAP 在收发器时延控制和时延测量方面,堪称变革者。
单芯片系统
在之前的部分中,我们已经了解到 Versal 为何在准确性和精度上表现优异,以及开发同步应用时的关键因素。
我希望读者现在把重点放在“同步应用”的含义上:任何运用这项功能在网络节点间传递 TOD 的应用都属于这个类别。毋庸赘述,这严重取决于具体用户。一般情况下,这需要配备带有专有软件、计算逻辑和各种接口的处理器。大多数情况下,它甚至还需要高速 ADC 或 DAC 以及/或者 DSP 引擎。
Versal 是一种自适应计算应用平台 (ACAP),前文提及的所有构建块都在单芯片上集成在同一封装内。
系统架构师和设计师将能够运用自己的专业知识,在单颗器件上实现自己的应用。这是落实您的构想的最便捷、最快速的途径。
这只是关于Versal ACAP 的一个不同视角:在单芯片上运行并准确同步完整应用。
结论
本文从两个角度介绍了同一个具有革命性意义的 Versal 平台:一个角度从宏观上了解了运行着配有线接口和无线接口的定制可编程引擎的完整应用。
另一个角度在微观上揭示出每种接口如何为极准确的时间传播提供支持。
处于 Versal 平台的核心的,是构建您自己的应用所需的可编程逻辑。
在单颗器件上准确同步完整应用。