时钟恢复方法及装置与流程

文档序号:12375491阅读:464来源:国知局
时钟恢复方法及装置与流程

本发明涉及通信领域的同步技术,尤其涉及一种时钟恢复方法及装置。



背景技术:

在进行数据传输时,通常可能涉及到时钟恢复,若接收侧无法恢复出发送侧的时钟,就会导致数据解调的困难,而导致数据接收错误。若接收侧所恢复的恢复时钟不够精确,会导致数据接收的错误率高等问题。

在现有技术中时钟恢复的方法包括对接收侧发送的数据进行一段时间的数据量进行积累,读取该段时间内所述数据缓存的水位变换,依据所述数据缓存的水位变换以及该段时间的时间间隔,估算出发送侧的时钟频率,这种方式存在的问题是:以数据缓存的水位进行数据的积累,这时可能要求所述数据缓存的缓存空间较大,若数据缓存的缓存空间不够,在所述数据缓存的写入速率较大时,可能会在该段时间内出现数据溢出的现象,这样显然会影响时钟恢复的结果,显然消耗的缓存等资源较大。



技术实现要素:

有鉴于此,本发明实施例期望提供一种时钟恢复方法及装置,以至少部分解决数据缓存内数据溢出等现象导致的时钟恢复的精度低的问题。

为达到上述目的,本发明的技术方案是这样实现的:本发明实施例第一方面提供一种时钟恢复方法,所述方法包括:

读取控制缓存的水位;所述控制缓存的水位用于表征数据缓存的写入数据量和写出数据量的差值;

依据所述控制缓存的水位,形成恢复时钟。

基于上述方案,所述依据所述控制缓存的水位,形成恢复时钟,包括:

将所述控制缓存的水位与本地时钟的循环计数进行比较,形成比较结果;所述本地时钟的循环计数为所述数据缓存依据本地时钟写入数据的采样周期的循环计数;

依据所述比较结果,形成所述恢复时钟。

基于上述方案,所述将所述控制缓存的水位与本地时钟的循环计数进行比较,形成比较结果,包括:

当所述控制缓存的水位大于所述本地时钟的循环计数时,输出为逻辑高电平的调整信号;

当所述控制缓存的水位小于所述本地时钟的循环计数时,输出为逻辑低电平的调整信号;

所述依据所述比较结果,形成恢复时钟,包括:

依据所述调整信号,形成所述恢复时钟。

基于上述方案,所述方法还包括:

统计指定时间内所述数据缓存的平均写入速率;

其中,所述平均写入速率和所述数据缓存的水位用于共同形成所述控制缓存的水位。

基于上述方案,所述方法还包括:

对所述平均写入速率和所述数据缓存的水位进行平滑处理,形成平滑处理结果,以使所述数据缓存的写入数据量均匀分布到各个时间段;

所述平滑处理结果用于形成所述控制缓存的水位。

基于上述方案,所述方法还包括:

依据所述控制缓存的水位,通过调整所述恢复时钟以调整所述数据缓存的写出速率。

基于上述方案,所述方法还包括:

当所述控制缓存的水位变化量保持在第一阈值范围内时,检测所述数据缓存的水位;所述数据缓存的水位表征所述数据缓存中待写出的数据量;

当所述数据缓存的水位位于第二阈值范围外时,通过调整所述恢复时钟以 调整所述数据缓存的写出速率,以使所述数据缓存的水位处于所述第二阈值范围内。

本发明实施例第二方面提供一种时钟恢复装置,所述装置包括:

读取单元,用于读取控制缓存的水位;所述控制缓存的水位用于表征数据缓存的写入数据量和写出数据量的差值;

比较模块恢复单元,用于依据所述控制缓存的水位的比较结果,形成恢复时钟。

基于上述方案,所述恢复单元还包括:

比较模块,用于将所述控制缓存的水位与本地时钟的循环计数进行比较,形成比较结果;所述本地时钟的循环计数为所述数据缓存依据本地时钟写入数据的采样周期的循环计数;

恢复模块,具体用于依据所述比较结果,形成所述恢复时钟。

基于上述方案,所述比较模块,包括:

第一输出子模块,用于当所述控制缓存的水位大于所述本地时钟的循环计数时,输出为逻辑高电平的调整信号;

第二输出子模块,用于当所述控制缓存的水位小于所述本地时钟的循环计数时,输出为逻辑低电平的调整信号;

所述恢复模块,具体用于依据所述调整信号中逻辑高电平与逻辑低电平的比值,确定所述恢复时钟的频率。

基于上述方案,所述装置还包括:

统计单元,用于统计指定时间内所述数据缓存的平均写入速率;

其中,所述平均写入速率和所述数据缓存的水位用于共同形成所述控制缓存的水位。

基于上述方案,所述恢复单元,用于对所述平均写入速率和所述数据缓存的水位进行平滑处理,形成平滑处理结果,以使所述数据缓存的写入数据量均匀分布到各个时间段;

所述平滑处理结果用于形成所述控制缓存的水位。

基于上述方案,所述恢复单元,用于依据所述控制缓存的水位,通过调整所述恢复时钟以调整所述数据缓存的写出速率。

基于上述方案,所述确定模块,用于当所述控制缓存的水位变化量保持在第一阈值范围内时,检测所述数据缓存的水位;所述数据缓存的水位表征所述数据缓存中待写出的数据量;当所述数据缓存的水位位于第二阈值范围外时,通过调整所述恢复时钟以调整所述数据缓存的写出速率,以使所述数据缓存的水位处于所述第二阈值范围内。

本发明实施例所述时钟恢复方法及装置,在进行所述时钟恢复时的依据的是控制缓存的水位,而非数据缓存的水位;这样就避免了所述数据缓存溢出时导致数据缓存的水位出现大变化,进而导致形成的恢复时钟准确性和精确性差的问题。同时,不用再防止数据缓存的溢出影响恢复时钟的准确性和精确性,可以适当的缩小所述数据缓存对应的缓存容量,从而能够减少缓存容量等系统资源。

附图说明

图1a为本发明实施例所述的时钟恢复方法的流程示意图之一;

图1b为本发明实施例所述的时钟恢复方法的流程示意图之二;

图2为本发明实施例所述比较结果的效果示意图;

图3为本发明实施例所述的时钟恢复的状态变换示意图;

图4a为本发明实施例所述的时钟恢复装置的结构示意图之一;

图4b为本发明实施例所述的时钟恢复装置的结构示意图之二;

图5为本发明实施例所述的时钟恢复的流程示意图之三。

具体实施方式

以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。

如图1a所示,本实施例提供一种时钟恢复方法,所述方法包括:

步骤S110:读取控制缓存的水位;所述控制缓存的水位用于表征数据缓存的写入数据量和写出数据量的差值;

步骤S120:依据所述控制缓存的水位,形成恢复时钟。

本实施例所述的时钟恢复方法,为应用于数据接收侧的装置中,具体如光信号的接收端等接收设备中。

所述数据缓存用于从发送侧接收数据并缓存,同时将所述数据缓存内已缓存的数据写出。所述控制缓存用于表征所述数据缓存的写入数据量和写出数据量的差值。

所述控制缓存可相当于一个加减计数器,可用于当所述数据缓存写入一个单位数据时加1;当所述数据缓存写出一个单位的数据时减1。这样的话,若所述数据缓存正常工作,这样就能精确表明出所述数据缓存工作时,数据缓存中写入和写出的数据量。当然,本实施例中的所述控制缓存对所述数据缓存出现溢出等状况时,所述数据缓存的数据溢出不是数据正常写出,不影响所述控制缓存的水位。例如,若当前控制缓存的水位为S1;若数据缓存溢出S2个单位的数据,这一部分溢出的数据可不影响所述控制缓存的水位,所述控制缓存的水位在溢出S2个单位的数据后,保持S1。

本实施例中所述1个单位的数据可理解为一个采用周期能够采样到的数据量,具体如1个比特的数据。

