CN109067394B - 片上时钟校准装置及校准方法 - Google Patents
片上时钟校准装置及校准方法 Download PDFInfo
- Publication number
- CN109067394B CN109067394B CN201811031597.0A CN201811031597A CN109067394B CN 109067394 B CN109067394 B CN 109067394B CN 201811031597 A CN201811031597 A CN 201811031597A CN 109067394 B CN109067394 B CN 109067394B
- Authority
- CN
- China
- Prior art keywords
- frequency
- calibration
- clock
- clock signal
- signal
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000010355 oscillation Effects 0.000 abstract description 9
- 230000007423 decrease Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 239000013078 crystal Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- XGCDBGRZEKYHNV-UHFFFAOYSA-N 1,1-bis(diphenylphosphino)methane Chemical compound C=1C=CC=CC=1P(C=1C=CC=CC=1)CP(C=1C=CC=CC=1)C1=CC=CC=C1 XGCDBGRZEKYHNV-UHFFFAOYSA-N 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/0802—Details of the phase-locked loop the loop being adapted for reducing power consumption
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/099—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop
- H03L7/0991—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator being a digital oscillator, e.g. composed of a fixed oscillator followed by a variable frequency divider
- H03L7/0992—Details of the phase-locked loop concerning mainly the controlled oscillator of the loop the oscillator being a digital oscillator, e.g. composed of a fixed oscillator followed by a variable frequency divider comprising a counter or a frequency divider
Landscapes
- Electric Clocks (AREA)
Abstract
本发明公开一种片上时钟校准装置及校准方法,该装置包括RC振荡电路、分频校准电路和基准高频时钟源,分频校准电路包括定时计数器、分频比计算模块以及高频时钟启动模块;定时计数器接收分频器输出的低频时钟信号,并且间歇性的向高频时钟启动模块输出启动信号;高频时钟启动模块接收启动信号后,启动基准高频时钟源;基准高频时钟源启动后向分频比计算模块输出高频时钟信号;分频比计算模块接收原始RC时钟信号以及高频时钟信号,并计算分频比,将分频比的数值输出至分频器;分频器基于分频比对原始RC时钟信号进行分频并输出校准后的低频时钟信号。该方法使用上述校准装置实现时钟频率的校准。本发明能够实现低功耗的对低频时钟信号进行校准。
Description
技术领域
本发明涉及时钟信号处理领域,尤其涉及一种片上时钟校准装置以及应用这种装置实现时钟信号校准的片上时钟校准方法。
背景技术
现有的电子设备大多在电路板上设置CPU等芯片,由于CPU等芯片处于工作状态时消耗的电能较多,因此,现在的电子设备往往设置芯片工作在唤醒(Active)模式或者休眠(Sleep)模式,芯片工作在唤醒模式下,以较高的频率工作,并且消耗的电能较多,而在休眠模式下,以较低的频率工作,消耗的电能较少。通常,当芯片需要执行指令时,例如需要对数据进行处理时,将进入唤醒模式,处于正常工作状态,当芯片不需要对数据进行处理时,将进入休眠模式,从而节省芯片所消耗的电能。
由于芯片工作在唤醒模式以及休眠模式,工作频率是不相同的,因此需要提供不同的时钟频率以满足芯片在两种不同模式下的工作频率的要求。并且,当芯片从唤醒模式进入休眠模式时,需要精确的将时钟频率切换到低频模式,而当芯片从休眠模式进入唤醒模式以后,需要精确的将频率切换至高频模式。为了芯片从休眠模式进入唤醒模式后,能够正确的进行时钟信号频率的恢复,对低功耗时钟的精度有较高的要求。
目前,大部分电子设备使用低频晶体振荡器提供休眠时钟信号,由于晶体振荡器的时钟精度较好且功耗低,所以在GPS、蓝牙、wifi等通信***的芯片在休眠定时作为低功耗时钟信号源而广泛的应用。近年来随着移动通信和IOT设备的兴起,对设备的体积有更小的要求,对成本有更低的期待,所以片上低功耗时钟信号源(例如RC振荡器)被广泛应用和重点研究。但是片上低功耗时钟信号源的精度较差,随着温度变化、电压波动及工艺的差异而有较大变化,因此需要对片上低功耗时钟信号的频率进行校准。
对于具有休眠唤醒过程的***所使用的增强***时钟信号恢复的可靠性的方法,现有技术主要是通过提高时钟源的精度、提高通信***对时钟信号误差的容忍度或者利用校准策略来解决的。
通过提高时钟源的精度的方法解决时钟误差问题是最为直接的方法,所以传统的低频低功耗时钟信号源都倾向利用晶体振荡器作为时钟源。但是如今的利用片上资源来设计低频低功耗时钟源的方法从物理层面受到了根本的限制,无法达到和晶体振荡器相当的性能。例如,在芯片制造以后,利用对电容电阻调校的方法来降低工艺层面的偏差对时钟信号源频率绝对值的影响,可是不能降低电容电阻的相对温度变化而带来相对显著的偏差以及电压波动对晶体管的影响。同时在芯片出厂调校测试增加了成本,且随着芯片老化时钟信号的频率还会逐渐偏离出厂调校的结果。
而降低通信协议对时钟精度的要求可以提高通信***对时钟误差的容忍度,但是一般的通信***都是遵照既定的协议进行通信,如蓝牙、wifi等。现有的技术是在估计从设备唤醒时间点附近增加保活传输次数,以此避免因为时钟信号的误差造成的主从设备失联的情况。因此,现有技术是通过提高对其余蓝牙设备的兼容性,降低了因为其他设备时钟误差过大造成的连接中断的情况。但是当某一设备作为从设备时依然要遵循蓝牙协议规范对时钟信号要求的精度,因为不能保证其余蓝牙设备在作为主设备时也采用了相同的时钟恢复方法,所以在一般的有明确通信协议规范的通信***中,这种方法不太适用。
由于在休眠模式下,CPU等芯片会被关闭,所以现有技术中,通过对时钟信号校准方案都是在唤醒模式下进行校准。而休眠模式和唤醒模式下,芯片的温度和电压状态会有变化,所以导致在唤醒模式下对低功耗时钟进行计算的操作都会带来较大的误差。例如,在公开号为CN105873190A的中国发明专利申请公开的方案中,在迭代计算校准因子时,利用实际***定时减去恢复的***定时作为校准误差进行迭代,而在接收实际***定时的一个跨度内低功耗时钟即会处在休眠模式也有处在唤醒模式的时间,这就导致了校准误差计算的不准确。一旦处在休眠模式和唤醒模式低功耗时钟信号频率值相差较大时,就会导致校准失效,甚至导致芯片不能在预设的时间点唤醒来和***定时进行对时,从而影响芯片唤醒后时钟信号的频率精确度。
发明内容
本发明的主要目的是提供一种能够精确对芯片在休眠模式下的低频时钟信号进行校准的片上时钟校准装置,以便于在***被唤醒后时钟频率持续的进行校准,从工作状态进入休眠状态的过程中可以根据温度变化的客观规律阶梯间隔校准,并且在进入休眠状态后周期性进行校准。
本发明的另一目的是提供一种利用上述片上时钟校准装置实现的片上时钟校准方法,动态分频校准后输出确定频率而非频率计算值。
为了实现上述的主要目的,本发明提供的片上时钟校准装置,包括RC振荡电路以及分频校准电路,分频校准电路包括接收RC振荡电路输出的原始RC时钟信号的分频器;其中,该装置还包括基准高频时钟源,分频校准电路还包括定时计数器、分频比计算模块以及高频时钟启动模块;定时计数器接收分频器输出的低频时钟信号,并且间歇性的向高频时钟启动模块输出启动信号;高频时钟启动模块接收启动信号后,启动基准高频时钟源;基准高频时钟源启动后向分频比计算模块输出高频时钟信号;分频比计算模块接收原始时钟信号以及高频时钟信号,并计算分频比,将分频比的数值输出至分频器;分频器基于分频比对原始RC时钟信号进行小数分频并输出校准后的低频时钟信号。
由上述方案可见,本发明在芯片进入休眠模式以后,通过间歇性的利用一个高频时钟信号源输出的高频时钟信号对输出的低频时钟信号进行校准,整个校准过程是在芯片处于休眠模式下执行的,这样可以避免校准过程在唤醒模式下执行而导致校准不精确的问题。另一方面,由于时钟频率的校准是间歇性的执行,而不是持续的执行的,这样基准高频时钟源并不是长时间工作,而是间歇性的工作,从而减少基准高频时钟源消耗的电能。由于RC振荡电路消耗的电能很低,因此整个片上时钟校准装置的功耗很低。
一个优选的方案是,定时计数器计算多个校准时刻的时间,并且在到达每一个校准时刻时,向高频时钟启动模块输出一次启动信号。
由此可见,通过定时计数器计算多个校准时刻的时间,从而可以精确的确定出每一次需要执行校准的时刻。
进一步的方案是,定时计数器记录多个校准周期的时间,并依次的在每一个校准周期到达时,向高频时钟启动模块输出一次启动信号;在到达最后一个所记录的校准周期时间以后,以最后一个校准周期为设定周期,向高频时钟启动模块输出启动信号。
优选的,多个校准周期的时间是与实际应用场景中从工作状态到休眠状态的过程中芯片温度变化速度的规律相匹配的多个校准周期的时间。
可见,定时计数器通过记录多个校准周期的时间,并且依次在每一校准周期到达时发出启动信号,可以确保校准的准确执行。
更进一步的方案是,定时计数器设置有多个寄存器,每一寄存器记录一个校准周期的最小步进时间周期的数量,优选的,多个校准周期的周期时间根据进入休眠后温度变化规律依次逐渐增加。
由此可见,在芯片从唤醒模式刚刚进入休眠模式时,由于芯片的温度较高,RC振荡电路的原始RC时钟频率较高,因此校准周期较短,而随着休眠时间的增加,芯片的温度逐渐降低,RC振荡电路的原始RC时钟频率也随之降低并且保持稳定,校准周期将变长,这样可以确保校准的准确性,并且可以节省片上时钟校准装置的功耗。
可选的方案是,分频比计算模块具有除法电路,除法电路使用一个预设值除以分频校准值计算获得分频比的数值。
由此可见,分频比计算模块通过预设值可以快速的计算出分频比,使得分频比的计算简单、快速。
进一步的方案是,分频校准值为原始RC时钟信号的计数值满足精度计算要求时,高频时钟信号的计数值。
可见,通过计算满足校准精度要求的原始RC时钟信号的精度要求时高频时钟信号的个数,作为除法电路的除数,可以方便分频比计算模块快速计算出分频比。由于在不同时刻下,相同的原始RC时钟信号的计数值对应的高频时钟信号的计数值不相同,这样计算出来的分频比也就不相同,从而实现对低频时钟信号的校准。
为实现上述的另一目的,本发明提供的片上时钟校准方法包括:RC振荡电路向分频器输出原始RC时钟信号,分频器基于分频比对原始RC时钟信号进行分频并输出低频时钟信号;并且,分频器向定时计数器输出低频时钟信号,并且间歇性的向高频时钟启动模块发送启动信号;高频时钟启动模块接收启动信号后,启动基准高频时钟源;基准高频时钟源启动后向分频比计算模块输出高频时钟信号;分频比计算模块接收原始RC时钟信号以及高频时钟信号,并计算分频比,将分频比的数值输出至分频器;分频器基于分频比对原始RC时钟信号进行小数分频并输出校准后的低频时钟信号。
由上述方案可见,本发明在芯片进入休眠模式以后,通过间歇性的利用一个高频时钟信号源输出的高频时钟信号对原始RC时钟信号进行校准,整个校准过程是在芯片处于休眠模式下执行的,一方面可以避免校准过程在唤醒模式下执行而导致校准不精确的问题。另一方面,由于时钟频率的校准是间歇性的执行,而不是持续的执行的,这样基准高频时钟源并不是长时间工作,而是间歇性的工作,从而减少基准高频时钟源消耗的电能。由于RC振荡电路消耗的电能很低,因此整个片上时钟校准装置的功耗很低。
附图说明
图1是RC振荡电路的频率随着时间的变化以及RC振荡电路的温度随时间变化的曲线图。
图2是本发明片上时钟校准装置实施例的结构框图。
图3是本发明片上时钟校准装置实施例中定时计数器的工作流程图。
图4是本发明片上时钟校准装置实施例中高频时钟启动模块的工作流程图。
图5是本发明片上时钟校准装置实施例中分频比计算电路的结构框图。
图6是本发明片上时钟校准方法实施例的流程图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明的片上时钟校准装置应用具有CPU等芯片的集成电路上,并且CPU可以工作在唤醒模式以及休眠模式,片上时钟校准装置用于产生芯片在休眠模式下所使用的低频时钟信号。本发明的片上时钟校准方法应用上述的片上时钟校准装置产生低频时钟信号。
片上时钟校准装置实施例:
本实施例的片上时钟校准装置用于在芯片从唤醒模式进入休眠模式以后,产生低频时钟信号供芯片使用。当芯片由唤醒模式切换到休眠模式后,芯片的温度将逐渐的降低,并且RC振荡电路的时钟频率也随之降低,芯片的温度、时间和频率的变化关系趋势如图1所示。从图1可见,芯片在0秒时从唤醒模式进入休眠模式,在进入休眠模式后的25秒内,芯片的温度从60℃逐渐降低至38℃,RC振荡电路输出的时钟信号的频率也从800K赫兹逐渐降低至798.80K赫兹。图1中每一个小点上方的数值是温度,小点下方的数值是RC振荡电路的时钟信号的频率。从图1可以看出,随着时间的推移,芯片的温度逐渐降低,而RC振荡电路的时钟信号的频率也逐渐趋于平稳。
本实施例的主要构思是设置一个高频时钟信号源来对分频所获得的低频时钟信号进行校准,并且本实施例使用分频器对RC振荡电路的原始RC时钟信号进行分频获得低频时钟信号。参见图2,本实施例具有RC振荡电路10、基准高频时钟源40以及分频校准电路70,其中,分频校准电路70包括分频器20、定时计数器30、高频时钟启动模块50以及分频比计算模块60。
由于RC振荡电路10的功耗很低,而基准高频时钟源40的功耗较高,因此,本实施例是间歇性的启动基准高频时钟源40,也就是低频时钟信号的频率的校准是间歇性的进行的,并不是持续的进行。这样,可以节省整个片上时钟校准装置的功耗。从图1可知,由于芯片从唤醒状态进入休眠状态以后,原始RC时钟信号的频率将迅速下降,并且在经过一段时间以后,频率变化趋于平稳,因此,在芯片进入休眠模式后的较短时间内,校准周期较短,随着时间增加,校准周期将逐渐增加,一方面能够确保芯片进入休眠模式以后,获得的低频时钟信号的准确性,另一方面能够进一步的节省片上时钟校准装置的功耗。
本实施例中, RC振荡电路10为RC振荡时钟产生电路,其作用是提供待分频校准的原始RC时钟源,通常,原始RC时钟信号是一个具有较高频率的时钟信号。而基准高频时钟源40是一个高精度高频时钟源,其作用是提供用于校准的基准高频时钟信号,并且为分频比计算模块60的除法电路提供驱动。由于基准高频时钟源40提供的高频时钟信号是用于校准的时钟信号,因此高频时钟信号的频率需要高于原始RC时钟信号的频率,从而实现对原始RC时钟信号的校准。
RC振荡电路10输出的原始RC时钟信号的频率随芯片的温度变化而变化,即如图1所示的曲线变化。分频器20接收RC振荡电路10输出的原始RC时钟信号以后,基于分频比对原始RC时钟信号进行分频,从而形成频率较低的低频时钟信号以供CPU等芯片在休眠模式下使用。
本实施例中,分频器20是一个随机数分频功能模块,其作用是根据分频比计算模块60输出的分频比对原始RC时钟信号进行分频,获得低频时钟信号。优选的,本实施例中,分频器20输出的低频时钟信号的误差为随机均匀分布,理论上,分频误差期望值为零,实际上,误差只由原始RC时钟信号和高频时钟信号决定,只要在校准周期内,原始RC时钟信号和高频时钟信号的误差在允许范围内,则分频输出的低频时钟信号则可满足要求。
进一步的,分频器20基于分频比对原始RC时钟信号进行小数分频,从而输出校准后的低频时钟信号,例如,分频比并不是一个整数,而是一个小数,例如分频比是50.5,则分频器20进行分频时,间隔的使用50以及51作为分频比,从而使得分频后的低频时钟信号的频率在允许的误差范围内。
定时计数器30用于间歇性的启动基准高频时钟源40,这样,分频比计算模块60间歇性的计算出分频比的数值,分频器20也是间歇性的接收到分频比的数值,从而计算出分频比。从图1可知,当CPU等芯片从唤醒模式进入到休眠模式以后,温度将迅速降低,RC振荡电路10的原始RC时钟频率也随之迅速降低,并且在经过一定时间以后,原始RC时钟频率将趋于稳定。因此,定时计数器30将在芯片进入休眠模式以后,在较短时间内,校准周期较短,随着时间的推移,对低频时钟信号的校准周期逐渐增加。因此,定时计数器30启动基准高频时钟源40的周期并不是固定的,而是在芯片进入休眠模式后,第一个周期的时间较短,后续的校准周期将逐渐增加,并在经过一定时间后,校准周期将变成固定的周期。
本实施例中,定时计数器30接收分频器20输出的原始RC时钟信号以后,将计算多个校准时刻的时间,优选的,每一个校准时刻的时间是每一个校准周期的结束时间。在到达每一个校准时刻时,定时计数器30向高频时钟启动模块50输出启动信号,高频时钟启动模块50接收到启动信号以后,启动基准高频时钟源40,同时向分频比计算模块60输出信号,分频比计算模块60将向分频器20输出一次数值,该数值就是分频比计算模块60所计算的分频比的数值。
为了便于计算每一个校准周期的时间,本实施例中,定时计数器30内可以记录多个校准周期的时间,例如记录第一个校准周期的时间、第二个校准周期的时间等。由于在芯片进入休眠模式后的较短时间内,校准操作需要频繁的进行,并且校准周期是随时间的推移逐渐增加的,因此,定时计数器30需要记录前面若干个校准周期的时间,当RC振荡电路10的原始RC时钟周期的频率趋于稳定之后,可以使用固定的校准周期进行校准。
因此,定时计数器30记录多个校准周期的时间,并依次在每一个校准周期到达时,例如在每一个校准周期到达时刻,向高频时钟启动模块50输出一次启动信号。并且,在到达最后一个所记录的校准周期时间以后,如果芯片继续处于休眠模式,则以最后一个校准周期为设定周期,向高频时钟启动模块输出启动信号。例如,定时计数器30记录了芯片进入休眠模式以后的前面10次校准周期的时间,当经过前面10次校准周期的时间以后,如果芯片仍处于休眠模式,则后续每次校准周期都是以所记录的最后一个校准周期为设定的周期,在每次到达设定周期的最后时刻时,向高频时钟启动模块50输出一次启动信号,从而启动一次时钟信号校准操作。
为了适应不同的芯片的工作要求,本实施例的定时计数器30需要具有以下功能:校准周期变化规律可根据不同芯片配置;在芯片从休眠模式唤醒后,其校准周期自动切换到初始值,以便于下一次进入休眠模式以后,将从第一个校准周期开始进行校准;可使能和关闭校准功能,也就是可以根据需要启动校准的功能或者关闭校准功能。
优选的,定时计数器30内设置有多个寄存器,每一寄存器记录一个校准周期的最小步进时间周期的数量。例如,本实施例中设定校准使用的最小步进时间REG_DELT,该时间多个校准周期的时间长度的最大公约数。例如,芯片进入休眠模式以后,第一个校准周期所需要的周期时长是最小校准周期的时长REG_TIM0,以后每一个校准周期都是最小步进时间的若干倍,因此,多个寄存器内所存储的数值是一个整数,该整数表示的意思是当前寄存器对应的校准周期是最小步进时间的倍数。例如,第一个校准周期是最小步进时间,则第一个校准周期对应的寄存器所存储的数值就是1,第二校准周期是最小步进时间的10倍,则第二个校准周期对应的寄存器存储的数值就是10,第三校准周期是最小步进时间的25倍,则第三个校准周期对应的寄存器存储的数值就是25,如此类推。
由于定时计数时间以最大到数秒为单位,因此定时计数器30的时间值需要32bit的寄存器来存储数据,如果对每个时间都使用一个寄存器来存储数据,则会造成资源浪费,尤其是当校准周期数较密集变化时更明显,因此,本实施例提供一种节省寄存器的设计方案。
本实施例设置多个寄存器以存储多个预先设定的数值,所存储的数值包括最小步进时间REG_DELT、需要校准的不同周期个数REG_NUM等,并且还设置多个寄存器用于存储从当前校准周期到下一个校准周期相差的REG_DELT的个数,即当前校准周期的时间是最小步进时间REG_DELT的倍数的数值,优选的,使用N+1个校准周期寄存器分别记录每一个校准周期是最小步进时间周期的倍数的数值,每一个校准周期寄存器所存储的数值可以使用REG_0至 REG_N表示。此外,还需要数值一个寄存器用于存储最小校准周期的时长REG_TIM0,优选的,最小校准周期的时长REG_TIM0是一个预设的默认值,该数值芯片进入休眠模式后,第一个校准周期的时间长度。
下面结合图3介绍定时计数器30的工作流程。首先,执行步骤S1,设置总计数值为最小校准周期的数值,即在芯片进入休眠模式以后,初始时刻下,设定总计数值REG_SUM 为最小校准周期 REG_TIM0的数值。优选的,总计数值REG_SUM被存储在一个寄存器中,该寄存器的数值可以被擦写。然后,执行步骤S2,判断定时计数器的计数值TIM_CNT是否等于总计数值REG_SUM,如是,执行步骤S4,定时计数器30向高频时钟启动模块50发送一次启动信号。如果定时计数器的计数值TIM_CNT小于总计数值REG_SUM,则执行步骤S3,定时计数器的计数值自增一次,并且返回执行步骤S2。
执行步骤S4后,表示时钟信号的校准已经执行一个周期的校准,需要计算下一个校准周期的时间,并且在经过当前周期的时间长度以后,再发送下一次的启动信号,下一次的启动信号发送时间是当前校准周期结束的时刻。因此,需要精确计算出当前校准周期的结束时间。本实施例中,一方面通过周期个数计数器计算当前所在的周期时哪一个周期,另一方面,通过校准周期寄存器来计算当前周期的时间长度是最小步进时间REG_DELT的多少倍,由此来计算出新的校准周期的时间长度。
因此执行步骤S4以后,马上执行步骤S5,将校准周期的个数自增一次,也就是周期个数计数器NUM的计数值加1,然后执行步骤S6,判断是否到达下一个校准周期寄存器的序号的数值。例如,当前的校准周期是第2个校准周期,对应的校准周期寄存器的序号是2,则执行步骤S5时,将校准周期的个数自增一次,则校准周期的序号变为3,因此,步骤S6是判断当前周期个数计数器的计数值是否为其中一个校准周期寄存器的序号。如果当前周期个数计数器的计数值是其中一个校准周期寄存器的序号,则执行步骤S7,获取相应的校准周期寄存器所存储的数值。例如,获取相应序号的校准周期寄存器所存储的数值,例如获取序号为3的校准周期寄存器所存储的数值REG_3,例如该数值为50。
由于每一个校准周期寄存器所存储的数值表示的是该校准周期的时间长度是最小步进时间REG_DELT的倍数,因此,获取校准周期寄存器所存储的数值 (假设该数值为N)以后,设定一个变量M,变量M从0开始自增,并且每经过一个最小步进时间REG_DELT以后自增一次,当变量M自增到N时,表示已经到达当前校准周期的结束时刻,可以发送一次启动信号。
因此,执行步骤S7以后,执行步骤S9,经过一个最小步进时间REG_DELT以后,变量M的数值自增一次,然后执行步骤S10,判断最小步进时间周期计算值M是否大于校准周期寄存器的数值N,如是,执行步骤S11,否则,返回执行步骤S9,即再经过一个最小步进时间REG_DELT以后,变量M的数值自增一次。
步骤S11中,将变量M的数值与最小校准周期时长REG_TIM0的数值相加,获得新的总计数值REG_SUM,然后返回执行步骤S2,判断定时计数器的计数值TIM_CNT是否已经计数到新的总计数值REG_SUM,如是,则使能一次校准计算,即发送一次启动信号至高频时钟启动模块50。可见,通过判断定时计数器的计数值TIM_CNT与总计数值REG_SUM是否相等来进一步确定当前的时刻是一个校准周期的时刻,从而确保启动信号发送的时刻准确。
步骤S6中,如果周期个数不是等于预设的个数,则需要执行步骤S8,判断周期个数是否大于最大值,例如,寄存器所存储的需要校准的最大的周期个数REG_NUM是10,则如果当前的周期个数已经是超过10个,则执行步骤S12,判断芯片是否处于休眠模式,如处于休眠模式,则执行步骤S13,获取最后一个校准周期寄存器所存储的数值,并执行步骤S9,如果已经不在休眠模式,表示芯片已经唤醒,则直接退出低频时钟的校准工作,使用较高的频率工作。如果步骤S8中,当前的周期个数不大于最大的周期个数,则返回执行步骤S5,周期个数计数器自增一次,也就是跳转至下一个校准周期。
可见,定时计数器30并不是频繁的发送启动信号,而是间歇性的发送启动信号,并且启动信号的发送时间通过多个寄存器所存储的数值并且结合多个计数器的计数值来实现,从而定时的向高频时钟启动模块50发送启动信号。
下面结合图4介绍高频时钟启动模块50的工作流程。首先,执行步骤S21,判断是否接收到启动信号,如是,执行步骤S22,打开基准高频时钟源40的电源,并且执行步骤S23,设置基准高频时钟源40工作时所需要的参数,并且执行步骤S24,开启基准高频时钟源40,此时,基准高频时钟源40启动并工作。但是,基准高频时钟源40并不是启动以后马上进入稳定的工作状态,即基准高频时钟源40需要经过一定时间后才能输出频率稳定的高频时钟信号,因此,需要执行步骤S25,判断是否到达基准高频时钟源稳定的工作时间,如是,执行步骤S26,否则,继续等待,直到基准高频时钟源40进入稳定的工作状态。
步骤S26中,在基准高频时钟源40进入稳定工作状态以后,打开基准高频时钟源40的缓冲器,从基准高频时钟源40的缓冲器中获取数据,即将基准高频时钟源40的高频时钟信号输出至分频比计算模块60。然后,执行步骤S27,判断时钟信号校准的工作是否结束,如果当前周期的时钟信号校准工作结束,则执行步骤S28,关闭基准高频时钟源40,并且关闭基准高频时钟源的电源,从而确保基准高频时钟源40并不是长时间处于工作状态,而是只有接收到启动信号以后的一段时间内处于工作状态,并且在一次校准结束以后,马上停止工作,避免因基准高频时钟源40长时间工作而消耗大量的电能。
基准高时钟源40输出的高频时钟信号用于对低频时钟信号的频率进行校准,具体的,基准高频时钟源40输出的高频时钟信输出至分频比计算模块60。下面结合图5介绍分频比计算模块60的工作原理。分频比计算模块60的主要功能是计算分频器20所需要的参数,即分频比。本实施例中,分频比并不是固定的,而是根据RC振荡电路10的原始RC时钟信号的频率与高频时钟信号的频率来决定分频比的具体数值。
参加图5,分频比计算模块60包括寄存器61、除法电路62、高频时钟周期计数器63、高频时钟周期寄存器64和原始RC时钟周期计数器65。
其中,寄存器61用于存储除法电路62的被除数,被除数的数值是一个预先设定的数值,假设数值为Value,下面介绍数值Value的推算过程。
假设RC振荡电路10的原始RC时钟信号的最大频率为fmaxrcMHz,误差精度为Dppm(百万分之D),高频时钟频率为fdcxoMHz。以高频晶体振荡器来计RC振荡电路10的原始RC时钟信号的频率最大误差为1/fdcxo,若需要满足校准原始RC时钟信号的精度要求,则必须要求计算精度误差小于原始RC时钟信号本身的误差,假设需要n个原始RC时钟信号的周期个数才可以计算得到满足精度要求的原始RC时钟信号,且对应的高频时钟信号的周期数为N ,可推导出式1与式2:
并且,原始RC时钟信号的频率和高频时钟信号的频率之间的关系可以使用式3表示。
假设分频器20分频输出的低频时钟频率为flosc MHz,则低频时钟信号的频率和原始RC时钟信号的频率的分频比为满足式4的要求时,即可以满足低频时钟信号所有频率变化时的分频计算精度。
当将式2的“>”取为“=”时,则参寄存器61所要保存的值Value为:
其中,参数n、原始RC时钟信号的最大频率fmaxrc、误差精度D和分频后低频时钟频率flosc都是已知数。因此只要知道n个原始RC时钟信号的时长内高频时钟信号的计数值N,即可计算得到分频比。从式5可知,Value值是分频比的N倍,也就是原始时钟频率fdcxo与低频时钟频率flosc的比值的N倍。
除法电路62是一个移位除法电路,优选的,除法电路62由高频时钟信号驱动,从而加快除法电路62的运算速度,缩短校准时间。当校准计算完成后高频时钟关闭,除法电路62也就不工作,从而节省整个分频比计算模块60的功耗。
原始RC时钟周期计数器65用于计算RC振荡电路10的原始RC时钟信号的个数,因此原始RC时钟周期计数器65接收原RC始时钟信号,并且计算原始RC时钟信号的个数。由于本实施例是通过计算满足校准精度要求的n个原始RC时钟信号的周期个数以后,确定对应的高频时钟信号的周期个数N,从而计算出分频比,因此,预先设定满足校准精度要求的原始RC时钟信号周期的个数n,原始RC时钟周期计数器65接收到原始RC时钟信号的一个脉冲以后,计数器的计数值自增一次,并且在计数值达到n个时,向高频时钟周期计数器63输出信号。
高频时钟周期计数器63用于计算基准高频时钟源40的高频时钟信号的周期个数,也就是在原始RC时钟周期计数器65开始计数时开始计数,并且在接收到原始RC时钟周期计数器65发送的信号时停止计数,该计数值就是原始RC时钟信号的n个周期时对应的高频时钟信号的周期个数N。
高频时钟周期寄存器64用于存储高频时钟周期计数器63的计数值,即存储计数值N,并且将计数值N发送至除法电路62。因此,除法电路62使用Value作为被除数,使用高频时钟周期寄存器64作为除数,计算出分频比的数值并且输出值分频器20。
优选的,每次校准启动时,高频时钟周期计数器63和原始RC时钟周期计数器65都需清零计数值,也就是将之前的计数值清零,以避免影响技术的准确性。
由于原始RC时钟信号的频率随着芯片进入休眠模式的时间加长而不断降低,因此,满足校准精度要求的n个原始RC时钟信号周期的时间长度是变化的,而高频时钟信号的频率是稳定的,因此,在不同时间段内,n个原始RC时钟信号的周期时间长度内,对应的高频时钟信号的周期个数N也是变化的,这样,计算出来的分频比也不是固定的,而是随着时间的变化而变化,从而满足对低频时钟信号的频率校准的要求。
片上时钟校准方法实施例:
下面结合图6介绍本发明的片上时钟校准方法的工作流程。首先,执行步骤S31,RC振荡电路输出一个原始RC时钟信号,然后,执行步骤S32,分频器基于一个预设的分频比对原始RC时钟信号进行分频,形成一个低频时钟信号。优选的,分频器预先存储一个默认的分频比,该分频比可以根据芯片刚刚进休眠模式时RC振荡电路输出的原始RC时钟信号的频率确定。
然后,执行步骤S33,分频器向定时计数器输出分频后的低频时钟信号,定时计数器执行步骤S34,判断是否到达一个校准时刻,如是,则执行步骤S35,否则,继续等待。本实施例中,定时计数器设定多个存储器分别存储多个数值,包括存储每一个校准周期与上一个校准周期间隔的最小步进时间周期的数量,并且还存储最小步进时间长度,从而计算出每一个校准周期的结束时间。因此,步骤S34是在计算每一个校准周期的结束时刻。
当到达一个校准周期的结束时刻,则执行步骤S35,定时计数器向高频时钟启动模块发送启动信号,高频时钟启动模块执行步骤S36,启动基准高频时钟源,例如打开基准高频时钟源的电源,并且在基准高频时钟源的高频时钟信号频率稳定以后,向分频比计算模块输出高频时钟信号。
接着,执行步骤S37,分频比计算模块计算分频比的数值,例如使用一个寄存器所存储的预先设定的值作为被除数,并且计算满足校准精度要求的n个原始RC时钟频率周期的时间对应的高频时钟信号的周期个数N,使用N作为除数,计算出分频器所使用的分频比的具体数值,并且将分频比的数值发送至分频器。由于分频比计算模块所计算的分频比不是固定的,而是随着原始RC时钟信号的频率降低而减小,因此,分频器应用分频比计算模块所计算的分频比来确定分频后的低频时钟信号,能够尽可能的保证低频时钟信号的频率稳定,满足芯片在休眠模式下工作频率的稳定。
然后,执行步骤S38,分频器应用分频比计算模块所计算分频比对原始RC时钟信号进行分频,从而获得新的低频时钟信号,最后执行步骤S39,判断芯片是否退出休眠模式,如是,则不再对低频时钟信号进行校准,而是提供芯片在唤醒模式下所使用的时钟信号。如果芯片仍处于休眠模式,则返回执行步骤S33,再次由定时计数器计算下一个校准周期的时间。优选的,定时计数器确定若干个校准周期的时间长度,如10个校准周期的时间长度,并且在到达最后一个校准周期时间长度以后,芯片仍处于休眠模式,则继续使用最后一个校准周期的时间长度来作为设定的校准周期定定期的对时钟芯片的频率进行校准。
当然,上述的方案只是本发明优选的实施方案,实际应用是还可以有更多的变化,例如,所用校准周期计算的具体方式、分频比计算模块的具体构成的改变等,这些改变都不影响本发明的实施,也应该包括在本发明的保护范围内。
Claims (7)
1.片上时钟校准装置,包括RC振荡电路以及分频校准电路,所述分频校准电路包括接收所述RC振荡电路输出的原始RC时钟信号的分频器;
其特征在于:
该装置还包括基准高频时钟源,所述分频校准电路还包括定时计数器、分频比计算模块以及高频时钟启动模块;
所述定时计数器接收所述分频器输出的低频时钟信号,并且间歇性的向所述高频时钟启动模块输出启动信号;
所述高频时钟启动模块接收所述启动信号后,启动所述基准高频时钟源;
所述基准高频时钟源启动后向所述分频比计算模块输出高频时钟信号;
所述分频比计算模块接收所述原始RC时钟信号以及所述高频时钟信号,并计算分频比,将所述分频比的数值输出至所述分频器;
所述分频器基于所述分频比对所述原始RC时钟信号进行小数分频并输出校准后的低频时钟信号;
所述定时计数器计算多个校准时刻的时间,并且在到达每一个所述校准时刻时,向所述高频时钟启动模块输出一次启动信号;
所述定时计数器记录多个校准周期的时间,并依次在每一个所述校准周期到达时,向所述高频时钟启动模块输出启动信号;
在到达最后一个所记录的所述校准周期时间以后,以最后一个所述校准周期为设定周期,向所述高频时钟启动模块输出循环启动信号。
2.根据权利要求1所述的片上时钟校准装置,其特征在于:
所述定时计数器设置有多个寄存器,每一所述寄存器记录一个所述校准周期的最小步进时间周期的数量。
3.根据权利要求2所述的片上时钟校准装置,其特征在于:
多个所述校准周期的周期时间依次逐渐增加。
4.根据权利要求1至3任一项所述的片上时钟校准装置,其特征在于:
所述分频比计算模块具有除法电路,所述除法电路使用一个预设值除以分频校准值计算获得所述分频比的数值。
5.根据权利要求4所述的片上时钟校准装置,其特征在于:
所述分频校准值为所述原始RC时钟信号的计数值满足精度计算要求时,所述高频时钟信号的计数值。
6.片上时钟校准方法,包括:
RC振荡电路向分频器输出原始RC时钟信号,所述分频器基于分频比对所述原始RC时钟信号进行分频并输出低频时钟信号;
其特征在于:
所述分频器向定时计数器输出所述低频时钟信号,并且间歇性的向高频时钟启动模块发送启动信号:所述定时计数器计算多个校准时刻的时间,并且在到达每一个所述校准时刻时,向所述高频时钟启动模块输出一次启动信号;
所述高频时钟启动模块接收所述启动信号后,启动基准高频时钟源;
所述基准高频时钟源启动后向所述分频比计算模块输出高频时钟信号;
所述分频比计算模块接收所述原始RC时钟信号以及所述高频时钟信号,并计算分频比,将所述分频比的数值输出至所述分频器;
所述分频器基于所述分频比对所述原始RC时钟信号进行小数分频并输出校准后的低频时钟信号;
所述定时计数器记录多个校准周期的时间,并依次在每一个所述校准周期到达时,向所述高频时钟启动模块输出启动信号;
在到达最后一个所记录的所述校准周期时间以后,以最后一个所述校准周期为设定周期,向所述高频时钟启动模块输出循环启动信号。
7.根据权利要求6所述的片上时钟校准方法,其特征在于:
所述分频比计算模块使用一个预设值除以分频校准值计算获得所述分频比的数值,其中,所述分频校准值为所述低频时钟信号的计数值满足精度计算要求时,所述高频时钟信号的计数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811031597.0A CN109067394B (zh) | 2018-09-05 | 2018-09-05 | 片上时钟校准装置及校准方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811031597.0A CN109067394B (zh) | 2018-09-05 | 2018-09-05 | 片上时钟校准装置及校准方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109067394A CN109067394A (zh) | 2018-12-21 |
CN109067394B true CN109067394B (zh) | 2022-02-15 |
Family
ID=64759488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811031597.0A Active CN109067394B (zh) | 2018-09-05 | 2018-09-05 | 片上时钟校准装置及校准方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109067394B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110308762A (zh) * | 2019-06-21 | 2019-10-08 | 广芯微电子(广州)股份有限公司 | 一种芯片内部时钟源的时钟频率校准方法 |
CN110324026A (zh) * | 2019-06-21 | 2019-10-11 | 广芯微电子(广州)股份有限公司 | 一种芯片内部时钟源的时钟频率检测方法 |
CN112230711B (zh) * | 2020-09-25 | 2023-03-14 | 紫光展锐(重庆)科技有限公司 | 一种校准装置、方法及计算机可读存储介质 |
CN112422126B (zh) * | 2020-11-27 | 2024-06-07 | 紫光展锐(重庆)科技有限公司 | 一种时钟校准电路 |
CN114689199B (zh) * | 2020-12-29 | 2023-06-02 | 华润微集成电路(无锡)有限公司 | 实现温度补偿的预测型电子体温计电路结构 |
CN113014372B (zh) * | 2021-03-05 | 2022-08-09 | 海速芯(杭州)科技有限公司 | 一种串行数据传输的波特率校正硬件装置及设计方法 |
CN113079497A (zh) * | 2021-04-09 | 2021-07-06 | 思澈科技(上海)有限公司 | 一种蓝牙时钟的校准方法和电路结构 |
US11811364B2 (en) | 2021-06-22 | 2023-11-07 | Samsung Electronics Co., Ltd. | Clock integrated circuit including heterogeneous oscillators and apparatus including the clock integrated circuit |
CN114860323A (zh) * | 2022-05-20 | 2022-08-05 | 重庆御芯微信息技术有限公司 | 一种低功耗精确定时唤醒方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106656173B (zh) * | 2016-12-26 | 2020-01-24 | 上海迦美信芯通讯技术有限公司 | 一种振荡器的频率校准电路及其频率校准方法 |
CN108063617A (zh) * | 2017-11-20 | 2018-05-22 | 珠海慧联科技有限公司 | 一种低频rc振荡器的时钟频率校准方法和*** |
-
2018
- 2018-09-05 CN CN201811031597.0A patent/CN109067394B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109067394A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109067394B (zh) | 片上时钟校准装置及校准方法 | |
US7421251B2 (en) | Precise frequency generation for low duty cycle transceivers using a single crystal oscillator | |
US9432034B2 (en) | Low-power oscillator | |
US9510289B1 (en) | In system calibration of wake up timer | |
US9134752B2 (en) | Time measurement device, micro-controller and method of measuring time | |
US10153773B2 (en) | Low-power oscillator | |
EP1585223A1 (en) | Method and circuit for determining a slow clock calibration factor | |
RU2579716C2 (ru) | Коррекция тактового генератора низкой точности | |
JP2006309479A (ja) | クロック補正回路及びクロック補正方法並びにマイクロコントローラ | |
AU718828B2 (en) | High resolution clock reconstruction for use in a mobile telecommunication device | |
US20200348715A1 (en) | Clock calibration | |
US6618456B1 (en) | Asynchronous timing oscillator re-synchronizer and method | |
CN112953514A (zh) | 校准蓝牙时钟的方法和装置 | |
JP2009014393A (ja) | 時刻補正方法、マイコン内部時計、電子制御ユニット | |
US20240098668A1 (en) | Calibration of a low frequency oscillator using a high frequency oscillator as a reference clock | |
US20170288681A1 (en) | Device and method for multiple reference system timer | |
CN116540517A (zh) | 一种计时校准方法、芯片计时***及芯片 | |
WO2011064583A1 (en) | Cloc recovery in a battery powered device | |
JP2006174261A (ja) | 無線通信装置 | |
JP2009075762A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 13 / F, union building, No. 1069, Shekou Nanhai Avenue, merchants street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Shenzhen Quanzhi online Co.,Ltd. Address before: 518067 13th floor, union building, 1069 Nanhai Avenue, Shekou, zhaoshang street, Nanshan District, Shenzhen City, Guangdong Province Applicant before: XRADIOTECH TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |