0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探討全局時(shí)鐘恢復(fù)其他時(shí)鐘的問題

要長(zhǎng)高 ? 來源:Digi-Key Electronics ? 作者:Dave Lacey ? 2022-08-12 10:34 ? 次閱讀

對(duì)于本文,我們將繼續(xù)討論全局時(shí)鐘恢復(fù)、分布式時(shí)鐘同步和事件同步的主題。

全局時(shí)鐘恢復(fù)

假設(shè)在一個(gè)復(fù)雜系統(tǒng)中有多個(gè)代理。每一個(gè)都有自己的參考時(shí)鐘,給它一種時(shí)間感。代理的時(shí)間概念由自啟動(dòng)以來經(jīng)過的參考時(shí)鐘滴答數(shù)給出。

為了同步動(dòng)作和共享時(shí)鐘,代理需要有一個(gè)共同的、全局的時(shí)間感。使用 USB 或 Firewire 之類的總線系統(tǒng)很容易做到這一點(diǎn),因?yàn)榭偩€往往帶有自己的時(shí)鐘。然而,對(duì)于分布式、基于數(shù)據(jù)包的互連,事情變得更加困難。IEEE 標(biāo)準(zhǔn) 1588、1588v2 和 802.1as 以及 IETF NTP 標(biāo)準(zhǔn)旨在專門解決分布式全局時(shí)鐘恢復(fù)問題。

系統(tǒng)的第一個(gè)任務(wù)是選擇一個(gè)代理作為主代理。正是這個(gè)代理的時(shí)鐘將成為通用的全局時(shí)鐘。IEEE 1588 及其變體使用點(diǎn)對(duì)點(diǎn)領(lǐng)導(dǎo)選舉協(xié)議,試圖在代理中選擇最高質(zhì)量的時(shí)鐘。保證會(huì)選出一位,而且只有一位,master。

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

我的時(shí)鐘是否比全球主時(shí)鐘慢/快?如果是這樣,多少?

根據(jù)主時(shí)鐘,現(xiàn)在是幾點(diǎn)鐘?

使用的基本方法是定期將同步消息從主代理傳輸?shù)狡渌?。消息包含發(fā)送消息的全球時(shí)間。下圖顯示了這種情況:

poYBAGL1u5eACeOtAABDpw4fHrM222.png

從站知道主站執(zhí)行的傳出時(shí)間戳(Tm1、Tm2 和 Tm3),以及從站執(zhí)行的入站時(shí)間戳(Ts1、Ts2 和 Ts3)。給定這些時(shí)間戳,它可以計(jì)算出主時(shí)鐘與其自己的本地時(shí)鐘之間的比率。例如,以下計(jì)算會(huì)測(cè)量?jī)蓚€(gè)時(shí)鐘之間的比率:

pYYBAGL1u6GAUzTuAAATyaXMPzM758.png

可以過濾該值的多個(gè)測(cè)量值以平均傳輸時(shí)間的變化。隨著時(shí)間的推移跟蹤該值還將跟蹤所涉及的兩個(gè)時(shí)鐘中的任何漂移。

為了在全球時(shí)間和本地時(shí)間之間進(jìn)行完全轉(zhuǎn)換,slave 還需要知道它與 master 的時(shí)間偏移量,這意味著它需要知道同步消息的傳輸時(shí)間。為此,主機(jī)和從機(jī)執(zhí)行兩種方式的消息交換:

pYYBAGL1u62ANbBbAAAxSO96G68913.png

假設(shè)傳輸時(shí)間是對(duì)稱的:

pYYBAGL1u72ALIqYAAAvrmTh6xY296.png

這里需要小心,因?yàn)闀r(shí)間戳 Tm2 和 Tm1 參考與 Ts2 和 Ts1 不同的時(shí)鐘。所以從機(jī)需要進(jìn)行計(jì)算:

poYBAGL1u8iActCKAAAdwh6AvKw978.png

知道這個(gè)傳輸時(shí)間允許從機(jī)計(jì)算出它與主時(shí)鐘的偏移量。它現(xiàn)在擁有在全球和本地時(shí)間之間轉(zhuǎn)換所需的所有信息,反之亦然。

實(shí)際上,像 802.1as 這樣的時(shí)間同步協(xié)議比這里描述的要復(fù)雜一些,但基本思想是一樣的。

事件同步

一旦全局時(shí)鐘同步到位。本地代理可以將全球時(shí)間轉(zhuǎn)換為本地時(shí)間:

poYBAGL1u9KAWcteAAAVQnDKOcI811.png

這意味著兩個(gè)代理可以同步他們的動(dòng)作。每個(gè)人都有一個(gè)全局時(shí)間來執(zhí)行一個(gè)事件。代理將此全球時(shí)間轉(zhuǎn)換為本地時(shí)間,然后安排事件在該時(shí)間發(fā)生。當(dāng)然,這些事件不會(huì)同時(shí)發(fā)生。會(huì)有一些同步錯(cuò)誤。此錯(cuò)誤包括:

由于全局時(shí)鐘恢復(fù)導(dǎo)致的錯(cuò)誤

由于代理在特定本地時(shí)間觸發(fā)事件的能力的可變性而導(dǎo)致的錯(cuò)誤。

自上次同步以來代理的本地時(shí)鐘變化導(dǎo)致的錯(cuò)誤

這些錯(cuò)誤的大小將取決于通信技術(shù)、同步協(xié)議、代理之間的消息時(shí)間戳的準(zhǔn)確性以及代理內(nèi)的本地事件同步。

以太網(wǎng)通信的情況下,使用 IEEE 802.1as 作為時(shí)間同步協(xié)議,XMOS XCore 設(shè)備作為代理,同步誤差可以小于 150 ns。

基于全局時(shí)鐘恢復(fù)其他時(shí)鐘

有時(shí)需要使用全局時(shí)間作為參考來恢復(fù)輔助時(shí)鐘。IEEE AVB 1722 標(biāo)準(zhǔn)就是這種情況,需要恢復(fù)媒體時(shí)鐘以將音頻視頻從一個(gè)端點(diǎn)傳輸?shù)搅硪粋€(gè)端點(diǎn)。

在這種情況下,使用我之前關(guān)于軟件時(shí)鐘的文章中描述的控制環(huán)路來恢復(fù)時(shí)鐘。這種情況下的區(qū)別在于如何檢測(cè)錯(cuò)誤。

發(fā)送時(shí)鐘的代理也可以發(fā)送某些時(shí)鐘邊沿應(yīng)該出現(xiàn)的預(yù)期時(shí)間。當(dāng)從機(jī)恢復(fù)并輸出時(shí)鐘時(shí),它可以跟蹤該邊沿實(shí)際發(fā)生的時(shí)間,并獲得預(yù)期時(shí)間和實(shí)際時(shí)間之間的差值。全局時(shí)鐘的存在允許代理有一個(gè)共同的時(shí)基來計(jì)算增量。

pYYBAGL1u9-AWk7mAAAei0GwYzg789.png

該增量給出了饋入 PID 控制回路的誤差項(xiàng)。然而,還有一個(gè)“陷阱”需要注意。目的是恢復(fù)時(shí)鐘周期;這使得預(yù)期邊緣時(shí)間和實(shí)際邊緣時(shí)間之間的增量成為積分誤差而不是比例誤差。這意味著比例誤差是增量的變化率。一旦理解了這一點(diǎn),就可以以標(biāo)準(zhǔn)方式調(diào)整控制回路。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 以太網(wǎng)
    +關(guān)注

    關(guān)注

    40

    文章

    5450

    瀏覽量

    172177
  • usb
    usb
    +關(guān)注

    關(guān)注

    60

    文章

    7965

    瀏覽量

    265278
  • 時(shí)鐘
    +關(guān)注

    關(guān)注

    11

    文章

    1740

    瀏覽量

    131633
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    賽靈思FPGA全局時(shí)鐘網(wǎng)絡(luò)結(jié)構(gòu)詳解

    針對(duì)不同類型的器件,Xilinx公司提供的全局時(shí)鐘網(wǎng)絡(luò)在數(shù)量、性能等方面略有區(qū)別,下面以Virtex-4系列芯片為例,簡(jiǎn)單介紹FPGA全局時(shí)鐘網(wǎng)絡(luò)結(jié)構(gòu)。
    發(fā)表于 11-28 18:49 ?1.3w次閱讀
    賽靈思FPGA<b class='flag-5'>全局</b><b class='flag-5'>時(shí)鐘</b>網(wǎng)絡(luò)結(jié)構(gòu)詳解

    全局時(shí)鐘資源和網(wǎng)絡(luò)的路徑和組件組成

    引言:本文我們介紹一下全局時(shí)鐘資源。全局時(shí)鐘是一個(gè)專用的互連網(wǎng)絡(luò),專門設(shè)計(jì)用于到達(dá)FPGA中各種資源的所有時(shí)鐘輸入。
    發(fā)表于 07-14 09:15 ?2148次閱讀

    FPGA設(shè)計(jì):GPIO怎么走全局時(shí)鐘網(wǎng)絡(luò)

    EFX_GBUFCE既可以讓GPIO走全局時(shí)鐘網(wǎng)絡(luò)也可以用于為時(shí)鐘添加使能控制,當(dāng)并不是隨時(shí)需要該時(shí)鐘時(shí)可以把時(shí)鐘禁止以節(jié)省功耗。
    發(fā)表于 05-12 09:53 ?986次閱讀
    FPGA設(shè)計(jì):GPIO怎么走<b class='flag-5'>全局</b><b class='flag-5'>時(shí)鐘</b>網(wǎng)絡(luò)

    全局時(shí)鐘資源怎么使用?

    全局時(shí)鐘資源怎么使用?全局時(shí)鐘資源的例化方法有哪幾種?
    發(fā)表于 05-06 07:28

    FPGA的全局時(shí)鐘是什么?

    FPGA時(shí)鐘問題 2010-06-11 15:55:39分類: 嵌入式1.FPGA的全局時(shí)鐘是什么?FPGA的全局時(shí)鐘應(yīng)該是從晶振分出來的,
    發(fā)表于 07-29 09:25

    精密參考時(shí)鐘時(shí)鐘與數(shù)據(jù)恢復(fù)電路中的應(yīng)用

    精密參考時(shí)鐘時(shí)鐘與數(shù)據(jù)恢復(fù)電路中的應(yīng)用
    發(fā)表于 05-04 13:36 ?35次下載

    FPGA全局時(shí)鐘資源相關(guān)原語及使用

      FPGA全局時(shí)鐘資源一般使用全銅層工藝實(shí)現(xiàn),并設(shè)計(jì)了專用時(shí)鐘緩沖與驅(qū)動(dòng)結(jié)構(gòu),從而使全局時(shí)鐘到達(dá)芯片內(nèi)部的所有可配置單元(CLB)、I/O
    發(fā)表于 09-10 17:25 ?2339次閱讀

    FPGA全局時(shí)鐘和第二全局時(shí)鐘資源的使用方法

    目前,大型設(shè)計(jì)一般推薦使用同步時(shí)序電路。同步時(shí)序電路基于時(shí)鐘觸發(fā)沿設(shè)計(jì),對(duì)時(shí)鐘的周期、占空比、延時(shí)和抖動(dòng)提出了更高的要求。為了滿足同步時(shí)序設(shè)計(jì)的要求,一般在FPGA設(shè)計(jì)中采用全局時(shí)鐘
    發(fā)表于 02-11 11:34 ?4909次閱讀

    時(shí)鐘是怎么恢復(fù)的?

    對(duì)于高速的串行總線來說,一般情況下都是通過數(shù)據(jù)編碼把時(shí)鐘信息嵌入到傳輸?shù)臄?shù)據(jù)流里,然后在接收端通過時(shí)鐘恢復(fù)時(shí)鐘信息提取出來,并用這個(gè)恢復(fù)
    發(fā)表于 11-16 01:01 ?2.2w次閱讀
    <b class='flag-5'>時(shí)鐘</b>是怎么<b class='flag-5'>恢復(fù)</b>的?

    Xilinx全局時(shí)鐘的使用和DCM模塊的使用

    在 Xilinx 系列 FPGA 產(chǎn)品中,全局時(shí)鐘網(wǎng)絡(luò)是一種全局布線資源,它可以保證時(shí)鐘信號(hào)到達(dá)各個(gè)目標(biāo)邏輯單元的時(shí)延基本相同。其時(shí)鐘分配樹
    發(fā)表于 11-22 07:09 ?1w次閱讀
    Xilinx<b class='flag-5'>全局</b><b class='flag-5'>時(shí)鐘</b>的使用和DCM模塊的使用

    全局時(shí)鐘資源相關(guān)xilinx器件原語的詳細(xì)解釋

    目前,大型設(shè)計(jì)一般推薦使用同步時(shí)序電路。同步時(shí)序電路基于時(shí)鐘觸發(fā)沿設(shè)計(jì),對(duì)時(shí)鐘的周期、占空比、延時(shí)和抖動(dòng)提出了更高的要求。為了滿足同步時(shí)序設(shè)計(jì)的要求,一般在FPGA設(shè)計(jì)中采用全局時(shí)鐘
    發(fā)表于 11-25 01:43 ?1538次閱讀

    FPGA架構(gòu)中的全局時(shí)鐘資源介紹

    引言:本文我們介紹一下全局時(shí)鐘資源。全局時(shí)鐘是一個(gè)專用的互連網(wǎng)絡(luò),專門設(shè)計(jì)用于到達(dá)FPGA中各種資源的所有時(shí)鐘輸入。這些網(wǎng)絡(luò)被設(shè)計(jì)成具有低偏
    的頭像 發(fā)表于 03-22 10:09 ?1.3w次閱讀
    FPGA架構(gòu)中的<b class='flag-5'>全局</b><b class='flag-5'>時(shí)鐘</b>資源介紹

    一文看懂時(shí)鐘是怎么恢復(fù)的?

    對(duì)于高速的串行總線來說,一般情況下都是通過數(shù)據(jù)編碼把時(shí)鐘信息嵌入到傳輸?shù)臄?shù)據(jù)流里,然后在接收端通過時(shí)鐘恢復(fù)時(shí)鐘信息提取出來,并用這個(gè)恢復(fù)
    發(fā)表于 02-09 10:43 ?6次下載
    一文看懂<b class='flag-5'>時(shí)鐘</b>是怎么<b class='flag-5'>恢復(fù)</b>的?

    一文看懂時(shí)鐘是怎么恢復(fù)的?

    對(duì)于高速的串行總線來說,一般情況下都是通過數(shù)據(jù)編碼把時(shí)鐘信息嵌入到傳輸?shù)臄?shù)據(jù)流里,然后在接收端通過時(shí)鐘恢復(fù)時(shí)鐘信息提取出來,并用這個(gè)恢復(fù)
    發(fā)表于 02-11 15:05 ?16次下載
    一文看懂<b class='flag-5'>時(shí)鐘</b>是怎么<b class='flag-5'>恢復(fù)</b>的?

    時(shí)鐘恢復(fù)的原理及設(shè)計(jì)挑戰(zhàn)

    深入探討時(shí)鐘恢復(fù)的原理、其在SERDES系統(tǒng)中的應(yīng)用。 時(shí)鐘恢復(fù)的核心目的是從一個(gè)高速串行數(shù)據(jù)流中提取出嵌入的
    的頭像 發(fā)表于 09-10 10:38 ?975次閱讀
    <b class='flag-5'>時(shí)鐘</b><b class='flag-5'>恢復(fù)</b>的原理及設(shè)計(jì)挑戰(zhàn)