对时分复接业务进行时钟恢复的装置及其方法 【发明领域】
本发明涉及IP(网际协议)网络的数据传输,特别涉及在IP网络中传输TDM(时分复接)业务时进行时钟恢复的方法。
背景技术
通过IP网络进行语音业务传输已经是越来越普遍地被采用的技术。如图1所示,普通电话机接到PSTN(公共交换电话网络)网络,然后通过E1中继线接到TDMoIP(IP上的时分复接)设备,将TDM业务数据转换为IP包,送到IP网络上进行传输。在IP网络的另一端,通过TDMoIP设备,将IP包还原为TDM业务数据,然后经过PSTN送到另一个电话机。
在图1所示的采用IP网络传输语音业务的方案中,由于IP网络不能提供一个全局的网络时钟,IP网络两端的TDMoIP设备时钟有可能不一致。TDM业务对时钟要求很高,如果发送端设备和接收端设备的时钟不一致的话,长时间运行会导致误码、滑码、或者其它更严重的错误,这对TDM业务来说是不允许的。为了实现TDM业务在IP网络上可靠地传输,TDM业务在IP网络上的时钟恢复是一项关键的技术。
在现有技术中,TDM业务在IP网络上的时钟恢复方法一般是在网络的接收端根据接收到的IP包地快慢来恢复发送端的时钟。图2显示了现有技术的时钟恢复装置的一般组成。该装置主要包括鉴相器、滤波装置、和数字振荡器。
鉴相器主要根据缓存数据的FIFO(先入先出缓冲器)的读时钟、写信号,计算FIFO中缓存的数据数量。
滤波装置根据FIFO缓存的数据数量和FIFO本身的容量(一般为FIFO的容量一半值)进行对比,根据两者的差值,按照一定的函数关系,输出一个滤波参数。
数字振荡器在参考时钟的作用下,根据滤波参数,恢复出发送端的时钟。
然而,由于IP网络传输数据具有很强的突发性,即接收端有时可能会接收多个数据包,有时又没有数据包接收,这样就会导致接收端恢复的时钟抖动性很大。
为了避免出现这种情况,一般在上述装置的滤波器中要采用比较复杂的滤波算法,将突发的数据包过滤掉,或者将应该发送来的数据包添加进来。由于IP网络的业务情况比较复杂,难以建立一个合适的模型,滤波器的参数调节起来也很困难。另一方面,由于IP网络的多变性,一个网络模型的参数不一定适合另外一个网络,因此这种采用滤波算法来避免接收端恢复时钟由于数据传输的突发性而产生抖动的方法在适应性方面比较差。
【发明内容】
针对TDM业务在IP网络中的时钟恢复的现有技术所存在的上述缺陷,本发明提出了一种新的对IP网络中的TDM业务进行时钟恢复的装置及其方法,以克服现有技术的缺陷,并具有实现比较简单、时钟恢复效果较好和时钟恢复范围大的优点。
为了实现本发明的上述目的,本发明提供一种对IP网络中的TDM业务进行时钟恢复的装置,该装置包括:鉴相器,滤波装置和数字振荡器。其特征在于,还包括一流量整形装置,用于对接收IP数据包进行流量整形;并且其中所述滤波装置为二级滤波装置,用于根据写信号和缓存数据数量来计算并输出滤波参数。
在本发明的一种实施方案中,所述流量整形装置包括:分频器,用于对参考时钟进行分频;令牌计数装置,用于根据分频器分频后的参考时钟,增加令牌数,和当接收端FIFO每发送一个数据时,使令牌计数值减一;控制装置,根据令牌计数值控制所述接收端FIFO的数据发送。
本发明另外还提供了一种对IP网络中的TDM业务进行时钟恢复的方法,该方法包括:1)对接收到的IP数据包进行流量整形后输出写信号;2)根据该写信号和数字振荡器输出的读时钟,求出FIFO(先入先出缓冲器)所缓存的数据量;3)根据所述写信号和所述求出的缓存数据量计算滤波参数;4)根据该滤波参数求出恢复的读时钟。
在本发明的一实施方案中,所述流量整形采用单漏桶算法实现。该单漏桶算法为:1-1)对参考时钟进行分频,以略大于发送端数据速率的均匀速率向漏桶中写入令牌;1-2)如果漏桶中有令牌,则发送在FIFO中缓存的接收数据,并对漏桶中的令牌进行计数;1-3)当漏桶中没有令牌时,FIFO停止发送数据。
在本发明的一实施方案中,所述FIFO缓冲器缓存的数据量通过如下方式求出:2-1)将所述读时钟转换为FIFO的读信号,与写信号一起输入至鉴相器中;2-2)将FIFO的读、写地址送到地址比较器进行比较;2-3)在定时器的控制下,定时输出FIFO缓存数据的数量。
在本发明的一个实施方案中,滤波参数通过如下方式求出:3-1)计算粗调参数K平均和微调参数ΔK;3-2)将粗调参数K平均和微调参数ΔK相加。其中,粗调参数K平均是通过在一段预定时间(例如以秒级为单位)内计算接收数据速率,并与先前计算的数据速率进行加权平均而求出的。微调参数则是这样来确定:在比为粗调参数计算接收数据速率所用的采样时间短的时间段内确定FIFO缓存的数据量,如果FIFO缓存的数据量超过FIFO缓存的一半时,加大FIFO的发送速率。如果接收端FIFO缓存的数据小于FIFO缓存的一半时,减小FIFO的发送速率。
本发明通过在现有的时钟恢复方法的基础上,采用流量整形和在滤波器中进行粗调+微调的两级时钟恢复方法,能够很好解决时钟恢复的抖动问题,并且本发明实现简单,适应性范围广,可以取得良好的时钟恢复效果。
【附图说明】
通过详细文字说明并结合以下附图,本发明的上述目的、特征及优点将变得更加易于理解,其中:
图1是说明TDM业务通过IP网络传输的网络模型示意图;
图2是说明现有技术的时钟恢复技术的示意图;
图3是说明根据本发明一实施方案的时钟恢复装置的示意图;
图4是说明根据本发明一实施方案的流量整形所采用的单漏桶算法的示意图;
图5是说明根据本发明一实施方案所采用的鉴相器工作原理的示意图;
图6是说明本发明一实施方案所采用的滤波器的工作原理的示意图;
图7是说明本发明一实施方案所采用的数字振荡器的原理示意图。
【具体实施方式】
下面结合附图说明本发明的优选实施方案。
图3是说明根据本发明一实施方案的时钟恢复装置的示意图。如图3所示,本发明从两个方面对现有的时钟恢复技术进行改善:1、在鉴相器之前,增加流量整形处理,对FIFO的接收数据进行流量整形处理后再输出写信号至鉴相器。2、滤波器采用了二级滤波方法。
在本发明的该实施方案中,流量整形装置可包括:分频器,用于对参考时钟进行分频;令牌计数装置,用于根据分频器分频后的参考时钟,增加令牌数,并且当接收端FIFO每发送一个数据时,使令牌计数值减一;控制装置,根据令牌计数值控制所述接收端FIFO的数据发送。
对FIFO接收的IP数据包进行流量整形的目的是要解决现有技术的时钟恢复方法不能很好地应对IP网络数据包的突发性的问题。在本发明的一实施方案中,流量整形采用了一种单漏桶算法。图4示意性地表示了该算法。
在这种单漏桶算法中,要先对参考时钟进行分频,以实现在均匀的速率下向漏桶中写入令牌。该令牌写入速率要略大于发送端的数据速率。通过调整参考时钟的分频系数可以适当地对该速率进行配置。
将接收的数据首先要写入FIFO中进行缓存。此时,如果漏桶中有令牌的话,FIFO就发送数据。FIFO每发送一个数据,漏桶中的令牌就“漏掉”一个(即对令牌计数器的计数值减一)。如果漏桶中没有令牌,就停止发送数据。通过这种方法,FIFO接收到的数据就比较均匀地发送到鉴相器。从而可以在一定程度上克服IP网络数据包的突发性对时钟恢复装置后续操作的影响。
在本发明中,鉴相器和数字振荡器仍采用现有技术中常规的鉴相器和数字振荡器。下面结合图5简要说明鉴相器的工作原理。
如图5所示,读时钟一般是频率为2M左右的时钟信号,它从FIFO中读出的信号是以比特(bit)为单位,而每次写入FIFO的写信号是以字节(Byte)为单位。所以首先要将数字振荡器恢复的读时钟通过时钟检测单元转换为FIFO的读信号,再输入至FIFO中。然后将FIFO的读、写地址送到地址比较器,根据FIFO读、写地址的比较结果求出FIFO缓存数据量。地址比较器在定时器的控制下,定时地输出所求出的FIFO缓存数据量。
数字振荡器是根据滤波器输出的滤波参数来恢复IP网络发送端的发送时钟的,显然滤波器是时钟恢复的关键,滤波器设计的好坏直接决定了时钟恢复的性能。如前所述,现有技术的滤波器为克服IP网络数据包的突发性所带来的恢复时钟抖动的问题,往往要采用复杂的滤波算法。在滤波参数的调整上比较困难,而且在适应多种IP网络方面性能也较差。因此,本发明的另一个重要特征就是设计出一种新的滤波方法。图6是该滤波方法的示意图。可以看出,与现有技术的滤波器中根据FIFO缓存的数据量和FIFO本身的容量之间差值来输出滤波参数的方法不同,采用本发明的滤波方法的滤波器是根据FIFO写信号和FIFO缓存数据的数量,来计算出滤波参数K。
根据本发明的滤波器采用的是两级时钟调节方法,即粗调+微调的方式。如前所述,IP网络传输数据存在突发性,因此在较长时间内的数据平均流量较之在短时间内的数据流量更能真实地反映发送端的数据速率。本发明中的粗调正是基于这一原理,粗调的方法是在较长的一段时间(以秒级为单位)内计算到达IP网络接收端的数据速率,并且和以前计算的数据速率进行加权平均。这样既可以保证恢复时钟的平滑性,抖动不会太大,又可以利用历史的数据,增加了计算平均速度的时间,使得平均速度的计算结果与发送端的速度更加接近。
本发明的微调的方法是在粗调的基础上,根据接收端FIFO缓存的数据多少来小范围地调节FIFO发送数据的速率。微调的响应速度较快,采样的时间是ms级。如果接收端FIFO缓存的数据超过FIFO缓存的一半时,加大FIFO的发送速率。如果接收端FIFO缓存的数据小于FIFO缓存的一半时,则减小FIFO的发送速率。
下面说明根据本发明一个实施例的滤波器输出参数的计算方法。该方法用如下公式计算滤波器输出参数K:
K=K平均+ΔK ------(1)
其中:K平均:粗调滤波器参数;
ΔK:微调滤波器参数;
为了使恢复处理的时钟速率抖动不至于太大,计算K平均时使用了前一次的K平均的值,并且所占的权重较大,K平均的具体计算公式如下:
其中:B:在Δt时间内通过FIFO的字节总数;
Δt:统计时间。
每Δt时间计算一次K平均的值。
ΔK主要起微调作用。如前所述,由于IP网络数据业务的突发性,如果采用长时间单一速率(即K平均)发送数据,会导致接收端FIFO溢出或者饿死,这样会出现误码或者其他错误,这对TDM业务是不允许的。ΔK的计算方法如下:
ΔK=f(ΔD) ------(3)
ΔD=D缓存-Dfifo一半 ------(4)
ΔD:FIFO缓存的字节数与FIFO的深度(即缓冲器容量)一半的差值;
D缓存:鉴相器输出的FIFO缓存数据数量;
Dfifo一半:FIFO深度的一半;
式中,f(ΔD)采用了分段函数;
如前所述,本发明中所使用的数字振荡器是常规的器件。以下结合图7简要说明,如图7所示,该数字振荡器由一个N比特加法器和N比特触发器组成。由滤波器输出的滤波参数K(=K平均+ΔK)和N比特触发器输出的累加结果SUM[N:0]输入至加法器中进行求和,N比特触发器输出的最高值SUM[N]即为恢复出的读时钟。
在不偏离本发明思想的对本发明技术方案的各种改型将落入本发明权利要求所限定的范围中。