CN117111681A - 芯片时钟的校准方法、装置、设备及存储介质 - Google Patents
芯片时钟的校准方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117111681A CN117111681A CN202310947250.5A CN202310947250A CN117111681A CN 117111681 A CN117111681 A CN 117111681A CN 202310947250 A CN202310947250 A CN 202310947250A CN 117111681 A CN117111681 A CN 117111681A
- Authority
- CN
- China
- Prior art keywords
- count value
- crystal oscillator
- period
- frequency
- calibration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 239000013078 crystal Substances 0.000 claims abstract description 159
- 230000004044 response Effects 0.000 claims description 32
- 230000003213 activating effect Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G04—HOROLOGY
- G04G—ELECTRONIC TIME-PIECES
- G04G5/00—Setting, i.e. correcting or changing, the time-indication
- G04G5/02—Setting, i.e. correcting or changing, the time-indication by temporarily changing the number of pulses per unit time, e.g. quick-feed method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Oscillators With Electromechanical Resonators (AREA)
Abstract
本申请提供了一种芯片时钟的校准方法、装置、设备及存储介质,属于芯片技术领域。该方法包括:响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于高速晶振的频率对低速晶振进行校准;晶振校准完成后,确定增强定时器在脉冲周期内以高速晶振为时钟源的第一计数值;基于第一计数值、定时校准周期的时长,以及高速晶振的频率,更新RTC计数器在下一定时校准周期的预设计数值。通过计时关联高速晶振,针对校准后低速晶振的实际频率重新确定预设计数值,能够降低晶振校准精度的影响,使计时更为精准。
Description
技术领域
本申请涉及芯片技术领域,特别涉及一种芯片时钟的校准方法、装置、设备及存储介质。
背景技术
设备内部芯片通常以晶振作为时钟源进行计时,目前芯片内的晶振多为RC振荡器。由于环境温度对于RC振荡器影响较大,芯片内部晶振的振荡频率与标准频率之间的差随环境温度变化,温度上升和下降均会使其精度下降。
相关技术采用高速晶振对低速晶振的频率进行校准的方法,提高低速晶振的可靠性。然而,受晶振本身可调幅度的影响,低速晶振校准时每调节一档,其可调节精度为0.625%,因此校准后的偏差最小可达±0.314%。假设计数900s,其校准后的定时仍存在900s*(±0.314%)=±2.826s的误差。虽然其精度得到了改善,但仍然存在偏差,若按照上述方法进行计时校准,计时时间越长,其误差越明显,与标准时长的差距越大。
发明内容
本申请提供了一种芯片时钟的校准方法、装置、设备及存储介质,能够降低晶振校准精度的影响,使计时更为精准。该技术方案如下:
一方面,本申请实施例提供了一种芯片时钟的校准方法,所述方法包括:
响应于实时时钟(Real_Time Clock,RTC)计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,所述RTC计数器用于以所述低速晶振为时钟源进行计数;
晶振校准完成后,确定增强定时器在脉冲周期内以所述高速晶振为时钟源的第一计数值,所述脉冲周期为RTC脉冲发射器以所述低速晶振为时钟源发送定时脉冲的周期;
基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
可选的,所述基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值,包括:
基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,确定计数值变量的整数部分以及小数部分,并将所述计数值变量的小数部分累加在小数补偿值中;
基于所述计数值变量的整数部分以及所述小数补偿值,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
可选的,所述基于所述计数值变量的整数部分以及所述小数补偿值,更新所述RTC计数器在下一定时校准周期的所述预设计数值,包括:
将所述计数值变量的整数部分赋值给所述预设计数值;
响应于所述小数补偿值小于1,确定下一定时校准周期的所述预设计数值为当前值;
响应于所述小数补偿值大于或等于1,确定下一定时校准周期的所述预设计数值为当前值加1;
所述方法还包括:
响应于所述小数补偿值大于或等于1,在更新所述预设计数值后将所述小数补偿值减1。
可选的,所述计数值变量的计算式为:
1024s_period/P*set_15min_alarmtime=T
其中,s_period为所述第一计数值,P为所述高速晶振的频率,T为所述定时校准周期的时长,set_15min_alarmtime为所述计数值变量。
可选的,所述启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,包括:
启动所述高速晶振;
通过所述RTC脉冲发射器向所述增强定时器发送定时脉冲;
确定所述增强定时器在所述脉冲周期内的第二计数值;
基于所述第二计数值以及标准计数值对所述低速晶振的频率进行校准,所述标准计数值为所述增强定时器在标准脉冲周期内的计数值,所述标准脉冲周期为所述RTC脉冲发射器以理想频率的低速晶振为时钟源发送定时脉冲的周期。
可选的,所述基于所述第二计数值以及标准计数值对所述低速晶振的频率进行校准,包括:
响应于当前周期的校准次数未达到次数阈值且所述第二计数值与所述标准计数值之间的误差不在误差允许范围内,基于所述第二计数值以及标准计数值对所述低速晶振的频率进行校准;
所述方法还包括:
响应于当前周期的所述校准次数达到所述次数阈值,或所述第二计数值与所述标准计数值之间的误差在所述误差允许范围内,确定晶振校准完成。
可选的,所述基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值,包括:
响应于所述第一计数值在有效范围内,基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值;
所述方法还包括:
响应于所述第一计数值不属于所述有效范围,取消所述预设计数值的更新。
另一方面,本申请实施例提供了一种芯片时钟的校准装置,所述装置包括:
校准模块,用于响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,所述RTC计数器用于以所述低速晶振为时钟源进行计数;
确定模块,用于晶振校准完成后,确定增强定时器在脉冲周期内以所述高速晶振为时钟源的第一计数值,所述脉冲周期为RTC脉冲发射器以所述低速晶振为时钟源发送定时脉冲的周期;
更新模块,用于基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
另一方面,本申请实施例提供了一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的方法。
另一方面,本申请实施例提供了一种遥控器,所述遥控器用于:
响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,所述RTC计数器用于以所述低速晶振为时钟源进行计数;
晶振校准完成后,确定增强定时器在脉冲周期内以所述高速晶振为时钟源的第一计数值,所述脉冲周期为RTC脉冲发射器以所述低速晶振为时钟源发送定时脉冲的周期;
基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上述方面所述的方法。
本申请提供的技术方案至少包括以下有益效果:
本申请提供的一种芯片时钟的校准方法、装置、设备及存储介质,在RTC使用低速晶振作时钟源的情况下,每完成一个定时周期的计数时,通过计时关联高速晶振,针对校准后低速晶振的实际频率重新确定预设计数值,即在对低速晶振进行频率校准后,基于第一计数值、定时校准周期的时长以及高速晶振的频率更新下一定时校准周期的预设计数值,能够降低晶振校准精度的影响,使计时更为精准。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。
图1是本申请一个示例性实施例提供的芯片时钟的校准方法的流程图;
图2是本申请一个示例性实施例提供的芯片时钟功能模块的架构图;
图3是本申请另一个示例性实施例提供的芯片时钟的校准方法的流程图;
图4是本申请一个示例性实施例提供的计数补偿的流程图;
图5是本申请另一个示例性实施例提供的芯片时钟的校准方法的流程图;
图6是本申请一个示例性实施例提供的低速晶振校准的流程图;
图7是本申请另一个示例性实施例提供的芯片时钟的校准方法的流程图;
图8是本申请另一个示例性实施例提供的计数补偿的流程图;
图9是本申请一个示例性实施例提供的芯片时钟的校准装置的结构框图;
图10是本申请一个示例性实施例提供的电子设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个示例性实施例提供的芯片时钟的校准方法的流程图。该方法包括如下步骤:
步骤101,响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于高速晶振的频率对低速晶振进行校准,RTC计数器用于以低速晶振为时钟源进行计数。
空调遥控器等电子设备的程序在正常运行模式下,其中央处理器(CentralProcessing Unit,CPU)采用内部高速晶振(High speed Internal RC oscillator,HIRC)或外部高速晶振(High frequency Oscillator,HOSC)进行计时。在进入低功耗模式时,RTC仍然需要计数,其时钟源会切换为内部低速晶振(Low speed Internal RC oscillator,LIRC)。由于LIRC的时钟频率精度不高,因此需通过HIRC或HOSC对其进行校准,在校准阶段CPU运行在HIRC或HOSC。
由于低速晶振受环境温度影响较大,其频率不稳定,因此在一种可能的实施方式中,电子设备每隔一个定时校准周期触发一次低速晶振校准。电子设备启动高速晶振对低速晶振进行校准,并在结束校准以及预设计数值更新后,再次关闭高速晶振,进入低功耗模式,进行下一周期的计时。
步骤102,晶振校准完成后,确定增强定时器在脉冲周期内以高速晶振为时钟源的第一计数值,脉冲周期为RTC脉冲发射器以低速晶振为时钟源发送定时脉冲的周期。
本申请实施例中,晶振校准完成后,由于晶振可调幅度有限,校准后的功率与标准功率之间通常仍然存在误差,因此电子设备并非立即进入低功耗模式并继续以之前的预设计数值进行计时,而是基于校准后的低速晶振重新确定预设计数值,使得RTC计数器能够以低速晶振的实际频率计数至定时校准周期的时长。
在一种可能的实施方式中,在晶振校准完成后,RTC通过脉冲发射器按照一定的脉冲周期(例如1ms)向增强定时器发送脉冲。增强定时器以高速晶振为时钟源进行计数,并记录一个脉冲周期内的计数值,即第一计数值。
示意性的,图2示出了一种电子设备内部功能模块的示意图。其中,RTC计数器和RTC脉冲发射器均以LIRC为时钟源,RTC计数器按照上一定时校准周期(900s)的预设计数值进行计数并达到该值后触发晶振校准。晶振校准完成后,RTC脉冲发射器定时每隔1ms通过外设事件***(Peripheral Event System,PES)向增强定时器(Enhanced Timer,ETM)发送脉冲。ETM在脉冲的触发下以HIRC或HOSC为时钟源进行计数。
步骤103,基于第一计数值、定时校准周期的时长,以及高速晶振的频率,更新RTC计数器在下一定时校准周期的预设计数值。
在一种可能的实施方式中,电子设备基于第一计数值以及高速晶振的频率可以确定脉冲周期的实际时长,并基于定时校准周期的时长等参数计算得到RTC计数器在下一定时校准周期的预设计数值。
综上所述,本申请提供的一种芯片时钟的校准方法、装置、设备及存储介质,在RTC使用低速晶振作时钟源的情况下,每完成一个定时周期的计数时,通过计时关联高速晶振,针对校准后低速晶振的实际频率重新确定预设计数值,即在对低速晶振进行频率校准后,基于第一计数值、定时校准周期的时长以及高速晶振的频率更新下一定时校准周期的预设计数值,能够降低晶振校准精度的影响,使计时更为精准。
请参考图3,其示出了本申请另一个示例性实施例提供的芯片时钟的校准方法的流程图。该方法包括如下步骤:
步骤301,响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于高速晶振的频率对低速晶振进行校准,RTC计数器用于以低速晶振为时钟源进行计数。
步骤302,晶振校准完成后,确定增强定时器在脉冲周期内以高速晶振为时钟源的第一计数值,脉冲周期为RTC脉冲发射器以低速晶振为时钟源发送定时脉冲的周期。
步骤301至步骤302的具体实施方式可以参考上述步骤101至步骤102,本申请实施例在此不再赘述。
步骤303,基于第一计数值、定时校准周期的时长,以及高速晶振的频率,确定计数值变量的整数部分以及小数部分,并将计数值变量的小数部分累加在小数补偿值中。
由于RTC的定时预设值最小单位为秒,所以预设计数值存整数值,其小数部分与其它周期计算得到的小数部分进行累加。示意性的,电子设备计算出计数值变量为900.56,则其整数部分为500,小数部分为0.56,并将小数部分累加在上一轮校准以及计数补偿之后更新得到的小数补偿值中。例如小数补偿值原为0.2,则增加0.56得到新的值为0.72。
示意性的,以定时校准周期的时长为900s(即15分钟)为例,方案实施原理如下:
HIRC为7.9545MHZ,LIRC理想情况为32.768KHZ,RTC触发PES一次的间隔时间配置为:1s/1024=976.5625us(注:Rtc_clk/(2*(pre+1)*(wakeupint+1))=1024hz,其中pre=7,wakeupint=1,Rtc_clk=32.768khz),HIRC为7.9545MHZ下的时钟周期数为:976.5625us*7.9545Mhz=7768个周期计数。即:976.5625*10-6秒*7.9545*106次/秒=7768.066次,表示HIRC在976.5625us的时间间隔内震荡了多少次。
ETM在PES的触发下捕获RTC的时间间隔,在HIRC下的周期计数值为s_period,此时的s_period和7768去做比较。根据这个值对LIRC进行校准。
RTC的报警时间间隔(计数周期:T)这里以900为例,即:15min。当LIRC发生变化时,捕获到的周期数不同于7768时,若其预设值还是设置900,那么RTC的定时就会有900s*(±0.314%)=±2.826s的误差,一天下来就会有271.296s的误差。为了其计数的精准,采用RTC直接关联LIRC/LORC的方式进行补偿预设周期T,其设计原理如下:
周期T的计算公式:
其中Pre_scale=15,Tickval=1023为设定值,当LIRC为理想的32768HZ时,即:Rtc_clk=32768HZ,这时set_15min_alarmtime=900,T为标准的900s。当LIRC未被校准到标准的32768HZ时,则重新计算set_15min_alarmtime值,使其最后的T达到精准的900s。这里将Rtc_clk直接关联到HIRC/HORC。
由上述内容可知,计数值变量的计算式为:
1024s_period/P*set_15min_alarmtime=T
其中,s_period为第一计数值,P为高速晶振的频率,T为定时校准周期的时长,set_15min_alarmtime为计数值变量。
步骤304,基于计数值变量的整数部分以及小数补偿值,更新RTC计数器在下一定时校准周期的预设计数值。
可选的,步骤304具体包括如下步骤:
步骤一,将计数值变量的整数部分赋值给预设计数值。
步骤二,响应于小数补偿值小于1,确定下一定时校准周期的预设计数值为当前值。
步骤三,响应于小数补偿值大于或等于1,确定下一定时校准周期的预设计数值为当前值加1。
当小数补偿值累计满整数1时,将整数1转移至下一定时较准周期的预设计数值。即相当于在下一周期将前几个周期所缺失的一个计数进行补偿,追回缺少的计数,使计时时长更接近定时时长。
本申请实施例的方法还包括如下步骤:
步骤四,响应于小数补偿值大于或等于1,在更新预设计数值后将小数补偿值减1。
在小数补偿值大于或等于1的情况下,电子设备将该整数1转移至下一周期的预设计数值进行计数补偿,并将小数补偿值减1,继续在之后的周期中进行累计,如此循环。
图4示出了以900s为定时校准周期时电子设备进行计数补偿的流程。电子设备更新预设计数值后将该值写入寄存器,并更新当前时间,即基于校准过程以及计数补偿过程所花费的时长更新当前时间。基于更新后的预设计数值重新设置报警标志,该报警标志用于在计数达到预设计数值后触发CPU报警进行下一轮校准和计数补偿。
示意性的,定时校准周期的时长为900s,其对应的理想晶振频率下的s_period为7768,则可得到set_15min_alarmtime=6991259/s_period。即当LIRC为32.768KHz时ETM捕获周期计数s_period为7768。当LIRC不是标准的32.768KHz时,ETM捕获周期计数s_period也不是7768,此时根据上述公式计算,得出在当前的LIRC频率下,RTC要定时900s所需要设置的精准的预设值是多少,由于RTC的定时预设值最小单位为秒,所以set_15min_alarmtime存整数值,其小数部分与下一个计时周期的小数部分进行累加,当累计值达到整数时,整数值加1写入设置寄存器中,小数累计值减1继续保存,如此循环,不管累计时间是多少个900s,其误差始终保持在1s以内,从而最大程度上保证了RTC的计时精准。
本申请实施例中,一方面针对校准后低速晶振的实际频率重新确定预设计数值,另一方面,设置小数补偿值,将过去几个周期内缺失的计数在下一周期进行补偿,追回计时误差,使得电子设备计时的误差始终小于1s,确保计时的准确性,进行时钟的有效校准。
请参考图5,其示出了本申请另一个示例性实施例提供的芯片时钟的校准方法的流程图。该方法包括如下步骤:
步骤501,响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振。
在一种可能的实施方式中,电子设备在计时阶段处于低功耗模式,以低速晶振为时钟源进行计时。当RTC计数器达到预设计数值时,进行报警,启动CPU和高速晶振,触发校准流程。
步骤502,通过RTC脉冲发射器向增强定时器发送定时脉冲。
步骤503,确定增强定时器在脉冲周期内的第二计数值。
RTC脉冲发射器以当前的低速晶振频率发送定时脉冲,电子设备通过增强定时器记录脉冲周期内以高速晶振为时钟源的的第二计数值。从而可以确定低速晶振频率与标准频率之间的偏差。
步骤504,基于第二计数值以及标准计数值对低速晶振的频率进行校准,标准计数值为增强定时器在标准脉冲周期内的计数值,标准脉冲周期为RTC脉冲发射器以理想频率的低速晶振为时钟源发送定时脉冲的周期。
在一种可能的实施方式中,RTC计数器达到预设计数值后的校准阶段,电子设备可对低速晶振进行多次校准,例如校准次数阈值设为5。电子设备可通过逐步逼近的方式使低速晶振的频率校准至接近理想频率。可选的,步骤504还包括如下步骤:
步骤五,响应于当前周期的校准次数未达到次数阈值且第二计数值与标准计数值之间的误差不在误差允许范围内,基于第二计数值以及标准计数值对低速晶振的频率进行校准。
本申请实施例的方法还包括如下步骤:
步骤六,响应于当前周期的校准次数达到次数阈值,或第二计数值与标准计数值之间的误差在误差允许范围内,确定晶振校准完成。
如图6所示,首先将时钟HIRC/HOSC切换为8M,为校准时需要的时钟频率。同时开启RTC定时1ms发送一次脉冲,开启ETM捕获。设定校准次数为5次。等待捕获标志置位,其标志置位表示捕获完成,等待期间喂看门狗。捕获完成后捕获标志复位,表示可进行下一次捕获。判断剩余校准次数,若为零则直接结束校准,进行后续的计数补偿流程;若不为零则进一步判断第二计数值与标准计数值之间的误差是否在+-0.314%之内。若超过误差允许范围则基于上一次校准后的低速晶振生成脉冲,进行下一次校准并更新剩余校准次数,若在误差允许范围内则可以直接结束校准。
步骤505,晶振校准完成后,确定增强定时器在脉冲周期内以高速晶振为时钟源的第一计数值,脉冲周期为RTC脉冲发射器以低速晶振为时钟源发送定时脉冲的周期。
步骤506,基于第一计数值、定时校准周期的时长,以及高速晶振的频率,更新RTC计数器在下一定时校准周期的预设计数值。
步骤505至步骤506的具体实施方式可以参考上述步骤102至步骤103,本申请实施例在此不再赘述。
请参考图7,其示出了本申请另一个示例性实施例提供的芯片时钟的校准方法的流程图。该方法包括如下步骤:
步骤701,响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于高速晶振的频率对低速晶振进行校准,RTC计数器用于以低速晶振为时钟源进行计数。
步骤702,晶振校准完成后,确定增强定时器在脉冲周期内以高速晶振为时钟源的第一计数值,脉冲周期为RTC脉冲发射器以低速晶振为时钟源发送定时脉冲的周期。
步骤701至步骤702的具体实施方式可以参考上述步骤101至步骤102,本申请实施例在此不再赘述。
步骤703,响应于第一计数值在有效范围内,基于第一计数值、定时校准周期的时长,以及高速晶振的频率,更新RTC计数器在下一定时校准周期的预设计数值。
在一种可能的实施方式中,电子设备在进行晶振校准之后,首先利用校准后的低速晶振触发脉冲,记录增强定时器的第一计数值,并将第一计数值与标准计数值进行对比。标准计数值为增强定时器在标准脉冲周期内的计数值,标准脉冲周期为RTC脉冲发射器以理想频率的低速晶振为时钟源发送定时脉冲的周期。
若第一计数值在有效范围内,则说明芯片为正常芯片,可继续进行计数补偿。
步骤704,响应于第一计数值不属于有效范围,取消预设计数值的更新。
若第一计数值不属于有效范围,则说明电子设备的芯片损坏,此时进行计数补偿无意义,因此直接结束,进行下一轮计时。
示意性的,图8示出了一种计数补偿流程,以标准计数值为7768为例,其有效范围为7768*90%至7768*110%之间,即误差不超过标准计数值的10%。
本申请实施例中,通过设置第一计数值的有效范围,可简单快速地判断芯片是否存在异常,并在芯片损坏的情况下取消计数补偿,避免过多不必要的数据处理。
请参考图9,其示出了本申请一个示例性实施例提供的芯片时钟的校准装置的结构框图,该装置包括:
校准模块901,用于响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,所述RTC计数器用于以所述低速晶振为时钟源进行计数;
确定模块902,用于晶振校准完成后,确定增强定时器在脉冲周期内以所述高速晶振为时钟源的第一计数值,所述脉冲周期为RTC脉冲发射器以所述低速晶振为时钟源发送定时脉冲的周期;
更新模块903,用于基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
可选的,所述更新模块903,还用于:
基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,确定计数值变量的整数部分以及小数部分,并将所述计数值变量的小数部分累加在小数补偿值中;
基于所述计数值变量的整数部分以及所述小数补偿值,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
可选的,所述更新模块903,还用于:
响应于所述小数补偿值小于1,确定下一定时校准周期的所述预设计数值为当前值;
响应于所述小数补偿值大于或等于1,确定下一定时校准周期的所述预设计数值为当前值加1;
响应于所述小数补偿值大于或等于1,在更新所述预设计数值后将所述小数补偿值减1。
可选的,所述计数值变量的计算式为:
1024s_period/P*set_15min_alarmtime=T
其中,s_period为所述第一计数值,P为所述高速晶振的频率,T为所述定时校准周期的时长,set_15min_alarmtime为所述计数值变量。
可选的,所述校准模块901,还用于:
启动所述高速晶振;
通过所述RTC脉冲发射器向所述增强定时器发送定时脉冲;
确定所述增强定时器在所述脉冲周期内的第二计数值;
基于所述第二计数值以及标准计数值对所述低速晶振的频率进行校准,所述标准计数值为所述增强定时器在标准脉冲周期内的计数值,所述标准脉冲周期为所述RTC脉冲发射器以理想频率的低速晶振为时钟源发送定时脉冲的周期。
可选的,所述校准模块901,还用于:
响应于当前周期的校准次数未达到次数阈值且所述第二计数值与所述标准计数值之间的误差不在误差允许范围内,基于所述第二计数值以及标准计数值对所述低速晶振的频率进行校准;
响应于当前周期的所述校准次数达到所述次数阈值,或所述第二计数值与所述标准计数值之间的误差在所述误差允许范围内,确定晶振校准完成。
可选的,所述更新模块903,还用于:
响应于所述第一计数值在有效范围内,基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值;
响应于所述第一计数值不属于所述有效范围,取消所述预设计数值的更新。
本申请实施例提供一种电子设备;图10为本申请实施例提供的电子设备的组成结构示意图,如图10所示,所述电子设备1000包括:一个处理器1001、至少一个通信总线1002、用户接口1003、至少一个外部通信接口1004、存储器1005。其中,通信总线1002配置为实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏,外部通信接口1004可以包括标准的有线接口和无线接口。所述处理器1001配置为执行存储器中存储的芯片时钟的校准方法的程序,以实现以上述实施例提供的方法中的步骤。
本申请实施例提供一种遥控器,该遥控器用于:响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,所述RTC计数器用于以所述低速晶振为时钟源进行计数;晶振校准完成后,确定增强定时器在脉冲周期内以所述高速晶振为时钟源的第一计数值,所述脉冲周期为RTC脉冲发射器以所述低速晶振为时钟源发送定时脉冲的周期;基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
这里需要指出的是:以上存储介质、电子设备、遥控器实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上述实施例所述的方法。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在计算机设备的处理器上运行,使得所述计算机设备执行如上述实施例所述的方法。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、对象或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、对象或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、对象或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read Only Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台控制器执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种芯片时钟的校准方法,其特征在于,所述方法包括:
响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,所述RTC计数器用于以所述低速晶振为时钟源进行计数;
晶振校准完成后,确定增强定时器在脉冲周期内以所述高速晶振为时钟源的第一计数值,所述脉冲周期为RTC脉冲发射器以所述低速晶振为时钟源发送定时脉冲的周期;
基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值,包括:
基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,确定计数值变量的整数部分以及小数部分,并将所述计数值变量的小数部分累加在小数补偿值中;
基于所述计数值变量的整数部分以及所述小数补偿值,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述计数值变量的整数部分以及所述小数补偿值,更新所述RTC计数器在下一定时校准周期的所述预设计数值,包括:
将所述计数值变量的整数部分赋值给所述预设计数值;
响应于所述小数补偿值小于1,确定下一定时校准周期的所述预设计数值为当前值;
响应于所述小数补偿值大于或等于1,确定下一定时校准周期的所述预设计数值为当前值加1;
所述方法还包括:
响应于所述小数补偿值大于或等于1,在更新所述预设计数值后将所述小数补偿值减1。
4.根据权利要求2所述的方法,其特征在于,所述计数值变量的计算式为:
1024s_period/P*set_15min_alarmtime=T
其中,s_period为所述第一计数值,P为所述高速晶振的频率,T为所述定时校准周期的时长,set_15min_alarmtime为所述计数值变量。
5.根据权利要求1至4任一所述的方法,其特征在于,所述启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,包括:
启动所述高速晶振;
通过所述RTC脉冲发射器向所述增强定时器发送定时脉冲;
确定所述增强定时器在所述脉冲周期内的第二计数值;
基于所述第二计数值以及标准计数值对所述低速晶振的频率进行校准,所述标准计数值为所述增强定时器在标准脉冲周期内的计数值,所述标准脉冲周期为所述RTC脉冲发射器以理想频率的低速晶振为时钟源发送定时脉冲的周期。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第二计数值以及标准计数值对所述低速晶振的频率进行校准,包括:
响应于当前周期的校准次数未达到次数阈值且所述第二计数值与所述标准计数值之间的误差不在误差允许范围内,基于所述第二计数值以及标准计数值对所述低速晶振的频率进行校准;
所述方法还包括:
响应于当前周期的所述校准次数达到所述次数阈值,或所述第二计数值与所述标准计数值之间的误差在所述误差允许范围内,确定晶振校准完成。
7.根据权利要求1至4任一所述的方法,其特征在于,所述基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值,包括:
响应于所述第一计数值在有效范围内,基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值;
所述方法还包括:
响应于所述第一计数值不属于所述有效范围,取消所述预设计数值的更新。
8.一种芯片时钟的校准装置,其特征在于,所述装置包括:
校准模块,用于响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,所述RTC计数器用于以所述低速晶振为时钟源进行计数;
确定模块,用于晶振校准完成后,确定增强定时器在脉冲周期内以所述高速晶振为时钟源的第一计数值,所述脉冲周期为RTC脉冲发射器以所述低速晶振为时钟源发送定时脉冲的周期;
更新模块,用于基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
9.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任意一项所述的方法。
10.一种遥控器,其特征在于,所述遥控器用于:
响应于RTC计数器的计数值达到定时校准周期的预设计数值,启动高速晶振并基于所述高速晶振的频率对低速晶振进行校准,所述RTC计数器用于以所述低速晶振为时钟源进行计数;
晶振校准完成后,确定增强定时器在脉冲周期内以所述高速晶振为时钟源的第一计数值,所述脉冲周期为RTC脉冲发射器以所述低速晶振为时钟源发送定时脉冲的周期;
基于所述第一计数值、所述定时校准周期的时长,以及所述高速晶振的频率,更新所述RTC计数器在下一定时校准周期的所述预设计数值。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如权利要求1至7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310947250.5A CN117111681A (zh) | 2023-07-28 | 2023-07-28 | 芯片时钟的校准方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310947250.5A CN117111681A (zh) | 2023-07-28 | 2023-07-28 | 芯片时钟的校准方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117111681A true CN117111681A (zh) | 2023-11-24 |
Family
ID=88797525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310947250.5A Pending CN117111681A (zh) | 2023-07-28 | 2023-07-28 | 芯片时钟的校准方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117111681A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117938154A (zh) * | 2024-02-20 | 2024-04-26 | 广芯微电子(广州)股份有限公司 | 一种芯片内部时钟源频率的校准方法 |
-
2023
- 2023-07-28 CN CN202310947250.5A patent/CN117111681A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117938154A (zh) * | 2024-02-20 | 2024-04-26 | 广芯微电子(广州)股份有限公司 | 一种芯片内部时钟源频率的校准方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117111681A (zh) | 芯片时钟的校准方法、装置、设备及存储介质 | |
KR100687230B1 (ko) | 알티씨 장치 및 알티씨 장치의 현재시각 보정 방법 | |
EP2369438B1 (en) | Calibration method of a real time clock signal | |
US20040252052A1 (en) | Portable terminal and GPS time keeping method | |
TWI446141B (zh) | 時脈校正方法與裝置以及電子裝置 | |
CN102736512B (zh) | 自动设置***时间的电子装置及***时间设置方法 | |
TW200839483A (en) | Real-time clock correction methods and apparatus | |
CN107844050B (zh) | 守时***、守时电路及守时方法 | |
US4708491A (en) | Time of day clock | |
JP2007327871A (ja) | 電子機器、時刻修正方法、及び記憶媒体 | |
JP2007078405A (ja) | ソフトウェア時計の計時プログラム | |
CN1128873A (zh) | 电子表的时间校正 | |
US5225889A (en) | Laser gyro dither drive | |
CN109782841B (zh) | 基于rtc芯片的实时时钟的实现方法、终端设备及存储介质 | |
JP2012058115A (ja) | 管理装置、管理方法、及び管理プログラム | |
JP4711546B2 (ja) | リアルタイムクロックの温度補正方法およびリアルタイムクロックを備えた処理装置 | |
JP2003270369A (ja) | リアルタイムクロックの時刻補正方法及び時刻補正装置 | |
JP2012165048A (ja) | タイムスタンプ取得装置及びタイムスタンプ取得方法 | |
JP2017020852A (ja) | 組込装置 | |
US6449217B1 (en) | Low cost clock | |
CN115083137A (zh) | 红外补偿的处理*** | |
JP5636822B2 (ja) | リアルタイムクロックモジュール、電子機器および制御方法 | |
JP2000074962A (ja) | 周期計測装置および周期計測方法、並びに記録媒体 | |
CN114554587B (zh) | 基于WiFi无线温振传感器的同步时间采样方法、***及介质 | |
JP2012018098A (ja) | 充電機能付き携帯型電子機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |