首页> 中国专利> 芯片时钟源的计时校准方法、装置及带有时钟源的芯片

芯片时钟源的计时校准方法、装置及带有时钟源的芯片

摘要

本申请涉及一种芯片时钟源的计时校准方法、装置及带有时钟源的芯片,所述方法包括:首先根据预获取的第一振荡器的计时时基和预获取的目标时长,确定计时到目标时长所需的循环次数,其中,每一次循环周期为一个计时时基;当执行到第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,然后再获取经过第i次循环后的时钟误差总和,最后根据时钟误差总和以及计时时基,调整当前的循环次数,而调整循环次数便是对第一振荡器的计时过程进行校准,由于整个校准过程是以芯片内第二振荡器为基准的,无需外接振荡器,因此,可以以较低的成本对计时过程进行校准。

著录项

  • 公开/公告号CN112506266A

    专利类型发明专利

  • 公开/公告日2021-03-16

    原文格式PDF

  • 申请/专利权人 珠海格力电器股份有限公司;

    申请/专利号CN202011386719.5

  • 发明设计人 梁炯辉;李秀菲;周婷;

    申请日2020-12-01

  • 分类号G06F1/02(20060101);G06F1/10(20060101);

  • 代理机构11662 北京华夏泰和知识产权代理有限公司;

  • 代理人卢万腾;刘蔓莉

  • 地址 519070 广东省珠海市前山金鸡西路

  • 入库时间 2023-06-19 10:16:30

说明书

技术领域

本申请涉及振荡器技术领域,尤其涉及一种芯片时钟源的计时校准方法、装置及带有时钟源的芯片。

背景技术

芯片的时钟源包括高速振荡器和低速振荡器,高速振荡器和低速振荡器都是为了给芯片提供实时时钟,唤醒芯片进行工作。目前,带有芯片的设备往往会具有低功耗的需求,而芯片中高速振荡器的功耗要比低速振荡器的功耗高,在设备有低功耗需求时,需要将芯片设置为低功耗模式,此时,芯片中只能有低速振荡器可以用来提供实时时钟,用来计时,而芯片中的低速振荡器的精度较低,会影响计时的准确性,而外接高精度低速振荡器会具有较高的成本,因此,在利用芯片时钟源计时的过程中,如何低成本校准计时时间是本领域亟需解决的问题。

发明内容

为克服相关技术中存在的芯片中的低速振荡器的精度较低,会影响计时的准确性,而外接高精度低速振荡器会具有较高成本的问题,本申请提供一种芯片时钟源的计时校准方法、装置及带有时钟源的芯片。

根据本申请的第一方面,提供一种芯片时钟源的计时校准方法,包括:

根据预获取的芯片内第一振荡器的计时时基和预获取的所述目标时长,确定计时到所述目标时长所需的循环次数,每一次循环周期为一个所述计时时基;

当执行至第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,其中,i为正整数;

获取经过第i次循环后的时钟误差总和,其中,所述时钟误差总和为第i-1次循环的时钟误差总和与第i次循环的时钟误差之和;

根据所述第i次循环的时钟误差总和以及所述计时时基,调整当前的所述循环次数,以对所述第一振荡器的计时过程进行校准。

在一个可选的实施例中,所述第一振荡器的计时时基,根据预设定的所述第一振荡器产生的第一波形的数量,和所述第一波形的频率确定的。

在一个可选的实施例中,所述以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,具体包括:

获取所述第一振荡器的第i次循环周期中第二振荡器实际产生的第二波形实际数量,以及获取所述第i次循环周期内第二振荡器理论上产生的第二波形理论数量;

根据所述第二波形实际数量和所述第二波形理论数量,确定第一振荡器在第i次循环周期中产生的第i时钟误差。

在一个可选的实施例中,所述获取所述第i次循环周期内第二振荡器理论上产生的第二波形理论数量,具体包括:

获取第一振荡器在第i次循环周期中产生的第一波形数量;

将所述第一波形数量、预获取的所述第一振荡器产生的第一波形的频率以及预获取的所述第二振荡器产生的第二波形的频率输入到预设公式中,得到所述第二波形理论数量。

在一个可选的实施例中,所述预设公式为:

在一个可选的实施例中,所述根据所述第i次循环的时钟误差总和以及所述计时时基,调整当前的所述循环次数,以对所述第一振荡器的计时过程进行校准,具体包括:

若所述第i次循环的时钟误差总和大于所述第二波形理论数量,对当前的所述循环次数增加预设值,并将所述第i次循环的时钟误差总和更新为所述第i次循环的时钟误差总和与第二波形理论数量的差;

若所述第i次循环的时钟误差小于所述第二波形理论数量的相反数,对当前的所述循环次数减小预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差。

在一个可选的实施例中,在所述获取所述第i次循环周期内第二振荡器理论上产生的第二波形理论数量后,且在所述根据所述第二波形实际数量和所述第二波形理论数量,确定第一振荡器在第i次循环周期中产生的第i时钟误差之前,所述方法还包括:

获取当前的环境温度;

根据预设的温度与频率误差对照表,确定所述当前的环境温度对应的频率误差;

根据所述频率误差,对所述第二波形理论数量进行补偿。

根据本申请的第二方面,提供一种芯片时钟源的计时校准装置,所述装置包括:

确定模块,用于根据预获取的芯片内第一振荡器的计时时基和预获取的所述目标时长,确定计时到所述目标时长所需的循环次数,每一次循环周期为一个所述计时时基;

第一获取模块,用于当执行至第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,其中,i为正整数;

第二获取模块,用于获取经过第i次循环后的时钟误差总和,其中,所述时钟误差总和为第i-1次循环的时钟误差总和与第i次循环的时钟误差之和;

校准模块,用于根据所述第i次循环的时钟误差总和以及所述计时时基,调整当前的所述循环次数,以对所述第一振荡器的计时过程进行校准。

在一个可选的实施例中,所述第一振荡器的计时时基,根据预设定的所述第一振荡器产生的第一波形的数量,和所述第一波形的频率确定的。

在一个可选的实施例中,所述第一获取模块,包括:

第一获取单元,用于获取所述第一振荡器的第i次循环周期中第二振荡器实际产生的第二波形实际数量,以及获取所述第i次循环周期内第二振荡器理论上产生的第二波形理论数量;

第一确定单元,用于根据所述第二波形实际数量和所述第二波形理论数量,确定第一振荡器在第i次循环周期中产生的第i时钟误差。

在一个可选的实施例中,所述第一获取单元包括:

获取子单元,用于获取第一振荡器在第i次循环周期中产生的第一波形数量;

处理子单元,用于将所述第一波形数量、预获取的所述第一振荡器产生的第一波形的频率以及预获取的所述第二振荡器产生的第二波形的频率输入到预设公式中,得到所述第二波形理论数量。

在一个可选的实施例中,所述预设公式为:

在一个可选的实施例中,所述校准模块,包括:

第一校准单元,用于若所述第i次循环的时钟误差总和大于所述第二波形理论数量,对当前的所述循环次数增加预设值,并将所述第i次循环的时钟误差总和更新为所述第i次循环的时钟误差总和与第二波形理论数量的差;

第二校准单元,用于若所述第i次循环的时钟误差小于所述第二波形理论数量的相反数,对当前的所述循环次数减小预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差。

在一个可选的实施例中,所述装置还包括:

第二获取单元,用于获取当前的环境温度;

第二确定单元,用于根据预设的温度与频率误差对照表,确定所述当前的环境温度对应的频率误差;

补偿单元,用于根据所述频率误差,对所述第二波形理论数量进行补偿。

根据本申请的第三方面,提供一种带有时钟源的芯片,包括:至少一个处理器和存储器;

所述处理器用于执行所述存储器中存储的芯片时钟源的计时校准程序,以实现本申请第一方面所述的芯片时钟源的计时校准方法。

根据本申请的第四方面,提供一种存储介质,所述计算机存储介质存储有一个或者多个程序,所述一个或者多个程序被执行时,实现本申请第一方面所述的芯片时钟源的计时校准方法。

本申请提供的技术方案可以包括以下有益效果:由于利用第一振荡器计时到目标时长的过程,是对第一振荡器经过的计时时基的数量进行计数,直到该数量达到所需的循环次数,即视为计时完成,本申请的技术方案首先根据预获取的第一振荡器的计时时基和预获取的目标时长,确定计时到目标时长所需的循环次数,其中,每一次循环周期为一个计时时基;当执行到第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,其中,i为正整数,然后再获取经过第i次循环后的时钟误差总和,其中,时钟误差总和为第i-1次循环的时钟误差总和与第i次循环的时钟误差之和,最后根据时钟误差总和以及计时时基,调整当前的循环次数,而调整循环次数便是对第一振荡器的计时过程进行校准,由于整个校准过程是以芯片内第二振荡器为基准的,无需外接振荡器,因此,可以以较低的成本对计时过程进行校准。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本申请的一个实施例提供的一种芯片时钟源的计时校准方法的流程示意图;

图2是本申请的一个实施例提供的一种第i时钟误差确定的流程示意图;

图3是检测第二振荡器在预设时间内产生的方波数量的时序示意图;

图4是本申请的一个实施例提供的一种获取第二波形理论数量的流程示意图;

图5是本申请的一个实施例提供的一种对第二波形理论数量进行补偿的流程示意图;

图6是本申请的一个实施例提供的一种调整当前的循环次数的流程示意图;

图7是本申请的另一实施例提供的一种芯片时钟源的计时校准装置的结构示意图;

图8是本申请的另一实施例提供的一种带有时钟源的芯片的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

为了便于对本申请的技术方案的理解,首先对相关的概念以及现有的计时过程进行说明。一般,芯片中具有低速振荡器(本申请中称为第一振荡器)和高速振荡器(本申请中称为第二振荡器),低速振荡器的频率要比高速振荡器的频率低,其中,高速振荡器的精度较高,一般精度误差在±0.5%之内,而低速振荡器的精度较低,精度误差一般会在±15%之内,而芯片在进入低功耗模式时,只有低速振荡器可以运行,用于时间的计时,为了使计时更为准确,一般会外接高精度的低速振荡器,用来计时,但是成本会较高。

在利用振荡器进行计时的时候,是基于振荡器的计时时基来进行的,计时时基指的是振荡器在计时过程中所依靠的时间基准,振荡器的计时时基往往是产生预设数量个方波所需要的时间,比如低速振荡器的频率为FIL,那么振荡器的计时时基就可以是

一般,芯片从某一次休眠到唤醒执行主程序再到下一次休眠的开始,为一个计时时基,由于芯片执行主程序的时间较短,可以不用考虑,其计时时基便可以是前述芯片在休眠过程中振荡器产生的完整方波的数量与一个方波的周期的乘积。

请参阅图1,图1是本申请的一个实施例提供的一种芯片时钟源的计时校准方法的流程示意图。

如图1所示,本实施例提供的芯片时钟源的计时校准方法可以包括:

步骤S101、根据预获取的芯片内第一振荡器的计时时基和预获取的目标时长,确定计时到目标时长所需的循环次数,每一次循环周期为一个计时时基。

本步骤中,计时时基可以指第一振荡器用于计时的时间基准,是时间显示的基本单位,由于不同振荡器的频率不同,其计时时基可能也不尽相同。具体的,第一振荡器的计时时基,根据预设定的第一振荡器产生的第一波形的数量,和第一波形的频率确定的,在本实施例中,第一振荡器的频率可以为FIL,那么理论上,第一振荡器产生一个方波所需要的时间就是

在一个具体的例子中,比如第一振荡器的频率是5,那么产生一个方波的时间就是0.2毫秒,在该具体的例子中,n可以取5,那么本具体的例子中,第一振荡器的一个计时时基的时长便为1毫秒,第一振荡器每产生一个计时时基,就会计时1毫秒。

本步骤中的目标时长指的是利用芯片进行计时需要计量到的时长,而计时时基是一段具有时长的时间基准,芯片的计时机制就是对产生计时时基的个数进行累计,直到达到目标时长,比如一个计时时基的时长为1毫秒,需要计时的目标时长为1分钟,而1分钟是由60000个1毫秒组成的,也就是说,若需要计时1分钟,第一振荡器就需要产生60000个计时时基。

本步骤中,就是要确定目标时长中有多少个(也就是本步骤所指的循环次数)计时时基的时长,从而确定出芯片计时到目标时长需要生产多少个计时时基。

步骤S102、当执行至第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,其中,i为正整数。

本申请的核心思想就是利用第二振荡器去校准第一振荡器,芯片计时过程实质上完全是依靠振荡器产生的方波的数量来实现的,由于第一振荡器和第二振荡器的精度不同,那么以芯片内第二振荡器的时钟为基准,第一震荡在第i次循环周期中产生的方波数量必然会存在误差,而本步骤正是为了获取这个误差。

由于第一振荡器的频率和第二振荡器的频率不同,那么两者产生的方波数量是无法直接进行比较的,因此,可以利用以下方式确定该误差,请参阅图2,图2是本申请的一个实施例提供的一种第i时钟误差确定的流程示意图。

如图2所示,确定第i时钟误差的过程可以包括:

步骤S201、获取第一振荡器的第i次循环周期中第二振荡器实际产生的第二波形实际数量,以及获取第i次循环周期内第二振荡器理论上产生的第二波形理论数量。

需要说明的是,第i次循环周期便是第一振荡器产生N个方波需要的时间。由于第一振荡器和第二振荡器的频率不同,因此,第一振荡器产生N个方波的时间内,第二振荡器可以产生与N不同的数量的方波。

一般,对方波进行计数可以通过检测方波的上升沿或者下降沿来实现,比如,每检测到一个上升沿,累计加1,或者是每检测到一个下降沿,累计加1,本实施例中以检测上升沿为例进行说明。

由于进入检测上升沿的时刻与第一次检测到上升沿的时刻之间的时间并非是产生的一个方波的完整的时间,因此,本步骤中可以将第一个上升沿计数舍弃,检测N-1个方波时间内,第二振荡器产生的方波数量,本实施例可以使用M来表示。

具体可以参阅图3,图3是检测第二振荡器在预设时间内产生的方波数量的时序示意图。

如图3所示,在检测到第一振荡器产生的第1个方波的上升沿开始,检测第二振荡器产生的方波的上升沿,直到检测到第一振荡器产生的第N-1个方波的下降沿,结束对第二振荡器产生的方波的上升沿的计数,此时,便可以检测到在第一振荡器产生N-1个方波的时间内,第二振荡器产生的方波的数量M。

上述过程中,得到的第二振荡器产生的方波的数量M便是本步骤中第二振荡器实际产生的第二波形实际数量。

对于第二波形理论数量的获取,则可以参阅图4,图4是本申请的一个实施例提供的一种获取第二波形理论数量的流程示意图。

如图4所示,获取第二波形理论数量的过程可以包括:

步骤S401、获取第一振荡器在第i次循环周期中产生的第一波形数量。

本步骤可以利用步骤S301中检测波形数量的方法,获取第一震荡器在第i次循环周期中产生的第一波形数量,此处不再具体赘述。

步骤S402、将第一波形数量、预获取的第一振荡器产生的第一波形的频率以及预获取的第二振荡器产生的第二波形的频率输入到预设公式中,得到第二波形理论数量。

需要说明的是,预设公式可以是

由于进入检测上升沿的时刻与第一次检测到上升沿的时刻之间的时间并非是产生的一个方波的完整的时间,因此,本步骤中可以将第一个上升沿计数舍弃,因此,预设公式还可以是

需要说明的是,本步骤中得到的第二波形理论数量是将第一振荡器在第i次循环周期中产生的第一波形数量转化成第二振荡器的频率下对应的数量。

另外,由于振荡器的工作过程会受到工作环境温度的影响,因此,可以对本步骤中的第二波形理论数量进行补偿,以抵消温度带来的影响,具体的,补偿过程可以参阅图5,图5是本申请的一个实施例提供的一种对第二波形理论数量进行补偿的流程示意图。

如图5所示,具体补偿过程可以包括:

步骤S501、获取当前的环境温度。

当前的环境温度可以指芯片所处环境的温度,具体可以通过热敏电阻来实现,利用热敏电阻测量环境温度的方式可以参考相关技术,本实施例不再赘述。

步骤S502、根据预设的温度与频率误差对照表,确定当前的环境温度对应的频率误差。

在不同的环境温度下,振荡器的频率可能会受到影响而产生误差,因此,在本实施例中,可以对第二波形理论数量进行补偿,以使整个校准过程更为准确。

本步骤中,预设的温度与频率误差对照表指的是在经过实验预先建立的一个不同温度下振荡器频率存在的误差的表格,在得到当前的环境温度后,可以从该表格中找到当前的环境温度对应的一个频率误差。

步骤S503、根据频率误差,对第二波形理论数量进行补偿。

经过补偿后,得到的第二波形理论数量可以更新为M×(Δ+1),其中,Δ为步骤S502得到的频率误差,M为补偿前的第二波形理论数量。

步骤S202、根据第二波形实际数量和第二波形理论数量,确定第一振荡器在第i次循环周期中产生的第i时钟误差。

在得到第二波形实际数量和第二波形理论数量之后,两者的差即为第一振荡器在第i次循环周期中产生的第i时钟误差,本实施例以第二波形实际数量减第二波形理论数量为例进行说明。

步骤S103、获取经过第i次循环后的时钟误差总和,其中,时钟误差总和为第i-1次循环的时钟误差总和与第i次循环的时钟误差之和。

需要说明的是,第1次循环的时钟误差总和为0加第1次循环的时钟误差。

步骤S104、根据第i次循环的时钟误差总和以及计时时基,调整当前的循环次数,以对第一振荡器的计时过程进行校准。

具体的,调整当前的循环次数的过程可以参阅图6,图6是本申请的一个实施例提供的一种调整当前的循环次数的流程示意图。

如图6所示,本实施例提供的调整当前的循环次数的过程可以包括:

步骤S601、若第i次循环的时钟误差总和大于第二波形理论数量,对当前的循环次数增加预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差。

在本步骤中,若第i次循环的时钟误差总和大于第二波形理论数量,也就是说第二振荡器实际上产生的方波数要比第二振荡器理论上产生的方波数大了两倍,而第二振荡器理论上产生的方波数是基于第一振荡器产生N-1个方波数来得到的,也就是说,以第二振荡器为标准,第一振荡器的频率慢了,生产一个方波所需要的时间长了,此时就需要将第一预设存储位中当前的数值增加预设值,比如增加1,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差。

步骤S602、若第i次循环的时钟误差小于第二波形理论数量的相反数,对当前的循环次数减小预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差。

同理,若第i次循环的时钟误差小于第二波形理论数量的相反数,也就是说第二振荡器实际上产生的方波数要比第二振荡器理论上产生的方波数少了两倍,而第二振荡器理论上产生的方波数是基于第一振荡器产生N-1个方波数来得到的,也就是说,以第二振荡器为标准,第一振荡器的频率快了,生产一个方波所需要的时间短了,此时就需要将第一预设存储位中当前的数值减少预设值,比如减少1,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差。

由于利用第一振荡器计时到目标时长的过程,是对第一振荡器经过的计时时基的数量进行计数,直到该数量达到所需的循环次数,即视为计时完成,本申请的技术方案首先根据预获取的第一振荡器的计时时基和预获取的目标时长,确定计时到目标时长所需的循环次数,其中,每一次循环周期为一个计时时基;当执行到第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,其中,i为正整数,然后再获取经过第i次循环后的时钟误差总和,其中,时钟误差总和为第i-1次循环的时钟误差总和与第i次循环的时钟误差之和,最后根据时钟误差总和以及计时时基,调整当前的循环次数,而调整循环次数便是对第一振荡器的计时过程进行校准,由于整个校准过程是以芯片内第二振荡器为基准的,无需外接振荡器,因此,可以以较低的成本对计时过程进行校准。

请参阅图7,图7是本申请的另一实施例提供的一种芯片时钟源的计时校准装置的结构示意图。

如图7所示,本实施例中,芯片时钟源的计时校准装置可以包括:

确定模块701,用于根据预获取的芯片内第一振荡器的计时时基和预获取的目标时长,确定计时到目标时长所需的循环次数,每一次循环周期为一个计时时基;

第一获取模块702,用于当执行至第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,其中,i为正整数;

第二获取模块703,用于获取经过第i次循环后的时钟误差总和,其中,时钟误差总和为第i-1次循环的时钟误差总和与第i次循环的时钟误差之和;

校准模块704,用于根据第i次循环的时钟误差总和以及计时时基,调整当前的循环次数,以对第一振荡器的计时过程进行校准。

由于利用第一振荡器计时到目标时长的过程,是对第一振荡器经过的计时时基的数量进行计数,直到该数量达到所需的循环次数,即视为计时完成,本申请的技术方案中,确定模块首先根据预获取的第一振荡器的计时时基和预获取的目标时长,确定计时到目标时长所需的循环次数,其中,每一次循环周期为一个计时时基;第一获取模块在执行到第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,其中,i为正整数,然后第二获取模块再获取经过第i次循环后的时钟误差总和,其中,时钟误差总和为第i-1次循环的时钟误差总和与第i次循环的时钟误差之和,最后校准模块根据时钟误差总和以及计时时基,调整当前的循环次数,而调整循环次数便是对第一振荡器的计时过程进行校准,由于整个校准过程是以芯片内第二振荡器为基准的,无需外接振荡器,因此,可以以较低的成本对计时过程进行校准。

在一个可选的实施例中,第一振荡器的计时时基,根据预设定的第一振荡器产生的第一波形的数量,和第一波形的频率确定的。

在一个可选的实施例中,第一获取模块,包括:

第一获取单元,用于获取第一振荡器的第i次循环周期中第二振荡器实际产生的第二波形实际数量,以及获取第i次循环周期内第二振荡器理论上产生的第二波形理论数量;

第一确定单元,用于根据第二波形实际数量和第二波形理论数量,确定第一振荡器在第i次循环周期中产生的第i时钟误差。

在一个可选的实施例中,第一获取单元包括:

获取子单元,用于获取第一振荡器在第i次循环周期中产生的第一波形数量;

处理子单元,用于将第一波形数量、预获取的第一振荡器产生的第一波形的频率以及预获取的第二振荡器产生的第二波形的频率输入到预设公式中,得到第二波形理论数量。

在一个可选的实施例中,预设公式为:

在一个可选的实施例中,校准模块,包括:

第一校准单元,用于若第i次循环的时钟误差总和大于第二波形理论数量,对当前的循环次数增加预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差;

第二校准单元,用于若第i次循环的时钟误差小于第二波形理论数量的相反数,对当前的循环次数减小预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差。

在一个可选的实施例中,装置还包括:

第二获取单元,用于获取当前的环境温度;

第二确定单元,用于根据预设的温度与频率误差对照表,确定当前的环境温度对应的频率误差;

补偿单元,用于根据频率误差,对第二波形理论数量进行补偿。

请参阅图8,图8是本申请的另一实施例提供的一种带有时钟源的芯片的结构示意图。

如图8所示,本实施例提供的带有时钟源的芯片800包括:至少一个处理器801、存储器802、至少一个网络接口803和其他用户接口804。生产节点管理生产节点管理系统800中的各个组件通过总线系统805耦合在一起。可理解,总线系统805用于实现这些组件之间的连接通信。总线系统805除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统805。

其中,用户接口804可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。

可以理解,本发明实施例中的存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。

在一些实施方式中,存储器802存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统8021和第二应用程序8022。

其中,操作系统8021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。第二应用程序8022,包含各种第二应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在第二应用程序8022中。

在本发明实施例中,通过调用存储器802存储的程序或指令,具体的,可以是第二应用程序8022中存储的程序或指令,处理器801用于执行各方法实施例所提供的方法步骤,例如包括:

根据预获取的芯片内第一振荡器的计时时基和预获取的目标时长,确定计时到目标时长所需的循环次数,每一次循环周期为一个计时时基;

当执行至第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,其中,i为正整数;

获取经过第i次循环后的时钟误差总和,其中,时钟误差总和为第i-1次循环的时钟误差总和与第i次循环的时钟误差之和;

根据第i次循环的时钟误差总和以及计时时基,调整当前的循环次数,以对第一振荡器的计时过程进行校准。

在一个可选的实施例中,第一振荡器的计时时基,根据预设定的第一振荡器产生的第一波形的数量,和第一波形的频率确定的。

在一个可选的实施例中,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,具体包括:

获取第一振荡器的第i次循环周期中第二振荡器实际产生的第二波形实际数量,以及获取第i次循环周期内第二振荡器理论上产生的第二波形理论数量;

根据第二波形实际数量和第二波形理论数量,确定第一振荡器在第i次循环周期中产生的第i时钟误差。

在一个可选的实施例中,获取第i次循环周期内第二振荡器理论上产生的第二波形理论数量,具体包括:

获取第一振荡器在第i次循环周期中产生的第一波形数量;

将第一波形数量、预获取的第一振荡器产生的第一波形的频率以及预获取的第二振荡器产生的第二波形的频率输入到预设公式中,得到第二波形理论数量。

在一个可选的实施例中,预设公式为:

在一个可选的实施例中,根据第i次循环的时钟误差总和以及计时时基,调整当前的循环次数,以对第一振荡器的计时过程进行校准,具体包括:

若第i次循环的时钟误差总和大于第二波形理论数量,对当前的循环次数增加预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差;

若第i次循环的时钟误差小于第二波形理论数量的相反数,对当前的循环次数减小预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差。

在一个可选的实施例中,在获取第i次循环周期内第二振荡器理论上产生的第二波形理论数量后,且在根据第二波形实际数量和第二波形理论数量,确定第一振荡器在第i次循环周期中产生的第i时钟误差之前,方法还包括:

获取当前的环境温度;

根据预设的温度与频率误差对照表,确定当前的环境温度对应的频率误差;

根据频率误差,对第二波形理论数量进行补偿。

上述本发明实施例揭示的方法可以应用于处理器801中,或者由处理器801实现。处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成上述方法的步骤。

可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。

对于软件实现,可通过执行本文功能的单元来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。

本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。

当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在带有时钟源的芯片侧执行的芯片时钟源的计时校准方法。

处理器用于执行存储器中存储的芯片时钟源的计时校准程序,以实现以下在带有时钟源的芯片侧执行的芯片时钟源的计时校准方法的步骤:

根据预获取的芯片内第一振荡器的计时时基和预获取的目标时长,确定计时到目标时长所需的循环次数,每一次循环周期为一个计时时基;

当执行至第i次循环时,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,其中,i为正整数;

获取经过第i次循环后的时钟误差总和,其中,时钟误差总和为第i-1次循环的时钟误差总和与第i次循环的时钟误差之和;

根据第i次循环的时钟误差总和以及计时时基,调整当前的循环次数,以对第一振荡器的计时过程进行校准。

在一个可选的实施例中,第一振荡器的计时时基,根据预设定的第一振荡器产生的第一波形的数量,和第一波形的频率确定的。

在一个可选的实施例中,以芯片内第二振荡器的时钟为基准,获取第一振荡器在第i次循环周期中产生的第i时钟误差,具体包括:

获取第一振荡器的第i次循环周期中第二振荡器实际产生的第二波形实际数量,以及获取第i次循环周期内第二振荡器理论上产生的第二波形理论数量;

根据第二波形实际数量和第二波形理论数量,确定第一振荡器在第i次循环周期中产生的第i时钟误差。

在一个可选的实施例中,获取第i次循环周期内第二振荡器理论上产生的第二波形理论数量,具体包括:

获取第一振荡器在第i次循环周期中产生的第一波形数量;

将第一波形数量、预获取的第一振荡器产生的第一波形的频率以及预获取的第二振荡器产生的第二波形的频率输入到预设公式中,得到第二波形理论数量。

在一个可选的实施例中,预设公式为:

在一个可选的实施例中,根据第i次循环的时钟误差总和以及计时时基,调整当前的循环次数,以对第一振荡器的计时过程进行校准,具体包括:

若第i次循环的时钟误差总和大于第二波形理论数量,对当前的循环次数增加预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差;

若第i次循环的时钟误差小于第二波形理论数量的相反数,对当前的循环次数减小预设值,并将第i次循环的时钟误差总和更新为第i次循环的时钟误差总和与第二波形理论数量的差。

在一个可选的实施例中,在获取第i次循环周期内第二振荡器理论上产生的第二波形理论数量后,且在根据第二波形实际数量和第二波形理论数量,确定第一振荡器在第i次循环周期中产生的第i时钟误差之前,方法还包括:

获取当前的环境温度;

根据预设的温度与频率误差对照表,确定当前的环境温度对应的频率误差;

根据频率误差,对第二波形理论数量进行补偿。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。

需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号