CN114868337A - 用于同步两个系统的方法和装置 - Google Patents
用于同步两个系统的方法和装置 Download PDFInfo
- Publication number
- CN114868337A CN114868337A CN202080088978.1A CN202080088978A CN114868337A CN 114868337 A CN114868337 A CN 114868337A CN 202080088978 A CN202080088978 A CN 202080088978A CN 114868337 A CN114868337 A CN 114868337A
- Authority
- CN
- China
- Prior art keywords
- counter
- value
- clock signal
- lsb
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000000630 rising effect Effects 0.000 claims abstract description 37
- 238000005070 sampling Methods 0.000 claims description 21
- 230000004044 response Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 abstract description 91
- 230000010363 phase shift Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 7
- 230000002452 interceptive effect Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 239000010453 quartz Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/135—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K21/00—Details of pulse counters or frequency dividers
- H03K21/02—Input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/78—Generating a single train of pulses having a predetermined pattern, e.g. a predetermined number
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Manipulation Of Pulses (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
一种用于通过以下操作来将被触发系统(系统B)同步到触发系统(系统A)的装置(20)和方法:跟踪被触发系统处的时钟信号(CLK_IN)的上升沿和下降沿的定时并使用所跟踪的定时值(来自计数器22的记录器27内)来对被触发系统处的时基(28输出端处的CLK_IN)进行相移调整(25:设置)。
Description
背景技术
在许多应用中,存在在独立时基(例如,系统时钟)上运行的交互系统,这些时基控制交互系统的操作的定时(例如,启动、停止、等待等)。在此类应用中,这些系统的共用时基控制独立时基以确保它们的操作以相比于彼此同步的方式进行。此类应用的示例是一起控制大型或可折叠触摸屏的触摸和触控笔感测芯片,或相互通信的联网设备等。
发明内容
提供本发明内容以便以简化形式介绍概念的选集,所述概念在以下具体实施方式中被进一步描述。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。所要求保护的主题也不限于解决在此指出的任何或所有缺点的实现。
在一些实施例中,本公开涉及一种用于将计数器同步到输入触发信号的装置,该装置包括用于响应于检测到输入触发信号的上升沿和/或下降沿而对计数器的值进行采样和记录的数据采集模块(记录器电路),其中采样是在提供给计数器和数据采集模块的共用时钟信号的上升沿和下降沿处执行的;以及用于读取所记录的值并基于所记录的值和预定收集到的值来计算计数器的偏移和可配置延迟中的至少一者的控制电路。
根据另一方面,提供了一种将计数器同步至输入触发信号的方法,该方法包括响应于检测到输入触发信号的上升沿和/或下降沿而对计数器的值进行采样和记录,其中采样是在提供给该计数器的共用时钟信号的上升沿和下降沿处执行的;以及基于所记录的值和预定收集到的值来计算该计数器的偏移和可配置延迟中的至少一者。
除非另外定义,否则这里使用的所有技术和/或科学术语的含义与本领域普通技术人员所共知的一样。尽管与本文所述的方法、组件和信号相似或等效的方法、组件和信号可以用于实践或测试本公开的实施例,但示例方法和/或组件和/或信号在下文描述。另外,各组件、信号、方法和示例仅是说明性的,而并非旨在进行必要的限制。
附图说明
为了帮助理解本公开并示出如何实施这些实施例,仅以示例的方式参考附图,附图中:
图1是在共用时钟信号的基础上操作的两个交互式系统的示例的示意性框图,
图2是用于同步在共用时钟信号的基础上操作的两个交互式系统的常规方法的示例的示意性框图,
图3是用触发信号和相关时钟信号的波形的示例来解释在共用时钟信号的基础上操作的两个系统的同步的不确定性本质的示意图,
图4是具有增强的同步以提高准确性的示例系统的示意性框图,
图5是用共用时钟信号的波形和四个区域的示例来解释同步的不确定特质的示意图,
图6是准确性提高的增强的同步规程的示例的示意性流程图,
图7是用于确定计数器偏移和可配置延迟的规程的示例的示意性流程图的第一部分,
图8是用于确定计数器偏移和可配置延迟的规程的示例的示意性流程图的第二部分,
图9是在具有较长的保持和建立时间的同步后两个系统之间的所得不准确性的直方图的示例的示图,以及
图10是在具有较短的保持和建立时间的同步后两个系统之间的所得不准确性的直方图的示例的示图。
具体实施方式
本公开涉及两个或更多个系统的时基以小于一个时钟周期的更高准确性的改进的彼此同步。在各示例中,准确性可以在从时基的四分之一到八分之一个时钟周期的范围内。常规同步方法能够以时基的一个时钟周期的最大准确性同步两个系统。
图1是在由共用时钟源(例如,时钟发生器)30生成的共用时钟信号CLK_IN(时钟输入)的基础上操作的两个交互式系统A10和B 20的示例的示意性框图。这两个系统A10和B20可被实现为电子电路,这些电路被实现在集成电路的不同部分上或者在不同集成电路中。在示例中,共用时钟信号CLK_IN可被用作这两个系统A10和B 20的共用时基以控制其独立时基以确保它们的操作以相比于彼此同步的方式进行。此类系统的示例可以是一起控制大型或可折叠触摸屏的触摸和触控感测芯片或者彼此通信的联网设备或者需要被同步以便进行适当操作的任何其它类型的协作式或交互式系统。
注意,为了简明起见,在图1和随后的图2和图4中仅示出了那些对解释示例实施例的具体示例操作有用的系统组件。此外,除非另有说明,具有相同附图标记的组件或信号具有相同或相似的功能和/或结构,在本公开中可仅描述一次。
在示例中,共用时钟信号可以是以下形式:具有50%占空比和固定的恒定频率的方波。使用时钟信号CLK_IN来同步的这两个系统A10和B 20的电路可以在时钟周期的上升沿、下降沿或者在双倍数据率(DDR)的情形中在上升沿和下降沿这两者处变得活跃。
在示例中,共用时钟信号CLK_IN或从共用时钟导出的时钟信号CLK_IN可以被选通,即,与启用或禁用该时钟信号CLK_IN的控制信号(未示出)相组合,例如针对各系统的电路的某一部分。共用时钟源30的时基可以恒定地以与系统10、20中的每一者中可用的较快内部时钟速率(“快速时钟”)相比相对较低的速度运行。
另外,系统10、20中的每一者可以包括锁相环(PLL)电路14、24,该电路基于共用时钟信号CLK_IN生成用于需要更高时钟速率(例如,快速时钟)的内部操作(诸如,内部中央处理单元(CPU,未示出))的更高频率。PLL电路14、24可以是生成具有与输入时钟信号CLK_IN的相位相关的相位的快速时钟的控制电路。存在可用于实现PLL电路14、24的若干不同类型的电路。在示例中,一个简单的选项可以是一个由反馈回路中的可变频率振荡器和相位检测器组成的电子电路。振荡器生成周期性信号,并且相位检测器将该信号的相位与输入的周期性信号的相位进行比较,调整振荡器以使得相位保持匹配。保持输入和输出相位锁相还意味着保持输入和输出频率相同。因此,除了同步快速时钟和共用时钟信号CLK_IN之外,PLL电路14、24可以跟踪共用时钟信号CLK_IN的输入频率,或者它们可以产生是该输入频率的倍数的频率。
在示例中,PLL电路14、24可以频繁地关闭/开启以节省功率,从而可以出于省电考虑暂时关闭快速时钟。由此,可通过在未被使用时高效地关闭系统10和20的(诸)数字电路的各部分来节省功率。
在示例中,共用时钟源30可包括产生共用时钟信号CLK_IN的电子振荡器(电路),该共用时钟信号的范围可以从简单对称方波到更复杂的布置。时钟源30的基本部分可以是谐振电路和放大器。该谐振电路可以是石英压电振荡器,但也可以使用更简单的谐振电路,甚至电阻和电容(RC)电路。放大器电路可用于对来自振荡器的信号进行反相并将一部分反馈到振荡器中以维持振荡。在示例中,共用时钟源30可具有用于修改基础时钟信号的附加部分。作为示例,共用时钟源30可包含用于将50%占空比(对于原始振荡器是典型的)转换成不同占空比的逻辑。
在示例中,共用时钟源30的其他可选部分可包括硬件和/或软件实现的分频器或时钟倍频器部分。此外,可编程时钟发生器可以允许改变分频器或倍频器中使用的数字,从而允许在不修改硬件的情况下选择多种输出频率中的任何一种。
图1的两个系统共享共用时钟源30,例如通过使两个系统10、20之一(例如,系统A10)驱动另一个系统(例如,系统B 20)的CLK_IN输入,或由共用时钟源30驱动这两个系统10、20,如图1所示。然而,由于系统10、20内和/或系统之间的整个时钟路径中和/或从共用时钟源30到系统10、20中的每个系统的传播延迟,两个CLK_IN域之间存在未知相移(即,它们是频率对齐的,但不是相位对齐的)。如图1中指示的,该未知相移可能是由共用时钟源30和两个系统10、20的相应CLK_IN输入之间的相应未知延迟A和B引起的。
此外,在示例中,在两个系统10、20中的每个系统中,提供相应计数器12、22,该计数器累计相应时钟信号CLK_IN的时钟事件的数量以提供时间信号(例如,时间戳)作为必须被非常准确地校准的时基。在本公开全文中,两个系统10、20中的每个系统的时基因此将被称为“计数器”12、22。
在示例中,计数器12、22可存储已发生特定事件(即,输入时钟信号CLK_IN的时钟周期或边沿)的次数。计数器可被实现为具有用于时钟信号CLK_IN的输入线和多条输出线的顺序数字逻辑电路。输出线上的值可表示二进制或二进制编码数字(BCD)编号系统中的数字。施加到时钟输入的每个脉冲或脉冲边沿都会递增或递减计数器中的数字。更具体地,在示例中,计数器12、22的电路可以由多个级联连接的触发器构成。在示例中,计数器12、22可以作为单独的集成电路制造,也可被纳入为较大集成电路的一部分。在其他示例中,计数器12、22可以由相应的处理器电路来实现,这些处理器电路经由实现计数器功能的软件程序来控制。
在示例中,计数器12、22可以在输入端包括某种形式的放大器、滤波和整形电路。数字信号处理(DSP)技术、灵敏度控制和滞后是可应用于提高计数器12、22的性能的其他技术。
如图1所示,两个系统10、20中的每一个系统的内部时钟信号CLK_IN被提供给相应的计数器12、22,使得每个系统的相应计数器12、22在CLK_IN域的基础上操作。然而,在示例中,两个系统10、20中的每一个系统都可以独立上电,并且它们的启动时间可以不相同,使得相应计数器12、22中的每一个计数器可以在不同的时间开始计数。
此外,两个系统10、20之间的交互可以基于经由相应连接通道或线路来交换输入/输出(IO)信号100和/或通信信号110。在示例中,这样的通信信号110可以基于蓝牙、Wi-Fi、近场通信(NFC)等,其中相应的通信单元(未示出)可以包括用以传送或从相应的其他系统的通信单元接收通信命令、配对请求等的收发机。附加地或替代地,两个系统10、20之间的通信可以基于有线传输,例如通用串行总线(USB)或以太网连接或其他有线连接系统。
系统10、20可进一步包括电源(未示出),该电源可包括用于为系统10、20的各种组件供电的电池。电池可以是可充电的、可替换的、可抛弃的、等等。
图2是用于同步在共用时钟信号CLK_IN的基础上操作的两个交互式系统A 10和B20的方法的示例的示意性框图。根据该方法,两个系统10、20中的一个系统(例如,系统A10,即触发系统)将在其计数器(例如,计数器12)达到某一预定义计数值时例如在一条I/O连线线上向这两个系统10、20中的另一个系统(例如,系统B 20,即被触发系统)发送“触发”信号T。在本公开全文中,该计数值用字母“Y”来标记。
在示例中,触发信号T可以是脉冲形信号(其中脉冲指示触发事件)或具有两种状态的二进制信号(其中从一种状态转换到另一种状态指示触发事件)或预定义信号模式或值(其中该模式或值指示触发事件)。
当被触发系统(例如系统B 20)检测到触发信号T的触发事件时,该被触发系统可以控制计数器22加载Y+Δ的值(其中Δ的值取决于触发信号T的传输延迟以及可任选的触发信号T路径的内部延迟(例如,触发信号路径中有多少采样触发器))。
然而,由于两个系统10、20的两个计数器12、22工作在相位未对齐的时钟上的事实,因此被触发系统(例如系统B 20)可以包括初始同步电路(Sync)26(同步器)以用于触发信号T,将该触发信号转移或适配到其自己的时钟信号CLK_IN的定时,即其自己的CLK_IN域。
同步电路26可以在这两个系统10、20处提供并且可被用作接口以使得来自触发系统的触发信号T由被触发系统可靠地解释。因此,只要在以相同频率操作但具有不同相位的两个系统10、20之间存在触发信号T的转移,该同步电路26就被用作接口。在示例中,同步电路26可使用在输出端提供单倍或双倍等待时间延迟的触发器电路。例如,同步电路26可具有时钟信号CLK_IN的两个和三个周期之间的任一时间的延迟。
然而,同步电路26添加具有一个CLK_IN周期的不确定部分的延迟,因为在检测到触发信号T(例如触发事件)之后时钟信号CLK_IN的下一个上升沿何时出现是未知的。结果,同步过程的不准确性可能高达时钟信号CLK_IN的单个周期。由于这种固有不准确性的不确定性特质,因此不可能通过基于将始终有效的预定固定补偿值由硬件或软件对其进行补偿。
图3是用触发信号T(从上开始第二个波形)和相关时钟信号的波形的示例来解释同步两个系统的上述不确定性特质的示意图。
触发系统(系统A)在第一时钟信号CLK_IN(最上面的波形)的基础上操作。另外,图3示出了被触发系统(系统B)处的第二时钟信号CLK_IN的示例定时的三个选项I至III,其中第二时钟信号CLK_IN的下一个上升沿相对于触发信号T的上升沿(触发事件)可被延迟不到半个时钟周期(选项I,中间波形)、超过半个时钟周期(选项II,从上开始倒数第二个波形)、以及接近但不到一个时钟周期(选项III,最下面的波形)。
如可以从图3中得知的,当触发系统(系统A)10的计数器12已达到触发值“Y”时,触发信号T被激活,例如通过通过改变其二进制状态并创建上升沿,反之亦然。通过被触发系统(系统B)20处的时钟信号CLK_IN的下一上升沿,Y+Δ的经调整或经补偿值将在例如由同步电路26导致的时钟信号CLK_IN的两个时钟周期(时间段)的确定性延迟后被锁存到被触发系统20处的计数器22。
由此,直到Y+Δ的经补偿值被锁存在被触发系统20的计数器22处的总延迟取决于由第一系统10的第一时钟信号CLK_IN与第二系统20的第二时钟信号CLK_IN之间的相位差导致的初始不确定性延迟。对于选项I,总延迟合计约为时钟信号CLK_IN的两个时间段。对于选项II,总延迟合计约为时钟信号CLK_IN的两个半时间段。对于选项III,总延迟合计约为时钟信号CLK_IN的三个时间段。
结果,将针对被触发系统20的计数器22的延迟补偿值Δ选为“2”可导致正一个CLK_IN周期的不准确性,而将延迟补偿值Δ选为“3”可能导致负一个CLK_IN周期的不准确性。
图4是具有增强的同步方法以提高准确性的示例系统的示意性框图。
注意,具有等同于图1和2中的附图标记的附图标记的框具有相同或相似的功能和结构并因此在此不再描述。
在示例实施例中,被触发系统(例如系统B)20包括“记录器”模块或电路27,其被配置成检测触发信号T的边沿(例如,上升沿和/或下降沿)并记录被触发系统20的计数器22在检测到触发信号T的边沿后的值。记录器电路27可包括与图2的同步电路26类似的同步电路。关于它们的时钟定时,记录器电路27和同步电路两者都被配置成在时钟信号CLK_IN的时钟周期的上升沿和下降沿处变为活跃(即,双倍数据速率(DDR)能力)。因此,如果记录器电路27在其输入端处具有该同步电路,则造成一个采样周期(即,0.5个CLK_IN时钟)的不确定性。
记录器电路27是包括用于存储所采集的数据(即,计数器值)的板上存储器(未示出)或与其协作的数据采集模块。在示例中,该存储器可以是电池供电的静态随机存取存储器、闪存或电可擦可编程只读存储器(EEPROM)等。
如上所示,在示例实施例中,记录器电路27被配置成根据CLK_IN域来操作并以双倍采样率(即,在时钟信号CLK_IN的上升沿和下降沿这两者上)对计数器值进行采样。因此,所记录的计数器值可以是整数(上升沿样本)或整数+0.5(下降沿样本)。
此外,在示例实施例中,被触发系统20可包括可配置延迟模块或电路28,其可以向提供给计数器22的输入时钟信号CLK_IN添加延迟并且可由在被触发系统20的PLL电路24的输出端处生成的快速时钟来控制。在示例中,可配置延迟电路28的延迟可由软件规程(例如,由软件规程补偿)、可控延迟线、一系列可控逻辑门等来实现。在其他采样实施例中,可配置延迟电路28可被配置成向计数器22的输出值添加延迟(例如,通过延迟计数器22的二进制码输出)。在附加采样实施例中,可配置延迟电路28可被配置成向在计数器22的输出值的基础上(例如,在计数器22的输出值达到预定值时)生成的触发输出添加延迟。
附加地,在示例实施例中,被触发系统20可包括控制电路25(例如,中央处理单元(CPU)或另一可编程逻辑),其可被配置成读取记录器电路27的所记录的计数器值并将偏移值应用于计数器22和/或基于所记录的计数器值来设置可配置延迟电路28处的延迟值。
图5是用被触发系统20处的共用时钟信号CLK_IN的波形和四个区域A到D的示例来解释同步的不确定特质的示意图。从触发系统10(例如系统A)接收到的触发信号T(例如,脉冲串)的(诸)边沿相比于被触发系统20(例如系统B)的CLK_IN域可以在四个区域A到D中的一个区域中接收。
更具体地,在示例中,区域A可以指定位于时钟信号CLK_IN的上升沿之前的具有适当的建立和保持时间的区域。该区域A因此导致对于触发信号T的所有边沿的计数器样本的稳定且一致的记录并且计数器值的记录将具有整数值(即,二进制计数器值的最低有效位(LSB)等于“0”)。此外,在示例中,区域B可以指定位于时钟信号CLK_IN的上升沿周围的具有不足的建立和保持时间的区域。该区域B因此导致对于脉冲串边沿的计数器样本的不稳定记录,其中一些计数器值在上升沿上被锁存(即,LSB=0),而其他计数器值在下一下降沿上被锁存(即,LSB=1)。因此,该区域B事实上造成了同步电路在记录器电路27的输入端处的不确定性特质。附加地,在示例中,区域C可以指定位于时钟信号CLK_IN的下降沿之前的具有适当的建立和保持时间的区域。因此,该区域C导致对于触发信号T的所有脉冲串边沿的计数器样本的稳定且一致的记录并且所记录的计数器值将具有整数+0.5值(LSB=1)。最后,在示例中,区域D可以指定位于时钟信号CLK_IN的下降沿周围的具有不足的建立和保持时间的区域。因此,该区域D同样导致对于触发信号T的边沿的计数器样本的不稳定记录,其中一些计数器值在下降沿上被锁存(LSB=1),而其他计数器值在下一上升沿上被锁存(LSB=0)。类似于区域B,该区域D事实上造成了同步电路在记录器电路27的输入端处的不确定性特质。
图6是根据采样实施例的准确性提高的增强的同步规程的示例的示意性流程图。
触发系统(例如系统A)将响应于其计数器(例如,图2中的计数器12)而生成触发信号T的多个边沿。由此,脉冲的边沿(上升沿和/或下降沿)将出现在该触发系统的计数器的预定义值上。触发系统的这些预定义计数器值将被标记为数组[Y(0),Y(1),…,Y(N-1)]。在步骤S610中,触发系统的这些计数器值Y(i)将由被触发系统(例如系统B)的控制电路(例如,图4的控制电路25)来收集。这些值是预定的并且可被存储在或信令通知给被触发系统。
然后,在步骤S620中,被触发系统的记录器电路(例如,图4的记录器电路27)将记录被触发系统的计数器(例如,图4的计数器22)在被触发系统处检测到触发信号T的这些边沿后的值。这些值将被标记为数组[X(0),X(1),…,X(N-1)]。注意,在被触发系统处记录的计数器值X(i)可能由于DDR机制的双倍采样率而是整数或整数+0.5。
换言之,被触发系统的所记录的每个计数器值X(i)比触发系统的收集到的每个计数器值Y(i)多一位。该附加位(即LSB)指示计数器值X(i)是整数(LSB=0)还是整数+0.5(LSB=1)。
在步骤S630中,被触发系统的控制电路在记录完成后读取数组X。然后在步骤S640中,被触发系统的控制电路基于收集到的数组Y来分析所记录的数组X并且在步骤S650中相应地设置被触发系统的计数器的偏移和可配置延迟中的至少一者以提高被触发系统的同步的准确性。
由此,如上所示,在示例实施例中,触发信号T的边沿是基于触发系统处的时钟信号CLK_IN来生成的,并且在被触发系统处基于被触发系统的时钟信号CLK_IN来采样。注意,因为这两个系统是频率对齐的(即使它们不是相位对齐的),所以当它们共享共用时钟源(例如,图1的时钟源30)的同一时钟信号时,触发信号T的脉冲串的所有边沿都将在图5的区域A到D中的同一区域上到达。
通过分析记录器电路27的所记录的计数器值,能够以时钟信号CLK_IN的单个周期的分辨率确定这两个系统的计数器之间的偏移。作为附加选项,基于边沿已到达的上述区域A到D,可确定并设置可配置延迟以便以低于时钟信号CLK_IN的单个周期的分辨率“微调”被触发系统的计数器的偏移。
在下文中,根据示例实施例的用于提高同步准确性的详细规程参照图7和8基于相应流程图来描述,假定被触发系统的计数器中的位数是“M”且由记录器电路在时钟信号CLK_IN的上升沿和下降沿处记录的计数器值的位数是“M+1”(由于双倍速率采样(DDR))。
该规程可由被触发系统的控制电路(例如,图4的控制电路25)来执行以确定该被触发系统的计数器的最优偏移和可配置延迟中的至少一者,其中图7和8的流程图涉及该规程的取决于被触发系统的计数器(例如,图4的计数器22)的初始计数值X0来选择的不同情形或分支,例如整数值(X0[0]=0)还是非整数值(X0[0]=1)已被检测为第一计数值(即,时间戳)。运行参数i的最大值N对应于触发信号T的所考虑边沿的数量。作为示例,值N=10(即5个周期)或可选择更大值。
图7是该流程图的第一分支,该分支是在以下情况下选择的:在接收到触发信号T的相关边沿后初始计数器值X0的LSB是“1”,即该初始计数器值是非整数计数值(大致对应于图5的区域C)。然而,该相关边沿是否位于图5的区域B或D中的一个区域中尚不清楚。
在步骤S701中,计数器偏移被设为触发系统的计数器的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的差值(Y0-X0[M:1])(不考虑LSB),并且可配置延迟最初被设为时钟信号CLK_IN的四分之一时钟周期(即,0.25*CLK_IN)。然后在步骤S702中,运行参数i被设为“1”。此后,在步骤S703中,校验被触发系统的计数器的当前(M+1)位计数器值(时间戳)Xi[M:0]。如果确定其LSB值是“1”,则该规程分叉到步骤S704并且校验触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)是否等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)。如果否,则该规程分叉到步骤S705并且确定错误。这一错误指示所测得的结果没有意义,这通常不应发生。如果的确如此,则该规程可被重启(例如,触发信号的脉冲串可被再次发送和测量)。如果差值等同,则该规程分叉到步骤S706,其中运行参数i被递增(例如,递增1)并且校验是否已达到该运行参数i的最大值N。如果否,则该规程跳转回到步骤S703。否则,如果运行参数i已达到最大值N,则该规程分叉到步骤S707并且确定成功,即已经找到用于最优同步的正确偏移和延迟。
否则,如果在步骤S703中确定当前计数器值Xi的LSB值是“0”,则该规程继续至步骤S708,其中校验触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)是否等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)。如果否,则该规程分叉到步骤S709,其中校验触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值是否等同于触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)加1。如果否,则该规程分叉到步骤S710并且确定错误。
如果在步骤S709中确定差值是等同的,则该规程继续至步骤S711,其中计数器偏移被设为触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(Y0-X0[M:1]),并且可配置延迟被设为时钟信号CLK_IN的一半周期(即,0.5*CLK_IN)。然后,该规程继续至步骤S712,其中运行参数i被递增并且其中校验该运行参数i是否已达到其最大值N。如果是,则该规程分叉至步骤S713并且确定成功,即图5的区域B的最优值已被设置用于计数器偏移和可配置延迟。
如果在步骤S712中该运行参数i尚未达到其最大值N,则该规程继续至步骤S714并且校验被触发系统的计数器的当前(M+1)位计数器值(时间戳)Xi[M:0]。然后在步骤S715,校验以下是否成立:触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)并且LSB(Xi[0])是“1”,或者触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)加1等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)并且LSB(Xi[0])是“0”。如果否,则该规程继续至步骤S716,其中确定错误。否则,如果在步骤S715确定对于一个情形差值是等同的,则该规程跳转回到步骤S712并且运行参数再次被递增。
如果在步骤S708中确定差值是等同的,则该规程继续至步骤S717,其中计数器偏移被设为触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(Y0-X0[M:1]),并且可配置延迟被设为零。然后,该规程继续至步骤S718,其中运行参数i被递增并且其中校验该运行参数i是否已达到其最大值N。如果是,则该规程分叉至步骤S719并且确定成功,即图5的区域D的最优值已被设置用于计数器偏移和可配置延迟。
如果在步骤S718中该运行参数i尚未达到其最大值N,则该规程继续至步骤S720并且校验被触发系统的计数器的当前(M+1)位计数器值(时间戳)Xi[M:0]。然后在步骤S721中,校验触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)是否等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)。如果否,则该规程继续至步骤S722,其中确定错误。否则,如果在步骤S721确定差值是等同的,则该规程跳转回到步骤S718并且运行参数再次被递增。
图8是该流程图的第二分支,该分支是在以下情况下选择的:在接收到触发信号T的相关边沿后初始计数器值X0的LSB是“0”,即该初始计数器值是整数计数值(大致对应于图5的区域A)。然而,该相关边沿是否位于图5的区域B或D中的一个区域中尚不清楚。
在步骤S801中,计数器偏移被设为触发系统的计数器的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值加1(Y0-X0[M:1]+1),并且可配置延迟被设为时钟信号CLK_IN的四分之三时钟周期(即,0.75*CLK_IN)。然后在步骤S802中,运行参数i被设为“1”。此后,在步骤S803中,校验被触发系统的计数器的当前(M+1)位计数器值(时间戳)Xi[M:0]。如果确定LSB值是“0”,则该规程分叉到步骤S804并且校验触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)是否等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)。如果否,则该规程分叉到步骤S805并且确定错误。如果差值等同,则该规程分叉到步骤S806,其中运行参数i被递增(例如,递增1)并且校验是否已达到该运行参数i的最大值N。如果否,则该规程跳转回到步骤S803。否则,如果运行参数i已达到最大值N,则该规程分叉到步骤S807并确定成功,即图5的区域A的最优值已经被设置用于计数器偏移和可配置延迟。
否则,如果在步骤S803中确定当前计数器值Xi的LSB值是“1”,则该规程继续至步骤S808,其中校验触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)是否等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)。如果否,则该规程分叉到步骤S809,其中校验触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)是否等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)加1。如果否,则该规程分叉到步骤S810并且确定错误。
如果在步骤S809中确定差值是等同的,则该规程继续至步骤S811,其中计数器偏移被设为触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值加1(Y0-X0[M:1]+1),并且可配置延迟被设为时钟信号CLK_IN的一半周期(即,0.5*CLK_IN)。然后,该规程继续至步骤S812,其中运行参数i被递增并且其中校验该运行参数i是否已达到其最大值N。如果是,则该规程分叉至步骤S813并且确定成功,即图5的区域B的最优值已被设置用于计数器偏移和可配置延迟。
如果在步骤S812中该运行参数i尚未达到其最大值N,则该规程继续至步骤S814并且校验被触发系统的计数器的当前(M+1)位计数器值(时间戳)Xi[M:0]。然后在步骤S815,校验以下是否成立:触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)并且LSB(Xi[0])是“0”,或者触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)加1并且LSB(Xi[0])是“1”。如果否,则该规程继续至步骤S816,其中确定错误。否则,如果在步骤S815确定对于一个情形差值是等同的,则该规程跳转回到步骤S812并且运行参数再次被递增。
如果在步骤S808中确定差值是等同的,则该规程继续至步骤S817,其中计数器偏移被设为触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(Y0-X0[M:1]),并且可配置延迟被设为零。然后,该规程继续至步骤S818,其中运行参数i被递增并且其中校验该运行参数i是否已达到其最大值N。如果是,则该规程分叉至步骤S819并且确定成功,即图5的区域D的最优值已被设置用于计数器偏移和可配置延迟。
如果在步骤S818中该运行参数i尚未达到其最大值N,则该规程继续至步骤S820并且校验被触发系统的计数器的当前(M+1)位计数器值(时间戳)Xi[M:0]。然后在步骤S821中,校验触发系统的计数器的收集到的相关M位计数器值Yi与被触发系统的计数器的当前M位计数器值Xi之间的差值(不考虑LSB)是否等同于触发系统的计数器的收集到的初始M位计数器值Y0与被触发系统的计数器的初始M位计数器值X0之间的初始差值(不考虑LSB)。如果否,则该规程继续至步骤S822,其中确定错误。否则,如果在步骤S821确定差值是等同的,则该规程跳转回到步骤S818并且运行参数再次被递增。
由此,在根据图7和8的规程的采样实施例中,被触发系统的计数器的初始记录的(M+1)位计数器值的LSB的二进制值用于将被触发系统处的计数器偏移初步设置为触发系统的计数器的初始M位计数器值Y0与被触发系统的初始M位计数器值X0之间的初始差值(如果LSB=1)或该初始差值加1(如果LSB=0)以及用于将被触发系统处的可配置延迟初步设置为0.25个CLK_IN(如果LSB=1,这对应于区域C)或0.75个CLK_IN(如果LSB=0,这对应于区域A)。这些初步设置在以下情况下被维持:预定数目N个后续相关收集到的计数器值Yi与这两个系统的所记录的计数器值Xi之间的差值保持等同于初始计数器值Y0和X0之间的初始差值。
然而,如果确定预定数目N个后续记录的计数器值Xi之一的LSB的二进制值已改变,则将被触发系统处的可配置延迟的初步设置设置为零(如果以上差值是等同的,这对应于区域D)或0.5个CLK_IN(如果以上差值差1,这对应于区域B)。此外,被触发系统处的计数器偏移然后可以在LSB已变为“1”的情况下被设为以上初始差值加1。
注意,如果所有四个区域A到D都是大小相等的(即,0.25个CLK_IN周期),则可达成最优性能。这将导致时钟信号CLK_IN的八分之一周期时段的同步准确性(即,-/+(CLK_IN周期)/8)。
在示例情形中,建立和保持时间可能非常小,由此使得区域B和D相比于区域A和C是可忽略的。该场景然后将导致时钟信号CLK_IN的四分之一周期时段的同步准确性(即,-/+(CLK_IN周期)/4)。
因此,以上用于确定被触发系统的计数器的偏移和可配置延迟的规程可利用同步电路的不确定性来提高总准确率。
在示例中,计数器偏移调整可被单独用于以1个时钟周期的准确性进行大致补偿,而可配置延迟的调整可用于以低于一个时钟周期(例如,八分之一时钟周期和四分之一时钟周期之间)的准确性进行精细补偿。
为了验证同步过程是成功的,该系统可重新运行该规程,同时切换触发系统(例如系统A)和被触发系统(例如系统B,使得系统B现在触发且系统A被触发)的角色并验证计算出的偏移为零。作为另一选项,验证可通过以下操作来实现:在这两个系统达到特定计数器值时使它们驱动信号并且然后例如使用测试装备来测量这两个信号之间的时差。
图6、7和8的规程的处理步骤或操作可以通过用于控制被触发系统的控制电路(例如,图4的控制电路25)的软件例程或者由硬件电路或数字信号处理器(DSP)或专用集成电路(ASIC)或可编程逻辑器件(PLD)或可编程门阵列(PGA)等来实现。
执行Matlab模拟,其模拟这两个系统。该模拟覆盖以下两者:同步规程(即,这两个系统之间的物理连接、脉冲串、记录器电路的记录等)以及图7和8的确定最优偏移和可配置延迟以便以提高的准确性同步这两个系统的规程。该模拟已完成1000次,每一次都具有触发系统(系统A)和被触发系统(系统B)的时钟信号CLK_IN之间的随机相移。时钟信号CLK_IN的频率被设为20MHz,触发系统的计数器和被触发系统的计数器之间的初始偏移被设为1000,触发信号的脉冲串中的脉冲数被设为8(即16个边沿),并且PLL电路的输出端处的快速时钟的频率被设为150MHz。该参数值确定该规程能设置可配置延迟的分辨率。
以下图9和10中的示图示出了执行该同步规程后的两个计数器之间的所得不准确性的相应直方图,以ns为单位。
图9是以等于6ns的较长保持和建立时间进行同步以使得图5的区域A、B、C和D的大小大致相等后的两个系统之间的所得不准确性的直方图的示例的示图。如可以从图9中得知的,不准确性大致为-/+6ns,这等于时钟信号CLK_IN的八分之一周期时段(即,-/+(CLK_IN周期)/8)。
图10是以等于仅仅1ns的较短保持和建立时间进行同步以使得区域A和C比区域B和D大得多后的两个系统之间的所得不准确性的直方图的示例的示图。如可以从图10中得知的,不准确性略小于-/+12ns,这等于时钟信号CLK_IN的四分之一周期时段(即,-/+(CLK_IN周期)/4)。
本公开已呈现了用于以不到一个时钟周期时段的较高准确性同步两个系统的时基的装置和规程的示例实施例,其中被触发系统通过以下操作来同步到触发系统:跟踪被触发系统处的时钟信号的上升沿和下降沿的定时并使用所跟踪的定时值来对被触发系统处的时基进行相移调整。
更一般地,根据本文公开的一方面,提供了一种用于将同步信号同步至输入触发信号的装置,该装置包括:
用于响应于检测到该输入触发信号的上升沿和/或下降沿而对计数器的值进行采样和记录的记录器电路,其中该采样是在提供给该计数器的共用时钟信号的上升沿和下降沿处执行的;以及
控制电路,其用于读取所记录的值并基于所记录的值来计算该计数器的偏移和可配置延迟中的至少一者。
在各实施例中,该装置可进一步包括同步电路,其中该记录器电路和该同步电路被配置成在共用时钟信号的上升沿和下降沿处变得活跃。
在各实施例中,该装置可进一步包括可配置延迟电路,其被配置成在共用时钟信号被提供给计数器之前将可配置延迟添加至该共用时钟信号、或该计数器的输出、或基于该计数器的输出来生成的触发输出。
在各实施例中,可配置延迟电路可由具有比共用时钟信号的时钟频率更高的时钟频率的快速时钟信号来控制。在各示例中,快速时钟信号可以在共用时钟信号的基础上生成。
在各实施例中,控制电路可被配置成收集对应于输入触发信号的上升沿和/或下降沿的预定义计数器值并基于所记录的值与收集到的预定义计数器值的比较来计算该计数器的偏移和可配置延迟中的至少一者。
在各实施例中,所记录的值可以比收集到的计数器值多一位,并且其中多的这一位被用来指示所记录的值是整数值还是非整数值,这取决于它是在时钟信号的上升沿还是下降沿处被采样。
在各实施例中,控制电路可被配置成使用所记录的值中的初始值的最低有效位LSB的二进制值来在该LSB指示非整数值的情况下将该计数器的偏移初步设置为收集到的计数器值中的初始值与所记录的值中的一个值之间的初始差值,或者在该LSB指示整数值的情况下将该计数器的偏移初步设置为该初始差值加1。
在各实施例中,控制电路可被配置成使用所记录的值中的初始值的LSB的二进制值来在该LSB指示非整数值的情况下将可配置延迟初步设置为该共用时钟信号的四分之一时钟周期,或者在该LSB指示整数值的情况下将可配置延迟初步设置为该共用时钟信号的四分之三时钟周期。
在各实施例中,控制电路可被配置成在预定数目的后续相关收集到的计数器值与所记录的值之间的相应差值保持等同于该初始差值的情况下维持该初步设置。
在各实施例中,如果控制电路确定预定数目N个后续记录的值之一的LSB的二进制值已改变,则该控制单元可被配置成在相应差值和初始差值等同的情况下将可配置延迟的初步设置设为零,或者在相应差值与初始差值差1的情况下将可配置延迟的初步设置设为共用时钟信号的一半时钟周期。
在各实施例中,控制电路可被配置成在LSB已变为指示非整数值的情况下将该计数器的偏移设为该初始差值加1。
根据本文公开的另一方面,提供了一种将同步信号同步至输入触发信号的方法,该方法包括:
响应于检测到该输入触发信号的上升沿和/或下降沿而对计数器的值进行采样和记录,其中该采样是在提供给该计数器的共用时钟信号的上升沿和下降沿处执行的;以及
基于所记录的值来计算该计数器的偏移和可配置延迟中的至少一者。
在各实施例中,该方法可进一步包括在共用时钟信号被提供给计数器之前将可配置延迟添加至该共用时钟信号、或该计数器的输出、或基于该计数器的输出来生成的触发输出。
根据本文公开的又一方面,提供了一种实现在计算机可读存储上的计算机程序,该计算机程序包括配置成当在一个或多个处理器上运行时执行本文公开的任一实施例的方法的代码。
本文描述的示例和实施例可被实现为一个或多个计算机系统中的逻辑步骤。逻辑操作可被实现为:(1)在一个或多个计算机系统中执行的处理器实现的步骤的序列;以及(2)一个或多个计算机系统内的互连机器或电路模块。该实现是取决于用于实现的计算机系统的性能要求的选择问题。因此,组成在此描述的各示例或实施例的逻辑操作可被不同地称为操作、步骤、对象、或模块。此外,应该理解,逻辑操作可以以任何顺序执行、按需添加或忽略,除非明确地声明,或者按由权利要求语言固有地要求特定的顺序。
一旦给出本公开,对本领域技术人员而言,所公开的技术的其他变型和应用可变得明显。本公开的范围不限于上述实施例,而仅由所附权利要求来限定。
Claims (15)
1.一种用于将计数器同步至输入触发信号的装置,所述装置包括:
数据采集模块,其用于响应于检测到所述输入触发信号的上升沿和/或下降沿而对所述计数器的值进行采样和记录,其中所述采样是在提供给所述计数器和所述数据采集模块的共用时钟信号的上升沿和下降沿处执行的;以及
控制电路,其用于读取所记录的值并基于所记录的值和预定收集到的值来计算所述计数器的偏移和可配置延迟中的至少一者。
2.如权利要求1所述的装置,进一步包括同步电路,其中所述数据采集模块和所述同步电路被配置成在所述共用时钟信号的上升沿和下降沿处变得活跃。
3.如前述权利要求中的任一项所述的装置,进一步包括可配置延迟电路,其被配置成在所述共用时钟信号被提供给所述计数器之前将所述可配置延迟添加至所述共用时钟信号、或添加至所述计数器的输出、或添加至基于所述计数器的输出而生成的触发输出。
4.如权利要求3所述的装置,其中所述可配置延迟电路由具有比所述共用时钟信号的时钟频率更高的时钟频率的快速时钟信号来控制。
5.如权利要求4所述的装置,其中所述快速时钟信号是在所述共用时钟信号的基础上生成的。
6.如前述权利要求中的任一项所述的装置,其中所述控制电路被配置成通过收集对应于所述输入触发信号的所述上升沿和/或下降沿的预定义计数器值来获取所述预定收集到的值并基于所记录的值与收集到的预定义计数器值的比较来计算所述计数器的所述偏移和所述可配置延迟中的至少一者。
7.如权利要求6所述的装置,其中所记录的值比收集到的计数器值多一位,并且其中多的这一位被用来指示所记录的值是整数值还是非整数值,这取决于它是在所述时钟信号的上升沿还是下降沿处被采样。
8.如权利要求7所述的装置,其中所述控制电路被配置成使用所记录的值中的初始值的最低有效位LSB的二进制值来在所述LSB指示非整数值的情况下将所述计数器的所述偏移初步设置为所述收集到的计数器值中的初始值与所记录的值中的一个值之间的初始差值,或者在所述LSB指示整数值的情况下将所述计数器的所述偏移初步设置为所述初始差值加1。
9.如权利要求8所述的装置,其中所述控制电路被配置成使用所记录的值中的初始值的所述LSB的二进制值来在所述LSB指示非整数值的情况下将所述可配置延迟初步设置为所述共用时钟信号的四分之一时钟周期,或者在所述LSB指示整数值的情况下将所述可配置延迟初步设置为所述共用时钟信号的四分之三时钟周期。
10.如权利要求8或9所述的装置,其中所述控制电路被配置成在预定数目的后续相关收集到的计数器值与所记录的值之间的相应差值保持等同于所述初始差值的情况下维持所述初步设置。
11.如权利要求10所述的装置,其中如果所述控制电路确定预定数目N个后续记录的值之一的LSB的二进制值已改变,则所述控制电路被配置成在所述相应差值和所述初始差值等同的情况下将所述可配置延迟的所述初步设置设为零,或者在所述相应差值与所述初始差值差1的情况下将所述可配置延迟的所述初步设置设为所述共用时钟信号的一半时钟周期。
12.如权利要求11所述的装置,其中所述控制电路被配置成在所述LSB已变为指示非整数值的情况下将所述计数器的所述偏移设为所述初始差值加1。
13.一种将计数器同步至输入触发信号的方法,所述方法包括:
响应于检测到所述输入触发信号的上升沿和/或下降沿而对计数器的值进行采样和记录,其中所述采样是在提供给所述计数器的共用时钟信号的上升沿和下降沿处执行的;以及
基于所记录的值和预定收集到的值来计算所述计数器的偏移和可配置延迟中的至少一者。
14.如权利要求13所述的方法,进一步包括在所述共用时钟信号被提供给所述计数器之前将所述可配置延迟添加至所述共用时钟信号、或添加至所述计数器的输出、或添加至基于所述计数器的输出而生成的触发输出。
15.一种实现在计算机可读存储上且包括代码的计算机程序,所述代码被配置成当在一个或多个处理器上运行时执行如权利要求13或14所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19217797.0A EP3839695A1 (en) | 2019-12-19 | 2019-12-19 | Method and apparatus for synchronizing two systems |
EP19217797.0 | 2019-12-19 | ||
PCT/US2020/059599 WO2021126405A1 (en) | 2019-12-19 | 2020-11-09 | Method and apparatus for synchronizing two systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114868337A true CN114868337A (zh) | 2022-08-05 |
Family
ID=68965767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080088978.1A Pending CN114868337A (zh) | 2019-12-19 | 2020-11-09 | 用于同步两个系统的方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11888480B2 (zh) |
EP (2) | EP3839695A1 (zh) |
CN (1) | CN114868337A (zh) |
WO (1) | WO2021126405A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118091221A (zh) * | 2024-04-23 | 2024-05-28 | 成都玖锦科技有限公司 | 一种fpga并行架构的多通道触发偏移调节方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11762506B2 (en) | 2022-01-24 | 2023-09-19 | Microsoft Technology Licensing, Llc | Handling noise interference on an interlink |
US11757610B1 (en) * | 2022-04-18 | 2023-09-12 | Nxp B.V. | Low phase noise clock recovery over a data connection |
CN116248050B (zh) * | 2023-05-08 | 2023-07-11 | 国仪量子(合肥)技术有限公司 | 锁相放大器、信号器件检测方法及信号处理方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5818886A (en) * | 1996-08-22 | 1998-10-06 | Unisys Corporation | Pulse synchronizing module |
US5966417A (en) | 1997-10-02 | 1999-10-12 | International Business Machines Corporation | Cycle alignment circuit for multicycle time systems |
US6205448B1 (en) | 1998-01-30 | 2001-03-20 | 3Com Corporation | Method and apparatus of synchronizing two computer systems supporting multiple synchronization techniques |
US6252445B1 (en) * | 1999-03-31 | 2001-06-26 | Agilent Technologies, Inc. | Method and apparatus for extending a resolution of a clock |
US6297702B1 (en) | 2000-01-10 | 2001-10-02 | Honeywell International Inc. | Phase lock loop system and method |
US6615281B1 (en) | 2000-05-05 | 2003-09-02 | International Business Machines Corporation | Multi-node synchronization using global timing source and interrupts following anticipatory wait state |
US20030018462A1 (en) | 2001-07-16 | 2003-01-23 | Liang T. Chen | Multi-clock system simulation |
US7809384B2 (en) | 2002-11-05 | 2010-10-05 | Microsoft Corporation | User-input scheduling of synchronization operation on a mobile device based on user activity |
US7394830B2 (en) * | 2003-09-11 | 2008-07-01 | Cisco Technology, Inc. | System for synchronizing circuitry in an access network |
US8036247B2 (en) | 2007-01-05 | 2011-10-11 | Frank Paul R | System and method of synchronizing real time clock values in arbitrary distributed systems |
JP6449518B2 (ja) * | 2015-07-20 | 2019-01-09 | ラティス セミコンダクタ コーポレーションLattice Semiconductor Corporation | 低速バスタイムスタンプの方法及び回路 |
-
2019
- 2019-12-19 EP EP19217797.0A patent/EP3839695A1/en not_active Withdrawn
-
2020
- 2020-11-09 US US17/781,063 patent/US11888480B2/en active Active
- 2020-11-09 CN CN202080088978.1A patent/CN114868337A/zh active Pending
- 2020-11-09 EP EP20811937.0A patent/EP4078812A1/en active Pending
- 2020-11-09 WO PCT/US2020/059599 patent/WO2021126405A1/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118091221A (zh) * | 2024-04-23 | 2024-05-28 | 成都玖锦科技有限公司 | 一种fpga并行架构的多通道触发偏移调节方法 |
Also Published As
Publication number | Publication date |
---|---|
EP4078812A1 (en) | 2022-10-26 |
EP3839695A1 (en) | 2021-06-23 |
WO2021126405A1 (en) | 2021-06-24 |
US20230006676A1 (en) | 2023-01-05 |
US11888480B2 (en) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114868337A (zh) | 用于同步两个系统的方法和装置 | |
CN107402597B (zh) | 一种数据与时钟对齐的方法、装置、介质及磁共振设备 | |
CN106533399B (zh) | 修改时钟信号的电路和方法及执行时间敏感任务的装置 | |
TWI448081B (zh) | All-digital clock correction circuit and method thereof | |
CN111510237B (zh) | 修改时钟信号的控制器和方法、同步装置 | |
US10129012B2 (en) | Tuning circuitry and operations for non-source-synchronous systems | |
KR20070051329A (ko) | 위상 변이된 주기파형을 사용한 타임 측정 | |
KR102105139B1 (ko) | 클럭 지연 검출회로 및 이를 이용하는 반도체 장치 | |
US7643598B2 (en) | Frequency lock detector | |
KR102016532B1 (ko) | 반도체 장치 및 그의 구동방법 | |
JPH1010179A (ja) | 遅延素子試験装置および試験機能を有する集積回路 | |
US6998889B2 (en) | Circuit, apparatus and method for obtaining a lock state value | |
US11539355B2 (en) | Systems and methods for generating a controllable-width pulse signal | |
US20120014427A1 (en) | Methods and Apparatus for Determining a Phase Error in Signals | |
CN106533598B (zh) | 事件之间的发生时间差的估计电路和方法、计算机可读存储介质 | |
US20220260635A1 (en) | Circuit for transferring data from one clock domain to another | |
JP7214855B2 (ja) | メタステーブル状態検出装置及び方法、adc回路 | |
CN113193868A (zh) | 锁相检测装置和锁相检测方法、锁相环 | |
JP3693930B2 (ja) | Pll回路のシミュレーション方法およびシミュレーション・プログラム | |
CN215186702U (zh) | 锁相检测装置、锁相环 | |
CN112152596B (zh) | 用于产生脉冲输出的电路及方法 | |
EP4160231A1 (en) | Timing unit establishing time measuring method and measuring circuit | |
US8552780B2 (en) | Method and apparatus for determining duty cycle of a clock in a circuit using a configurable phase locked loop | |
US7956649B1 (en) | Frequency pattern detector | |
US7152176B2 (en) | Dynamic resynchronization of clocked interfaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |