0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

探讨全局时钟恢复其他时钟的问题

要长高 来源:Digi-Key Electronics 作者:Dave Lacey 2022-08-12 10:34 次阅读

对于本文,我们将继续讨论全局时钟恢复、分布式时钟同步和事件同步的主题。

全局时钟恢复

假设在一个复杂系统中有多个代理。每一个都有自己的参考时钟,给它一种时间感。代理的时间概念由自启动以来经过的参考时钟滴答数给出。

为了同步动作和共享时钟,代理需要有一个共同的、全局的时间感。使用 USB 或 Firewire 之类的总线系统很容易做到这一点,因为总线往往带有自己的时钟。然而,对于分布式、基于数据包的互连,事情变得更加困难。IEEE 标准 1588、1588v2 和 802.1as 以及 IETF NTP 标准旨在专门解决分布式全局时钟恢复问题。

系统的第一个任务是选择一个代理作为主代理。正是这个代理的时钟将成为通用的全局时钟。IEEE 1588 及其变体使用点对点领导选举协议,试图在代理中选择最高质量的时钟。保证会选出一位,而且只有一位,master。

Once the master is elected, each agent needs to know the following information:

我的时钟是否比全球主时钟慢/快?如果是这样,多少?

根据主时钟,现在是几点钟?

使用的基本方法是定期将同步消息从主代理传输到其他代理。消息包含发送消息的全球时间。下图显示了这种情况:

poYBAGL1u5eACeOtAABDpw4fHrM222.png

从站知道主站执行的传出时间戳(Tm1、Tm2 和 Tm3),以及从站执行的入站时间戳(Ts1、Ts2 和 Ts3)。给定这些时间戳,它可以计算出主时钟与其自己的本地时钟之间的比率。例如,以下计算会测量两个时钟之间的比率:

pYYBAGL1u6GAUzTuAAATyaXMPzM758.png

可以过滤该值的多个测量值以平均传输时间的变化。随着时间的推移跟踪该值还将跟踪所涉及的两个时钟中的任何漂移。

为了在全球时间和本地时间之间进行完全转换,slave 还需要知道它与 master 的时间偏移量,这意味着它需要知道同步消息的传输时间。为此,主机和从机执行两种方式的消息交换:

pYYBAGL1u62ANbBbAAAxSO96G68913.png

假设传输时间是对称的:

pYYBAGL1u72ALIqYAAAvrmTh6xY296.png

这里需要小心,因为时间戳 Tm2 和 Tm1 参考与 Ts2 和 Ts1 不同的时钟。所以从机需要进行计算:

poYBAGL1u8iActCKAAAdwh6AvKw978.png

知道这个传输时间允许从机计算出它与主时钟的偏移量。它现在拥有在全球和本地时间之间转换所需的所有信息,反之亦然。

实际上,像 802.1as 这样的时间同步协议比这里描述的要复杂一些,但基本思想是一样的。

事件同步

一旦全局时钟同步到位。本地代理可以将全球时间转换为本地时间:

poYBAGL1u9KAWcteAAAVQnDKOcI811.png

这意味着两个代理可以同步他们的动作。每个人都有一个全局时间来执行一个事件。代理将此全球时间转换为本地时间,然后安排事件在该时间发生。当然,这些事件不会同时发生。会有一些同步错误。此错误包括:

由于全局时钟恢复导致的错误

由于代理在特定本地时间触发事件的能力的可变性而导致的错误。

自上次同步以来代理的本地时钟变化导致的错误

这些错误的大小将取决于通信技术、同步协议、代理之间的消息时间戳的准确性以及代理内的本地事件同步。

以太网通信的情况下,使用 IEEE 802.1as 作为时间同步协议,XMOS XCore 设备作为代理,同步误差可以小于 150 ns。

基于全局时钟恢复其他时钟

有时需要使用全局时间作为参考来恢复辅助时钟。IEEE AVB 1722 标准就是这种情况,需要恢复媒体时钟以将音频视频从一个端点传输到另一个端点。

在这种情况下,使用我之前关于软件时钟的文章中描述的控制环路来恢复时钟。这种情况下的区别在于如何检测错误。

发送时钟的代理也可以发送某些时钟边沿应该出现的预期时间。当从机恢复并输出时钟时,它可以跟踪该边沿实际发生的时间,并获得预期时间和实际时间之间的差值。全局时钟的存在允许代理有一个共同的时基来计算增量。

pYYBAGL1u9-AWk7mAAAei0GwYzg789.png