本实施例中利用控制缓存的水位简单的知道了数据缓存在一段时间内的写入速率和写出速率之间的差值。若所述数据缓存的写入速率大于所述数据缓存的写出速率,显然这样的所述控制缓存的水位会变高;所述数据缓存在该段时间内的写入速率小于写出速率,这样所述控制缓存的水位会变低。显然这样所述控制缓存的水位能够精确的表明所述数据缓存的写入数据和写出速率之间的差异。通过读取控制缓存的水位来确定所述数据缓存的写入速率和写出速率之间的关系,显然不会因为数据缓存的溢出导致时钟恢复精确度出现较大偏差的问题,显然提高了时钟恢复的精度。且用于不用特意的防止所述数据缓存的溢出,可以适当的减少所述数据缓存对应的缓冲区域,从而能够减少时钟恢复中 占用的缓存等系统资源。

具体如何依据所述控制缓存的水位来控制时钟恢复,有很多种方式,以下提供一种可选方式。

如图1b所示,所述步骤S120包括:

步骤S121:将所述控制缓存的水位与本地时钟的循环计数进行比较,形成比较结果;所述本地时钟的循环计数为所述数据缓存依据本地时钟写入数据的采样周期的循环计数;

步骤S122:依据所述比较结果,形成恢复时钟。

所述数据缓存进行数据缓存时,是采用本地时钟进行数据采样的,所述数据缓存每一个本地时钟进行一次数据采样形成一个所述采样周期。所述本地时钟的循环计数就计1。如在所述数据缓存在进行本次数据采样之前,所述本地时钟的循环计数为N,则所述数据缓存执行了本次数据采用之后,所述本地十周的循环计数为M。所述控制缓存的水位则是在所述数据缓存有一个单位数据写入时,计数加1。若当前数据缓存采用本地时钟进行采样,采样了N次,其中n次有采样到数据,(这里的有采样到数据表示有数据写入到所述数据缓存),则所述本地时钟的循环计数为N,所述控制缓存的水位加n。

在本实施例中对所述数据缓存的采样次数是进行循环计数的,即当所述数据计数值达到最大计数值,则所述本地时钟循环计数清零。在本实施例中所述控制缓存的水位的取值也是有上限的,通常超过所述上限,所述控制缓存的水位做饱和处理。此处的所述饱和处理为:若数据缓存的写入速率继续大于所写出数据,所述控制缓存的水位不再上升维持在计数上限。在本实施例中可选的为将所述控制缓存的上限和所述本地循环计数的最大计数值都设置为同样的取值。

在本实施例中将比较所述本地时钟的循环计数与所述控制缓存的水位,形成比较结果;这个比较结果将作用于恢复时钟的形成和产生。

所述步骤S121可包括:

当所述控制缓存的水位大于所述本地时钟的循环计数时,输出为逻辑高电 平的调整信号;

当所述控制缓存的水位小于所述本地时钟的循环计数时,输出为逻辑低电平的调整信号。

本实施例所述逻辑高电平和所述逻辑低电平是相对而言的,这里逻辑高电平和所述逻辑低电平相对于同一参考电平时,所述逻辑高电平对应的电平高于所述逻辑低电平的对应的电平。所述逻辑高电平和所述逻辑低电平形成所述调整信号。若所述本地时钟的循环次数的最大计数值为K个,则所述一个所述调整信号对应的时间长度等于K个所述本地时钟的周期。

所述步骤S122可包括:依据所述调整信号,形成所述恢复时钟。此处,具体可包括:计算所述调整信号的占空比,依据所述占空比来形成所述恢复时钟。

如图2所示,一个所述调整信号中为逻辑高电平的时间为T1,为逻辑低电平的时间为T2;则所述占空比可为T1/(T1+T2)。

在步骤S120中具体产生所述恢复时钟的方法,包括采用工作在目标频率f1的时钟源产生目标时钟f1。依据所述占空比调整所述f1,形成所述恢复时钟f2。此处的时钟源可为各种类型的产生时钟的结构,如压控振荡器VCXO等结构。所述VCXO在电压控制下晶振产生时钟。假设所述f2和所述f1之间满足如下函数关系:

f2=f1+2{T1/(T1+T2)-0.5}*X

这样的话,当所述占空比为1时,所述f2=f1+X*f1;所述X可为时钟调整范围,所述X的取值范围一般可为任意指定值,具体如,所述X的取值为100PPM。若所述占空比为0时,所述f2=f1-X*f1。若所述占空比为0.5时,所述f2=f1。显然这样的话,所述控制缓存的水位将决定所述恢复时钟的调整。所述恢复时钟的精度等于2X*f1/K。

作为本实施例的进一步改进,所述方法还包括:

统计指定时间内所述数据缓存的平均写入速率;

其中,所述平均写入速率和所述数据缓存的水位用于共同形成所述控制缓存的水位。此时,所述控制缓存的水位表征的不仅包括写入数据量和写出数据 量的差值,还包括所述平均写入速率。

所述控制缓存的水位能够表征所述数据缓存待写出的数据量。

侧接收数据发送数据是存在一定的规律,在本实施例中所述接收侧将对指定时间内所述数据接收数据的写入数据进行统计,从而知道所述接收端发送数据的大致规律。这个规律就体现为所述写入数据的指定时间内的平均写入速率。这里所述写入数据的状况信息可理解为接收端大致每M个所述接收端的本地时钟周期发送数据量大致相同。

本实施例中的所述统计时间即为根据所述数据的规律确定的时间段,具体如M个本地时钟周期。

假设如每隔M个本地时钟周期内,所述数据缓存写入数据量为P。但是可能存在这样的情况,在所述M个本地时钟周期内,仅有前面的m1个时钟有数据写入,若不经过所述平滑处理的话,则会导致所述控制缓存的水位因前m1个周期内有数据写入,而迅速上升。在本实施例中将会对所述写入数据量做平滑处理,并形成的平滑处理结果。所述平滑处理结果是使得写入数据平均分配在各个时间段。所述指定时间可以为当前时间之前的历史时间。即所述M个本地时钟周期可为当前时刻以前的M个本地时钟周期。

在进行时钟恢复时,若所述控制缓存的水位仅用于表征所述数据缓存的写入数据量和写出数据量,则依据所述控制缓存的水位进行时钟恢复到与发送侧的数据源时钟相差到指定范围内,虽然能够进行时钟调整,但是相对缓慢。在本实施例中通过统计指定时间内的平均写入速率,就大概知道发送侧时钟源时钟,若所述控制缓存的水位是根据所述数据缓存的水位和平均写入速率共同形成的,那么根据控制缓存的水位进行时钟恢复,就快速恢复到与发送侧时钟源相近的时钟范围内,从而提高时钟捕获的速率。

作为本实施例进一步改进,所述方法还包括:

对所述平均写入速率和所述数据缓存的水位进行平滑处理,形成平滑处理结果,以使所述数据缓存的写入数据量均匀分布到各个时间段;

所述平滑处理结果用于形成所述控制缓存的水位。

在本实施例中将对平均写入速率和数据缓存的水位进行平滑处理,这样的话不会导致控制缓存的水位在某个时间点发送突变,若不进行平滑处理,直接依据突变的控制缓存的水位进行时钟恢复,这回导致恢复时钟的频率在对应的时间点也会发生变化。恢复时钟的这种突变会导致数据接收过程中的其他不良问题。

例如,100个本地时钟周期内的前50个时钟有数据写入,则进行平滑处理之后会使得写入数据在每隔一个本地时钟周期有数据写入。这样的话,第1、3、5、7、9、……99个本地时钟周期有数据写入,而非是前50个本地时钟。由于发送侧的发送数据的规律性,这种规律性从一定程度上体现了发送侧的数据源时钟,本实施例中通过统计指定时间内的写入数据的状况信息,在形成所述恢复时钟时,就能预估出时钟源时钟的大致频率,从而能够快速的形成一个较为接近所述时钟源的恢复时钟,后续仅需通过依据控制缓存的水位进行细微的调整即可,显然加快形成与所述时钟源时钟相近的精确的恢复时钟的时钟捕获速率。且由于平滑处理可以避免根据控制缓存的水位平滑的进行所述恢复时钟的频率调整。

所述方法还包括:

依据所述控制缓存的水位,通过调整所述恢复时钟以调整所述数据缓存的写出速率。

当所述控制缓存的水位很高时或基于所述数据缓存当前的写入速率和写出速率,导致所述控制缓存的水位逐步增高到一定的阈值时,这时就需要调整所述数据缓存的写出速率,从而降低所述控制缓存的水位。

当然所述数据缓存的写出速率是基于恢复时钟形成的,通常一个恢复时钟周期写出一个数据。这里需要调整所述写出速率相当于调整所述恢复时钟。

所述数据缓存和控制缓存的状态均分为三个状态包括:捕获状态、锁定状态以及跟踪状态。前述的依据所述控制缓存的水位,调整所述数据缓存的写出速率,通常发生在所述控制缓存的状态为捕获及跟踪时。

如图3所示,所述控制缓存和数据缓存都可以在捕获状态、锁定状态以及 跟踪状态三个状态之间进行切换。所述控制缓存可以从捕获状态执行锁定操作后,进入锁定状态,还可以从锁定状态通过执行解锁操作后返回到捕获状态,需要重选调整时钟。所述数据缓存可以从锁定状态切换到跟踪状态,并从跟踪状态通过解锁操作后进入锁定状态,或经过解锁操作或进入捕获状态。

通常当接收侧装置刚启动时,所述控制缓存和所述数据缓存都处于捕获状态,在捕获状态将试图形成与发送侧的数据源时钟相同的恢复时钟。

在捕获状态时,统计指定时间内所述控制缓存的水位的变化量δ,根据所δ预估恢复时钟与发送侧数据源时钟的差别。

如果δ>th1,写出速率Nadj=N+Δn1,如果δ<-th1,Nadj=N-Δn1。所述Nadj为单位时间上所述数据缓存的写出数据量;所述Δn1为单位时间上所述数据缓存写出数据量的调整量;所述N为单位时间内从接收侧接收的写入数据量,即为前述的平均写入速率;所述th1为控制缓存的水位调整的阈值。显然在本示例中,所述控制缓存的水位的变化量处于[-th1,th1]之间时,所述控制缓存的水位处于安全状态下,持续跟踪所述控制缓存的水位,依据控制缓存的水位进行后续的时钟恢复。这样的话,通过使数据缓存的写出速率的变换,从而快速的调整所述控制缓存的水位,从而达到控制所述控制缓存的水位的变换量处于安全状态的目的。

当然,如果-th1<δ<th1,说明接收侧装置形成恢复时钟与发送侧数据源时钟接近,则可以控制缓存都可以进入锁定状态。在捕获阶段,只依赖于控制缓存来达到锁定条件,可以不关心数据缓存状态,因此数据缓存对应的缓存区域可以做得很小,从而减少缓存资源等系统资源的使用。

若所述控制缓存处于锁定状态后,相当于发送侧形成的恢复时钟与发送侧时钟源时钟很接近或相同,但是所述数据缓存的水位很高,若突然数据缓存的写入速率增大,就会导致数据缓存的迅速溢出,从而导致数据丢弃的现象;同时若所述数据缓存的水位很低,数据缓存的写出速率没有及时的调整,依然保持较高的写出速率,可能就会导致数据缓存内的数据全部被写出,出现数据写出的中止等问题。为了解决这些问题,在本实施例中还对上述方法做了以下改 进。

所述方法还包括:

当所述控制缓存的水位变化量保持在第一阈值范围内时,检测所述数据缓存的水位;所述数据缓存的水位表征所述数据缓存中待写出的数据量;这里的控制的水位的变化量,可为单位时间内所述控制水位的变化量;或指定时长内的所述控制水位的变化量。

当所述数据缓存的水位位于第二阈值范围外时,通过调整所述恢复时钟以调整所述数据缓存的写出速率,以使所述数据缓存的水位处于所述第二阈值范围内。

具体如,数据缓存的水位data_fifo_level大于th2,Nadj=N+Δn2,如果data_fifo_level<th3,Nadj=N-Δn2,使得控制缓存水位变化,调整VCXO恢复时钟的频点,最终使控制缓存与数据缓存达到平稳状态,数据缓存水位th3<data_fifo_level<th2。th2和th3设置在数据缓存对应的缓存区域可存储数据量的中间值附近,以便使得数据缓存处于最安全状态。当数据缓存的水位满足th3<data_fifo_level<th2使,表明数据缓存执行锁定操作,进入跟踪状态。

