一种时钟数据恢复电路及防止其锁定或不锁定的方法
文献发布时间:2024-04-18 19:52:40
技术领域
本发明涉及时钟恢复电路,具体涉及一种时钟数据恢复电路及防止时钟数据恢复电路误锁定或不锁定的方法。
背景技术
随着集成电路工艺、技术的不断进步,各种高速串行接口规范如SATA(SerialAdvanced Technology Attachment)不断升级,接口速率不断提高,从最初1.0规范(1.5Gbps)、2.0规范(3Gbps)发展到现在3.0规范(6Gbps)。尽管规范接口速率不断提高,但每代规范都必须向下兼容,如SATA3.0设备必须向下兼容SATA2.0、SATA1.0设备。这样实际应用中不可避免的存在SATA主机和SATA从机支持的速率等级不一致问题,当它们互连时必定要进行速度协商。
时钟数据恢复电路广泛的应用在高速串行接口的接收端,用来从输入的串行数据流中提取时钟信息并重定时(恢复)数据。图1为传统的基于相位插值的时钟数据恢复电路(半速率架构),其中四相采样时钟中的clk0和clk180为数据bit边沿采样时钟,clk90和clk270为数据bit中心采样时钟。当环路锁定时,clk0、clk180的上升沿与数据bit边沿对齐,clk90和clk270的上升沿与数据bit中心对齐,clk90和clk270采样出的数据即重定时(恢复)的数据。
当输入数据速率与四相采样时钟频率匹配(频率差值很小,一般小于1/1000)时,相位检测器比较输入数据跳变边沿与四相采样时钟的相位关系,得到时钟超前或时钟滞后的信息,环路滤波器对时钟超前或时钟滞后的信息进行滤波,控制相位插值器对四相采样时钟移相,最终环路在一定的时间内时钟超前和时钟滞后的信息均匀分布时,即可认为环路锁定。
当输入数据速率与四相采样时钟频率不匹配时,如果SATA主机为3.0规范设备(6Gbps)、SATA从机为2.0规范设备(3Gbps)。对于主机的时钟数据恢复电路(假设为半速率架构,即正常采样时钟频率是输入数据速率的一半)来说,输入数据速率为3Gbps,而本地四相采样时钟是3GHz,相当于每bit输入数据被采样两次,这样环路依然能够根据输入数据边沿跳变得到有用的时钟超前或时钟滞后的信息,环路也能够锁定,但重定时的数据是错误的(每bit被采样两次),即此时时钟数据恢复电路误锁定。通常,这种情况是由协议上层根据恢复的数据内容来判断出现错误,再降低本地时钟频率到下一档来完成速度协商。如果误锁定由时钟数据恢复电路来判断,直接通知协议上层,显然可以明显提高效率。
当输入数据速率与四相采样时钟频率不匹配时,如果SATA主机为2.0规范设备(3Gbps)、SATA从机为3.0规范设备(6Gbps)。对于主机的时钟数据恢复电路(假设为半速率架构,即正常采样时钟频率是输入数据速率的一半)来说,输入数据速率为6Gbps,而本地四相采样时钟是1.5GHz,相当于每连续的2bit输入数据中有1bit没被采样到,此时时钟超前或时钟滞后的信息错误,环路不断不能锁定,反而可能由于错误的超前、滞后信息导致环路数字滤波器中的存储的频率偏差跑到边界(该边界值,一般设计超过时钟数据恢复电路允许的最大频偏)。由于环路无法锁定,通常,这种情况下协议上层会协商控制SATA从机切换到下一速度等级,如本例中从6Gbps模式切到3Gbps模式,然而此时SATA主机的时钟数据恢复电路中的环路数字滤波器存储的频率偏差跑到边界,即使速度匹配的数据(3Gbps)输入时,环路难以恢复正常,则此时速度协商失败。如果这种不锁定的情况由时钟数据恢复电路来判断,直接通知协议上层,同时强制复位自己,这样即可避免速度协商失败问题。
发明内容
本发明的目的在于克服上述现有技术的不足,提供一种时钟数据恢复电路及防止时钟数据恢复电路误锁定或不锁定的方法
为实现上述目的,本发明的技术方案是:
第一方面,本发明提供一种防止时钟数据恢复电路误锁定或不锁定的方法,包括以下步骤:
时钟数据恢复电路复位放开,时钟数据恢复电路工作;
相位检测器用四相采样时钟采样输入数据,判断输入数据与采样时钟之间的相位关系是属于时钟超前、时钟滞后、时钟错误1以及时钟错误2中的哪一种;
锁定检测器对相位检测器输出的连续的Nbit判断结果进行分析,统计连续出现时钟错误1的bit数和连续出现时钟错误2的bit数;
如果连续出现时钟错误1的bit数,超过Mbit,锁定检测器判定输入数据速率高于采样时钟频率,则将时钟数据恢复电路复位一次,复位放开后再重新开始工作,同时通知协议上层;
如果连续出现时钟错误2的bit数,超过Mbit,锁定检测器判定输入数据速率低于采样时钟频率,则将时钟数据恢复电路复位一次,复位放开后再重新开始工作,同时通知协议上层;
如果连续出现时钟错误1的bit数或连续出现时钟错误2的bit数,不超过Mbit,锁定检测器统计一段时间内时钟超前bit数、时钟滞后bit数,当它们的差值在设定范围内,给出环路锁定指示信号,同时通知协议上层;
N、M为整数且M<N。
进一步地,所述时钟错误1是指连续两个bit中有一个bit没被数据bit中心时钟采样到的情形。
进一步地,所述时钟错误2是指一个bit被数据bit中心时钟采样两次的情形。
进一步地,所述N为20、所述M为6。
第二方面,本发明提供一种时钟数据恢复电路,包括锁相环、相位插值器、相位检测器、数字滤波器以及锁定检测器,
相位检测器用于对输入数据的边沿和四相采样时钟的相位做比较,输出时钟超前、时钟滞后、时钟错误1、时钟错误2四种相位信息;
当输入数据速率和四相采样时钟频率匹配时,时钟超前、时钟滞后信息有效,数字滤波器对其滤波后输出相位控制信号,锁相环根据参考时钟输出固定频率、相位的四相时钟,相位插值器根据相位控制信号对四相时钟进行插值,以调整四相采样时钟的相位,当采样时钟clk0和clk180与数据bit边沿对齐时,采样时钟clk90和clk270与数据bit中心对齐,clk90和clk270采样出的数据即重定时的数据,此时相位检测器在一段时间内输出的时钟超前信息和时钟滞后信息平衡,此时锁定检测器输出锁定信号,同时通知协议上层;
当输入数据速率高于四相采样时钟频率时,此时相位检测器输出的时钟错误1信息有效,锁定检测器对相位检测器输出的连续的Nbit判断结果进行分析,如果统计连续出现时钟错误1的bit数,超过Mbit,锁定检测器判定输入数据速率高于采样时钟频率,则将时钟数据恢复电路复位一次,复位放开后再重新开始工作,同时通知协议上层;
当输入数据速率低于四相采样时钟频率时,此时相位检测器输出的时钟错误2信息有效,锁定检测器对相位检测器输出的连续的Nbit判断结果进行分析,如果统计连续出现时钟错误2的bit数,超过Mbit,锁定检测器判定输入数据速率低于采样时钟频率,此时时钟数据恢复电路会误锁定,则将时钟数据恢复电路复位一次,复位放开后再重新开始工作,同时通知协议上层;
N、M为整数且M<N。
进一步地,所述输入数据速率高于四相采样时钟频率是指输入数据速率是四相采样时钟频率的2倍以上;所述输入数据速率低于四相采样时钟频率是指输入数据速率是四相采样时钟频率的1/2以下。
本发明与现有技术相比,其有益效果在于:
本发明防止时钟数据恢复电路误锁定或不锁定的方法,采用时钟数据恢复电路中的锁定检测器,判断时钟数据恢复电路中的相位检测器检测得到的时钟超前、时钟滞后、时钟错误1、时钟错误2四种信息,可有效的判断出当前时钟恢复电路的输入数据速率与采样时钟是否匹配,在输入数据速率高时防止时钟数据恢复电路跑偏不锁定,在输入数据速率低时防止时钟数据恢复电路误锁定,同时迅速通知协议上层,相比传统的基于协议上层的速度协商机制,提高了效率且有效防止时钟数据恢复电路不锁定。
附图说明
图1为传统的基于相位插值的时钟数据恢复电路原理图;
图2为本发明实施例提供的防止时钟数据恢复电路误锁定或不锁定的方法的流程图;
图3为本发明实施例提供的一种时钟数据恢复电路原理图;
图4为当输入数据速率与四相采样时钟频率匹配时,相位检测器输出时钟超前信息的实例;
图5为当输入数据速率与四相采样时钟频率匹配时,相位检测器输出时钟滞后信息的实例;
图6为当输入数据速率高于四相采样时钟频率时,相位检测器输出时钟错误1信息的实例;
图7为当输入数据速率低于四相采样时钟频率时,相位检测器输出时钟错误2信息的实例。
具体实施方式
实施例:
下面结合附图和实施例对本发明的技术方案做进一步的说明。
参阅图2所示,本实施例提供的防止时钟数据恢复电路误锁定或不锁定的方法主要包括如下步骤:
步骤1:时钟数据恢复电路复位放开,时钟数据恢复电路工作;
步骤2:相位检测器用四相采样时钟采样输入数据,判断输入数据与采样时钟之间的相位关系是属于时钟超前、时钟滞后、时钟错误1以及时钟错误2中的哪一种;
步骤3:锁定检测器对相位检测器输出的连续的20bit判断结果(每bit判断结果是时钟超前、时钟滞后、时钟错误1、时钟错误2中的一种)进行分析,统计连续出现时钟错误1的bit数和连续出现时钟错误2的bit数;
步骤4-1:如果连续出现时钟错误1的bit数,超过6bit,锁定检测器判定输入数据速率高于采样时钟频率,此时时钟数据恢复电路可能会跑偏无法锁定,则将时钟数据恢复电路复位一次,复位放开后再重新开始工作,同时通知协议上层;
步骤4-2:如果连续出现时钟错误2的bit数,超过6bit,锁定检测器判定输入数据速率低于采样时钟频率,此时时钟数据恢复电路会误锁定,则将时钟数据恢复电路复位一次,复位放开后再重新开始工作,同时通知协议上层;
步骤4-3:如果连续出现时钟错误1的bit数或连续出现时钟错误2的bit数,不超过6bit,锁定检测器统计一段时间内时钟超前bit数、时钟滞后bit数,当它们的差值在一定范围内,给出环路锁定指示信号,同时通知协议上层。
由此可见,本发明防止时钟数据恢复电路误锁定或不锁定的方法,采用时钟数据恢复电路中的锁定检测器,判断时钟数据恢复电路中的相位检测器检测得到的时钟超前、时钟滞后、时钟错误1、时钟错误2四种信息,可有效的判断出当前时钟恢复电路的输入数据速率与采样时钟是否匹配,在输入数据速率高时防止时钟数据恢复电路跑偏不锁定,在输入数据速率低时防止时钟数据恢复电路误锁定,同时迅速通知协议上层,相比传统的基于协议上层的速度协商机制,提高了效率且有效防止时钟数据恢复电路不锁定。
图3给出了采用上述方法的一种时钟数据恢复电路的实例,下面结合图3进一步对上述方法做阐述。
图3中,时钟数据恢复电路包括相位检测器、数字滤波器、相位插值器、锁定检测器和锁相环。其基本工作原理如下:
相位检测器对输入数据的边沿和四相采样时钟的相位做比较,输出时钟超前、时钟滞后、时钟错误1、时钟错误2四种相位信息。
当输入数据速率和四相采样时钟频率匹配(频率差值很小,一般小于1/1000)时,时钟超前、时钟滞后信息有效,数字滤波器对其滤波后输出相位控制信号,锁相环根据参考时钟输出固定频率、相位的四相时钟,相位插值器根据相位控制信号对四相时钟进行插值,以调整四相采样时钟(clk0/clk90/clk180/clk270)的相位,当采样时钟clk0和clk180与数据bit边沿对齐时,采样时钟clk90和clk270与数据bit中心对齐,clk90和clk270采样出的数据即重定时(恢复)的数据,此时相位检测器在一段时间内输出的时钟超前信息和时钟滞后信息平衡,即一段时间内时钟超前bit数、时钟滞后bit数的差值在一定范围内,此时锁定检测器输出锁定信号,同时通知协议上层。
当输入数据速率高于四相采样时钟频率时(这里指的是输入数据速率是四相采样时钟频率的2倍以上),此时相位检测器输出的时钟错误1信息有效,锁定检测器对相位检测器输出的连续的20bit判断结果(每bit判断结果是时钟超前、时钟滞后、时钟错误1、时钟错误2中的一种)进行分析,如果统计连续出现时钟错误1的bit数,超过6bit,锁定检测器判定输入数据速率高于采样时钟频率,此时时钟数据恢复电路可能会跑偏无法锁定,则将时钟数据恢复电路复位一次,复位放开后再重新开始工作,同时通知协议上层。
当输入数据速率低于四相采样时钟频率时(这里指的是输入数据速率是四相采样时钟频率的1/2以下),此时相位检测器输出的时钟错误2信息有效,锁定检测器对相位检测器输出的连续的20bit判断结果(每bit判断结果是时钟超前、时钟滞后、时钟错误1、时钟错误2中的一种)进行分析,如果统计连续出现时钟错误2的bit数,超过6bit,锁定检测器判定输入数据速率低于采样时钟频率,此时时钟数据恢复电路会误锁定,则将时钟数据恢复电路复位一次,复位放开后再重新开始工作,同时通知协议上层。
图4给出了当输入数据速率与四相采样时钟频率匹配时,相位检测器输出时钟超前信息的实例。
图5给出了当输入数据速率与四相采样时钟频率匹配时,相位检测器输出时钟滞后信息的实例。
下面结合图4、图5说明相位检测器的原理以及输出时钟超前、滞后信息的原理。
图4、图5中,Data_in为输入数据(连续的0、1跳变,即时钟数据),clk0、clk90、clk180、clk270为四相采样时钟,data_clk0、data_clk90、data_clk180、data_clk270分别为clk0、clk90、clk180、clk270的采样数据。定义clk0、clk180为数据bit边沿时钟,clk90、clk270为数据bit中心时钟,则当时钟数据恢复电路环路锁定时,clk0和clk180与数据bit边沿对齐,clk90和clk270与数据bit中心。
图4中,data_clk90、data_clk180、data_clk270分别为0、0、1,说明clk90与clk270之间存在数据从0到1的跳变,且clk180相比该边沿超前了,即时钟超前。
图5中,data_clk90、data_clk180、data_clk270分别为0、1、1,说明clk90与clk270之间存在数据从0到1的跳变,且clk180相比该边沿滞后了,即时钟滞后。
图6给出了当输入数据速率高于四相采样时钟频率时,相位检测器输出时钟错误1信息的实例。
图7给出了当输入数据速率低于四相采样时钟频率时,相位检测器输出时钟错误2信息的实例。
下面结合图6、图7说明相位检测器的原理以及输出时钟错误1、时钟错误2信息的原理。
图6、图7中,Data_in为输入数据(连续的0、1跳变,即时钟数据),clk0、clk90、clk180、clk270为四相采样时钟,data_clk0、data_clk90、data_clk180、data_clk270分别为clk0、clk90、clk180、clk270的采样数据。定义clk0、clk180为数据bit边沿时钟,clk90、clk270为数据bit中心时钟,则当时钟数据恢复电路环路锁定时,clk0和clk180与数据bit边沿对齐,clk90和clk270与数据bit中心。
图6中,data_clk90、data_clk180、data_clk270分别为0、1、0,说明clk90与clk270之间不存在数据的跳变,但clk180的采样数据data_clk180与clk90、clk270的采样数据data_clk90、data_clk270不一致,显然这里采样时钟频率不合理,且是低于输入数据速率,出现了连续2个bit中有1bit没被数据bit中心时钟clk90、clk270采样到的情形,这里定义这种情况为时钟错误1。
图7中,data_clk90、data_clk180、data_clk270分别为0、0、0,说明clk90与clk270之间不存在数据的跳变,这与假设输入数据是连续的0、1跳变不符,显然这里采样时钟频率不合理,且是高于输入数据速率,出现了一个bit被数据bit中心时钟clk90、clk270采样两次的情形,这里定义这种情况为时钟错误2。
为了防止出现误判,锁定检测器会对相位检测器输出的连续的20bit判断结果(每bit判断结果是时钟超前、时钟滞后、时钟错误1、时钟错误2中的一种)进行分析,如果统计连续出现时钟错误1的bit数超过6bit,或连续出现时钟错误2的bit数超过6bit,才会触发复位整个时钟数据恢复电路,重新开始工作,并通报协议上层。
上述实施例只是为了说明本发明的技术构思及特点,其目的是在于让本领域内的普通技术人员能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡是根据本发明内容的实质所做出的等效的变化或修饰,都应涵盖在本发明的保护范围内。
- 时钟数据恢复电路及数据锁定的判断方法
- 时钟数据恢复电路及数据锁定的判断方法