该增量给出了馈入 PID 控制回路的误差项。然而,还有一个“陷阱”需要注意。目的是恢复时钟周期;这使得预期边缘时间和实际边缘时间之间的增量成为积分误差而不是比例误差。这意味着比例误差是增量的变化率。一旦理解了这一点,就可以以标准方式调整控制回路。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5278

    浏览量

    169399
  • usb
    usb
    +关注

    关注

    60

    文章

    7762

    浏览量

    262156
  • 时钟
    +关注

    关注

    10

    文章

    1664

    浏览量

    130917
收藏 人收藏

    评论

    相关推荐

    赛灵思FPGA全局时钟网络结构详解

    针对不同类型的器件,Xilinx公司提供的全局时钟网络在数量、性能等方面略有区别,下面以Virtex-4系列芯片为例,简单介绍FPGA全局时钟网络结构。
    发表于 11-28 18:49 1.3w次阅读
    赛灵思FPGA<b class='flag-5'>全局</b><b class='flag-5'>时钟</b>网络结构详解

    全局时钟资源和网络的路径和组件组成

    引言:本文我们介绍一下全局时钟资源。全局时钟是一个专用的互连网络,专门设计用于到达FPGA中各种资源的所有时钟输入。
    发表于 07-14 09:15 1879次阅读

    FPGA设计:GPIO怎么走全局时钟网络

    EFX_GBUFCE既可以让GPIO走全局时钟网络也可以用于为时钟添加使能控制,当并不是随时需要该时钟时可以把时钟禁止以节省功耗。
    发表于 05-12 09:53 786次阅读
    FPGA设计:GPIO怎么走<b class='flag-5'>全局</b><b class='flag-5'>时钟</b>网络

    全局时钟资源怎么使用?

    全局时钟资源怎么使用?全局时钟资源的例化方法有哪几种?
    发表于 05-06 07:28

    FPGA的全局时钟是什么?

    FPGA时钟问题 2010-06-11 15:55:39分类: 嵌入式1.FPGA的全局时钟是什么?FPGA的全局时钟应该是从晶振分出来的,
    发表于 07-29 09:25

    精密参考时钟时钟与数据恢复电路中的应用

    精密参考时钟时钟与数据恢复电路中的应用
    发表于 05-04 13:36 35次下载

    FPGA全局时钟资源相关原语及使用

      FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O
    发表于 09-10 17:25 2260次阅读

    FPGA全局时钟和第二全局时钟资源的使用方法

    目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟
    发表于 02-11 11:34 4661次阅读

    时钟是怎么恢复的?

    对于高速的串行总线来说,一般情况下都是通过数据编码把时钟信息嵌入到传输的数据流里,然后在接收端通过时钟恢复时钟信息提取出来,并用这个恢复
    发表于 11-16 01:01 2.1w次阅读
    <b class='flag-5'>时钟</b>是怎么<b class='flag-5'>恢复</b>的?

    Xilinx全局时钟的使用和DCM模块的使用

    在 Xilinx 系列 FPGA 产品中,全局时钟网络是一种全局布线资源,它可以保证时钟信号到达各个目标逻辑单元的时延基本相同。其时钟分配树
    发表于 11-22 07:09 9694次阅读
    Xilinx<b class='flag-5'>全局</b><b class='flag-5'>时钟</b>的使用和DCM模块的使用

    全局时钟资源相关xilinx器件原语的详细解释

    目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟
    发表于 11-25 01:43 1487次阅读

    FPGA架构中的全局时钟资源介绍

    引言:本文我们介绍一下全局时钟资源。全局时钟是一个专用的互连网络,专门设计用于到达FPGA中各种资源的所有时钟输入。这些网络被设计成具有低偏
    的头像 发表于 03-22 10:09 1.3w次阅读
    FPGA架构中的<b class='flag-5'>全局</b><b class='flag-5'>时钟</b>资源介绍

    一文看懂时钟是怎么恢复的?

    对于高速的串行总线来说,一般情况下都是通过数据编码把时钟信息嵌入到传输的数据流里,然后在接收端通过时钟恢复时钟信息提取出来,并用这个恢复
    发表于 02-09 10:43 6次下载
    一文看懂<b class='flag-5'>时钟</b>是怎么<b class='flag-5'>恢复</b>的?

    一文看懂时钟是怎么恢复的?

    对于高速的串行总线来说,一般情况下都是通过数据编码把时钟信息嵌入到传输的数据流里,然后在接收端通过时钟恢复时钟信息提取出来,并用这个恢复
    发表于 02-11 15:05 16次下载
    一文看懂<b class='flag-5'>时钟</b>是怎么<b class='flag-5'>恢复</b>的?

    时钟恢复的原理及设计挑战

    深入探讨时钟恢复的原理、其在SERDES系统中的应用。 时钟恢复的核心目的是从一个高速串行数据流中提取出嵌入的
    的头像 发表于 09-10 10:38 68次阅读
    <b class='flag-5'>时钟</b><b class='flag-5'>恢复</b>的原理及设计挑战