同步至少两套时间驱动引擎的系统和方法与流程

文档序号:11622344阅读:182来源:国知局
同步至少两套时间驱动引擎的系统和方法与流程
同步至少两套时间驱动引擎的系统和方法相关申请的交叉引用本申请要求于2012年3月6目递交的第61/607,132号美国临时申请的优先权,其公开内容通过引用的方式全部并入于此。技术领域本发明各实施方式涉及通信领域,并且更具体地涉及同步至少两套时间驱动引擎的系统和方法。

背景技术:
在时分多址TDMA或时分双工TDD系统,例如时分同步码分多址TD-SCDMA系统中,对各种时序的控制非常严格。可以说能否控制好各种时序是实现TD-SCDMA系统的关键。在这种情况下,时间驱动引擎有非常重要的作用,它提供诸如基带、功率放大器和射频等各个硬件模块的开关时间。一般情况下,一个小型的TD-SCDMA系统只需要一套时间驱动引擎。但是在一些特殊的情况下,可能需要两套或更多套时间驱动引擎。例如基站通过下行双载波向一个用户设备UE提供两个下行通道,这时候可以给每个下行通道一套时间驱动引擎,分别负责各个通道的时序。尽管一个基站和UE有两套时间驱动引擎,但是由于TD-SCDMA系统的同步要求,这两套时间驱动引擎必须保持同步,也就是说这两套时间驱动引擎必须有相同的时间计数值。

技术实现要素:
根据本发明的一个方面,提出了一种用于同步至少两套时间驱动引擎的系统,其中所述至少两套时间驱动引擎共享一个时钟输入,所述至少两套时间驱动引擎中的一套作为基准时间驱动引擎,而其他套作为可以通过调整而与所述基准时间驱动引擎同步的可调时间驱动引擎,所述至少两套时间驱动引擎分别具有一个第一寄存器,随着每个时钟输入周期的消逝,其值增加1,其中同步的目的是使得至少两个第一寄存器的值相等;所述系统包括:至少一个第二寄存器,用于相应可调时间驱动引擎,用于在所述基准时间驱动引擎的第一寄存器的值与相应可调时间驱动引擎的第一寄存器的值不相等时,存储一个触发调整的值;至少一个第三寄存器,用于相应可调时间驱动引擎,用于在所述基准时间驱动引擎的第一寄存器的值与相应可调时间驱动引擎的第一寄存器的值不相等时,存储所述触发调整的值与所述基准时间驱动引擎的第一寄存器的值和相应可调时间驱动引擎的第一寄存器的值之间的差值这两者之和;确定单元,用于确定所述基准时间驱动引擎的第一寄存器的值和相应可调时间驱动引擎的第一寄存器的值之间的差值;以及控制单元,用于控制所述至少一个第二寄存器和至少一个第三寄存器中值的存储,以及当相应可调时间驱动引擎的第一寄存器的值随着每个时钟输入周期的消逝,增加到所述相应可调时间驱动引擎的第二寄存器中存储的所述触发调整的值时,将所述相应可调时间驱动引擎的第一寄存器的值由所述相应可调时间驱动引擎的第三寄存器中的值替代。根据本发明的第二方面,提出了一种用于同步至少两套时间驱动引擎的方法,其中所述至少两套时间驱动引擎共享一个时钟输入,所述至少两套时间驱动引擎中的一套作为基准时间驱动引擎,而其他套作为可以通过调整而与所述基准时间驱动引擎同步的可调时间驱动引擎,所述至少两套时间驱动引擎分别具有一个第一寄存器,随着每个时钟输入周期的消逝,其值增加1,其中同步的目的是使得至少两个第一寄存器的值相等,所述方法包括:利用至少一个第二寄存器,用于相应可调时间驱动引擎,用于在所述基准时间驱动引擎的第一寄存器的值与相应可调时间驱动引擎的第一寄存器的值不相等时,存储一个触发调整的值;利用至少一个第三寄存器,用于相应可调时间驱动引擎,用于在所述基准时间驱动引擎的第一寄存器的值与相应可调时间驱动引擎的第一寄存器的值不相等时,存储所述触发调整的值与所述基准时间驱动引擎的第一寄存器的值和相应可调时间驱动引擎的第一寄存器的值之间的差值这两者之和;确定所述基准时间驱动引擎的第一寄存器的值和相应可调时间驱动引擎的第一寄存器的值之间的差值;以及控制所述至少一个第二寄存器和至少一个第三寄存器中值的存储,以及当相应可调时间驱动引擎的第一寄存器的值随着每个时钟输入周期的消逝,增加到所述相应可调时间驱动引擎的第二寄存器中存储的所述触发调整的值时,将所述相应可调时间驱动引擎的第一寄存器的值由所述相应可调时间驱动引擎的第三寄存器中的值替代。根据本发明,能实现至少两套时间驱动引擎之间的同步。附图说明结合附图并参考以下详细说明,本发明各实施方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本发明的若干实施方式。在附图中:图1示出了本发明可以在其中实施的无线通信系统;图2示出了根据本发明的一个实施方式的用于同步两套时间驱动引擎的系统的框图;图3示出了根据本发明的又一个实施方式的用于同步两套时间驱动引擎的系统的框图;图4示出了根据本发明的又一个实施方式的用于同步两套时间驱动引擎的系统的框图;以及图5示出了根据本发明的一个实施方式的用于同步两套时间驱动引擎的方法的流程图。在所有的上述附图中,相同的标号表示具有相同、相似或相应的特征或功能。具体实施方式以下参照附图详细描述本发明的各实施方式。图1示出了本发明可以在其中实施的无线通信系统100。如图1所示,该无线通信系统100包括对应于第一小区的第一基站110,对应于第二小区的第二基站120、用户设备130和140。第一基站110提供第一覆盖范围110-a,第二基站120提供第二覆盖范围120-a。这里,假定用户设备130在第一覆盖范围110-a内。因此,用户设备130通过无线链路150与第一基站110进行通信。用户设备140在第二覆盖范围120-a内。因此,用户设备140通过无线链路160与第二基站120进行通信。另外,第一基站110和第二基站120之间通过回程链路170进行通信。回程链路170可以是有线的,也可以是无线的。这里,假定第一基站110和第二基站120是时分多址TDMA或时分双工TDD系统,例如TD-SCDMA系统中的基站,并且假定第一基站110和第二基站120是相邻小区的基站。根据本发明的用于同步至少两套时间驱动引擎的系统和方法可以实现在第一基站110和/或第二基站120中以及用户设备130和/或140中。当然,本领域的技术人员可以理解,无线通信系统100中还可以包括更多或更少的基站、更多或更少的用户设备。图2示出了根据本发明的一个实施方式的用于同步两套时间驱动引擎的系统200的框图。这里需要指出的,为了简单起见,图2中只示出了对两套时间驱动引擎进行同步。本领域的技术人员应该理解,本发明完全适用于对更多套时间驱动引擎进行同步。如图200所示,两套时间驱动引擎210和220共享一个时钟输入205,所述两套时间驱动引擎210和220中的一套时间驱动引擎作为基准时间驱动引擎,而另一套时间驱动引擎作为可以通过调整而与所述基准时间驱动引擎同步的可调时间驱动引擎。不失一般性,这里假定时间驱动引擎210为基准时间驱动引擎,而时间驱动引擎220为可调时间驱动引擎。在同步多于两套的时间驱动引擎的情况下,其中一套时间驱动引擎作为基准时间驱动引擎,而其他套时间驱动引擎作为可以通过调整而与所述基准时间驱动引擎同步的可调时间驱动引擎。两套时间驱动引擎210和220分别具有第一寄存器211和221,随着每个时钟输入周期205的消逝,其值增加1,其中同步的目的是使得所述两个第一寄存器211和221的值相等。所述系统200包括:第二寄存器222,用于可调时间驱动引擎220,用于在所述基准时间驱动引擎210的第一寄存器211的值与可调时间驱动引擎220的第一寄存器221的值不相等时,存储一个触发调整的值;第三寄存器223,用于可调时间驱动引擎220,用于在所述基准时间驱动引擎210的第一寄存器211的值与可调时间驱动引擎220的第一寄存器221的值不相等时,存储所述触发调整的值与所述基准时间驱动引擎210的第一寄存器211的值和可调时间驱动引擎220的第一寄存器221的值之间的差值这两者之和;确定单元230,用于确定所述基准时间驱动引擎210的第一寄存器211的值和可调时间驱动引擎220的第一寄存器221的值之间的差值;以及控制单元240,用于控制所述第二寄存器222和第三寄存器223中值的存储,以及当可调时间驱动引擎220的第一寄存器221的值随着每个时钟输入周期的消逝,增加到所述可调时间驱动引擎220的第二寄存器222中存储的所述触发调整的值时,将所述可调时间驱动引擎220的第一寄存器221的值由所述可调时间驱动引擎220的第三寄存器223中的值替代。根据本发明的该实施方式,以硬件方式来实现两套时间驱动引擎210和220之间的同步。根据该实施方式,系统200还包括两个第四寄存器214和224,分别用于时间驱动引擎210和220,用于响应于一个锁存信号(例如来自控制单元240),同时地分别保存所述两个第一寄存器211和221中的值。其中,所述确定单元230通过计算所述基准时间驱动引擎210的第四寄存器214的值和可调时间驱动引擎220的第四寄存器224的值之间的差值,来确定所述基准时间驱动引擎210的第一寄存器211的值和可调时间驱动引擎220的第一寄存器221的值之间的差值。两套时间驱动引擎210和220之间的同步过程具体如下:(1):控制单元240发出锁存信号,这个时候两套时间驱动引擎210和220的第一寄存器(寄存器Base_CNT)211和221的值同步地分别保存到第四寄存器214和224(寄存器Latch_CNT)中。(2):由于两个第四寄存器214和224的值是在同一时刻下捕获的,确定单元230通过计算这两个值的差值就可以知道两套时间驱动引擎210和220的第一寄存器211和221之间的计数偏移。设基准时间驱动引擎210的第四寄存器214的值为TDMA1_Latch_CNT_VAL,可调时间驱动引擎220的第四寄存器224的值为TDMA2_Latch_CNT_VAL,它们之间的差值为ΔVal=TDMA1_Latch_CNT_VAL-TDMA2_Latch_CNT_VAL。不失一般性,假设TDMA1_Latch_CNT_VAL大于TDMA2_Latch_CNT_VAL。(3):通过(2)可以知道基准时间驱动引擎210的第一寄存器211的值比可调时间驱动引擎220的第一寄存器221的值大ΔVal。为了使这两套时间驱动引擎210和220同步,根据该实施方式,使可调时间驱动引擎220的第一寄存器221的值增大ΔVal。(4):进行可调时间驱动引擎220的第一寄存器221的值的调整。将可调时间驱动引擎220的第二寄存器222(寄存器ADJUST_CNT)的值初始化为一个大于当前的可调时间驱动引擎220的第一寄存器221的值,例如为ADJUST_CNT_VAL。将可调时间驱动引擎220的第三寄存器223(寄存器INIT_CNT)的值设为(ADJUST_CNT_VAL+ΔVal)。当可调时间驱动引擎220的第一寄存器221的值增长到ADJUST_CNT_VAL的时候,将可调时间驱动引擎220的第三寄存器223(为ADJUST_CNT_VAL+ΔVal)的值保存到可调时间驱动引擎220的第一寄存器221中。这样就实现了可调时间驱动引擎220的第一寄存器221的值增加了ΔVal,进而实现了两套时间驱动引擎210和220之间的同步。根据本发明的另一个实施方式,以软件方式实现两套时间驱动引擎210和220之间的同步。软件同步两套时间驱动引擎210和220可以减少两套时间驱动引擎210和220中的锁存信号连接,并省略第四寄存器214和224,因此可以节省硬件资源。图3示出了以软件方式同步两套时间驱动引擎的系统300的框图。与图2所示的以硬件方式同步两套时间驱动引擎的系统200相比较,系统300没有两套时间驱动引擎中的锁存信号连接,并且没有第四寄存器214和224。由上文关于以硬件方式同步两套时间驱动引擎可以知道同步两套时间驱动引擎的关键是找出两套时间驱动引擎在同一时刻的第一寄存器之间的差值。以软件方式同步两套时间驱动引擎和以硬件方式同步两套时间驱动引擎的区别之一在于此,其他过程可以是一样的。以软件方式同步两套时间驱动引擎的具体过程如下。假设确定单元230作为一个软件运行在某个型号的CPU上,该CPU的频率为Fcpu,两套时间驱动引擎210和220的时钟输入的频率为Ftdma,且Fcpu远大于Ftdma。(1):确定单元230第一次读取CPU的计数,设为Tc1。(2):随后立即地,确定单元230读取基准时间驱动引擎210的第一寄存器211的值,设为TDMA1_Latch_CNT_VAL。(3):确定单元230第二次读取CPU的计数,设为Tc2。(4):随后立即地,确定单元230读取可调时间驱动引擎220的第一寄存器221的值,设为TDMA2_Latch_CNT_VAL。(5):确定单元230计算两套时间驱动引擎210和220的第一寄存器211和212的值之间的差值为ΔVal=TDMA1_Latch_CNT_VAL+((Tc2-Tc1)/(Fcpu/Ftdma))-TDMA2_Latch_CNT_VAL。(6):在得到ΔVal之后,就可以通过以硬件方式同步两套时间驱动引擎210和220过程中的(3)和(4)两个操作来同步两套时间驱动引擎210和220。在一个实施方式中,为了达到最佳的效果,上述的(1)和(3)中的第一次读取和第二次读取使用同一个函数,(2)和(4)中的读取第一寄存器211和221的值也使用同一个函数,并且高速缓存(cache)需要关闭。软件同步两套时间驱动引擎的一个重要方面是利用CPU的Fcpu远大于时间驱动引擎的时钟输入的频率Ftdma来抵消软件读取带来的计数误差。图4示出了根据本发明的又一个实施方式的同步两套时间驱动引擎的系统400的框图。与图2所示的同步两套时间驱动引擎的系统200相比较,在系统400中,基准时间驱动引擎210也有第二寄存器212和第三寄存器213。对于对更多套时间驱动引擎进行同步的情况,基准时间驱动引擎210与每个其他可调时间驱动引擎之间的同步处理,与上面所描述的基准时间驱动引擎210和可调时间驱动引擎220之间的同步处理相类似,并且基准时间驱动引擎210与每个可调时间驱动引擎之间的同步处理可以同时地进行。也就是说,在对更多套时间驱动引擎进行同步的系统中,还包括用于相应其他可调驱动引擎的第二寄存器和第三寄存器,并且有可能包括用于相应其他可调驱动引擎的第四寄存器。图5示出了根据本发明的一个实施方式的用于同步至少两套时间驱动引擎的方法500的流程图。所述至少两套时间驱动引擎共享一个时钟输入,所述至少两套时间驱动引擎中的一套作为基准时间驱动引擎,而其他套作为可以通过调整而与所述基准时间驱动引擎同步的可调时间驱动引擎,所述至少两套时间驱动引擎分别具有一个第一寄存器,随着每个时钟输入周期的消逝,其值增加1,其中同步的目的是使得至少两个第一寄存器的值相等。所述方法500包括:步骤S510,利用至少一个第二寄存器,用于相应可调时间驱动引擎,用于在所述基准时间驱动引擎的第一寄存器的值与相应可调时间驱动引擎的第一寄存器的值不相等时,存储一个触发调整的值;步骤S520,利用至少一个第三寄存器,用于相应可调时间驱动引擎,用于在所述基准时间驱动引擎的第一寄存器的值与相应可调时间驱动引擎的第一寄存器的值不相等时,存储所述触发调整的值与所述基准时间驱动引擎的第一寄存器的值和相应可调时间驱动引擎的第一寄存器的值之间的差值这两者之和;步骤S530,确定所述基准时间驱动引擎的第一寄存器的值和相应可调时间驱动引擎的第一寄存器的值之间的差值;以及步骤S540,控制所述至少一个第二寄存器和至少一个第三寄存器中值的存储,以及当相应可调时间驱动引擎的第一寄存器的值随着每个时钟输入周期的消逝,增加到所述相应可调时间驱动引擎的第二寄存器中存储的所述触发调整的值时,将所述相应可调时间驱动引擎的第一寄存器的值由所述相应可调时间驱动引擎的第三寄存器中的值替代。根据本发明的一个实施方式,方法500还包括:步骤S522,利用至少两个第四寄存器,分别用于所述至少两套时间驱动引擎,用于响应于一个锁存信号,同时地分别保存所述至少两个第一寄存器中的值;在该实施方式中,在步骤S530中,通过计算所述基准时间驱动引擎的第四寄存器的值和相应可调时间驱动引擎的第四寄存器的值之间的差值,来确定所述基准时间驱动引擎的第一寄存器的值和相应可调时间驱动引擎的第一寄存器的值之间的差值。根据本发明的一个实施方式,在步骤S530中,通过在第一次读取CPU的计数之后读取所述基准时间驱动引擎的第一寄存器的值,在第二次读取CPU的计数之后读取相应可调时间驱动引擎的第一寄存器的值,并根据所述CPU的时钟频率和所述时钟输入的频率,来确定所述基准时间驱动引擎的第一寄存器的值和相应可调时间驱动引擎的第一寄存器的值之间的差值。根据本发明的一个实施方式,第一次读取CPU的计数和第二次读取CPU的计数所采用的函数相同,并且读取所述基准时间驱动引擎的第一寄存器的值和读取相应可调时间驱动引擎的第一寄存器的值所采用的函数相同。根据本发明的一个实施方式,所述时间驱动引擎是时分多址TDMA或时分双工TDD系统,例如TD-SCDMA系统中的时间驱动引擎。根据本发明的一个实施方式,所述方法500还包括:步骤S524,针对所述基准时间驱动引擎利用第二寄存器和第三寄存器。应当注意,为了使本发明更容易理解,上面的描述省略了对于本领域的技术人员来说是公知的、并且对于本发明的实现可能是必需的更具体的一些技术细节。因此,选择并描述实施方式是为了更好地解释本发明的原理及其实际应用,并使本领域普通技术人员明白,在不脱离本发明实质的前提下,所有修改和变更均落入由权利要求所限定的本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1