一种时间转换方法和终端与流程

文档序号:12182103阅读:389来源:国知局
一种时间转换方法和终端与流程

本发明涉及移动通信系统的多模转换技术,尤其涉及一种时间转换方法和终端。



背景技术:

现代移动通信系统的终端大多支持多个模式,例如全球移动通信系统(Global System for Mobile Communication,GSM)、时分同步码分多址(Time Division-Synchronous Code Division Multiple Access,TD-SCDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、时分双工-长期演进(Time Division Duplexing Long Term Evolution,TDD-LTE)、频分双工-长期演进(Frequency Division Duplexing Long Term Evolution,FDD-LTE)等第二代到第四代移动通信系统模式,以满足不同地区不同网络覆盖条件下的通讯需要。当一个模式作为主模式在工作时,其他模式也要作为辅模式进行搜索和测量,以便在主模式信号不佳时尽快转换到信号较好的辅模式,从而不影响通讯质量。

多模终端控制芯片通过向射频资源控制芯片发送命令来控制射频资源的工作模式和状态。多模终端的每个模式有各自参考时钟下的定时器,每个模式在各自的定时器的指定时间触发的中断驱动下工作。由于多模终端只使用一个射频资源控制芯片和系统进行发送和接收,因此,射频资源芯片和系统同一时间段内只允许在一种模式下工作,当一种模式使用完射频资源关闭后,通过模式转换命令,另一种模式才可以打开并使用射频资源。由于各个模式的定时器的周期数不同、指定时间不同,这样,当定时器多周期循环后,可能会出现在一种模式使用射频资源的过程中,而另一个模式的定时器到达指定时间,由另一个模式向射频资源系统发送命令,如此,很可能造成射频资源芯片工作异常。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种时间转换方法和终端,能够保证各个模式使用射频资源的时间不重叠。

本发明的技术方案是这样实现的:

第一方面,提供一种时间转换方法,所述方法包括:

在预设周期内,保存第一模式定时器和第二模式定时器的当前计数值;

获取在所述第一模式的空闲时间起始时间点时,第一模式定时器的起始计数值;

根据所述第一模式定时器和所述第二模式定时器的当前计数值和所述起始计数值,确定出在所述第一模式的空闲时间起始时间点时,所述第二模式定时器的目标计数值;

当所述第二模式定时器记录到所述目标计数值时,生成模式转换命令,所述模式转换命令使所述第二模式打开并使用射频资源。

可选的,所述根据所述第一模式定时器和所述第二模式定时器的当前计数值和所述起始计数值,确定在所述第一模式的空闲时间起始时间点时,所述第二模式定时器的目标计数值包括:

确定所述第一模式定时器的当前计数值与所述起始计数值之间的第一计数差;

根据Tdelta2=T2*Tdelta1/T1,确定出所述第二模式定时器的当前计数值与所述目标计数值之间的第二计数差;

其中,所述Tdelta2是所述第二计数差;所述Tdelta1是所述第一时间差;所述T1是预设第一模式定时器每单位时间的计数值;所述T2是预设第二模式定时器每单位时间的计数值;

根据所述第二模式定时器的当前计数值与所述第二计数差,确定所述目标计数值。

可选的,所述确定所述第一模式定时器的当前计数值与所述起始计数值之 间的第一计数差包括:

判断所述第一模式定时器的当前计数值是否小于所述起始计数值;

若所述第一模式定时器的当前计数值小于所述起始计数值,根据Tdelta1=t2-t1,确定出所述第一计数差;

其中,所述t2是所述起始计数值,所述t1是所述第一模式定时器的当前计数值,所述T是所述第一模式定时器的预设最大计数值;

若所述第一模式定时器的当前计数值大于或等于所述起始计数值,根据Tdelta1=t2-t1+T,确定出所述第一计数差。

可选的,所述根据所述第二模式定时器的当前计数值与所述第二计数差,确定所述目标计数值包括:

将所述第二模式定时器的当前计数值与所述第二计数差相加,得到所述目标计数值;

判断所述目标计数值是否大于所述第二模式定时器的预设最大计数值;

所述目标计数值大于所述第二模式定时器的预设最大计数值时,将所述目标计数值减去所述第二模式定时器的预设最大计数值。

可选的,所述预设周期采用多模定时同步所需的精度。

第二方面,提供一种终端,所述终端包括:

保存模块,用于在预设周期内,保存第一模式定时器和第二模式定时器的当前计数值;

调度模块,用于获取在所述第一模式的空闲时间起始时间点时,第一模式定时器的起始计数值;根据所述第一模式定时器和所述第二模式定时器的当前计数值和所述起始计数值,确定在所述第一模式的空闲时间起始时间点时,所述第二模式定时器的目标计数值;当所述第二模式定时器记录到所述目标计数值时,生成模式转换命令,所述模式转换命令使所述第二模式打开并使用射频资源。

可选的,所述调度模块具体用于:

确定所述第一模式定时器的当前计数值与所述起始计数值之间的第一计数 差;

根据Tdelta2=T2*Tdelta1/T1,确定出所述第二模式定时器的当前计数值与所述目标计数值之间的第二计数差;

其中,所述Tdelta2是所述第二计数差;所述Tdelta1是所述第一时间差;所述T1是预设第一模式定时器每单位时间的计数值;所述T2是预设第二模式定时器每单位时间的计数值;

根据所述第二模式定时器的当前计数值与所述第二计数差,确定所述目标计数值。

可选的,所述调度模块还用于:

判断所述第一模式定时器的当前计数值是否小于所述起始计数值;

若所述第一模式定时器的当前计数值小于所述起始计数值,根据所述Tdelta1=t2-t1,确定出所述第一计数差;

其中,所述t2是所述起始计数值,所述t1是所述第一模式定时器的当前计数值,所述T是所述第一模式定时器的预设最大计数值;

若所述第一模式定时器的当前计数值大于或等于所述起始计数值,根据Tdelta1=t2-t1+T,确定出所述第一计数差。

可选的,所述调度模块还用于:

将所述第二模式定时器的当前计数值与所述第二计数差相加,得到所述目标计数值;

判断所述目标计数值是否大于所述第二模式定时器的预设最大计数值;

所述目标计数值大于所述第二模式定时器的预设最大计数值时,将所述目标计数值减去所述第二模式定时器的预设最大计数值。

可选的,所述预设周期采用多模定时同步所需的精度。

本发明实施例提供了一种时间转换方法和终端,在预设周期内,先保存第一模式定时器和第二模式定时器的当前计数值,并获取在第一模式的空闲时间起始时间点时,第一模式定时器的起始计数值;再根据第一模式定时器和第二模式定时器的当前计数值和起始计数值,确定出在第一模式的空闲时间起始时 间点时,第二模式定时器的目标计数值;之后,当第二模式定时器记录到目标计数值时,生成模式转换命令,所述模式转换命令使第二模式打开并使用射频资源。这样一来,终端就能够确定出第一模式的空闲时间起始时间点时,第一模式定时器的起始计数值和第二模式定时器的目标计数值,该目标计数值对应的时刻即为第二模式打开并使用射频资源的时刻,这样,就保证了只有第一模式使用完毕之后,第二模式才能使用射频资源,因此,不同模式使用射频资源的时间就不会重叠了。

附图说明

图1为本发明实施例提供的一种时间转换方法的流程图;

图2为本发明实施例提供的另一种时间转换方法的流程图;

图3为本发明实施例提供的一种终端的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施例提供一种时间转换方法,应用于终端,该终端可以包括能够进行通信的设备,例如智能手机、平板电脑等,且该终端是至少两个模式的终端。如图1所示,该方法可以包括:

步骤101、在预设周期内,保存第一模式定时器和第二模式定时器的当前计数值。

本实施例中,当第一模式是主模式时,第二模式是辅模式;当第一模式是主模式,第二模式是辅模式。且主模式只能是一种,辅模式可以是除主模式之外的其他模式中的一种模式,这些其他模式可以轮询作为辅模式。

这里,本实施例按照预设周期t来保存当前计数值,该t按照多模定时同步所需的精度来确定,优选的,t的取值采用多模同步所需的精度,例如,当模同步所需的精度为1us,那么t的取值应为1us。

值得说明的,为了保证当前计数值是在稳定情况下的计数值,第一模式定时器和第二模式定时器的当前计数值保存在由寄存器指示的乒乓RAM中的一个。

步骤102、获取在第一模式的空闲时间起始时间点时,第一模式定时器的起始计数值。

这里,第一模式的空闲时间的起始时间点是指第一模式射频结束使用射频资源,且第一模式和第二模式之间保护时间经历过去的时间点。

步骤103、根据第一模式定时器和第二模式定时器的当前计数值和起始计数值,确定出在第一模式的空闲时间起始时间点时,第二模式定时器的目标计数值。

具体的,终端确定第一模式定时器的当前计数值与起始计数值之间的第一计数差;根据Tdelta2=T2*Tdelta1/T1,确定出第二模式定时器的当前计数值与目标计数值之间的第二计数差;根据第二模式定时器的当前计数值与所述第二计数差,确定所述目标计数值;

其中,Tdelta2是第二计数差;Tdelta1是第一计数差;T1是预设第一模式定时器每单位时间的计数值;T2是预设第二模式定时器每单位时间的计数值。

进一步的,所述确定第一模式定时器的当前计数值与起始计数值之间的第一计数差可以包括:判断第一模式定时器的当前计数值是否小于起始计数值;若第一模式定时器的当前计数值小于起始计数值,根据Tdelta1=t2-t1,确定出第一计数差,其中,t2是起始计数值,t1是第一模式定时器的当前计数值,T是第一模式定时器的预设最大计数值;若第一模式定时器的当前计数值大于或等于起始计数值,根据Tdelta1=t2-t1+T,确定出第一计数差。

进一步的,所述根据第二模式定时器的当前计数值与第二计数差,确定目标计数值包括:将第二模式定时器的当前计数值与第二计数差相加,得到目标计数值;判断目标计数值是否大于所述第二模式定时器的预设最大计数值;当目标计数值大于第二模式定时器的预设最大计数值时,将所述目标计数值减去所述第二模式定时器的预设最大计数值。

步骤104、当第二模式定时器记录到目标计数值时,生成模式转换命令,所述模式转换命令使第二模式打开并使用射频资源。

这样一来,终端就能够确定出第一模式的空闲时间起始时间点时,第一模式定时器的起始计数值和第二模式定时器的目标计数值,该目标计数值对应的时刻即为第二模式打开并使用射频资源的时刻,这样,就保证了只有第一模式使用完毕之后,第二模式才能使用射频资源,因此,不同模式使用射频资源的时间就不会重叠了。

实施例二

本发明实施例提供一种时间转换方法,该方法应用于终端,该终端至少存在两个模式,假设第一模式是主模式TD-SCDMA模式和第二模式是辅模式WCDMA模式。如图2所示,该方法可以包括:

步骤201、获取主模式定时器和辅模式定时器的计数值t1和t3。

在多模终端的工作过程中,每个模式有独立工作的定时器,根据每个模式的时间格式进行循环计数。不同模式定时器的时间格式是不相同的,例如TD-SCDMA模式按照其8192subsfn*6400chip进行计数,WCDMA模式按照4096sfn*38400chip进行计数。

该终端可以包括保存模块和调度模块。其中,保存模块每隔一个预设周期t对每个模式定时器的计数锁定,将每个模式定时器的数据存放在乒乓RAM中的一个中,并通过一个寄存器指示当前保存的数据放在哪一个RAM中。调度模块从保存模块中同时读取主模式定时器的锁定值t1和辅模式定时器的锁定值t3。值得说明的是,设计乒乓RAM的原因是RAM存在硬件锁存稳定期,当所存的数据稳定后才可以被读取。这里,t的长度根据多模定时同步所需的精度确定。例如同步精度需要为1us,那么t的取值应为1us。

步骤202、获取主模式定时器的起始计数值t2。

主模式根据自身调度获得在所述第一模式的空闲时间起始时间点时,第一模式定时器的起始计数值,提前上报给调度模块。

步骤203、计算t1和t2的第一计数差Tdelta1。

因为空闲时间应该是提前规划的关系,从时间上看t2应该大于t1,但由于主模式定时器是循环的,需要对其进行适当转换后才能取得正确差值。例如,当t1大于或等于t2时,Tdelta1=t2-t1+T,其中,T是主模式定时器的预设最大计数值;当t1小于t2,Tdelta1=t2-t1。

步骤204、根据Tdelta2=T2*Tdelta1/T1,确定出辅模式定时器中与Tdelta1对应的第二计数差值Tdelta2。

调度模块需要将主模式差值Tdelta1转化为辅模式差值Tdelta2。具体的,将Tdelta1除以主模式定时器每个单位时间计数值T1,再乘以辅模式定时器每个单位时间计数值T2。因此,总结出:Tdelta2=T2*Tdelta1/T1。

例如TD-SCDMA模式每1ms计数值为1280chip,WCDMA模式每1ms计数值为3840chip,LTE模式每1ms计数值为30720tick。因此,总结出转换公式:

步骤205、根据Tdelta2与t3确定与起始计数值对应的目标计数值t4。

具体的,调度模块计算t4=Tdelta2+t3,判断t4是否大于第二模式定时器的预设最大计数值,若大于,则t4减去第二模式定时器的预设最大计数值,若小于等于,则t4保持不变。

步骤206、当第二模式定时器记录到所述目标计数值时,终端生成模式转换命令。

这里,所述模式转换命令使所述第二模式打开并使用射频资源。

由于射频资源控制命令交互和稳定需要一定时间,因此主辅模式打开和关闭射频资源时均应该留一定的射频资源保护时间。保护时间的长短与通讯速率和射频资源芯片稳定特性相关。主模式在TDELTA1时间关闭射频资源,辅模式在T4时间+主模射频资源关闭保护时间后操作打开射频资源。辅模式使用射频资源结束后,应在空闲时间结束提前辅模射频资源关闭+主模射频资源打开保护时间之前关闭射频资源,主模式在空闲时间结束提前主模射频资源打开保护时间打开射频资源,以保证正常接收。

实施例三

本发明实施例提供一种终端30,如图3所示,所述终端30包括:

保存模块301,用于在预设周期内,保存第一模式定时器和第二模式定时器的当前计数值。

调度模块302,用于获取在所述第一模式的空闲时间起始时间点时,第一模式定时器的起始计数值;根据所述第一模式定时器和所述第二模式定时器的当前计数值和所述起始计数值,确定在所述第一模式的空闲时间起始时间点时,所述第二模式定时器的目标计数值;当所述第二模式定时器记录到所述目标计数值时,生成模式转换命令,所述模式转换命令使所述第二模式打开并使用射频资源。

这样一来,终端就能够确定出第一模式的空闲时间起始时间点时,第一模式定时器的起始计数值和第二模式定时器的目标计数值,该目标计数值对应的时刻即为第二模式打开并使用射频资源的时刻,这样,就保证了只有第一模式使用完毕之后,第二模式才能使用射频资源,因此,不同模式使用射频资源的时间就不会重叠了。

进一步的,所述调度模块302具体用于:

确定所述第一模式定时器的当前计数值与所述起始计数值之间的第一计数差;

根据Tdelta2=T2*Tdelta1/T1,确定出所述第二模式定时器的当前计数值与所述目标计数值之间的第二计数差;

其中,所述Tdelta2是所述第二计数差;所述Tdelta1是所述第一时间差;所述T1是预设第一模式定时器每单位时间的计数值;所述T2是预设第二模式定时器每单位时间的计数值;

根据所述第二模式定时器的当前计数值与所述第二计数差,确定所述目标计数值。

进一步的,所述调度模块还用于:

判断所述第一模式定时器的当前计数值是否小于所述起始计数值;

若所述第一模式定时器的当前计数值小于所述起始计数值,根据所述Tdelta1=t2-t1,确定出所述第一计数差;

其中,所述t2是所述起始计数值,所述t1是所述第一模式定时器的当前计数值,所述T是所述第一模式定时器的预设最大计数值;

若所述第一模式定时器的当前计数值大于或等于所述起始计数值,根据Tdelta1=t2-t1+T,确定出所述第一计数差。

进一步的,所述调度模块还用于:

将所述第二模式定时器的当前计数值与所述第二计数差相加,得到所述目标计数值;

判断所述目标计数值是否大于所述第二模式定时器的预设最大计数值;

所述目标计数值大于所述第二模式定时器的预设最大计数值时,将所述目标计数值减去所述第二模式定时器的预设最大计数值。

进一步的,所述预设周期采用多模定时同步所需的精度。

在实际应用中,保存模块301、调度模块302均可由位于终端30中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

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