本实施例所述的Δn2即为所述调整所述写出速率的步长值,也即为调整所述恢复时钟的步长值。值得注意的是,本实施例中所述的第一阈值范围可为前述的[-th1,th1]。

依据所述恢复时钟加快所述数据缓存的写出速率,并使所述数据缓存内的水位降低,腾出更多的剩余缓存空间。这样的话所述控制缓存的水位也会迅速降低。依据所述恢复时钟减小所述数据缓存的写出速率,保持所述数据缓存内的水位处于一定的高度,避免数据缓存内没有数据写出导致的写出中止的现象。

当所述数据缓存进入跟踪状态之后,控制缓存和数据缓存两侧读写速率完全一致,依赖于控制缓存水位变化情况跟踪数据源时钟的漂移。如果写入速率的漂移导致数据缓存的水位超过数据缓存的锁定条件,即data_fifo_level>th2或data_fifo_level<th3,会跳转到锁定状态,使数据缓存再次在达到锁定条件进入锁定状态,保证数据缓存的安全性。数据缓存和控制缓存始终处于动态平衡状 态,保证了系统长期运行的稳定性。

综合上述本实施例所述时钟恢复方法,采用根据控制缓存的水位来进行时钟的捕获和形成,能够快速的捕获发送侧数据源时钟,能够显著的提高捕获速率。其次,由于是基于控制缓存的水位来进行时钟捕获的,在不考虑所述数据缓存的溢出的状况下,能够减小所述数据缓存的缓冲大小。

在本实施例中所述时钟恢复方法中,可以在捕获状态、锁定状态和跟踪状态之间进行切换,实现连续跟踪,有效解决短期突发性和发送侧时钟源漂移导致的突发问题。采用控制缓存的水位,避免了数据缓存突然溢出导致的时钟恢复误差大等显现,从而形成的恢复时钟,具有抖动小及精确度高的优点。数据缓存的写出速率将影响所述控制缓存的水位;而所述控制缓存的水位将影响恢复时钟的频率,从而反作用于所述数据缓存的写出速率,从而实现了时钟恢复的闭环调整,从而能够基于这种闭环实现所述恢复时钟的长期稳定的控制和调整,提高了恢复时钟的稳定性。

设备实施例:

如图4a所示,本实施例提供一种时钟恢复装置,所述装置包括:

读取单元110,用于读取控制缓存的水位;所述控制缓存的水位用于表征数据缓存的写入数据量和写出数据量的差值;

比较模块121恢复单元120,用于依据所述控制缓存的水位,形成恢复时钟。

本实施例中所述时钟恢复装置为应用在接收侧的时钟恢复装置或包括在所述接收侧的时钟恢复装置。

所述读取单元110可包括具有信息读取的处理器或处理芯片。所述处理器和处理芯片可通过执行指定代码来实现上述控制缓存的水位的读取。所述处理器可为应用处理器AP、数字信号处理器DSP、可编程阵列PLC、中央处理器CPU或微处理器MCU等结构。

比较模块121所述恢复单元120可包括能够形成时钟的晶振等时钟形成结构,将与所述比较模块121连接,依据所述比较模块121的输出来形成所述恢 复时钟。

在本实施例中所述时钟恢复装置直接依据控制缓存的水位来控制时钟恢复,从而相对于依据容易出现溢出等现象的数据缓存的水位来进行时钟恢复的控制,形成的恢复时钟具有准确性和精确性高的优点。

如图4b所述,所述恢复单元120包括:

比较模块121,用于将所述控制缓存的水位与本地时钟的循环计数进行比较,形成比较结果;所述本地时钟的循环计数用于表征所述数据缓存读取的数据量;

恢复模块122,用于依据所述比较结果,形成所述恢复时钟。

所述比较模块121的具体结构可包括各种类型的比较器或具有比较功能的处理器,来形成所述比较结果。

所述恢复模块122包括产生恢复时钟的晶振或VCXO等结构。

所述比较模块121,包括:

第一输出子模块,用于当所述控制缓存的水位大于所述本地时钟的循环计数时,输出为逻辑高电平的调整信号;

第二输出子模块,用于当所述控制缓存的水位小于所述本地时钟的循环计数时,输出为逻辑低电平的调整信号;

