CN104412222B - 用于时钟域之间数据传输的设备 - Google Patents

用于时钟域之间数据传输的设备 Download PDF

Info

Publication number
CN104412222B
CN104412222B CN201380034642.7A CN201380034642A CN104412222B CN 104412222 B CN104412222 B CN 104412222B CN 201380034642 A CN201380034642 A CN 201380034642A CN 104412222 B CN104412222 B CN 104412222B
Authority
CN
China
Prior art keywords
clock
clock domain
signal
data
bus
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.)
Active
Application number
CN201380034642.7A
Other languages
English (en)
Other versions
CN104412222A (zh
Inventor
马库斯·巴卡·耶尔托
弗兰克·贝恩特森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nordic Semiconductor ASA
Original Assignee
Nordic Semiconductor ASA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nordic Semiconductor ASA filed Critical Nordic Semiconductor ASA
Publication of CN104412222A publication Critical patent/CN104412222A/zh
Application granted granted Critical
Publication of CN104412222B publication Critical patent/CN104412222B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0008Synchronisation information channels, e.g. clock distribution lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L27/00Modulated-carrier systems
    • H04L27/26Systems using multi-frequency codes
    • H04L27/2601Multicarrier modulation systems
    • H04L27/2647Arrangements specific to the receiver only
    • H04L27/2655Synchronisation arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/707Spread spectrum techniques using direct sequence modulation
    • H04B1/7073Synchronisation aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B1/713Spread spectrum techniques using frequency hopping
    • H04B1/7156Arrangements for sequence synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

一种用于在数字系统中由第一时钟域(bus_slow)向第二时钟域(bus_fast)传输数据信号的布置。第一时钟域(bus_slow)具有第一时钟(ck_slow)频率,其小于第二时钟域(bus_fast)中的第二时钟(ck_fast)频率。该布置被配置为由第一时钟域(bus_slow)向第二时钟域(bus_fast)传输数据信号,利用通过第二时钟(ck_fast)计时的检测装置(2)来检测在预定周期时间内第一时钟(ck_slow)是否有预定转换发生,并且在检测装置(2)检测到在预定周期时间内第一时钟(ck_slow)发生预定转换时,再次由第一时钟域(bus_slow)向第二时钟域(bus_fast)传输数据信号。

Description

用于时钟域之间数据传输的设备
技术领域
本发明涉及在数字系统中时钟域之间传输数据信号的系统和方法,特别涉及非同步时钟域。
背景技术
在许多不同的电子系统中,例如无线(例如蓝牙)系统,存在着需要以两个或多个以不同频率运行的时钟域来保持相互通讯,其至少是偶发的。例如,中央处理器可能以高频率运行,而一个或多个外围设备以低频率运行。此外,其中一个时钟域可能进入静止期,例如休眠或待机模式,此时为了节约能量其不被使用。典型地,这种快速时钟域,有在这些周期内被用作计时器的慢速时钟域。在这些周期内两个时钟域之间没有通讯联系,尽管如此当其中一个时钟域退出休眠或待机模式时,其常常需要与慢速时钟域通讯。此外,快速与慢速时钟域可能并不需要彼此同步。
众所周知,具有不同频率时钟域的系统使用“握手”过程,该过程中时钟域协商参数以便确立慢速时钟域在传输到快速时钟域期间不改变被传输的数据信号,例如对忙碌标识的使用。所以慢速时钟域能够在慢速时钟域的安全周期内传输信号是必需的,例如,远离转换(其中时钟由0变为1)在慢速时钟域内以及在慢速时钟传输时不改变数据信号的周期内,以便避免信号或系统亚稳度的讹误。这是因为慢速时钟域的值通常将在慢速时钟转换时改变。然而,已知的握手相对较慢,这是因为其为了在时钟域之间实现同步而需要慢速时钟域的多个周期。除了变慢之外,其还耗费大量的电力,这是由于快速时钟必须在该过程中保持运行。另外在许多应用中,在慢速时钟域中信号的定格是不合需要的,例如计时器必须连续计数。对此问题的一种已知解决方案是在慢速时钟域中引入额外的影子寄存器,结合标识来告知快速时钟域,其中影子寄存器的存储被认为是稳定的。然而,这显著增加了所需的逻辑量。
发明内容
本发明的目的在于提供改进的系统和方法以用于两个具有不同频率的时钟域之间通信。
由第一方面来看,本发明提供一种用于数字系统中由第一时钟域到第二时钟域传输数据信号的布置,其中第一时钟域包括第一时钟,其频率小于第二时钟域内第二时钟的频率,该布置被配置为:
由第一时钟域向第二时钟域传输数据信号;
利用以第二时钟计时的检测装置在预定时间周期内检测第一时钟是否有预定转换发生;以及
如果该检测装置在预定时间周期内检测到第一时钟的所述预定转换,则再次由第一时钟域向第二时钟域传输数据信号。
本发明还提供一种在数字系统中由第一时钟域向第二时钟域传输数据信号的方法,其中第一时钟域包括第一时钟,其频率小于第二时钟域内第二时钟的频率,该方法包括:
由第一时钟域向第二时钟域传输数据信号;
利用以第二时钟计时的检测装置在预定时间周期内检测第一时钟是否有预定转换发生;以及
如果该检测装置在预定时间周期内检测到第一时钟的所述预定转换,再次由第一时钟域向第二时钟域传输数据信号。
依据本发明的数据信号仅仅由第一时钟域传输到第二时钟域,但要实施在预定的周期内第一时钟域内是否有时钟转换发生的检测,因此用其替代使用握手和/或忙碌标识将被认识到。如果转换被检测到,来自第一时钟域的数据信号将被再次传输到第二时钟域,否则信号的初始传输被认为是“安全”的,也就是不存在亚稳态风险。申请人认识到由于对由第二时钟信号计时的第一时钟信号进行检测,其将导致数据信号由第一时钟域向第二时钟域更快速的传输。例如,在具有握手过程的已知布置中,同步和传输时间通常至少需要两个第一时钟周期,也就是两个慢速时钟周期,相对而言,本发明实施例中的同步和传输时间可以只需少许几个第二时钟周期,也就是少许几个快速时钟周期。跟随第一时钟内的转换的数据信号传输可以发生在预定周期的末端,例如第二时钟的相应转换,但是最好跟随第二时钟的转换发生。
检测装置可以被配置为检测正和/或负转换,也就是第一时钟域的数值可以转变为第一时钟的正和负转换中的之一或两者,取决于所使用的系统和技术的实施方式。然而,在一组实施方式中所要检测的转换为正转换。
对第一时钟的检测用于确保其周期为远离转换,例如任一由0到1的正转换或由1到0的负转换,以便由第一时钟域向第二时钟域的数据信号初始传输与在第一时钟周期内的转换不一致。这是因为第一时钟域的数值在第一时钟的一个或两个转换处被改变,其依赖于系统的实现方式,因此此时(也就是改变时)由第一时钟域传输数值可能导致数据讹误或亚稳态。
申请人认识到,对第一时钟的检测确认了发生在第一慢速时钟周期安全部分内的初始或后续传输数据信号中任一个均被安全传输。在一些实施例中,数据并非通过布置内任意的同步部件(例如检测装置)由第一时钟域向第二时钟域传输。此外,也没有必要向第二时钟域同步数据信号。特别是一些实施例中不具备由第一时钟域向第二时钟域传输信号期间引入时钟周期时间延迟的元件。
虽然一位信号具有一些优点,但是多位总线具有更显著的优点,这是因为在检测第一时钟的基础上整个总线能够可靠传输。因此,在一组实施例中第一时钟域包括第一总线,第二时钟域包括第二总线,且数据由第一总线向第二总线传输,初始和可能具有的后续传输均被认为是需要的。这也意味着本发明的实施例无需引入潜在相关的系列触发器或其他在现有技术中通常用于匹配时钟域的布置。
在本发明的一些实施例中,数据总线具有至少8,16或32位,然而可以认为该总线能够具有多位中的任意位数。
由于快速传输允许在适当情况时时钟中的一个或两者更快进入休眠状态,因此快速传输所实现的另一个优点在于节约电力消耗。例如,在快速时钟保持运行期间,已知的握手过程需要多个慢速时钟周期才能完。这将消耗许多不必要的电力,特别是如果慢速时钟域具有低功率低频率时钟且快速时钟域为高功率,而这是低功率设备中的通常配置。
在第一时钟内对预定转换的检测能够在预定时间周期内实施。然而,在一组实施例中,检测包括基于另一时钟(最好是第二时钟)的对第一时钟离散抽样。在一些实施例中,这使得必要时数据信号能够被尽快地再次传输,也就是离散抽样允许在第一时钟内的预定转换在其发生不久后就被检测到,以便数据信号能够在此检测后被传输。在一些实施例中,检测装置包括边缘检测器,例如正边缘检测器。例如,可以在离散抽样的每个点将第一时钟的值与其之前的值进行比较,以便在第一时钟内转换发生的抽样周期内将其检测出来。以上提到的边缘检测器可以由第二时钟方便地计时。
对第一时钟的转换的检测需要有限量的时间:为了实现第一时钟域与第二时钟域之间数据信号的传输,第一时钟转换必须进入检测装置中,且合成逻辑信号必须通过检测装置传输以及其他任何可能依赖于他们的部件。通常,检测装置用在寻找第一时钟转换的预定周期要大于第一时钟域信号变为稳定的有效值的时间以及时钟转换通过检测装置传播的时间。例如,在离散抽样中抽样点的数目通常与传播这些逻辑信号通过所需部件的时间相关。在一组实施例中,预定周期为第二时钟的1至16个周期之间,例如在第二时钟的2个至8个周期之间,又例如在第二时钟的4个周期。然而,预定周期并不需要必须是第二时钟周期的整数倍,例如如果其由不同的时钟来计时。如果转换没有在预定周期内被检测出来,便可以安全地假定数据信号由第一时钟域向第二时钟域的初始传输与第一时钟的转换并未同时发生。
预定周期的消逝可以由任何适合的计时机构来计时,例如计时器或计数器。然而,如上所述,在一些实施例中,在第一时钟内的转换检测包括多个步骤和/或在第二时钟的数个周期内实施。因此,优选检测装置包括用于对离散抽样的多个步骤和/或预定周期内的多个周期进行计数的装置。其可以为诸如递减计数器,格雷码计数器,或一个或多个串联触发器的部件。优选地,计数装置由第二时钟计时,也就是与检测装置同步。
在一组实施例中,在第一时钟周期内对预定转换的检测可以在任何第二时钟的转换(正或负中任一)处执行。在一组实施例中,检测在第二时钟的上升沿(也就是正转换)处执行,例如这标记了预定周期的起始。如上所述,检测可以包括多个步骤,随后步骤在随后的(例如下一个)第二时钟上升沿处执行。优选地,为了尽快检测转换并因此在需要的情况下允许以最快可能再次传输数据信号(尽管这不是必须的,其通常要等到预定周期的末端才再次传输数据),离散抽样的频率与第二时钟的频率相同,也就是检测期间在第二时钟的每一周期均实施抽样。当数据信号在第一时钟转换之后被再次传输时,第二时钟与第一时钟的频率比应当足够大,以便其能够确保第一时钟的另外的转换不会在用于实现由第一时钟域向第二时钟域传输数据信号的时间内发生。
尽管第二时钟的频率可以为第一时钟频率的整数倍和/或具有固定相,但根据本发明来讲同步或特殊关系并不是必需的。此外,本发明实施例对第一和/或第二时钟域进入休眠或待机模式时可能是宽容的,且可以相对其他时钟域异步重启。
在一组实施例中,第二时钟的频率至少四倍于第一时钟的频率,例如至少十倍于该频率,例如至少百倍于该频率,例如至少千倍于该频率。除了满足以上给出的时钟频率比的优势和理由,其也保证有足够的时间来检测和处理预定转换,以及再次传输数据不存在另外的转换发生的风险,以及讹误或亚稳态的相关风险。由于检测装置通过第二时钟来计时,这通常意味着预定周期(其具有几个第二时钟周期)要远小于第一时钟周期,以便紧随的第一时钟周期的转换内,全部所需的逻辑信号能够通过布置,且由第一时钟域向第二时钟域再次传输数据能够在第一时钟的下一转换(此处第一时钟域的数值可能再次改变)之前完成。这也反映出不同的时钟域存在于工业品之中。在典型的一组实施例中,第一时钟的频率为32kHz,第二时钟的频率为16MHz。
如上所述,检测装置可以包括配置为在连续时钟周期上比较输入值的边缘检测器。然而,任何依赖于检测特性的适当布置均可利用,也就是任何能够用于检测第一时钟转换的部件或布置。因此检测装置通常将以第一时钟作为输入。在另一组实施例中,检测装置包括触发器,例如D型触发器,或比较器。不止一个触发器可能被用于串联以便增强触发器执行检测的确定性。触发器的输出处于不稳定状态有很小的几率,其耗费一些时间以便自己解决,例如,如果该检测执行时第一时钟正在发生转换。然而,如果该输出此时输入到另一触发器的输入端,其通过两个触发器而导致不稳定状态的几率是非常小的,也就是因为该可能性是成倍增加的。
在一组实施例中,对第一时钟转换的检测可以在所有时间实施,例如第二时钟的每一个周期。然而,在另一组实施例中,系统包括用于初始化预定周期的装置。这可能是发送特殊信号以便启动预定周期,或者可能是在系统中链接到其他信号或周期。例如,预定周期可以由输入信号的改变来初始化,通过系统或第二时钟域来进入或退出待机或休眠模式,或通过中央处理器(CPU)请求来自第一时钟域的数据被读取。相对于检测被连续执行,检测被初始化的实施例更具优势,这是由于检测仅在需要时运行而帮助系统节约电力消耗,且允许第二时钟域在信号传输之后以及数据信号所需的下一传输之前的周期内进入休眠模式,因此可以节约电力。本发明的实施例尤其适合于第二时钟域请求由第一时钟域传输数据信号的操作模式,例如当第二时钟域退出休眠或待机模式并请求确定数据信号时,举例来说该时间提供了启动预定周期的信号。
如上所述,预定周期通常是被固定的且初始化后持续多个第二时钟周期。然而,所设想的实施例中,一旦第一时钟的转换被检测到且所需的逻辑信号表明其已经通过布置(也就是在预定周期期满之前),转换检测即被结束。这是由于一旦其表明由第一时钟域向第二时钟域再次传输数据信号是安全的,第一时钟比第二时钟慢的事实将保证在数据信号再次传输时第一时钟内不会有另外的转换发生,因此没有理由继续去做出任何比其更长的检测。
依据本发明的实施例,所传输的数据信号可以在同步期间的任何时间改变,也就是在预定周期期间不会影响到同步过程或如果必要的由第一时钟域向第二时钟域的数据信号的合成再次传输,例如引起输入信号的亚稳态。这与传统的握手过程形成对照,传统握手过程中为了在第一和第二时钟域间实现同步,定格被增加到要从第一时钟域传输的信号之上,例如通过使用忙碌标识。这显然增加了完成传输的时间以及系统的电力消耗。本发明移除这些限制致使数据信号更快的传输并消耗更少电力将被认识到。
在一组如上所述的实施例中,通过具有通过第二时钟来计时的检测装置且将第一时钟作为其输入,该布置简单地产生了“安全”同步信号以便决定是否需要再次由第一时钟域向第二时钟域传输数据。因此数据信号的状态显得不重要了,其能够在预定周期期间改变,即,第一时钟域中所述数据信号的值,其在预定周期末端或其他时间被传输到第二时钟域,如果第一时钟周期发生转换,其通常意味着该数据信号值将改变。如果第一时钟周期在预定周期期间没有转换发生,数据信号保持初始传输,这通常意味着数据信号值没有改变。然而,在第一时钟被检测到转换的情况下,第一时钟域中最新的数据信号将在转换之后被传输到第二时钟域。
传统方法中数据信号的传输在两个时钟域同步期间不允许改变,相比于传统方法,本发明第一时钟域的数据信号在预定周期内可以自由改变。这是因为同步过程(例如握手和/或包含忙碌标识)包括对所传输数据以及时钟周期的检测。这限制了整个系统及其使用。例如,CPU需要对能够当同步完成时告知系统的标识进行轮询。本发明的系统没有这些限制因此其使用和体系结构具有更大的自由度。
在一组实施例中,系统包括用于存储数据信号的装置,例如存储设备或部件,且方法包括存储数据信号的步骤。这允许数据信号输出到第二时钟域之前被临时存储,其用于初始传输和可能必要的后续传输中的之一或两者。数据信号也可以在预定周期期间被存储,也就是当第一时钟检测正进行且逻辑信号通过检测装置时。
用于存储由第一时钟域输入信号的装置可以具有任意适合于能够在第一时钟周期非安全部分期间和/或预定周期期间存储数据信号的数据存储部件、布置或设备,以便信号在检测起始和/或第一时钟检测已经执行时准备好向第二时钟域输出。其可以包括例如触发器或锁存器的寄存器。为了系统被配置为传输多位总线,多个部件可以依据总线的大小而提供,例如并行的多个触发器。这样的部件可以存储输入信号直到其由接收到例如来自检测装置的信号,向第二时钟域传输信号是安全的。此外,保持标记可以在存储装置中被加在数据信号中以便在预定周期消逝之前防止传输发生。存储装置可以由第一时钟域接收数据信号,也就是存储装置和第一时钟域可以包括独立部件:其一接收输入信号,另一存储输入信号。然而,此功能也可以由第一时钟域执行,其在数据信号被传输之前将其接收并存储。
当数据信号被初始传输时,无论此数据信号是否被系统安全使用,其均为未知的,也就是初始传输是被希望第一时钟此时位于其周期内安全部分内而进行,这归功于第一和第二时钟域的相对频率通常是适合的。然而,如果传输在第一时钟转换时进行,数据信号可能讹误或亚稳态。在这种情况下,将信号传播通过系统的其他部分并不一个好主意,例如通过读取第二总线来传输信号。因此在一组实施例中,布置包括用于防止初始传输数据信号被第二时钟域读取的装置。这些被第二时钟域读取的数据信号的块包括“ready”(就绪)信号,例如当块在适当位置时设置为0,当数据信号被确定安全且准备好被第二时钟域读取时设置为1。该ready(就绪)信号可以链接到检测装置和/或预定周期。例如,如果布置包括计时器或计数器,ready(就绪)信号可以在相对于预定周期的特殊点发布,例如在预定周期的末端。
一旦第一时钟的检测已经执行,且预定周期已经结束,要么数据信号的初始传输被认为是安全的,要么如已经表述过的后续传输被认为是安全的,第二数据域中读取数据信号的块被提出。
附图说明
本发明某些实施例随同附图在此仅仅通过示例形式一起展示,其中:
图1是关于本发明实施例逻辑电路图;
图2是与图1中电路图相关的时序图。
具体实施方式
图1展示了能够表达本发明布置的相应的逻辑电路原理图。该布置被配置为由第一时钟域的第一总线bus_slow向第二时钟域的第二总线bus_fast传输数据。第一时钟ck_slow的频率要小于第二时钟ck_fast的频率,而典型的第一时钟ck_slow的频率为32kHz,第二时钟ck_fast为16MHz。
布置包括用于第一时钟的正边缘检测器2,ck_slow作为正边缘检测器2的输入。正边缘检测器2的输出posedge_detected在第一时钟ck_slow的正边沿被检测到时为1,否则为0。第二时钟ck_fast用于对正边缘检测器2计时,由此在每一个第二时钟的上升沿处输入值ck_slow均被抽样并且与先前的第二时钟上升沿处的值进行比较。
布置还包括递减计数器4,其以初始化信号start_sync作为其输入,该初始化信号表明为了传输数据的同步过程的起始。递减计数器4的输出sync_cnt为计数值,其为每次计数均减一的整数。在图1所示的实施例中,计数总是由3开始。第二时钟ck_fast还用于递减计数器的计时,也就是在第二时钟的每个上升沿,递减计数器将其输出值sync_cnt减小1。
递减计数器4的输出sync_cnt被送到决策点6。而决策点6具有三个输出8,10,12,其取决于递减计数器4的输出值sync_cnt。如果递减计数器4的输出值sync_cnt等于0,则第一输出8的值为1。如果递减计数器4的输出值sync_cnt等于3,则第二输出10的值为1。如果递减计数器4的输出值sync_cnt不等于0,则第三输出12的值为1。如可被认识到的,决策点6的第二和第三输出10,12可以同时具有为1的值,也就是当递减计数器4的输出值sync_cnt为3时。当递减计数器4的输出值sync_cnt等于0时,输出到系统的信号ready表明来自第一总线bus_slow的数据已经被传输并且布置准备接收其他初始化信号start_sync。
来自正边缘检测器2的输出信号posedge_detected与来自决策点6的第三输出12在一个与(AND)门14中相结合,而与门14的输出与来自决策点6的第二输出10在或(OR)门16中相结合。来自或门16的输出load_bus_fast被送到多路器18的选择输入端。多路器18的输入为来自第一总线bus_slow的数据信号以及第二总线bus_fast的输出数据信号。多路器18的输出被送到由第二时钟ck_fast计时的D型触发器20。触发器20的Q输出为第二总线bus_fast的输出。
现在将参考图1以及图2对系统运行进行表述,图2展示了通过系统的逻辑信号序列。所给出的典型的时标22为50ns。如图2所示,且出于展示目的,来自具有较高频率的第二时钟域4的第二时钟ck_fast频率为16MHz,来自具有较低频率的第一时钟域8的第一时钟ck_slow频率为1.5MHz。实际操作中它们很可能分的更开(正如之前所详细表述的),此处出于便于展示的目的选择了更为类似的值。
初始时,系统的状态是未知的,此时多位数据h9(十六进制值)位于第一总线bus_slow和第二总线bus_fast中,也就是总线中的值是来自先前的传输。直到在565ns时初始化信号start_sync由0变为1,系统进入稳定状态,因此触发同步过程的起始。当它为了请求由第一时钟域传输数据而退出休眠模式时(通常为低功率计时电路),典型的初始化信号由第二时钟域产生(通常控制高功率外围设备)。在625ns处,递减计数器4(由第二时钟ck_fast的下一个上升沿计时)导致其开始由3开始递减计数,也就是在625ns处递减计数器4的输出值sync_cnt变为3。递减计数器4由3开始递减计数是必需的,这是因为正边缘检测器2花费两个第二时钟ck_fast的周期来检测正转换,也就是用于所需的逻辑信号通过触发器。
减计数器4的输出值sync_cnt为3引起决策点6第一输出8的值为0,且决策点6第二、第三的输出值10,12为1。无论正边缘检测器2的输出posedge_detected如何,这些或门16的输入均引起或门16的输出值load_bus_fast为1。这个为1的值被送到多路器18的选择输入端从而引起第一总线bus_slow中的数据信号h9被送到触发器20的D输入端,因此在第二时钟ck_fast的下一上升沿处数据信号被传输到第二总线bus_fast。
在此期间,在第二时钟ck_fast的每一个上升沿处,正边缘检测器2检测第一时钟ck_slow周期内的正转换。在第一时钟ck_slow的670ns处发生正转换。在此例中,此转换与第一总线bus_slow中数据信号由h9变为hC相关,但在其他情形下数据信号可能保持相同。在750ns处,在第二时钟ck_fast两个周期后的上升沿处,其记录正边缘检测器2的输出posedge_detected变为1,表明第一时钟ck_slow的正转换被检测到。这个为1的值与来自决策点6的第三输出12的为1的值(也就是此时递减计数器4的输出sync_cnt为1,其不等于0)相结合,引起与门14具有值为1的输出,或门16的输出值load_bus_fast也为1。这意味着由于在第二时钟ck_fast转换期间第一时钟ck_slow的正转换发生,其中由第一总线bus_slow向第二总线bus_fast初始传输的数据信号将在第一总线中再次被传输。
如前所述,load_bus_fast为1的值被送到多路器18的选择输入端引起第一总线bus_slow中的数据信号(现在为hC)被送到触发器20的D输入端,因此在第二时钟ck_fast的下一个上升沿处,数据信号hC被传送到第二总线ck_fast。第一时钟ck_slow的频率足够低以保证数据信号的传输在另一个第一时钟的转换发生之前完成。
在812.5ns处,递减计数器4的输出值sync_cnt达到0,这引起决策点6的第一输出8的值变为1,表明系统准备接收新的初始化信号,也就是ready(就绪)信号等于1。此时,一旦预定周期结束,存储在触发器20中的数据信号是有效且稳定的值,其此时可以如上所述地在第二时钟ck_fast的上升沿处作为第二时钟ck_fast的同步数据用于系统之中(例如输出到第二总线bus_fast)。当递减计数器4的输出sync_cnt为0时,决策点6的第二和第三输出10,12为0,因此此时没有来自第一总线bus_slow的新的数据信号能够被传输到触发器20。因此,在一个实施例中(并未展示),正转换在预定周期内并未发生,也就是在递减计数器4的输出sync_cnt递减计数期间,但是当在递减计数器4的输出sync_cnt达到0时被检测到,由于第一时钟ck_slow的正转换并不与数据信号的初始传输同时发生且第一总线bus_slow的数据值仅仅在第一时ck_slow钟转换处才改变,因此在数据信号在预定同步周期的起始处被初始传输之后还有足够的时间运行,这种情况下没有数据讹误或亚稳态的风险。
本领域技术人员可能在本发明此中所列出的各个方面的范围内实施如上所述实施例的许多变化和修改。例如,无需提供最终触发器用于输出传输数据信号到第二总线,这可以通过任何其他数据存储部件实施,或者甚至仅仅通过放开电路使得输入信号能够由第一总线直接传输。预定周期的长度可以为不同的值,特别是如果其依赖于用于检测第一时钟转换的部件类型,也就是此部件用于做出决定输出的时间,或者如果一个或多个部件由第二时钟的转换来计时。

Claims (38)

1.一种用于数字系统中由第一时钟域到第二时钟域传输数据信号的设备,其中第一时钟域包括第一时钟,第一时钟的频率小于第二时钟域内第二时钟的频率,该设备被配置为:
由第一时钟域向第二时钟域传输数据信号;
利用以第二时钟计时的一检测部在预定时间周期内检测第一时钟是否有预定转换发生;以及
如果该检测部在预定时间周期内检测到第一时钟的所述预定转换,则再次由第一时钟域向第二时钟域传输数据信号。
2.如权利要求1所述的设备,其中所检测的预定转换为正转换。
3.如权利要求1或2所述的设备,其中数据信号并不通过检测部由第一时钟域向第二时钟域传输。
4.如权利要求1或2所述的设备,其中第一时钟域包括第一总线,第二时钟域包括第二总线,数据由第一总线向第二总线传输,初始和可能的后续传输均被认为是必要的。
5.如权利要求4所述的设备,其中第一总线和第二总线至少包括8位。
6.如权利要求1或2所述的设备,其中检测部包括边缘检测器。
7.如权利要求1所述的设备,其中检测器包括基于第二时钟的对第一时钟的离散抽样。
8.如权利要求7所述的设备,其中检测部包括对离散抽样的多个步骤进行计数的计数部。
9.如权利要求7所述的设备,其中离散抽样的频率等于第二时钟的频率。
10.如权利要求1所述的设备,其中预定时间周期在第二时钟的1至16个周期之间。
11.如权利要求10所述的设备,其中检测部包括对预定时间周期内的周期数目进行计数的计数部。
12.如权利要求8或11所述的设备,其中计数部是通过第二时钟来计时。
13.如权利要求1或2所述的设备,其中检测在第二时钟的上升沿处执行。
14.如权利要求1或2所述的设备,其中第二时钟的频率至少4倍于第一时钟的频率。
15.如权利要求1或2所述的设备,其中检测部以第一时钟作为输入。
16.如权利要求1或2所述的设备,其中检测部包括触发器。
17.如权利要求1或2所述的设备,包括用于预定时间周期初始化的初始部。
18.如权利要求1或2所述的设备,包括用于存储数据信号的存储部。
19.如权利要求1或2所述的设备,包括用于防止初始传输数据信号被第二时钟域读取的防止部。
20.一种在数字系统中由第一时钟域向第二时钟域传输数据信号的方法,其中第一时钟域包括第一时钟,第一时钟的频率小于第二时钟域内第二时钟的频率,该方法包括:
由第一时钟域向第二时钟域传输数据信号;
利用以第二时钟计时的检测部在预定时间周期内检测第一时钟是否有预定转换发生;以及
如果该检测部在预定时间周期内检测到第一时钟的所述预定转换,再次由第一时钟域向第二时钟域传输数据信号。
21.如权利要求20所述的方法,其中所检测的预定转换为正转换。
22.如权利要求20或21所述的方法,包括数据信号并不通过检测部由第一时钟域向第二时钟域传输。
23.如权利要求20或21所述的方法,其中第一时钟域包括第一总线,第二时钟域包括第二总线,该方法包括数据由第一总线向第二总线传输,初始和可能的后续传输均被认为是必要的。
24.如权利要求23所述的方法,其中第一总线和第二总线至少包括8位。
25.如权利要求20或21所述的方法,其中检测部包括边缘检测器。
26.如权利要求20所述的方法,其中检测包括基于第二时钟的对第一时钟的离散抽样。
27.如权利要求26所述的方法,其中检测包括对离散抽样的多个步骤进行计数。
28.如权利要求26所述的方法,其中离散抽样的频率等于第二时钟的频率。
29.如权利要求20所述的方法,其中预定时间周期在第二时钟的1至16个周期之间。
30.如权利要求29所述的方法,其中检测包括对预定时间周期内的周期数目进行计数。
31.如权利要求27或30所述的方法,其中计数是通过第二时钟来计时。
32.如权利要求20或21所述的方法,其中检测在第二时钟的上升沿处执行。
33.如权利要求20或21所述的方法,其中第二时钟的频率至少4倍于第一时钟的频率。
34.如权利要求20或21所述的方法,其中检测部以第一时钟作为输入。
35.如权利要求20或21所述的方法,其中检测部包括触发器。
36.如权利要求20或21所述的方法,包括预定时间周期的初始化。
37.如权利要求20或21所述的方法,包括存储数据信号。
38.如权利要求20或21所述的方法,包括防止初始传输数据信号被第二时钟域读取。
CN201380034642.7A 2012-06-27 2013-06-20 用于时钟域之间数据传输的设备 Active CN104412222B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1211425.2A GB2503473A (en) 2012-06-27 2012-06-27 Data transfer from lower frequency clock domain to higher frequency clock domain
GB1211425.2 2012-06-27
PCT/GB2013/051608 WO2014001765A1 (en) 2012-06-27 2013-06-20 Data transfer between clock domains

Publications (2)

Publication Number Publication Date
CN104412222A CN104412222A (zh) 2015-03-11
CN104412222B true CN104412222B (zh) 2018-06-05

Family

ID=46704315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380034642.7A Active CN104412222B (zh) 2012-06-27 2013-06-20 用于时钟域之间数据传输的设备

Country Status (8)

Country Link
US (1) US9515812B2 (zh)
EP (1) EP2847664B1 (zh)
JP (1) JP6192065B2 (zh)
KR (1) KR20150037900A (zh)
CN (1) CN104412222B (zh)
GB (1) GB2503473A (zh)
TW (1) TWI604689B (zh)
WO (1) WO2014001765A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2528481B (en) 2014-07-23 2016-08-17 Ibm Updating of shadow registers in N:1 clock domain
GB201907717D0 (en) * 2019-05-31 2019-07-17 Nordic Semiconductor Asa Apparatus and methods for dc-offset estimation
TWI740564B (zh) * 2020-07-03 2021-09-21 鴻海精密工業股份有限公司 跨時鐘域信號傳輸方法、電路以及電子裝置
CN114461009B (zh) * 2022-01-07 2024-04-26 山东云海国创云计算装备产业创新中心有限公司 一种应用于fpga单比特信号自动识别时钟域转换的方法
JP7429316B1 (ja) 2022-10-28 2024-02-07 太陽化学株式会社 ポリグリセリン脂肪酸エステル

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1532663A (zh) * 2003-03-26 2004-09-29 惠普开发有限公司 用于从第一时钟域向第二时钟域传送数据的系统和方法
CN101199156A (zh) * 2005-06-13 2008-06-11 皇家飞利浦电子股份有限公司 利用时钟域进行数据传输的方法和接收机

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5150313A (en) * 1990-04-12 1992-09-22 Regents Of The University Of California Parallel pulse processing and data acquisition for high speed, low error flow cytometry
US6112307A (en) * 1993-12-30 2000-08-29 Intel Corporation Method and apparatus for translating signals between clock domains of different frequencies
US6260152B1 (en) * 1998-07-30 2001-07-10 Siemens Information And Communication Networks, Inc. Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains
US6359479B1 (en) * 1998-08-04 2002-03-19 Juniper Networks, Inc. Synchronizing data transfers between two distinct clock domains
DE10128396B4 (de) * 2001-06-12 2005-02-24 Infineon Technologies Ag Verfahren und Schaltungsanordnung zum Übertragen von Daten von ein mit einem ersten Takt betriebenes System an ein mit einem zweiten Takt betriebenes System
US6928574B1 (en) * 2001-08-23 2005-08-09 Hewlett-Packard Development Company, L.P. System and method for transferring data from a lower frequency clock domain to a higher frequency clock domain
US7085952B2 (en) * 2001-09-14 2006-08-01 Medtronic, Inc. Method and apparatus for writing data between fast and slow clock domains
JP4122204B2 (ja) * 2002-09-27 2008-07-23 松下電器産業株式会社 同期回路
KR101086426B1 (ko) * 2007-01-23 2011-11-23 삼성전자주식회사 I2c 컨트롤러에서 직렬 데이터 라인의 상태 변화의타이밍 제어 장치 및 그 제어 방법
US7809972B2 (en) * 2007-03-30 2010-10-05 Arm Limited Data processing apparatus and method for translating a signal between a first clock domain and a second clock domain
US8024597B2 (en) * 2008-02-21 2011-09-20 International Business Machines Corporation Signal phase verification for systems incorporating two synchronous clock domains
US7733130B2 (en) * 2008-03-06 2010-06-08 Oracle America, Inc. Skew tolerant communication between ratioed synchronous clocks
US8089378B1 (en) * 2009-02-18 2012-01-03 Marvell Israel (M.I.S.L) Ltd. Synchronous multi-clock protocol converter
JP5483172B2 (ja) * 2009-10-19 2014-05-07 横河電機株式会社 データ転送装置およびデータ転送方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1532663A (zh) * 2003-03-26 2004-09-29 惠普开发有限公司 用于从第一时钟域向第二时钟域传送数据的系统和方法
CN101199156A (zh) * 2005-06-13 2008-06-11 皇家飞利浦电子股份有限公司 利用时钟域进行数据传输的方法和接收机

Also Published As

Publication number Publication date
EP2847664A1 (en) 2015-03-18
JP2015522188A (ja) 2015-08-03
GB201211425D0 (en) 2012-08-08
TW201401763A (zh) 2014-01-01
CN104412222A (zh) 2015-03-11
TWI604689B (zh) 2017-11-01
US9515812B2 (en) 2016-12-06
EP2847664B1 (en) 2018-04-18
GB2503473A (en) 2014-01-01
WO2014001765A1 (en) 2014-01-03
KR20150037900A (ko) 2015-04-08
JP6192065B2 (ja) 2017-09-06
US20150139373A1 (en) 2015-05-21

Similar Documents

Publication Publication Date Title
CN104412222B (zh) 用于时钟域之间数据传输的设备
CN103003807A (zh) 第一时钟域和第二时钟域之间的同步数据传输
KR101499332B1 (ko) Spi 인터페이스 및 spi 인터페이스를 통한 직렬 통신 방법
CN104597790B (zh) 一种串口控制器及基于其的微控制器系统的唤醒方法
CN113009961B (zh) 一种跨时钟同步电路及SoC系统
CN109543811B (zh) 一种计数电路、计数方法及芯片
US20210333852A1 (en) Circuitry for transferring data across reset domains
CN104412220B (zh) 时钟域之间传输数据信号的系统和方法
CN101719858A (zh) Can控制器的位时序的同步处理方法
CN104412221B (zh) 时钟域之间的数据传输
CN109039308A (zh) 单一时钟数据同步电路在数据传输中的应用
CN111124363A (zh) 一种真随机数生成方法及真随机数发生器
JP2002269036A (ja) 非同期転送装置および非同期転送方法
JPH10303874A (ja) 異クロック間同期エッジ検出方式
KR20160100363A (ko) 오직 수신기 클록에 의한 CCIe 수신기 로직 레지스터 기입
KR960012470B1 (ko) 프로그램 가능한 타임아웃 타이머
JP2003016026A (ja) シリアル通信回路
JPH11355379A (ja) レジスタデータ転送システム及びレジスタデータ転送方法
WO2012049355A1 (en) Apparatus for synchronizing and providing a glitch-free clock
JP2000347950A (ja) シリアルインターフェイス

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant