CN104412220A - 时钟域之间的数据传输 - Google Patents
时钟域之间的数据传输 Download PDFInfo
- Publication number
- CN104412220A CN104412220A CN201380034624.9A CN201380034624A CN104412220A CN 104412220 A CN104412220 A CN 104412220A CN 201380034624 A CN201380034624 A CN 201380034624A CN 104412220 A CN104412220 A CN 104412220A
- Authority
- CN
- China
- Prior art keywords
- clock
- territory
- input signal
- zone
- signal
- 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.)
- Granted
Links
Classifications
-
- 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/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods 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
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
- G06F13/405—Coupling between buses using bus bridges where the bridge performs a synchronising function
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Systems (AREA)
- Manipulation Of Pulses (AREA)
Abstract
本发明公开了一种用于从第一时钟域(4)向第二时钟域(8)传输数据信号(sig_fast)的系统(1)。第一时钟域(4)的第一时钟(ck_fast)的频率高于第二时钟域(8)的第二时钟(ck_slow)的频率。系统(1)还包括信号输入端(10),所述输入端(10)用于接收第一时钟域(4)的输入信号(sig_fast);检测元件(16,18),用于检测第二时钟是否处于其周期内远离即将来临转换的部分;以及传输元件(22),如果检测元件(16,18)确定第二时钟(ck_slow)处于其周期内远离即将来临转换的部分,所述传输元件(22)向第二时钟域传输输入信号(sig_fast)。检测元件(16,18)由第一时钟(ck_fast)计时。
Description
技术领域
本发明涉及数字系统中时钟域之间传输数据信号的系统和方法,尤其是非同步时钟域。
背景技术
在不同的电子系统中,例如无线(例如蓝牙)系统,其中存在两个或多个以不同频率运行的时钟域,其需要至少偶发地彼此通信。例如,中央处理器可以以高频率运行,而一个或多个外围设备以低频率运行。此外,当其未被使用以节约电能时,其中一个时钟域可以进入无效周期,例如休眠或者待机模式。在此周期内,两个时钟域之间无通信,然而,当一个时钟域退出休眠或待机模式时,其通常需要与其他时钟域通信。此外,快速和慢速时钟域彼此之间一般不同步。
已知系统包括多个彼此不同步的时钟域(也可以是不同频率)来应用“握手”过程,其中时钟域协商参数,例如通过忙碌标志,来建立较慢时钟域准备从较快时钟域接收信号。其对于在较慢时钟域的安全周期内信号能够由较快时钟域传输是必需的,即远离较慢时钟域的正转换(其中时序由0变为1),从而避免信号的讹误或系统的亚稳态。然而,已知的握手过程相对较慢,这是由于其由较慢时钟域进行计时且需要花费多个周期,以便获取时钟域间的同步。除了慢以外,由于过程中需要较快时钟域必须保持运行,从而需要消耗大量电能。
此外,尤其当应用传统握手过程由较快时钟域向较慢时钟域传输数据时,必须保证较快时钟域的源数据在握手过程中不被改变,直到数据传输完成,否则将存在一些比特位传输呈现为新数据,而一些比特位未传输呈现为老数据的风险,其增加了数据讹误的风险。由于需要多个同步信号在两个时钟域之间来回传输,来检测传输数据是否安全,所以传统的将“冻结(freeze)”加入源数据是不便的,尤其考虑到上述传输延时。
发明内容
本发明的目的在于提供改善不同频率的两个时钟域之间通信的系统和方法。
由本发明第一方面来看,其提供一种用于从第一时钟域向第二时钟域传输数据信号的系统,其中,第一时钟域包括第一时钟,第二时钟域包括第二时钟,所述系统包括:
信号输入端,用于从第一时钟域接收输入信号;
检测元件,用于检测第一或第二时钟中较慢时钟是否处于其周期内远离即将来临转换的部分,所述检测元件由第一或第二时钟中的较快时钟计时;以及
传输元件,如果检测元件确定较慢时钟处于其周期内远离即将来临转换的部分,所述传输元件传输输入信号至第二时钟域。
本发明还提供一种用于从第一时钟域向第二时钟域传输数据信号的方法,其中,第一时钟域包括第一时钟,第二时钟域包括第二时钟,所述方法包括:
从第一时钟域接收输入信号;
利用由第一或第二时钟中的较快时钟计时的检测元件来检测第一或第二时钟中的较慢时钟是否处于其周期内远离即将来临转换的部分;以及
如果检测确定较慢时钟处于其周期内远离即将来临转换的部分,传输输入信号至第二时钟域。
尽管本发明可以用于从第一较慢时钟域向第二较快时钟域传输信号,但本发明尤其利于从第一较快时钟域向第二较慢时钟域传输数据信号。
因此,由本发明另一方面来看,其提供一种用于从第一时钟域向第二时钟域传输数据信号的系统,其中,第一时钟域包括第一时钟,所述第一时钟的频率大于第二时钟域的第二时钟的频率,所述系统包括:
信号输入端,用于从第一时钟域接收输入信号;
检测元件,用于检测第二时钟是否处于其周期内远离即将来临转换的部分,所述检测元件由第一时钟计时;以及
传输元件,如果检测元件确定第二时钟处于其周期内远离即将来临转换的部分,所述传输元件传输输入信号至第二时钟域。
本发明还提供一种从第一时钟域向第二时钟域传输数据信号的方法,其中,第一时钟域包括第一时钟,所述第一时钟的频率大于第二时钟域的第二时钟的频率,所述方法包括:
从第一时钟域接收输入信号;
利用由第一时钟计时的检测元件来检测第二时钟域是否处于其周期内远离即将来临转换的部分;以及
如果检测确定第二时钟处于其周期内远离即将来临转换的部分,传输输入信号至第二时钟域。
检测装置可以配置为探测正和/或负转换,即第二时钟域中的数据值可以变为1或者第二时钟的全部正和负转换。然而,在一组实施例中,被探测到的转换为正转换。
因此,可不使用握手和/或忙碌标志,根据本发明实施检测,该检测是关于慢速时钟域位于其周期内的哪个部分,并且只要其处于周期内的“安全”部分(即并无转换即将来临之处),快速时钟域的信号就可以简单地传输至慢速时钟域,或者慢速时钟域的信号就可以简单地被快速时钟域读取。申请人已经认识到,由于慢速时钟的检测由快速时钟计时,其导致信号由第一时钟域向第二时钟域更为快速地传输。例如,已知采用握手的装置中,同步和传输时间通常需要至少两个较慢时钟周期,对比于本发明实施例的同步和传输时间,其仅需要两个较快时钟周期。虽然,本发明具有从第一较慢时钟域向第二较快时钟域传输数据信号的优点,然而在随后一系列的实施例中主要表现为第一时钟的频率远大于第二时钟。第二时钟的检测保证其周期远离由0变为1的即将来临正转换,使得从第一时钟域向第二时钟传输输入信号不与第二时钟周期的转换重叠。因为第二时钟域的数据值在正边沿时进行读取,所以在此时向第二时钟域传输数据值可能导致数据讹误或亚稳态。
申请人已经认识到,由于传输发生在第二慢速时钟周期的安全部分内,所以不需要同步所传输的数据信号。因此,在一组优选实施例中,输入信号并未经过检测元件从第一时钟域传输至第二时钟域。在一组优选实施例中,在第一时钟域的输入端和第二时钟域的输出端没有引入时钟周期延时的部件。
虽然其利于单比特(single bit)信号的应用,尤其当第一和第二时钟域之间频率相差较大时,其尤其利于多比特(multi-bit)总线,这是由于全部信号可以在对第二时钟进行检测的基础上传输,而无需对每一位进行检测,由此无需大量数量的门电路以及因此带来的集成电路面积的显著增加和大量的电力消耗。这也意味着本发明的实施例并不需要引入与串联触发器或者现有技术中其他用于匹配时钟域的装置相关联的延时。
在本发明的一些实施例中,输入信号包括至少8,16或32比特,例如从总线,虽然总线包括多比特位中的任意数量。当此处传输数据的参照被确立,其包含全部单位信号和多位总线。
快速传输使得一个或全部时钟快速进入或者恢复到休眠状态,因此其可以实现减少电力消耗的好处。这典型地将变为更快和更多电力损耗第一时钟域,例如周期性地从充当低功率计时器的第二时钟域读取数据。
第二时钟的检测可以包括,在从第一时钟域向第二时钟域传输输入信号之前,确定其时钟周期内不会发生转换(从0至1或者1至0)的任何适当方法。在一组实施例中,第二时钟的检测包括确定第二时钟是否处于其周期的正部分。如果以此情况,至少半个慢速时钟周期用于执行检测和传输输入信号。在这组实施例中,所述第一时钟所需要具有的频率(检测元件由其计时)大于第二时钟的频率,大了至少两倍于检测步骤的数目的倍数,从而获得充足的时间来执行全部检测步骤,并在第二时钟域的安全部分内从第一时钟域向第二时钟域传输输入信号。
虽然,第一时钟的频率可以是第二时钟频率的整数倍,和/或具有固定相位,但是在本发明中一般无需同步或特定关系。此外,本发明的实施例容忍第二时钟域进入休眠或者待机模式,以及异步重启。
在一组实施例中,第一时钟的频率至少是第二时钟频率的4倍,例如至少10倍,例如至少100倍,例如至少1000倍。从而保证拥有充足的时间来执行对第二时钟的检测以及信号从第一时钟域向第二时钟域的传输,避免传输期间第二时钟发生转换的风险以及相关的数据讹误和亚稳态风险。同时还反映了商业产品中存在的不同时钟域。在一组典型实施例中,第一时钟频率为16MHz,第二时钟频率为32kHz。
对第二时钟的检测可以在第一时钟周期内的任意点上执行,其无需固定。在一组实施例中,所述检测在第一时钟的上升沿处执行。所述检测包括多个步骤,随后步骤随后完成,例如在下一个第一时钟的上升沿处。如前所述,可以看到所述第一时钟所需具有的频率大于第二时钟的频率,大了至少两倍于检测步骤的数目的倍数,从而获得充足的时间来执行全部检测步骤,并在第二时钟域的安全部分内从第一时钟域向第二时钟域传输输入信号。
在一组实施例中,第二时钟域可以进入无效周期,例如休眠或者待机模式。然而,即便第二时钟无效,即其时钟周期未运行,其可能同样需要从第一时钟域向第二时钟域传输信号。在此情况下,检测第二时钟处于其周期内的哪个部分是不可能实现的,因此所述系统可以包括确定第二时钟是否有效的元件。如果该检测是令人满意的(即第二时钟被发现是无效的),随后输入信号可从第一时钟域传输至第二时钟域。在此情况下,由于第二时钟域的无效保证了在传输期间第二时钟不会发生转换,所以输入信号可安全传输。
检测元件可以包括依靠检测性质的任意适用装置。在一组实施例中,用于执行检测的元件包括触发器,例如D触发器,也可以应用任意类型的定时触发器。例如,这适于当检测包括确定第二时钟是否为高电平。优选地,用于执行检测的元件包括两个串联的触发器。提供多于一个的触发器用于增加触发器执行检测的确定性。触发器的输出会出现处于不稳定状态的小概率事件,从而需要时间自我解决,例如如果在第二时钟正在经由转换时恰好执行检测。然而,如果输出随后被传输至另一触发器的输出端,不稳定状态传输给全部触发器的概率将非常小,即因为概率是相乘的。
通过第一时钟对每个触发器进行计时。因此,在一组优选实施例中,每个触发器通过第一时钟的上升沿触发,触发器通过跟随触发所述触发器执行第一检测的上升沿的随后上升沿触发来执行第二检测。可以使用超过两个的串联触发器。增加额外的触发器能进一步增加第二时钟检测的准确性,并且处于非常高的频率的情况下,当亚稳态的风险增加时,可能需要多于两个的触发器。
在一组实施例中,所述系统包括用于探测是否有来自第一时钟域的新输入信号,例如,其是否改变自先前的传输值。这使得系统获知何时其需要在第一和第二时钟域之间执行同步,也使得第二时钟在信号被传输之后和新信号被检测之前的期间内进入休眠模式,从而节省电力消耗。优选地,探测元件包括比较器,例如异或(XOR)门电路,该比较器设置于第一时钟域的输入信号和第二时钟域的输出信号之间。当两个信号不相等时,由于输入信号已经改变,并且未被传输至输出信号端时,比较器向系统发出输入信号已经改变的信号。
在一组实施例中,第二时钟的检测可以连续执行,例如在第一时钟的每个周期。然而,在另一组实施例中,所述系统包括用于对第二时钟检测进行初始化的元件。为了实现检测可以发送特定信号,或者与系统中的其他信号或者周期相关。例如,检测可以由如前所述的输入信号的改变而发起,或者通过系统进入或退出待机或休眠模式发起。实施例中的检测的发起并不是连续执行的,其优点在于由于只在必要时执行检测,从而帮助系统减少电力消耗。
在一组实施例中系统如此配置,输入信号可以在同步期间的任意时间被改变,而不影响同步过程或输入信号从第一时钟域向第二时钟域的所得到的传输,例如通过引起输出信号的亚稳态。第二时钟检测的执行独立于输入信号的状态,例如,如先前实施例所述,其中检测可以作为在第二时钟的输入,也是由于输入信号绕开执行检测元件的事实。在一组实施例中,检测元件由第一时钟计时,并且其输入为第二时钟域,因此其简单地产生“安全”同步信号,使得系统获知其可安全传输输入信号。因此输入信号的状态无所谓,其可以在此同步周期内进行改变。相反的,传统的握手过程为了在第一和第二时钟域之间实现同步,将“冻结”加入由第一时钟域传输的数据信号中,例如通过忙碌标志的应用。这会明显增加时间并导致系统电力消耗的增加。本发明的实施例克服了上述限制,从而实现快速传输数据信号,其消耗较少电力。
在一组实施例中,系统包括用于存储输入信号的元件,例如存储设备或部件,方法包括存储输入信号的步骤。这使得当第二时钟的检测被执行时,将输入信号存储在系统内,以及信号可由此输出。然而,在前述特征中第二时钟检测的执行独立于输入信号,这意昧着可以不需要存储元件。在一组实施例中,可以在第一时钟域的信号输入和第二时钟域的输出之间提供直接连接。因此,一旦第二时钟的检测完成,可以“打开”系统简便地从第一时钟域传输输入信号至第二时钟域。
用于存储来自第一时钟域的输入信号的元件可以包括任意适当的数据存储部件,装置或者设备,其能够在第二时钟周期的非安全部分和/或同步过程中存储信号,使得当第二时钟域进入其安全部分时,准备输出信号至第二时钟域。其可以包括寄存器/触发器。所述部件可以存储输入信号,直到其接收到(例如来自同步过程)表示向第二时钟域传输信号是安全的信号。存储元件可以从信号输入端接收输入信号,即存储元件和信号输入端可以包括单独部件:一个用于接收输入信号,一个用于存储输入信号。然而,该功能也可以通过接收和存储来自第一时钟域的信号输入的单一部件来执行。
向第二时钟域的输出可以简单包括输出线或导线。可替代的或此外,输出可以包括部件,该部件从用于实施检测第二时钟是否处于其周期内远离即将来临转换的部分的元件处接收信号,并且随后向第二时钟域输出信号。其可以是单独部件或者与系统中一些其他元件相同的部件,例如一旦其接收到向第二时钟域传输信号是安全的信号就输出信号的接收和/或存储输入信号的元件。优选地,输出由第一时钟计时。从而使得,一旦完成了对第二时钟令人满意的检测,则来自第一时钟域的输入信号快速传输至第二时钟域。
系统中的每个部件,例如接收元件,所述元件用于执行第二时钟域的检测,输出元件可以包括逻辑元件,如前所述。在一组实施例中,上述部件间的逻辑关系由设计编译器进行接合。优选地,所述系统设置为硅芯片或等效电路上集成电路的一部分。
附图说明
本发明的确定实施例将通过实例并参考附图进行描述,其中:
图1所示为根据本发明的逻辑电路的实施例;
图2所示为与图1中电路图相关联的时序图;
图3所示为根据本发明的不同逻辑电路的实施例;
图4所示为类似于图3的实施例,但其用于总线。
具体实施方式
图1所示为根据本发明实施例相应的逻辑电路框图。电路1配置为从第一时钟域4传输输入信号sig_fast并作为第二时钟域8的输出信号sig_slow。第一时钟的频率大于第二时钟的频率,第一时钟的典型频率为50MHz,第二时钟域的典型频率为32kHz。
电路1包括异或门电路10,所述异或门电路10用作比较器且以输入信号sig_fast和输出信号sig_slow作为输入。异或门电路10的输出传输至两个与门电路12,14。所述第一与门电路12以低频率的第二时钟域8的时钟ck_slow作为输入。第二与门电路14以异或门电路10的输出sig_diff和配置为串联的D触发器16,18的输出sync_safe作为输入。
第一触发器16以第一与门电路12的输出作为D输入端,且由高频率的第一时钟域4的时钟ck_fast进行计时。第一触发器16的Q输出safe_ax被传输至第二触发器18的D输入,其再次由快速时钟ck_fast计时。如上所述,第二触发器的Q输出sync_safe被传输至第二与门电路14的输入端。
第二与门电路14的输出被传输至复用器20的选择器输入端。复用器20的输入端为输入信号sig_fast和最终触发器22的输出信号sig_slow。复用器20的输出被传输至另一D触发器22,其再次由快速时钟ck_fast计时。最终触发器22的Q输出为第二时钟域8的输出sig_slow。
现在将参考图1以及图2对系统的运行进行描述,图2展示了1比特(one-bit)逻辑信号经过系统的时序。典型的时标24被细分为50ns。如图2所示且出于显示目的,较高频率的第一时钟域4的时钟频率ck_fast为16MH,较低频率的第二时钟域8的时钟频率ck_slow为1.5MHz。如前所述,实践中可能与此迥然不同,但此处为了便于显示而选择了更具有可比性的数值。
开始时,系统处于第一时钟域4的输入信号sig_fast和第二时钟域8的输出信号sig_slow均为0的状态。这导致异或门电路10的输出sig_diff为0,并且因此第二与门电路14的输出为0,使得复用器20输出0值(即sig_slow)至最终触发器22的输入。因此,第二时钟域8的输出sig_slow保持为0。
在500ns时,输入信号sig_fast由0变为1。从而使得异或门电路10的输出sig_diff同时变为1。在666.67ns时,慢速时钟ck_slow由0变为1。此点之后不久即为其周期内可以安全传输信号的部分,这是因为在不期望的正转换(0到1)发生之前至少有半个慢速时钟周期可用于所述传输。这使得第一与门电路12的输出由0变为1,随后传输至第一触发器16的D输入。在587.5ns时,当快速时钟ck_fast由0变为1时,即ck_fast的第一上升沿跟随ck_slow的上升沿,触发第一触发器16为其D输入至Q输出safe_ax进行计时。信号safe_ax被传输至第二触发器18的D输入,直到快速时钟ck_fast的下一上升沿在750ns时到来,其被传输至Q输出sync_safe。
信号sync_safe和sig_diff此时均为1,第二与门电路14的输出为1,因此复用器20的输出由0输入变为1输入,即复用器20的输出此时为信号sig_fast,即1。其被传输至最终触发器22的D输入,以便在快速时钟ck_fast位于812.5ns的下一上升沿处,所述信号被计时输出至最终触发器22的Q输出,从而sig_slow作为输出传输至第二时钟域8。
一旦第二时钟域8的输出sig_slow变为1,其反馈至异或门电路10,使得其输出sig_diff变为0,以此指示sig_fast的变化已经传输至sig_slow。同时,第一时钟域4的输入信号sig_fast保持为1。这使得第二与门电路14的输出信号0,从而将复用器20的0输入输出至最终触发器22。然而,其仅仅为第二时钟域8的输出sig_slow,因此其输出保持不变,直到探测到输入信号sig_fast的改变,以及同步检测,即第一对触发器16,18确定第二时钟处于其可以传输输入信号的安全周期内。
sig_diff变为0还导致0信号通过第一与门12以及第一和第二触发器16,18,导致输出sync_safe为0信号。这使得第二与门电路14输出为0信号,使得复用器20的0输入继续输出至最终触发器22,即复用器20的输出值不变。来自第一时钟域4的输入信号sig_fast同样保持不变,因此输出至第二时钟域8的sig_slow保持为1。
因此可以看到,从第一时钟域4向第二时钟域8传输新信号所需的时间小于第二时钟域8的半个周期与第一时钟域4的两个周期之和,即如图2所示的时钟域频率的最大传输时间为458.33ns。然而,如图2所示和前述的信号的特定顺序,传输时间实际上要更小,为312.5ns。
在975ns处,来自第一时钟域4的输入sig_fast由1变为0,从而使得异或门电路10的输出sig_diff由0变为1,即因为输入信号sig_fast不同于输出信号sig_slow。由于第二时钟域8仍处于其周期的正部分,即其值为1,经第一对触发器16,18传输另一个1信号,产生为1的sync_safe信号,使得新输入信号sig_fast经最终触发器22传输至第二时钟域8的输出sig_slow。然而可以看到,在输入sig_fast由1变为0之后不久,第二时钟域8由1变为0。然而,由于其发生在第一时钟域4的正边沿,第二时钟域8的采样值为1,且该值经由第一对触发器16,18传输。输入信号sig_fast仍可以安全的从第一时钟域4传输至第二时钟域8,因为其仍存在在不期望的正转换发生之前的第二时钟的半个周期,因此有足够的时间来执行必须的同步检测并传输输入信号sig_fast。例如,数据传输的发生在仅150ns内,并遵循输入信号sig_fast的变化。然而,第二时钟域8的数据信号sig_slow不会被此时钟域用于更新各种其他值,直到第二时钟域8的下一个正转换发生,即1333.33ns处。
图3所示的逻辑电路框图101为根据本发明的第二实施例。如图1中的电路图所示,系统中心位置存在两个配置为串联的触发器116,118,以便第一触发器116的Q输出传输至第二触发器118的D输入。两个触发器116,118用于保证第二时钟域108位于其周期内远离正边沿的部分,从而输入信号sig_fast可以安全的从第一时钟域104传输。如图1和图2所示的系统,第一时钟域时钟信号ck_fast的频率远高于第二时钟域时钟信号ck_slow的频率。
第一对触发器116,118由第一时钟域104的时钟信号ck_fast计时,使得第一和第二时钟域104,108的同步得以快速实现。第一触发器116的输入D为或门电路111的输出,或门电路111以第二时钟域104的时钟ck_slow以及用于指示出第二时钟域104是否有效的标志running_ck_slow作为输入,该标识首先通过非门电路110。快速时钟域104的另一同步重置信号art_fast被传输至触发器116,118的S(设置)输入端来重写由第一时钟域104快速时钟ck_fast所进行的计时,以此将D输入传输至触发器116,118的Q输出。
第二触发器118的Q输出sync_safe被传输至锁存器122的使能输入端,所述锁存器122以第一时钟域104的输入信号sig_fast作为其D输入。锁存器122的Q输出为第二时钟域108的输出sig_slow。一旦被电路101同步,锁存器122用于从第一时钟域104向第二时钟域108正常传输数据信号。另一锁存器123也以第二触发器118的Q输出sync_safe作为其使能输入。锁存器123的D输入接地,且输入reset_fast至锁存器123的S输入。其Q输出rest_slow使得重置信号从第一时钟域104传输至第二时钟域108。如图3所示的装置中,所述锁存器123在高电平下激活,即当reset_fast信号应用到锁存器123的S输入时,信号值1从Q输出输出至reset_slow。可选地,锁存器123可以通过rest_fast输入连接至锁存器123的R(Reset)输入而以低模式运行。
图3所示的电路运行图如下所述。如果第二时钟域108无效,信号running_ck_slow将为0。由于第二时钟ck_slow不运行,则其信号不可能发生导致亚稳态的正转换,因此只要第二时钟ck_slow不运行,向第二时钟域108传输数据就一直是安全的。running_ck_slow的0值通过非门电路110转变为信号1,从而导致信号1从或门电路111输出。因此根据第一时钟域104时钟周期信号ck_fast的随后的上升沿,信号1被传输至第一触发器116的D输入,并传输至第二触发器118的Q输出。
如果第一时钟域104处于重置阶段,信号arst_fast可以用于重写触发器116,118的D输入。在重置期间,其使得已知输出被传输至锁存器122,123,从而给出可以作为第二时钟域108输出sig_slow的已知值。这不影响第二时钟域108输出信号sig_slow的同步,第二时钟ck_slow不允许被启动,直到第一时钟域104的重置周期和两个触发器116,118的输出重置回0之后,随后电路101正常运行。
如果第二时钟域108有效,信号running_ck_slow将置为1,用于指示第二时钟ck_slow正在运行,且因此需要监控正转换以便确定何时从第一时钟域104传输数据信号至第二时钟域108是安全的。running_ck_slow的数值1通过非门电路111变为0,并且因此慢速时钟ck_slow需要为了或门电路110变为1以提供输出数值1,即第二时钟ck_slow要在其信号的正部分从而保证其充分远离即将来临的正转换,以便使得第一和第二时钟域104,108之间产生同步,以此安全传输来自第一时钟域104的输入信号sig_fast。因此,一旦慢速时钟ck_slow变为1,其可以通过触发器116,118。
无论第二时钟域有效或无效,其结果均为安全信号1被传输至锁存器122的使能输入端,使得输入信号sig_fast从第一时钟域104直接传输以作为第二时钟域108的输出sig_slow。当第二时钟域108处于其时钟周期的安全周期内时,同步过程的安全信号1还会使得低电平信号0传输通过另一锁存触发器123,来取消重置信号reset_slow。这将一直保持,除非从第一时钟域104接收的重置信号reset_fast传输至触发器123的S输入。
图4所示为与图3基本相同的电路201,其运行方式也非常相似。不同仅在于图3中的输出锁存器122,123由并联的多路输出锁存器222,223所代替。因此电路201可以很容易的适用于所应用的总线。其运行过程与图3相同,除了数据信号sig_fast或重置信号rest_fast从第一时钟域的总线向第二时钟域的总线传输时,其利用各个输出锁存器222,223并联完成,且均由同一信号sync_safe控制。
本领域技术人员根据上述实施例的多种变化和修改均在本发明的不同方面的保护范围内。例如不必提供最终触发器向第二时钟域输出传输信号,其可以由任意其他数据存储部件实现,或者仅通过电路的开启使得输入信号从第一时钟域的输入直接传输至第二时钟域的输出。
Claims (30)
1.一种用于从第一时钟域向第二时钟域传输数据信号的系统,其中,第一时钟域包括第一时钟,所述第一时钟的频率大于第二时钟域第二时钟的频率,所述系统包括:
信号输入端,用于从第一时钟域接收输入信号;
检测元件,用于检测第二时钟是否处于其周期内远离即将来临转换的部分,所述检测元件由第一时钟计时;以及
传输元件,如果检测元件确定第二时钟处于其周期内远离即将来临转换的部分,所述传输元件传输输入信号至第二时钟域。
2.根据权利要求1所述的系统,其中,即将来临转换为即将来临正转换。
3.根据权利要求1或2所述的系统,其中,输入信号并不经由检测元件从第一时钟域传输至第二时钟域。
4.根据权利要求1,2或3所述的系统,其中,输入信号包括至少8,16或32比特。
5.根据前述任一项权利要求所述的系统,其中,第二时钟的检测包括确定第二时钟是否处于其周期的正部分。
6.根据前述任一项权利要求所述的系统,其中,所述第一时钟的频率至少是第二时钟频率的4倍,例如至少10倍,例如至少100倍,例如至少1000倍。
7.根据前述任一项权利要求所述的系统,其中,检测在第一时钟的上升沿处执行。
8.根据前述任一项权利要求所述的系统,包括确定第二时钟是否有效的元件。
9.根据前述任一项权利要求所述的系统,其中,执行检测的元件包括触发器。
10.根据前述任一项权利要求所述的系统,其中,执行检测的元件包括两个串联的触发器。
11.根据前述任一项权利要求所述的系统,包括探测元件,用于探测是否有来自第一时钟域的新输入信号。
12.根据权利要求11所述的系统,其中,探测元件包括比较器,所述比较器处于第一时钟域的输入信号和第二时钟域的输出信号之间。
13.根据前述任一项权利要求所述的系统,包括用于对第二时钟的检测进行初始化的元件。
14.根据前述任一项权利要求所述的系统,包括用于存储输入信号的元件。
15.一种用于从第一时钟域向第二时钟域传输数据信号的系统,其中,第一时钟域包括第一时钟,以及第二时钟域包括第二时钟,所述系统包括:
信号输入端,用于从第一时钟域接收输入信号;
检测元件,用于检测第一或第二时钟中的较慢时钟是否处于其周期内远离即将来临转换的部分,所述检测元件由第一或第二时钟中的较快时钟进行计时;以及
传输元件,如果检测元件确定较慢时钟处于其周期内远离即将来临转换的部分,所述传输元件传输输入信号至第二时钟域。
16.一种从第一时钟域向第二时钟域传输数据信号的方法,其中,第一时钟域包括第一时钟,所述第一时钟的频率大于第二时钟域的第二时钟的频率,所述方法包括:
从第一时钟域接收输入信号;
利用由第一时钟计时的检测元件来检测第二时钟域是否处于其周期内远离即将来临转换的部分;以及
如果检测确定第二时钟处于其周期内远离即将来临转换的部分,传输输入信号至第二时钟域。
17.根据权利要求16所述的方法,其中,即将来临转换为即将来临正转换。
18.根据权利要求16或17所述的方法,其中,输入信号并不经由检测元件从第一时钟域传输至第二时钟域。
19.根据权利要求16,17或18所述的方法,其中,输入信号包括至少8,16或32比特。
20.根据权利要求16-19中任一项所述的方法,其中,第二时钟的检测包括确定第二时钟是否处于其周期的正部分。
21.根据权利要求16-20中任一项所述的方法,其中,所述第一时钟的频率至少是第二时钟频率的4倍,例如至少10倍,例如至少100倍,例如至少1000倍。
22.根据权利要求16-21中任一项所述的方法,其中,检测在第一时钟的上升沿处执行。
23.根据权利要求16-22中任一项所述的方法,包括确定第二时钟是否有效。
24.根据权利要求16-23中任一项所述的方法,其中,检测元件包括触发器。
25.根据权利要求16-24中任一项所述的方法,其中,检测元件包括两个串联的触发器。
26.根据权利要求16-25中任一项所述的方法,包括探测是否有来自第一时钟域的新输入信号。
27.根据权利要求26所述的方法,其中,探测步骤包括利用处于第一时钟域的输入信号和第二时钟域的输出信号之间的比较器。
28.根据权利要求16-27中任一项所述的方法,包括对第二时钟的的检测进行初始化。
29.根据权利要求16-28中任一项所述的方法,包括存储输入信号。
30.一种从第一时钟域向第二时钟域传输数据信号的方法,其中,第一时钟域包括第一时钟,以及第二时钟域包括第二时钟,所述方法包括:
从第一时钟域接收输入信号;
利用由第一或第二时钟中的较快时钟计时的检测元件来检测第一或第二时钟中的较慢时钟是否处于其周期内远离即将来临转换的部分;以及
如果检测确定较慢时钟处于其周期内远离即将来临转换的部分,传输输入信号至第二时钟域。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1211426.0A GB2503474B (en) | 2012-06-27 | 2012-06-27 | Data transfer between clock domains |
GB1211426.0 | 2012-06-27 | ||
PCT/GB2013/051607 WO2014001764A1 (en) | 2012-06-27 | 2013-06-20 | Data transfer between clock domains |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104412220A true CN104412220A (zh) | 2015-03-11 |
CN104412220B CN104412220B (zh) | 2018-08-28 |
Family
ID=46704316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380034624.9A Active CN104412220B (zh) | 2012-06-27 | 2013-06-20 | 时钟域之间传输数据信号的系统和方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10114407B2 (zh) |
EP (1) | EP2847666B1 (zh) |
JP (1) | JP6356669B2 (zh) |
KR (1) | KR20150037898A (zh) |
CN (1) | CN104412220B (zh) |
GB (1) | GB2503474B (zh) |
TW (1) | TWI585570B (zh) |
WO (1) | WO2014001764A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502066A (zh) * | 2019-08-15 | 2019-11-26 | Oppo广东移动通信有限公司 | 时钟切换装置、方法及电子设备 |
CN112036103A (zh) * | 2020-09-01 | 2020-12-04 | 深圳市傲立电子有限公司 | 一种从快时钟域跨慢时钟域处理多比特数据的装置及方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117561489A (zh) * | 2021-06-22 | 2024-02-13 | 谷歌有限责任公司 | 配置和状态寄存器的独立计时 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030123588A1 (en) * | 2002-01-02 | 2003-07-03 | Rupal Parikh | Synchronizing data or signal transfer across clocked logic domains |
CN1717643A (zh) * | 2002-11-28 | 2006-01-04 | 印芬龙科技股份有限公司 | 时钟同步电路 |
EP1433059B1 (en) * | 2001-08-03 | 2007-05-23 | Altera Corporation | Clock loss detection circuit and corresponding method |
CN101063894A (zh) * | 2006-06-13 | 2007-10-31 | 威盛电子股份有限公司 | 动态同步化处理器时钟与总线时钟前缘的方法与系统 |
US20090225915A1 (en) * | 2008-03-06 | 2009-09-10 | Mahmudul Hassan | Skew tolerant communication between ratioed synchronous clocks |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5987081A (en) * | 1997-06-27 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for a testable high frequency synchronizer |
JP3560793B2 (ja) | 1997-11-27 | 2004-09-02 | 株式会社東芝 | データ転送方法 |
US6549593B1 (en) * | 1999-07-19 | 2003-04-15 | Thomson Licensing S.A. | Interface apparatus for interfacing data to a plurality of different clock domains |
US7085952B2 (en) | 2001-09-14 | 2006-08-01 | Medtronic, Inc. | Method and apparatus for writing data between fast and slow clock domains |
EP1625503A1 (en) * | 2003-05-09 | 2006-02-15 | Koninklijke Philips Electronics N.V. | Method for data signal transfer across different clock-domains |
US6949955B2 (en) * | 2003-11-24 | 2005-09-27 | Intel Corporation | Synchronizing signals between clock domains |
JP4983349B2 (ja) | 2007-04-04 | 2012-07-25 | セイコーエプソン株式会社 | クロック監視回路及びルビジウム原子発振器 |
US8867573B2 (en) * | 2007-04-23 | 2014-10-21 | Nokia Corporation | Transferring data between asynchronous clock domains |
TWI443521B (zh) * | 2010-03-26 | 2014-07-01 | Nuvoton Technology Corp | 匯流排介面、時脈控制裝置,以及時脈頻率控制方法 |
TWI417703B (zh) * | 2010-07-22 | 2013-12-01 | Genesys Logic Inc | 相容於通用序列匯流排協定之時脈同步方法 |
-
2012
- 2012-06-27 GB GB1211426.0A patent/GB2503474B/en active Active
-
2013
- 2013-06-18 TW TW102121536A patent/TWI585570B/zh not_active IP Right Cessation
- 2013-06-20 JP JP2015519326A patent/JP6356669B2/ja active Active
- 2013-06-20 WO PCT/GB2013/051607 patent/WO2014001764A1/en active Application Filing
- 2013-06-20 CN CN201380034624.9A patent/CN104412220B/zh active Active
- 2013-06-20 KR KR20157002115A patent/KR20150037898A/ko not_active Application Discontinuation
- 2013-06-20 EP EP13735363.7A patent/EP2847666B1/en active Active
- 2013-06-20 US US14/410,655 patent/US10114407B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1433059B1 (en) * | 2001-08-03 | 2007-05-23 | Altera Corporation | Clock loss detection circuit and corresponding method |
US20030123588A1 (en) * | 2002-01-02 | 2003-07-03 | Rupal Parikh | Synchronizing data or signal transfer across clocked logic domains |
CN1717643A (zh) * | 2002-11-28 | 2006-01-04 | 印芬龙科技股份有限公司 | 时钟同步电路 |
CN101063894A (zh) * | 2006-06-13 | 2007-10-31 | 威盛电子股份有限公司 | 动态同步化处理器时钟与总线时钟前缘的方法与系统 |
US20090225915A1 (en) * | 2008-03-06 | 2009-09-10 | Mahmudul Hassan | Skew tolerant communication between ratioed synchronous clocks |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110502066A (zh) * | 2019-08-15 | 2019-11-26 | Oppo广东移动通信有限公司 | 时钟切换装置、方法及电子设备 |
CN110502066B (zh) * | 2019-08-15 | 2021-03-02 | Oppo广东移动通信有限公司 | 时钟切换装置、方法及电子设备 |
CN112036103A (zh) * | 2020-09-01 | 2020-12-04 | 深圳市傲立电子有限公司 | 一种从快时钟域跨慢时钟域处理多比特数据的装置及方法 |
CN112036103B (zh) * | 2020-09-01 | 2024-03-08 | 深圳市傲立电子有限公司 | 一种从快时钟域跨慢时钟域处理多比特数据的装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
KR20150037898A (ko) | 2015-04-08 |
WO2014001764A1 (en) | 2014-01-03 |
US20150177776A1 (en) | 2015-06-25 |
US10114407B2 (en) | 2018-10-30 |
TWI585570B (zh) | 2017-06-01 |
EP2847666A1 (en) | 2015-03-18 |
EP2847666B1 (en) | 2019-08-21 |
GB2503474A (en) | 2014-01-01 |
CN104412220B (zh) | 2018-08-28 |
GB2503474B (en) | 2016-06-29 |
GB201211426D0 (en) | 2012-08-08 |
JP6356669B2 (ja) | 2018-07-11 |
TW201403289A (zh) | 2014-01-16 |
JP2015527639A (ja) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9753486B2 (en) | Clock gating with an asynchronous wrapper cell | |
CN109643298B (zh) | 用于同步链路的三倍数据率技术 | |
CN102957403B (zh) | 集成电路装置、同步模块、电子装置及相关方法 | |
EP2577477B1 (en) | Integration of processor and input/output hub | |
CN102726032A (zh) | 用于串行及并行通信的混合接口 | |
EP3284229B1 (en) | Clock and data recovery for pulse based multi-wire link | |
CN104597790A (zh) | 一种串口控制器及基于其的微控制器系统的唤醒方法 | |
US8443224B2 (en) | Apparatus and method for decoupling asynchronous clock domains | |
CN104412220A (zh) | 时钟域之间的数据传输 | |
CN104412222B (zh) | 用于时钟域之间数据传输的设备 | |
CN104508748A (zh) | 用于使用延迟锁相回路的记忆体装置的节能设备及方法 | |
WO2010029389A1 (en) | Method and apparatus for gating a clock signal | |
US7424059B2 (en) | Data transfer circuit | |
US20090063736A1 (en) | Low power digital interface | |
EP2847665B1 (en) | Data transfer between clock domains | |
CN114691583B (zh) | 用于将源同步数据路径与未知时钟相位对接的数据桥 | |
WO2023159415A1 (en) | Adaptive low-power signaling to enable link signal error recovery without increased link clock rates | |
US20240241568A1 (en) | Programmable hot plug-in controller for a multidrop differential serial bus | |
KR20160100363A (ko) | 오직 수신기 클록에 의한 CCIe 수신기 로직 레지스터 기입 | |
WO2024112965A1 (en) | Systems and methods for entering and exiting low power mode for aggregator-disaggregator | |
TW202414185A (zh) | 用於外部雙倍資料速率記憶體介面的時鐘限定器增強 | |
US8885734B2 (en) | Clocking signal control | |
JPH05134876A (ja) | ダウンロード方式 | |
Chan | Globally asynchronous locally synchronous designs on FPGA | |
JP2012155670A (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 |