所述恢复单元120,具体用于依据所述调整信号中逻辑高电平与逻辑低电平的比值,确定所述恢复时钟的频率。

本实施例中所述比较模块121包括第一输出子模块和第二输出子模块,这两个输出模块分别用于逻辑高电平和逻辑低电平。这样的话,所述恢复模块122从比较模块121收到的调整信号,可能时而为逻辑高电平,时而为逻辑低电平。所述恢复模块122根据所述调整信号,调整其形成的时钟的频率。

值得注意的是,在本申请中调整恢复时钟,均指的是调整恢复时钟的频率。

此外,所述装置还包括:

统计单元,用于统计指定时间内所述数据缓存的平均写入速率;其中,所述平均写入速率和所述数据缓存的水位用于共同形成所述控制缓存的水位。

所述统计单元具体结构可包括计数器或具有计数功能的处理器等结构,可以通过对指定时间内写入数据量的统计,从而评估出指定时间内写入数据缓存的平均写入速率。

本实施例中通过在时钟恢复装置增加统计单元,可以实现快速的调整所述恢复时钟的频率,实现恢复时钟的快速捕获。

本实施例所述的时钟恢复装置还包括平滑处理单元。

所述平滑处理单元,用于对所述平均写入速率和所述数据缓存的水位进行平滑处理,形成平滑处理结果,以使所述数据缓存的写入数据量均匀分布到各个时间段;

所述平滑处理结果用于形成所述控制缓存的水位。所述平滑处理单元的结构可包括能够形成各种控制信号的电路、处理器或处理芯片等结构。

本实施例所述的装置通过平滑处理单元,能够避免时钟恢复过程中恢复时钟频率跳变过大的现象。

所述恢复单元120,还用于依据所述控制缓存的水位,通过调整所述恢复时钟以调整所述数据缓存的写出速率。

所述调整模块可包括时钟产生装置,具体如包括各种能够形成时钟的晶振或VCXO等结构。通过调整产生的恢复时钟能够调整所述数据缓存的写出速率,从而能够下调所述数据缓存的水位及控制缓存的水位。

此外,所述恢复单元120,还用于当所述控制缓存的水位变化量保持在第一阈值范围内时,检测所述数据缓存的水位;所述数据缓存的水位表征所述数据缓存中待写出的数据量;当所述数据缓存的水位位于第二阈值范围外时,调整所述写出速率,以使所述数据缓存的水位处于所述第二阈值范围内。

在本实施例中所述恢复单元120通过调整恢复时钟的频率从而调整所述数据缓存的写出速率,从而达到控制所述数据缓存的水位处于安全状态的目的。

以下结合上述任意实施例所述的方案,提供一个具体示例。

图5所示的利用本申请实施例中所述时钟恢复方法的流程图。

本示例所述的时钟恢复方法包括:

数据缓存按照写入时钟进行数据采样接收数据进行数据写入。当接收一个数据时,还会接收到写入有效标志;所述写入有效标志同时输入到进行数据统计的统计单元中进行指定时间内的写入数据量的统计。图中的定时器用于计算所述指定时间,所述统计时间可以为M个本地时钟周期。

数据统计后形成统计结果N。这个N为依据统计时间诶的写入数据量确定的单位时间内写入所述数据缓存的数据量,即相当于前述实施例的平均写入速率。

统计结果调整,依据控制缓存的水位和数据缓存的水位进行所述N调整为Nadj。

对所述Nadj做平滑处理,输出数据有效标位。所述数据有效标识位即为前述平滑处理结果。

控制缓存接收写入时钟及所述数据有效标识位;对所述写入时钟和所述数据标识位进行逻辑与处理后的结果进行加1操作。这样控制缓存的水位不久决定与数据缓存的写入数据量和写出数据量,还将决定于统计结果N。同时控制缓存还将接收恢复时钟和写出标记位;恢复时钟和写出标记位进行逻辑与处理之后得到的结果表明数据缓存写出了一个数据。此时,所述控制缓存将做减1处理。

依据控制缓存的水位生成调整信号。所述调整信号包括逻辑高电平和逻辑低电平;经过低通滤波LPF处理后,形成一个控制电压。该控制电压能够用于控制VCXO产生的恢复时钟的频率。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1