发明内容
在日本已审专利出版物No.6-56997中公开的常规时钟再同步器,通过采用一系列以上述检测读起始标记开始的时钟再同步操作,实现为一个比其他常规电路具有较简单电路配置的时钟再同步器。然而,在该出版物中公开的时钟再同步器中,不能对没有包含起始标记的连续数据执行时钟再同步。在使用保持时间的这样一种时钟再同步技术的情况下,当采用呈现大量抖动的这样一种时钟控制技术,例如后面将要描述的SSC(扩展频谱计时)时,需要极为大量的缓冲器。SSC是一种时钟控制技术,它用作一种对于蜂窝电话或其他设备要求高频信号处理的信号处理的技术,或一种例如由串行ATA指定的高速信号传输的技术。SSC用于减小由高速时钟的频率波动而引起的EMI(电磁干扰)。例如,在串行ATA中,时钟周期关于1.5GHz的信号传输频率在30kHz的周期内变化约5000ppm。具体实现和其他细节例如在美国专利No.5,631,920“SPREAD SPECTRUM CLOCKGENERATOR”中描述。有一种可能性,即由于SSC或其他因素引起抖动量的增加,使保持时间成比例地增加时,时钟再同步器中的数据延迟增加。
因此本发明的目的在于提供一种时钟再同步器和一种方法,用于允许对没有包含标记的输入数据也执行时钟再同步,而不引起与时间填充相应的延迟。
根据本发明的一个方面,一种时钟再同步器包括一个写电路和一个读电路。写电路根据与输入数据有关联的一个第一时钟来存储输入数据。读电路根据一个第二时钟,输出在写电路中存储的数据中待输出的数据和一个信号获取许可信号。信号获取许可信号指示待输出的数据为有效。当不输出待输出的数据时,读电路不输出信号获取许可信号。
在本时钟再同步电路中,根据第一时钟的输入数据存储在写电路中,并且根据第二时钟输出在写电路中存储的数据。如果写电路没有存储待输出的数据,无有效数据输出,因此无信号获取许可信号输出。因此,对输入数据执行时钟再同步,并且在随后级连接的电路或其他类似部分通过监视信号获取许可信号(例如,通过仅当随后电路接收信号获取许可信号时才接收数据),能够接收数据而不重叠或丢失数据。与常规技术比较,无需在一个保持时间内保持数据,并且所使用的缓冲器数大大减少,因此无数据延迟出现。
写电路优选地包括一个第一缓冲器选择电路和一个或多个缓冲器。第一缓冲器选择电路根据第一时钟,选择缓冲器中的至少一个。由第一缓冲器选择电路选择的缓冲器存储输入数据。读电路根据第二时钟,选择缓冲器中的至少一个,并且输出在所选择缓冲器中存储的数据和信号获取许可信号。当所选择缓冲器没有存储待输出的数据时,读电路不输出信号获取许可信号。
在本时钟再同步电路中,根据第一时钟的输入数据存储在写电路中,并且根据第二时钟输出在缓冲器中存储的数据。如果所选择缓冲器没有存储待输出的数据,无有效数据输出,因此无信号获取许可信号输出。因此,对输入数据执行时钟再同步,并且在随后级连接的电路或其他类似部分通过监视信号获取许可信号(例如,通过仅当随后电路接收信号获取许可信号时才接收数据),能够接收数据而不重叠或丢失数据。与常规技术比较,无需在一个保持时间内保持数据,并且所使用的缓冲器数大大减少,因此不出现因保持时间引起的数据延迟。
当输入数据存储在缓冲器中时,第一缓冲器优选地向读电路输出一个写终止信号。当输入写终止信号的时候,读电路优选地选择缓冲器,并且根据第二时钟输出在所选择缓冲器中存储的输入数据和信号获取许可信号。当不输出写终止信号时,读电路优选地不选择缓冲器,并且不输出信号获取许可信号。
在本时钟再同步电路中,当输入写终止信号的时候,输入数据存储在缓冲器中,因此读电路允许缓冲器输出待输出的数据。因为输出了有效数据,所以输出一个信号获取许可信号。另一方面,当没有输入写终止信号的时候,缓冲器没有存储输入数据,因此读电路不允许缓冲器输出待输出的数据。因为无有效数据输出,所以无信号获取许可信号输出。按这样方式,对输入数据执行时钟再同步,并在随后级连接的电路或其他类似部分通过监视信号获取许可信号(例如,通过仅当随后电路接收信号获取许可信号时才接收数据),能够接收数据而不重叠或丢失数据。与常规技术比较,无需在一个保持时间内保持数据,并且缓冲器数大大减少,因此不出现因保持时间引起的数据延迟。
本时钟再同步器优选地还包括一个级数改变电路。级数改变电路改变缓冲器的级数。
在本时钟再同步器中,根据第一时钟与第二时钟之间的差的变化,改变所使用的缓冲器的级数,因而能够有效使用缓冲器。
输入数据优选地包含间隙信息,该间隙信息指示一个其中无有效数据存在的段间隙。本时钟再同步器优选地还包括一个间隙图形检测器,用于检测在输入数据中的间隙信息。
在接收到数据,指示一个如串行ATA所限定的ALIGN那样,其中无有效数据存在的段(间隙图形)的情况下,写电路不存储输入数据,并且因为无数据存储在读电路中,所以读电路输出无效数据。在这种情况下,即使当写电路向读电路输出数据时,也没有信号获取许可信号输出。在本时钟再同步器中,如果当间隙图形检测器检测到一个间隙图形时,写电路停止输入数据的写入,并且读电路无信号获取许可信号输出,则能在间隙图形的检测期间清理写电路。
本时钟再同步器优选地还包括一个溢出错误检测器。溢出错误检测器确定写电路是否能够存储输入数据。
在本时钟再同步器中,溢出错误检测器检测写电路不具有足够容量来存储输入数据的情况。因此,如果溢出错误检测器确定不能存储输入数据,写电路停止存储输入数据,因此有可能在读出当前输入数据之前,防止新输入数据写入写电路。换句话说,防止了溢出。在这样情况下,如果在随后级连接的电路或其他类似部分停止从读电路输出的数据的接收,能防止不完全输出数据的处理。
输入数据优选地包含一个特别图形。该特别图形指示在特别图形之前的数据集之中,在从特别图形开始的一个给定位置的数据集。本时钟再同步器优选地还包括至少一个缓冲器,一个特别图形检测器和一个数据耦合电路。缓冲器存储来自读电路的数据。仅当缓冲器存储有效数据时,缓冲器在接收来自读电路的数据时才输出所存储数据。特别图形检测器检测从读电路输出的数据中的一个特别图形。数据耦合电路使缓冲器存储来自读电路的数据,并且在从特别图形检测器检测到特别图形时,到从缓冲器输出特别图形时之间的时段内,输出所存储数据。
例如,在串行ATA中的数据接收开始或期间,接收侧没有通知到数据传输的长度,而通过检测在接收数据结束时发送的称为EOF(帧结束)的特别图形,来识别数据接收的完成。在这种情况下,如果在随后级连接的电路也接收到无效数据,例如一个间隙,而没有识别一个信号获取许可信号,则电路在接收EOF之后,使用紧接EOF之前的一个数据集作为CRC码,和在该数据集先前的一个数据集作为最后数据,执行处理。因此,需要连续地输出由EOF和两个先前数据集组成的总共三个数据集。在本时钟再同步器中,如果在缓冲器中存储一个间隙,除非对其输入有效数据,否则缓冲器不输出存储数据。按这样方式,即使将要连续输出的数据集因为在数据集中存在无效数据而不连续输出,数据集也能连续地输出。另外,即使将要连续输出的数据集因为紧接数据集之后存在无效数据而不连续地输出,数据耦合电路也允许输出连续数据集。
本时钟再同步器优选地还包括一个信号获取许可信号禁止计数器。信号获取许可信号禁止计数器确定一个在其期间没有信号获取许可信号从读电路输出的时段是否长于一个给定时段,当在期间无信号获取许可信号从所述读电路输出的时段长于给定时段时,输出异常状态检测信号。
难以认为在正常数据通信中在长时间内没有信号获取许可信号输出。如果这样的情况出现,非常有可能在通信中出现错误,以引起输入数据或第一时钟的异常状态。本时钟再同步器通过使用信号获取许可信号计数器,来监视一个在其期间没有信号获取许可信号输出的时段,能够在信号处理的较早阶段检测异常状态。
本时钟再同步器优选地还包括一个时钟差检测器。时钟差检测器将一个在其期间信号获取许可信号的输出状态为恒定的时段与一个给定时段比较。
例如,信号获取许可信号的输出状态与第一时钟和第二时钟之间的差相对应。特别地,在第一和第二时钟之间没有差值,则不存在一个在其期间没有信号获取许可信号输出的时段(无输出时段)。当无输出时段增加时,与第一时钟比较第二时钟的延迟增加。在本时钟再同步器中,一个时钟发生器例如PLL根据由时钟差检测器得到的比较结果而产生一个新的第二时钟,因此第二时钟与第一时钟一致。与一个其中不调节第二时钟的时钟再同步器比较,进一步减小了用于存储输入数据的容量。
本时钟再同步器优选地还包括一个锁相环。该锁相环根据一个时钟产生信号产生第二时钟。时钟差检测器优选地包括一个测量电路和一个频差检测器。测量电路测量一个在其期间信号获取许可信号的输出状态为恒定的时段。频差检测器把测量电路测量的时段与一个给定时段比较,并且根据比较结果,控制由所述锁相环产生的所述第二时钟的调整处理。
在本时钟再同步器中,时钟发生器使用由频差检测器得到的比较结果,产生一个第二时钟。因此,用一个较简单电路配置来实现一个也用作时钟再同步器的相位比较器,而不使用一个具有复杂电路配置的相位比较器。
根据本发明的另一个方面,一种用于时钟再同步的方法包括一个写步骤和一个读步骤。在写步骤中,根据与输入数据有关联的一个第一时钟将输入数据存储在至少一个缓冲器中。在读步骤中,根据一个第二时钟输出在写步骤中存储在缓冲器中的数据中待输出的数据,和一个信号获取许可信号。信号获取许可信号指示待输出的数据有效。在读步骤中,当不输出待输出的数据时,不输出信号获取许可信号。
在本时钟再同步方法中,根据第一时钟的输入数据存储在一个缓冲器中,并且根据一个第二时钟输出在缓冲器中存储的数据。如果缓冲器没有待输出的数据存储,无有效数据输出,因此无信号获取许可信号输出。因此,对输入数据执行时钟再同步,并且在随后级连接的电路或其他类似部分通过监视信号获取许可信号(例如,通过仅当随后电路接收信号获取许可信号时才接收数据),能够接收数据而不重叠或丢失数据。与常规技术比较,无需在一个保持时间期间保持数据,并且所使用的缓冲器数大大减少,因此不出现因保持时间引起的数据延迟。
本时钟再同步方法优选地还包括一个时钟产生步骤,一个测量步骤和一个频差检测步骤。在时钟产生步骤中,根据一个时钟产生信号产生第二时钟。在测量步骤中,测量一个在其期间信号获取许可信号的输出状态为恒定的时段。在频差检测步骤中,把在测量步骤测量的时段与一个给定时段比较,并且根据比较结果,控制在所述时钟产生步骤产生的所述第二时钟的调整处理。
在本时钟再同步方法中,有可能使第一和第二时钟相互一致,并且与一个其中不调节第二时钟的时钟再同步方法比较,进一步减少了缓冲器数。
在本时钟再同步方法的时钟产生步骤中,使用在频差检测步骤中得到的比较结果,产生一个第二时钟。因此,用一个较简单电路配置实现一个也用作时钟再同步器的相位比较器,而不使用一个具有复杂电路配置的相位比较器。
如上所述,即使在包括大量抖动的数据通信或具有较大连续数据长度(例如SSC)的数据通信中,也能够用少数缓冲器进行时钟再同步,并且实现一个具有小数据延迟的电路。如果设置附加电路,得到新功能,例如异常状态检测和频差检测。
具体实施方式
以下,将参考附图具体地描述本发明的实施例。在图中相同标号指示同样或类似部分,并且不作重复描述。
实施例1
(时钟再同步器的整个配置)
图1表示根据本发明的第一实施例的时钟再同步器1的整个配置。本时钟再同步器包括:一个写计数器2;缓冲器31至34;一个读计数器4;和一个输出信号控制部分5。写计数器2与从输入数据Di1得来的写时钟CKw同步地递增,并且选择由递增值Cw指示的缓冲器31至34中的一个。写计数器2将输入数据Di1写入所选择的缓冲器,并且同时,向读计数器4输出写终止信号Sw1至Sw4。由写计数器2从缓冲器31至34之中选择的缓冲器暂时存储输入数据Di1。仅当写计数器2输出写终止信号Sw1至Sw4时,才使读计数器4与一个读时钟CKr同步地递增。读计数器4向写计数器2输出读终止信号Sr1至Sr4,并且同时,输出递增值Cr。根据从读计数器4输出的递增值Cr,输出信号控制部分5将由递增值Cr指示的缓冲器31至34中的一个所存储的数据作为输出数据Do1输出,并且还输出一个信号获取许可信号Sa1。当从读计数器4接收到读终止信号Sr1至Sr4时,写计数器2停止输出写终止信号Sw1至Sw4。当停止来自写计数器2的写终止信号Sw1至Sw4的输入时,读计数器4停止输出读终止信号Sr1至Sr4。
(时钟再同步器的操作)
<时钟再同步>
现在参考图2,将描述图1所示的时钟再同步器1的操作。
首先,使写计数器2与从输入数据Di1(图2-B)得来的一个写时钟CKw(图2-A)同步地递增(图2-C)。这个递增值Cw指示缓冲器31至34之中的一个缓冲器,其中将存储输入数据Di1(图2-B)。例如,如果写计数器2的递增值Cw为“0”,指示缓冲器31。
其次,使缓冲器31至34之中由递增值Cw指示的缓冲器与一个写时钟CKw同步地存储输入数据Di1(图2-E1、E2、E3或E4)。同时,写计数器2开始向读计数器4输出写终止信号Sw1至Sw4中的一个(图2-D1、D2、D3或D4)。按这样方式,根据写计数器2的递增,缓冲器31至34存储输入数据Di1(图2-E1、E2、E3和E4),并且写计数器2输出写终止信号Sw1至Sw4(图2-D1、D2、D3或D4)。例如,当输入数据Di1(#1)存储在缓冲器31(图2-E1)中时,写计数器2输出写终止信号Sw1(图2-D1)。
然后,在其期间输出写终止信号Sw1至Sw4中的至少一个的时段内,使读计数器4与一个读时钟CKr(图2-F)同步地递增(图2-G)。这个递增值Cr指示在缓冲器31至34之中的一个存储待输出的数据(图2-E1、E2、E3或E4)的缓冲器。例如,当读计数器4的递增值Cr为“0”时,指示缓冲器31。
其后,读计数器4向输出信号控制部分5输出递增值Cr。同时,根据递增值Cr,读计数器4输出由递增值Cr指示的读终止信号Sr1至Sr4中的一个(图2-H1、H2、H3或H4)。例如,当读计数器4的递增值Cr为“0”时,输出读终止信号Sr1(图2-H1)。
随后,输出信号控制部分5根据从读计数器4输出的递增值Cr,把由递增值Cr指示的缓冲器31至34中的一个所存储的数据作为输出数据Do1(图2-I)输出。同时,输出信号控制部分5输出一个信号获取许可信号Sa1(图2-J)。接收到了一个读终止信号的写计数器2停止输出一个与接收的读终止信号有关联的写终止信号(图2-D1、D2、D3或D4)。例如,如果输入一个读终止信号Sr1(图2-H1),则停止写终止信号Sw1的输出(图2-D1)。
然后,当来自写计数器2的写终止信号的输出停止时,读计数器4停止输出与这个写终止信号有关联的读终止信号(图2-H1、H2、H3或H4)。例如,如果停止写终止信号Sw1的输出(图2-D1),则停止读终止信号Sr1的输出(图2-H1)。
另一方面,在其期间写终止信号Sw1至Sw4中没有一个输出的时段内,即使当读时钟CKr(图2-F)改变时,也不使读计数器4更新递增值Cr(图2-G)。
其后,读计数器4继续向输出信号控制部分5输出未更新的递增值Cr(图2-G)。
然后,即使在读计数器4中的读时钟CKr改变时,在其期间不更新递增值Cr的时段内,输出信号控制部分5也不输出信号获取许可信号Sa1(图2-J)。
(效果)
如上所述,仅当读计数器4的递增值Cr与读时钟CKr同步地更新时,才使输出信号控制部分5输出信号获取许可信号Sa1。这样允许在随后级连接的电路通过参考信号获取许可信号Sa1的输出,确定输出数据Do1是否可读(即是否有效)。另外,不必在一个保持时间内保持数据,因此与常规技术比较,所使用的缓冲器数大大减少,并且无数据延迟出现。
在本实施例中,设置四个缓冲器。然而,本发明不限于这样。
写终止信号和读终止信号的输出可以或可以不与各自时钟同步。特别地,当输出关联读终止信号时,可以停止写终止信号的输出,并且然后当停止关联写终止信号的输出时,可以停止读终止信号的输出。
实施例2
写时钟CKw与读时钟CKr之间的差在有些情况下变化。为了时钟再同步,需要足够级数的缓冲器。例如,当写时钟CKw与读时钟CKr之间的差大时,需要较大级数的缓冲器,并且因而可能出现缓冲器的缺乏。另一方面,当写时钟CKw与读时钟CKr之间的差小时,少量级数的缓冲器足够,并且因而可能出现缓冲器的过剩。
(时钟再同步器的整个配置)
图3表示根据本发明的第二实施例的时钟再同步器的整个配置。除第一实施例的时钟再同步器的配置(图1所示)外,本时钟再同步器还包括一个级数改变信号发生器6。级数改变信号发生器6输出一个操作许可信号,以改变用于上述时钟再同步中的缓冲器的级数。
(操作)
在图3所示的时钟再同步器的操作中,对第一实施例所述的过程增加一个改变缓冲器级数的缓冲器级数改变过程。
<缓冲器级数改变过程>
以下,将描述缓冲器级数改变过程。
首先,级数改变信号发生器6从外部接收时钟再同步所必需的缓冲器级数。
其次,级数改变信号发生器6根据输入的缓冲器级数,向缓冲器31至34输出操作许可信号。例如,如果从外部输入的缓冲器级数为“2”,级数改变信号发生器6向缓冲器31至34中的两个输出操作许可信号。
然后,在缓冲器31至34之中,使从级数改变信号发生器6对其输入了操作许可信号的缓冲器操作,以进行时钟再同步。其他缓冲器不操作进行时钟再同步。
其后,如第一实施例那样,使用操作缓冲器执行时钟再同步。
(效果)
按这样方式,根据写时钟CKw与读时钟CKr之间差的变化,改变所使用的缓冲器级数,因而能够有效使用缓冲器。例如,没有用于时钟再同步的缓冲器能用于其他过程。
实施例3
如果在从缓冲器读出数据之前过早地在缓冲器中写入输入数据Di1,或如果缓冲器级数不足够,可能会在读出当前输入数据Di1之前写入新输入数据Di1。如果接收到包括一个其中无有效数据存在的段(间隙),例如由串行ATA限定的ALIGN的数据(间隙图形),不必将这样的间隙存储在一个缓冲器中并且然后作为输出数据Do1读出。
(时钟再同步器的整个配置)
图4表示根据本发明的第三实施例的时钟再同步器的整个配置。除第一实施例的时钟再同步器的配置(图1所示)外,本时钟再同步器还包括:一个溢出错误检测器7;和一个间隙图形检测器8。当在所有缓冲器31至34中写入数据时,溢出错误检测器7输出一个溢出错误检测信号Sov。当接收一个间隙图形时,间隙图形检测器8使写计数器2暂停在缓冲器31至34中写入输入数据Di1。间隙图形是指示一个无有效数据存在的段(间隙)的数据。
(时钟再同步器的操作)
除第一实施例所述的过程外,图3所示的时钟再同步器的操作还包括:在向读计数器4输入所有写终止信号Sw1至Sw4之后,所执行的溢出错误检测过程;和检测间隙图形的间隙检测过程。
<溢出错误检测>
参考图5,将描述溢出检测过程。
首先,如第一实施例那样,使写计数器2与写时钟CKw(图5-A)同步地递增,并且输出由递增值Cr指示的写终止信号Sw1至Sw4中的一个(图5-D1、D2、D3或D4)。写计数器2还把这个写终止信号输出给溢出错误检测器7。
其次,写计数器2进入输出所有写终止信号Sw1至Sw4的状态。在读时钟CKr之前改变写时钟CKw的情况下出现这个状态,并且因而可以在读出缓冲器31至34中存储的数据之前,在缓冲器31至34中存储新数据。
然后,在从写计数器2接收到所有写终止信号Sw1至Sw4之后,溢出错误检测器7输出一个溢出错误检测信号Sov(图5-K)。
<间隙检测>
以下将描述间隙检测过程。
首先,如第一实施例那样,使写计数器2与写时钟CKw同步地递增。将输入数据Di1存储在由这个递增值Cr指示的缓冲器31至34中的一个。在这种情况下,存储在这个缓冲器中的输入数据Di1不仅发送给缓冲器,而且发送给间隙图形检测器8。
其次,如果接收的输入数据Di1是一个间隙图形(具有间隙的图形),间隙图形检测器8暂时停止写计数器2。
(效果)
如上所述,当输入所有写终止信号Sw1至Sw4时,溢出错误检测器7输出一个溢出错误检测信号Sov。这个溢出错误检测信号Sov由一个在随后级连接的电路来检测,从而能够防止处理不完全输出数据Do1。另外,这个溢出错误检测信号Sov例如反馈给在第二实施例所述的级数改变信号发生器6,因此允许缓冲器级数改变成一个必要数。
当检测到间隙图形时,由间隙图形检测器8暂时停止写计数器2,因此能在检测期间清除缓冲器31至34。
实施例4
在串行ATA中的数据接收开始或期间,例如接收侧没有通知到数据传输的长度,而是通过检测在接收数据的结束时发送的称为EOF(帧结束)的特别图形,识别数据接收的完成。在这种情况下,如果在随后级连接的电路也接收到无效数据,例如一个间隙,而没有识别一个信号获取许可信号Sa1,则在接收EOF之后,使用紧接EOF之前的一个数据集作为CRC码和在该数据集先前的一个数据集作为最后数据,由电路执行处理。因此,需要连续地输出由EOF和两个先前数据集组成的总共三个数据集。如果在包括EOF和两个先前数据集的数据集中包括一个间隙,接收到这些数据集的电路或其他类似部分也许不能正确地识别在EOF之前的两个数据集的数据集。
(时钟再同步器的整个配置)
图6表示根据本发明的第四实施例的时钟再同步器的整个配置。除第一实施例的时钟再同步器的配置(图1所示)外,本时钟再同步器还包括:缓冲器91至93;一个特别图形检测器10;和一个数据耦合电路11。如果缓冲器91已经存储不是间隙的输出数据Do1,使缓冲器91与一个读时钟CKr同步地存储从一个输出信号控制部分5输出的输出数据Do1,并且把先前存储的输出数据Do1输出给随后缓冲器92。缓冲器92与读时钟CKr同步地存储从先前缓冲器91输出的输出数据Do1,并且把先前存储的输出数据Do1输出给随后缓冲器93。缓冲器93与读时钟CKr同步地存储从先前缓冲器92输出的输出数据Do1,并且输出先前存储的输出数据Do1。也就是,如果在缓冲器91中存储的输出数据Do1不是一个间隙,缓冲器91至93按从缓冲器91至缓冲器93这样的次序,顺序地传输输出数据Do1(即执行顺序传输过程)。特别图形检测器10检测一个特别图形。当特别图形检测器10检测到一个特别图形时,数据耦合电路11使缓冲器91至93执行一个顺序传输过程。数据耦合电路11根据各自缓冲器的状态,调节信号获取许可信号Sa2的输出。特别图形是指示指定数据集的位置的数据。例如,特别图形是一个由串行ATA指定的称为EOF(帧结束)的图形,并且在接收数据的结束时发送。EOF指示一个数据集,它是EOF为最后数据之前的两个数据集。
(时钟再同步器的操作)
除第一实施例的过程外,图6所示的时钟再同步器的操作还包括一个匹配数据集的数据匹配过程,这些数据集需要连续地输出,但实际上不连续地输出。
<顺序传输过程>
现在,将描述一种情况下的操作,其中从输出信号控制部分5输出的输出数据Do1不包括间隙。
首先,按如第一实施例中的相同方式执行时钟再同步,并且使缓冲器91与读时钟CKr同步地存储从输出信号控制部分5输出的输出数据Do1(见图1),而且将先前存储的输出数据Do1输出给随后缓冲器92。
同时,与读时钟CKr同步,缓冲器92存储从缓冲器91输出的输出数据Do1,并且将先前存储的输出数据Do1作为输出数据Do2输出给随后缓冲器93。
同时,与读时钟CKr同步,缓冲器93存储从缓冲器92输出的输出数据Do1,并且将先前存储的输出数据Do1作为输出数据Do2输出。
按这样方式,每次从输出信号控制部分5输入新输出数据Do1(见图1),顺序地输出在各自缓冲器91至93中存储的输出数据Do1。
按相同方式,信号获取许可信号Sa1也存储在缓冲器91至93中,并且由一个顺序传输过程输出。
<数据匹配1)
现在,将参考图7描述一种情况下的过程(数据匹配1),其中在从输出信号控制部分5输出的输出数据Do1中的特别图形之前,包括一个间隙。当向缓冲器91输入一个间隙时,缓冲器91至93不执行上述顺序传输过程,直到在缓冲器91中存储不是间隙的新输出数据Do1为止。
首先,按如第一实施例中的相同方式执行时钟再同步,并且将不是间隙的输出数据Do1输入给缓冲器91(图7-I)。缓冲器91存储输出数据Do1(如图中#C2指示的连续数据2,以下相同),并且将输出数据Do1(如图中#C1指示的连续数据1,以下相同)输出给随后缓冲器92(图7-M1)。缓冲器92存储从缓冲器91输出的输出数据Do1(连续数据1),并且将输出数据(#6)输出给随后缓冲器93(图7-M2)。缓冲器93存储从缓冲器92输出的输出数据Do1(#6),并且将输出数据Do1(#5)作为输出数据Do2输出(图7-M3)。从输出信号控制部分5输出的信号获取许可信号Sa1按如输出数据Do1那样的相同方式存储在各自缓冲器中(图7-J)。
其次,向缓冲器91输入一个间隙(图7-I)。缓冲器91存储输出数据Do1(间隙),并且将输出数据Do1(连续数据2)输出给随后缓冲器92(图7-M1)。缓冲器92存储从缓冲器91输出的输出数据Do1(连续数据2),并且将输出数据Do1(连续数据1)输出给随后缓冲器93(图7-M2)。缓冲器93存储从缓冲器92输出的输出数据Do1(连续数据1),并且将输出数据Do1(#6)作为输出数据Do1输出(图7-M3)。从输出信号控制部分5输出的信号获取许可信号Sa1按如输出数据Do1那样的相同方式存储在各自缓冲器中。
然后,再向缓冲器91输入一个间隙(图7-I)。因为缓冲器91已经存储一个间隙,所以缓冲器91至93不输出输出数据Do1(间隙,连续数据2和连续数据1)。因此,在这个时段期间的输出数据Do2是一个间隙(图7-M3)。因为没有输出数据Do1从缓冲器输出,所以数据耦合电路11停止信号获取许可信号Sa1从缓冲器的输出(即将信号电平变为低电平)。按这样方式,缓冲器93不输出信号获取许可信号Sa2(图7-0)。
其后,将不是间隙的新输出数据Do1(如图中#S指示的特别图形,以下相同)输入给缓冲器91(图7-I)。缓冲器91存储输出数据Do1(特别图形)。因为缓冲器91已经存储一个间隙(即没有存储任何数据),所以缓冲器91不对随后缓冲器92产生输出(图7-M1)。缓冲器92和93分别不从先前缓冲器91和92接收输出数据Do1,因此缓冲器92和93不输出先前存储的输出数据Do1(连续数据2和连续数据1)(图7-M2和M3)。因此,在这个时段期间的输出数据Do2是一个间隙(图7-M3)。因为没有输出数据Do1从缓冲器输出,所以数据耦合电路11停止信号获取许可信号Sa1从缓冲器的输出(即将信号电平变为低电平)。因此,缓冲器93不输出信号获取许可信号Sa2(图7-0)。
随后,将不是间隙的输出数据Do1(#11)输入给缓冲器91(图7-I),并且缓冲器91至93再执行上述顺序传输过程(图7-M1、M2和M3)。因为从缓冲器输出输出数据Do1,所以数据耦合电路11使缓冲器输出信号获取许可信号Sa1(即将信号电平变为高电平)。因此,缓冲器93输出一个信号获取许可信号Sa2(图7-0)。
<数据匹配2>
现在,将参考图8描述一种情况下的过程(数据匹配2),其中在从输出信号控制部分5输出的输出数据Do1中的特别图形之后,包括一个间隙。当向缓冲器91输入一个间隙时,缓冲器91至93不执行如上所述的顺序传输过程,直到输入不是间隙的新输出数据Do1为止。然后,当由特别图形检测器10检测到特别图形时,缓冲器91至93执行如上所述的顺序传输过程。
首先,按如第一实施例中的相同方式执行时钟再同步。缓冲器91存储输出数据Do1(连续数据2),并且将输出数据Do1(连续数据1)输出给随后缓冲器92(图8-M1)。缓冲器92存储输出数据Do1(连续数据1),并且将输出数据(#5)输出给随后缓冲器93(图8-M2)。缓冲器93存储输出数据Do1(#5),并且将输出数据Do1(#4)作为输出数据Do2输出(图8-M3)。
其次,缓冲器91存储输出数据Do1(特别图形),并且将输出数据Do1(连续数据2)输出给随后缓冲器92(图8-M1)。缓冲器92存储输出数据Do1(连续数据2),并且将输出数据Do1(连续数据1)输出给随后缓冲器93(图8-M2)。缓冲器93存储输出数据Do1(连续数据1),并且将输出数据Do1(#5)作为输出数据Do2输出(图8-M3)。然后,特别图形检测器10检测一个特别图形,并且输出一个特别图形检测信号Ssp(图8-L)。
随后,当从特别图形检测器10输入特别图形检测信号Ssp时,数据耦合电路11将缓冲器91至93设置在顺序传输模式。
其后,因为向缓冲器91输入间隙,而缓冲器91至93在顺序传输模式,所以缓冲器91存储输出数据Do1(间隙),并且将输出数据Do1(特别图形)输出给随后缓冲器92(图8-M1)。缓冲器92存储输出数据Do1(特别图形),并且将输出数据Do1(连续数据2)输出给随后缓冲器93(图8-M2)。缓冲器93存储输出数据Do1(连续数据2),并且将输出数据Do1(连续数据1)作为输出数据Do2输出(图8-M3)。
然后,因为向缓冲器91输入间隙,而缓冲器91至93在顺序传输模式,所以缓冲器91存储输出数据Do1(间隙),并且按相同方式将输出数据Do1(间隙)输出给随后缓冲器92(图8-M1)。缓冲器92存储输出数据Do1(间隙),并且将输出数据Do1(特别图形)输出给随后缓冲器93(图8-M2)。缓冲器93存储输出数据Do1(特别图形),并且将输出数据Do1(连续数据2)作为输出数据Do2输出(图8-M3)。
随后,向缓冲器91输入不是间隙的新输出数据Do1。缓冲器91存储输出数据Do1(#9),并且将输出数据Do1(间隙)输出给随后缓冲器92(图8-M1)。缓冲器92存储输出数据Do1(间隙),并且将输出数据Do1(间隙)输出给随后缓冲器93(图8-M2)。缓冲器93存储输出数据Do1(间隙),并且将输出数据Do1(特别图形)作为输出数据Do2输出(图8-M3)。
然后,向缓冲器91输入不是间隙的新输出数据Do1。缓冲器91存储输出数据Do1(#10),并且将输出数据Do1(#9)输出给随后缓冲器92(图8-M1)。缓冲器92存储输出数据Do1(#9),并且将输出数据Do1(间隙)输出给随后缓冲器93(图8-M2)。缓冲器93存储输出数据Do1(间隙),并且将输出数据Do1(间隙)作为输出数据Do2输出(图8-M3)。
随后,向缓冲器91输入不是间隙的新输出数据Do1。缓冲器91存储输出数据Do1(#11),并且将输出数据Do1(#10)输出给随后缓冲器92(图8-M1)。缓冲器92存储输出数据Do1(#10),并且将输出数据Do1(#9)输出给随后缓冲器93(图8-M2)。缓冲器93存储输出数据Do1(#9),并且将输出数据Do1(间隙)作为输出数据Do2输出(图8-M3)。
然后,向缓冲器91输入不是间隙的新输出数据Do1。缓冲器91存储输出数据Do1(#12),并且将输出数据Do1(#11)输出给随后缓冲器92(图8-M1)。缓冲器92存储输出数据Do1(#11),并且将输出数据Do1(#10)输出给随后缓冲器93(图8-M2)。缓冲器93存储输出数据Do1(#10),并且将输出数据Do1(#9)作为输出数据Do2输出(图8-M3)。
按这样方式,将信号获取许可信号Sa1存储在缓冲器91至93中,并且顺序地输出(图8-0)。
(效果)
当需要连续地输出的输出数据Do1不连续地输出时,这个输出数据Do1如上所述那样匹配,因此允许数据连续地发送给随后级连接的电路或其他类似部分。按这样方式,即使在随后级的电路在没有识别信号获取许可信号下操作,这个电路也能够识别一个特别图形(例如EOF)。
在本实施例中,使用三个缓冲器,以便匹配输出数据Do1,这样连续地发送包括一个特别图形和两个先前数据集的三个数据集。例如,需要20级的缓冲器用于数据匹配,其中连续地发送包括一个特别图形和19个先前数据集的20个数据集。
实施例5
写时钟CKw和读时钟CKr基本上具有相同频率,然而这些时钟包括大量的抖动(它在30kHz的周期内约为5000ppm)。因此,难以认为在正常数据通信中在几个时钟上没有信号获取许可信号Sa1输出。如果出现这样的情况,非常有可能在通信中出现错误,以使输入数据Di1或输入时钟(写时钟CKw)中断。
(时钟再同步器的整个配置)
图9表示根据本发明的第五实施例的时钟再同步器的整个配置。除第一实施例的时钟再同步器的配置(图1所示)外,本时钟再同步器还包括一个信号获取许可信号禁止计数器12。信号获取许可信号禁止计数器12对在其期间无信号获取许可信号Sa1输出的时段计数。
(时钟再同步器的操作)
除第一实施例所述的过程外,图9所示的时钟再同步器的操作还包括一个如上所述的检测错误的异常状态检测过程。
<异常状态检测>
以下,将参考图10描述异常状态检测过程。
首先,按如第一实施例中的相同方式执行时钟再同步,并且输出信号控制部分5(见图1)输出输出数据Do1和信号获取许可信号Sa1。
其次,信号获取许可信号禁止计数器12接收信号获取许可信号Sa1(图10-J)。在这种情况下,在一个在其期间无信号获取许可信号Sa1输入的时段内(图10-P),使信号获取许可信号禁止计数器12与一个读时钟CKr(图10-F)同步地计数。
然后,当计数值Cd达到“3”时,信号获取许可信号禁止计数器12输出一个异常状态检测信号Sab(图10-G)。
(效果)
如果如上所述在几个时钟上无信号获取许可信号Sa1输出,则输出一个异常状态检测信号Sab,从而能够在信号达到随后块之前,检测在通信中出现的异常状态。例如,在CD上写数据时,使数据暂时保持在缓冲器或存储器例如FIFO中,并且然后写入CD。如果在写之前检测到错误,在较早阶段停止写,因此容易将指示错误状态的数据返回HOST。
在本实施例中,当计数值Cd达到“3”时,信号获取许可信号禁止计数器12输出一个异常状态检测信号Sab。然而,作为参考的该值不限于“3”。
实施例6
如果写时钟CKw和读时钟CKr精确地相互一致,无信号获取许可信号Sa1输出。一个在其期间无信号获取许可信号Sa1输出(即信号获取许可信号的输出电平为低电平)的时段,与写时钟CKw和读时钟CKr之间的差成比例。也就是,当在其期间信号获取许可信号Sa1的输出电平为低电平的时段增加时,读时钟CKr的延迟与写时钟CKw比较增加。
<时钟再同步器的整个配置>
图11表示根据本发明的第六实施例的时钟再同步器的整个配置。除第一实施例的时钟再同步器的配置(图1所示)外,本时钟再同步器还包括:一个测量电路13;一个频差检测器14;和一个PLL15。当信号获取许可信号Sa1从高电平(在该电平下输出信号)变为低电平(在该电平下停止信号的输出)时,测量电路13开始测量信号从低电平变为高电平所要求的时段。频差检测器14把测量电路13测量的时段与一个预定时段比较,并且根据比较结果输出一个比较结果信号。
<PLL 15的内部配置>
PLL 15包括:一个时钟发生器151;一个相位频率检测器152;一个电荷泵153;一个低通滤波器154;一个混频器155;一个压控振荡器156;和一个时钟分频器157。时钟发生器151产生一个给定时钟。相位频率检测器152把来自时钟发生器151的时钟与来自时钟分频器157的时钟比较,并且输出一个作为比较结果的时钟校正信号。低通滤波器154减低从相位频率检测器152输出的时钟校正信号。混频器155把通过低通滤波器154输出的时钟校正信号和从频差检测器14输出的比较结果信号混合。压控振荡器156根据从混频器155输出的信号产生读时钟CKr。
(时钟再同步器的操作)
除第一实施例所述的过程外,图11所示的时钟再同步器的操作还包括一个调节读时钟CKr的时钟调节过程。
<时钟调节>
以下,将描述时钟调节过程。
首先,按如第一实施例中的相同方式执行时钟再同步,并且一个输出信号控制部分5(见图1)输出输出数据Do1和信号获取许可信号Sa1。用于本时钟再同步的读时钟CKr由PLL 15中包括的压控振荡器156产生。
其次,测量电路13接收从输出信号控制部分5输出的信号获取许可信号Sa1。测量电路13然后测量一个在其期间不输出接收的信号获取许可信号Sa1的时段。特别地,测量电路13测量从停止信号获取许可信号Sa1的输出时(即从高电平变为低电平),到恢复信号获取许可信号Sa1的输出时(即从低电平变为高电平)的时段。
然后,频差检测器14把测量电路13测量的时段(测量时段)与预先已经确定的给定时段(预定时段)比较。也就是,确定测量时段是否长于预定时段。频差检测器14向混频器155输出比较结果作为比较结果信号。在这种情况下,如果测量时段比预定时段长,比较结果信号为正。如果测量时段比预定时段短,比较结果信号为负。当测量时段与预定时段之间的差增加时,比较结果信号的绝对值增加。
随后,PLL 15中包括的混频器155把通过低通滤波器154向压控振荡器156输入的时钟校正信号,和从频差检测器14输出的比较结果信号结合。如果频差检测器14确定测量时段比预定时段长,从混频器155输出的信号变得比时钟校正信号高。如果频差检测器14确定测量时段比预定时段短,从混频器155输出的信号变得比时钟校正信号低。
其后,压控振荡器156根据从混频器155输出的信号产生一个读时钟CKr。如果频差检测器14确定测量时段比预定时段长,使读时钟CKr前移。如果频差检测器14确定测量时段比预定时段短,使读时钟CKr延迟。
(效果)
如上所述,当因为SSC或其他原因引起的时钟变化而使写时钟CKw和读时钟CKr之间出现频差时,根据写时钟CKw改变读时钟CKr的频率,因而能够连续数出包括很少间隙的数据。这样允许减少用于时钟再同步的缓冲器数。
在本实施例中,测量电路13测量一个在其期间无信号获取许可信号Sa1输出的时段。相反,可以测量一个在其期间输出信号获取许可信号Sa1的时段。如果测量电路13测量一个在其期间信号获取许可信号Sa1的输出状态为恒定的时段,并且频差检测器14把这个测量时段与一个预定时段比较,以使比较结果反馈给PLL 15和其他电路,能调节读时钟CKr。
根据本发明的时钟再同步器适合用在与串行ATA连接的接口的入口。