CN109283967B - 一种微控制单元mcu时钟校准方法及相关设备 - Google Patents
一种微控制单元mcu时钟校准方法及相关设备 Download PDFInfo
- Publication number
- CN109283967B CN109283967B CN201811384477.9A CN201811384477A CN109283967B CN 109283967 B CN109283967 B CN 109283967B CN 201811384477 A CN201811384477 A CN 201811384477A CN 109283967 B CN109283967 B CN 109283967B
- Authority
- CN
- China
- Prior art keywords
- clock
- frequency
- mcu
- numerical value
- value
- 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
Images
Classifications
-
- 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/08—Clock generators with changeable or programmable clock frequency
-
- 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/14—Time supervision arrangements, e.g. real time clock
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Electric Clocks (AREA)
Abstract
本申请实施例提供了一种微控制单元MCU时钟校准方法及相关设备,用于提高MCU时钟的精准度和稳定性。本申请实施例方法包括:利用基准源时钟确定目标时间段;使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;根据所述第一数值和所述第二数值调整所述MCU时钟的频率。因此,通过所述第一数值和所述第二数值调整所述MCU时钟的频率,即使用基准源时钟用来作为校准MCU时钟的参考时钟对MCU时钟进行校准,可提高MCU时钟的精准度和稳定性。
Description
技术领域
本申请涉及电子信息领域,尤其涉及一种微控制单元MCU时钟校准方法及相关设备。
背景技术
微控制单元(Microcontroller Unit;MCU),又称单片微型计算机或者单片机,是把中央处理器的频率与规格做适当缩减,并将内存、计数器、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。
在MCU中,时钟是重要的一个构成部分,相当于是MCU的心脏,时钟的精准度会直接影响产品的功能及稳定性等。例如:当MCU与其它设备进行UART通迅时,时钟的精度会直接影响通迅数据的正确收发。
然而,实际情况是MCU的内部时钟会随着环境温度的变化而产生一定的温漂,温漂导致时钟的误差可能高达±20%甚至更大,这个由温漂产生的误差精度远远超出了MCU时钟误差所允许的正常范围,导致产品功能出现异常。
申请内容
本申请实施例提供了一种微控制单元MCU时钟校准方法及相关设备,用于提高MCU时钟的精准度和稳定性。
本申请实施例第一方面提供了一种微控制单元MCU时钟校准方法,包括:
利用基准源时钟确定目标时间段;
使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;
使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;
根据所述第一数值和所述第二数值调整所述MCU时钟的频率。
可选地,所述根据所述第一数值和所述第二数值调整所述MCU时钟的频率包括:
若所述第一数值大于所述第二数值,则降低所述MCU时钟的频率;
若所述第一数值小于所述第二数值,则增加所述MCU时钟的频率。
可选地,所述使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值具体包括:
获取所述MCU时钟的寄存器有效范围中的最大值和最小值;
根据所述最大值和最小值使用二分法确定出中值;
根据所述中值设置所述寄存器,得到所述MCU时钟的频率;
使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值。
可选地,所述根据所述第一数值和所述第二数值调整所述MCU时钟的频率具体包括:
获取校准周期和校准误差;
在所述校准周期内,判断所述第一数值和所述第二数值的数值误差是否满足所述校准误差;
若否,则调整所述MCU时钟的寄存器,用以调整所述MCU时钟的频率。
本申请实施例第二方面提供了一种微控制单元MCU时钟校准系统,包括:
确定单元,用于利用基准源时钟确定目标时间段;
第一计算单元,用于使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;
第二计算单元,用于使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;
调整单元,用于根据所述第一数值和所述第二数值调整所述MCU时钟的频率。
可选地,所述调整单元具体用于:
若所述第一数值大于所述第二数值,则降低所述MCU时钟的频率;
若所述第一数值小于所述第二数值,则增加所述MCU时钟的频率。
可选地,所述第一计算单元具体用于:
获取所述MCU时钟的寄存器有效范围中的最大值和最小值;
根据所述最大值和最小值使用二分法确定出中值;
根据所述中值设置所述寄存器,得到所述MCU时钟的频率;
使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值。
可选地,所述第二计算单元具体用于:
获取校准周期和校准误差;
在所述校准周期内,判断所述第一数值和所述第二数值的数值误差是否满足所述校准误差;
若否,则调整所述MCU时钟的寄存器,用以调整所述MCU时钟的频率。
本申请实施例第三方面提供了一种计算机装置,包括:
处理器、存储器、输入输出设备以及总线;
所述处理器、存储器、输入输出设备分别与所述总线相连;
所述处理器用于执行如前述实施例所述的方法。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如前述实施例中任一项所述方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:本实施例中,利用基准源时钟确定目标时间段;使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;根据所述第一数值和所述第二数值调整所述MCU时钟的频率。因此,通过所述第一数值和所述第二数值调整所述MCU时钟的频率,即使用基准源时钟用来作为校准MCU时钟的参考时钟对MCU时钟进行校准,可提高MCU时钟的精准度和稳定性。
附图说明
图1为本申请实施例中一种微控制单元MCU时钟校准方法实施例的一个示意图;
图2为本申请实施例中一种微控制单元MCU时钟校准方法实施例的另一个示意图;
图3为本申请实施例中一种微控制单元MCU时钟校准方法实施例的另一个示意图;
图4为本申请实施例中一种微控制单元MCU时钟校准方法实施例的另一个示意图;
图5为本申请实施例中一种微控制单元MCU时钟校准系统实施例的一个示意图;
图6为本申请实施例中一种计算机装置实施例的一个示意图。
具体实施方式
本申请实施例提供了一种微控制单元MCU时钟校准方法及相关设备,用于提高MCU时钟的精准度和稳定性。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于理解,下面对本申请实施例中的具体流程进行描述,请参阅图1,本申请实施例中一种微控制单元MCU时钟校准方法的一个实施例包括:
101、利用基准源时钟确定目标时间段;
本实施例中,可以通过终端设备,例如使用MCU的终端产品,或者使用电脑、服务器等终端连接MCU作为本申请实施例的执行主体,执行利用基准源时钟确定目标时间段。
基准源时钟是用来作为校准MCU内部时钟的参考时钟,因此基准源时钟必须要满足以下两个要求:精度高、全工作温度下的温漂小。该基准时钟可以是外部实时时钟(RTC,Real_Time Clock)(比如32.768khz或100khz等),也可以是MCU内部的低速时钟(如果MCU内部有精度高和温漂小的低速时钟时)。具体来说,利用时钟基准源时钟作为定时器T0的时钟源来定时一个准确的时间段作为目标时间段(10ms、100ms或1s或其它时间)。
102、使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;
本实施例中,终端使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值。
具体地,选择MCU时钟作为定时器T1的时钟源,以方便统计一段时间内T1对当前MCU时钟的计数个数统计,在步骤102中定时器T0所定时的时间段内定时器T1对当前MCU内部时钟的计数个数curCntVal,记为第一数值。
103、使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;
本实施例中,终端使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值。
具体地,基准源时钟定时器T0所定时的时间段内,MCU定时器T1对MCU时钟的使用基准源时钟的频率的计数个数VREFCNTVAL,记为第二数值。
104、根据所述第一数值和所述第二数值调整所述MCU时钟的频率。
本实施例中,终端具体根据第一数值和第二数值的数值大小关系进行调整MCU时钟的频率。
具体来说,可以通过MCU的时钟triming寄存器来进行调整MCU时钟的频率。其中,比较当前的MCU时钟频率计数值第一数值curCntVal与MCU时钟目标频率计数值第二竖直VREFCNTVAL的大小,来确定时钟triming寄存器的调整方向。
本实施例中,利用基准源时钟确定目标时间段;使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;根据所述第一数值和所述第二数值调整所述MCU时钟的频率。因此,通过所述第一数值和所述第二数值调整所述MCU时钟的频率,即使用基准源时钟用来作为校准MCU时钟的参考时钟对MCU时钟进行校准,可提高MCU时钟的精准度和稳定性。
本申请实施例中,步骤104根据所述第一数值和所述第二数值调整所述MCU时钟的频率的方式有多种,具体来说可以根据第一数值和第二数值之间的数值关系来进行MCU时钟频率的调整。下面请参阅图2,基于图1所述实施例,本申请实施例一种微控制单元MCU时钟校准方法的另一个实施例中,步骤104具体可以包括:
201、若所述第一数值大于所述第二数值,则降低所述MCU时钟的频率;
本实施例中,若终端确定第一数值大于第二数值,则说明当前MCU时钟频率比基准源时钟的目标频率要大,此时需要减小(或增加)时钟triming寄存器的值来降低当前MCU内部时钟频率。
202、若所述第一数值小于所述第二数值,则增加所述MCU时钟的频率。
本实施例中,若终端确定第一数值小于第二数值,则说明当前MCU时钟频率比基准源时钟的目标频率要小,此时需要增加(或减小)时钟triming寄存器的值来提高当前MCU内部时钟频率。
此外,在本实施例中,若第一数值等于第二数值,则说明当前MCU内部时钟频率等于基准源时钟的目标频率,此时对应的时钟triming寄存器的值即是基准源时钟目标频率对应的triming值,不需要更改。
本申请实施例中,由于昼夜温差大、南北地域温差很大等因素客观存在着,并且产品的上电时间点与上电地域是不确定的,因此MCU在刚上电时的环境温度是不确定的,正是由于上电时环境温度的不确定使得上电时MCU内部时钟温漂也不确定,可能出现刚上电时MCU内部时钟温漂很大的情况;因此本发明在MCU上电时通过利用“二分法”机制来对MCU内部时钟进行校准,可以快速的将MCU内部时钟校准到目标频率,并且利用“二分法可以”得出与目标频率最佳的匹配频点。下面请参阅图3,基于图1或图2所述实施例,本申请实施例一种微控制单元MCU时钟校准方法的另一个实施例中,步骤102具体可以包括:
301、获取所述MCU时钟的寄存器有效范围中的最大值和最小值;
本实施例中,终端获取所述MCU时钟的寄存器有效范围中的最大值和最小值。
具体地,本步骤中的获取过程可以通过接收第三方终端发送的方式获取得到,也可以通过查询MCU的datasheet获取得到,还可以是其它方式获取得到,此处不做限定。以查询MCU的datasheet为例,可以确定该MCU的时钟triming寄存器的有效值范围为[a,b],其中a是时钟triming寄存器有效值的最小值,b是时钟triming寄存器有效值的最大值。
302、根据所述最大值和最小值使用二分法确定出中值;
本实施例中,终端根据所述最大值和最小值使用二分法确定出中值。
303、根据所述中值设置所述寄存器,得到所述MCU时钟的频率;
本实施例中,终端根据所述中值设置所述寄存器,得到所述MCU时钟的频率。
304、使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值。
本实施例中,使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值。
具体来说,步骤302--步骤304的过程可以循环执行,即使用二分法的方式求出最优解。首先,设定3个变量minTrim,midTrim,maxTrim;其中minTrim=a,maxTrim=b,midTrim=(maxTrim+minTrim)/2=(a+b)/2;将midTrim的值写入MCU的时钟Triming寄存器中,接着代入图1实施例或图2实施例中,通过校准,得到定时器T1对当前MCU时钟的计数个数curCntVal;同时比较curCntVal与基准源时钟目标频率的计数个数VREFCNTVAL的大小;如果curCntVal>VREFCNTVAL,则说明当前MCU内部时钟频率比MCU内部时钟的目标频率要大,需要将时钟Triming寄存器的范围更新如下:minTrim=a,maxTrim=midTrim=(a+b)/2,midTrim=(maxTrim+minTrim)/2=(a+(a+b)/2)/2;如果curCntVal<VREFCNTVAL,则说明当前MCU内部时钟频率比MCU内部时钟的目标频率要小,需要将时钟Triming寄存器的范围更新如下:minTrim=midTrim=(a+b)/2,maxTrim=b,midTrim=(maxTrim+minTrim)/2=((a+b)/2+b)/2;重新确定了minTrim、midTrim、maxTrim的值后,将midTrim值写入时钟Triming寄存器中,再次重复执行图1所述实施例中步骤101至步骤104的动作,直到满足条件midTrim-minTrim=maxTrim-midTrim=1为止,则说明“二分法”时钟校准机制已经完成,同时,最终的时钟Triming寄存器的值midTrim所对应的时钟频率就是最接近基准源时钟的目标频率。
本实施例中,使用“二分法”校准机制时,步骤101所述的时间段可以定时比较小,一般ms级(比如10ms、15ms等),因此在MCU上电时的很短的时间内即可完成对MCU时钟的校准动作,对MCU上电后功能的延时影响很小(通常只会延时100ms左右)。
本申请实施例中,MCU在上电后的工作过程中,其工作环境温度会随着时间的推移(比如昼夜温度不同)或负载变化而发生变化,但这种温度的变化一般都是渐变式的,对应MCU内部时钟所产生的温漂也是渐变的,不会使得MCU内部时钟频率发生突变,但却会使得MCU内部时钟频率随着温度渐变而产生累计误差效果,如不及时校准,可能会导致很大的误差结果出现,因此在MCU工作过程中,也必须对其内部时钟进行定时校准动作,而此时不宜采用“二分法”来校准(会使MCU正在工作中的时钟产生较大的波动),应该使用“线性逼近法”微调的方式来校准MCU内部时钟频率。下面请参阅图4,基于图1、图2或图3所述实施例,本申请实施例一种微控制单元MCU时钟校准方法的另一个实施例中,步骤103具体可以包括:
401、获取校准周期和校准误差;
本实施例中,终端获取校准周期和校准误差。
具体地,本步骤中的获取过程可以通过接收第三方终端发送的方式获取得到,也可以通过终端的输入输出设备接收信号获取得到,还可以是其它方式获取得到,此处不做限定。
此外,对于校准周期来说,由于MCU工作过程中,温度的变化一般是渐变且较慢的,因此对MCU内部时钟频率的校准周期不必太频繁,一般选择1min或10min甚至更长时间周期才来进行一次校准,具体校准周期还跟MCU内部时钟频率对温度的变化快慢有关,如果温度对内部时钟频率影响大,则校准周期要设置短些,如果温度对内部时钟频率影响小,则校准周期可设置长些。对于校准误差来说,指校准后的实际时钟频率与基准源时钟频率的差值。一般来说,由于存在计数误差、MCU时钟频率本身的调节步长大小等因素使得校准后的时钟频率不一定会等于基准源时钟频率,这种情况下,为了防止MCU内部时钟频率来回波动,应该将校准误差设定在一定范围内(例如±1%或±2%等),只要校准后的时钟频率误差在允许的校准误差以内,则认为校准成功。
402、在所述校准周期内,判断所述第一数值和所述第二数值的数值误差是否满足所述校准误差;
本实施例中,在步骤401确定出来的校准周期内,判断所述第一数值和所述第二数值的数值误差是否满足步骤401确定出来的校准误差,若是,则执行步骤404,若否,则执行步骤403。
403、若否,则调整所述MCU时钟的寄存器,用以调整所述MCU时钟的频率。
本实施例中,当终端确定,在步骤401确定出来的校准周期内,判断所述第一数值和所述第二数值的数值误差不满足步骤401确定出来的校准误差时,则调整所述MCU时钟的寄存器,用以调整所述MCU时钟的频率。
404、若是,则执行其它操作。
本实施例中,当终端确定,在步骤401确定出来的校准周期内,判断所述第一数值和所述第二数值的数值误差满足步骤401确定出来的校准误差时,则终端执行其它操作,例如继续在校准周期内执行步骤401-404循环执行,也可以是不执行动作,还可以是其它操作,此处不做限定。
具体来说,在步骤403至步骤404中,可以综合来执行,下面通过一个具体实施的例子来进行介绍。类似于图1至图3所述实施例中的调整机制,得到MCU定时器T1对当前MCU时钟的计数个数curCntVal,同时比较curCntVal与基准源时钟的目标频率的计数个数VREFCNTVAL的大小。由步骤401中所确定的校准误差百分比(△为1%或2%等),计算出对应的计数误差△CNTVAL=VREFCNTVAL*△;如果(curCntVal-VREFCNTVAL)>△CNTVAL,则说明当前MCU时钟频率偏大,需要将时钟Triming寄存器的值-1;如果(VREFCNTVAL-curCntVal)>△CNTVAL,则说明当前MCU时钟频率偏大,需要将时钟Triming寄存器的值+1;如果|curCntVal-VREFCNTVAL|<△CNTVAL,则说明当前MCU时钟频率在目标时钟频率所允许的范围内,无需调整时钟Triming寄存器的值。在此之后,更新完时钟Triming寄存器值后,重复执行步骤401至步骤404,直到关机结束。
上面从方法的角度对本申请实施例进行了介绍,下面从虚拟装置的角度对本申请实施例进行描述,请参阅图5,本申请实施例中,一种微控制单元MCU时钟校准系统的一个实施例包括:
确定单元501,用于利用基准源时钟确定目标时间段;
第一计算单元502,用于使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;
第二计算单元503,用于使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;
调整单元504,用于根据所述第一数值和所述第二数值调整所述MCU时钟的频率。
本实施例中,确定单元501,用于利用基准源时钟确定目标时间段;第一计算单元502,用于使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;第二计算单元503,用于使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;调整单元504,用于根据所述第一数值和所述第二数值调整所述MCU时钟的频率。因此,通过所述第一数值和所述第二数值调整所述MCU时钟的频率,即使用基准源时钟用来作为校准MCU时钟的参考时钟对MCU时钟进行校准,可提高MCU时钟的精准度和稳定性。
作为一个优选方案,调整单元504具体用于:
若所述第一数值大于所述第二数值,则降低所述MCU时钟的频率;
若所述第一数值小于所述第二数值,则增加所述MCU时钟的频率。
作为一个优选方案,第一计算单元502具体用于:
获取所述MCU时钟的寄存器有效范围中的最大值和最小值;
根据所述最大值和最小值使用二分法确定出中值;
根据所述中值设置所述寄存器,得到所述MCU时钟的频率;
使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值。
作为一个优选方案,第二计算单元503具体用于:
获取校准周期和校准误差;
在所述校准周期内,判断所述第一数值和所述第二数值的数值误差是否满足所述校准误差;
若否,则调整所述MCU时钟的寄存器,用以调整所述MCU时钟的频率。
上面从模块化的装置对本申请实施例中一种微控制单元MCU时钟校准系统进行了描述,下面硬件装置对本申请实施例中的计算机装置进行描述,请参阅图6,本申请实施例中计算机装置的一个具体实施例包括:
该装置600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)601(例如,一个或一个以上处理器)和存储器605,该存储器605中存储有一个或一个以上的应用程序或数据。
其中,存储器605可以是易失性存储或持久存储。存储在存储器605的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器601可以设置为与存储器605通信,在智能终端600上执行存储器605中的一系列指令操作。
该装置600还可以包括一个或一个以上电源602,一个或一个以上有线或无线网络接口603,一个或一个以上输入输出接口604,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
处理器601具体用于执行以下步骤:
利用基准源时钟确定目标时间段;
使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;
使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;
根据所述第一数值和所述第二数值调整所述MCU时钟的频率。
作为一个优选方案,所述根据所述第一数值和所述第二数值调整所述MCU时钟的频率包括:
若所述第一数值大于所述第二数值,则降低所述MCU时钟的频率;
若所述第一数值小于所述第二数值,则增加所述MCU时钟的频率。
作为一个优选方案,所述使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值具体包括:
获取所述MCU时钟的寄存器有效范围中的最大值和最小值;
根据所述最大值和最小值使用二分法确定出中值;
根据所述中值设置所述寄存器,得到所述MCU时钟的频率;
使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值。
作为一个优选方案,所述根据所述第一数值和所述第二数值调整所述MCU时钟的频率具体包括:
获取校准周期和校准误差;
在所述校准周期内,判断所述第一数值和所述第二数值的数值误差是否满足所述校准误差;
若否,则调整所述MCU时钟的寄存器,用以调整所述MCU时钟的频率。
可以理解的是,在本申请的各种实施例中,上述各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种微控制单元MCU时钟校准方法,其特征在于,包括:
利用基准源时钟确定目标时间段;
使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;
使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;
根据所述第一数值和所述第二数值调整所述MCU时钟的频率;
所述使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值具体包括:
获取所述MCU时钟的寄存器有效范围中的最大值和最小值;
根据所述最大值和最小值使用二分法确定出中值;
根据所述中值设置所述寄存器,得到所述MCU时钟的频率;
使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一数值和所述第二数值调整所述MCU时钟的频率包括:
若所述第一数值大于所述第二数值,则降低所述MCU时钟的频率;
若所述第一数值小于所述第二数值,则增加所述MCU时钟的频率。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一数值和所述第二数值调整所述MCU时钟的频率具体包括:
获取校准周期和校准误差;
在所述校准周期内,判断所述第一数值和所述第二数值的数值误差是否满足所述校准误差;
若否,则调整所述MCU时钟的寄存器,用以调整所述MCU时钟的频率。
4.一种微控制单元MCU时钟校准系统,其特征在于,包括:
确定单元,用于利用基准源时钟确定目标时间段;
第一计算单元,用于使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值;
第二计算单元,用于使用所述基准源时钟的频率计算在所述目标时间段内的计数个数,记为第二数值;
调整单元,用于根据所述第一数值和所述第二数值调整所述MCU时钟的频率;
所述第一计算单元具体用于:
获取所述MCU时钟的寄存器有效范围中的最大值和最小值;
根据所述最大值和最小值使用二分法确定出中值;
根据所述中值设置所述寄存器,得到所述MCU时钟的频率;
使用MCU时钟的频率计算在所述目标时间段内的计数个数,记为第一数值。
5.根据权利要求4所述的系统,其特征在于,所述调整单元具体用于:
若所述第一数值大于所述第二数值,则降低所述MCU时钟的频率;
若所述第一数值小于所述第二数值,则增加所述MCU时钟的频率。
6.根据权利要求4或5所述的系统,其特征在于,所述第二计算单元具体用于:
获取校准周期和校准误差;
在所述校准周期内,判断所述第一数值和所述第二数值的数值误差是否满足所述校准误差;
若否,则调整所述MCU时钟的寄存器,用以调整所述MCU时钟的频率。
7.一种计算机装置,其特征在于,包括:
处理器、存储器、输入输出设备以及总线;
所述处理器、存储器、输入输出设备分别与所述总线相连;
所述处理器用于执行如权利要求1至3任一项所述的方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至3中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811384477.9A CN109283967B (zh) | 2018-11-20 | 2018-11-20 | 一种微控制单元mcu时钟校准方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811384477.9A CN109283967B (zh) | 2018-11-20 | 2018-11-20 | 一种微控制单元mcu时钟校准方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109283967A CN109283967A (zh) | 2019-01-29 |
CN109283967B true CN109283967B (zh) | 2021-11-02 |
Family
ID=65176118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811384477.9A Active CN109283967B (zh) | 2018-11-20 | 2018-11-20 | 一种微控制单元mcu时钟校准方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109283967B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110174922B (zh) * | 2019-04-15 | 2021-02-19 | 合肥格易集成电路有限公司 | 一种hsi时钟频率的校准方法和装置 |
CN113009899B (zh) * | 2019-12-20 | 2023-05-16 | 金卡智能集团股份有限公司 | 用于计量仪表高精度计时的rtc时钟校准方法 |
CN111736570A (zh) * | 2020-06-02 | 2020-10-02 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 控制器时钟频率检测方法、装置、计算机设备及存储介质 |
CN111726190B (zh) * | 2020-06-18 | 2022-10-04 | 四川艾贝斯科技发展有限公司 | 用于路灯控制系统的系统时间校准方法 |
CN113377155B (zh) * | 2021-06-08 | 2023-06-09 | 深圳市汇顶科技股份有限公司 | 时钟校准方法、装置和电子设备 |
CN113260129B (zh) * | 2021-07-06 | 2021-11-12 | 珠海市杰理科技股份有限公司 | 同步闪灯控制方法、装置、系统和存储介质 |
CN114138056B (zh) * | 2021-11-04 | 2024-05-17 | 珠海格力节能环保制冷技术研究中心有限公司 | 显示终端时钟校准方法、装置及显示终端 |
CN114298075B (zh) * | 2021-12-30 | 2024-02-06 | 江苏集萃智能集成电路设计技术研究所有限公司 | 基于mcu的超高频国标阅读器基带解码方法 |
CN114397939B (zh) * | 2022-01-20 | 2024-06-18 | 无锡驰翔创新科技有限公司 | 一种芯片时钟频率修调方法、烧录方法和烧录器 |
CN116185128B (zh) * | 2023-03-06 | 2024-05-17 | 珠海极海半导体有限公司 | Mcu芯片内部时钟校准方法及电路 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552606A (zh) * | 2009-04-29 | 2009-10-07 | 西安理工大学 | 基于芯片内建时钟晶振的智能自校准芯片及自校准方法 |
CN103955257A (zh) * | 2014-03-27 | 2014-07-30 | 美的集团股份有限公司 | 单片机系统时钟的校准方法及装置、空调控制系统 |
CN108023589A (zh) * | 2016-11-03 | 2018-05-11 | 深圳市中兴微电子技术有限公司 | 一种频率校准方法及电路 |
-
2018
- 2018-11-20 CN CN201811384477.9A patent/CN109283967B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101552606A (zh) * | 2009-04-29 | 2009-10-07 | 西安理工大学 | 基于芯片内建时钟晶振的智能自校准芯片及自校准方法 |
CN103955257A (zh) * | 2014-03-27 | 2014-07-30 | 美的集团股份有限公司 | 单片机系统时钟的校准方法及装置、空调控制系统 |
CN108023589A (zh) * | 2016-11-03 | 2018-05-11 | 深圳市中兴微电子技术有限公司 | 一种频率校准方法及电路 |
Also Published As
Publication number | Publication date |
---|---|
CN109283967A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109283967B (zh) | 一种微控制单元mcu时钟校准方法及相关设备 | |
CN109257507B (zh) | 一种调节屏幕亮度的方法、移动终端及存储介质 | |
US9927831B2 (en) | Navigation system and clock calibration method thereof | |
WO2018144163A1 (en) | Apparatus and method for asynchronous event timestamping | |
CN111130510B (zh) | 一种输出秒脉冲信号的方法及装置 | |
CN111831056A (zh) | 一种实时时钟校准模块、方法及一种实时时钟芯片 | |
CN113126815B (zh) | 一种按键响应控制方法、装置、终端设备及存储介质 | |
CN109782841B (zh) | 基于rtc芯片的实时时钟的实现方法、终端设备及存储介质 | |
CN108922478B (zh) | 一种背光亮度调节方法、系统及显示设备 | |
CN104467701B (zh) | 一种功率放大器的电压校正方法及电子终端 | |
US5706256A (en) | Clock frequency coordination for electromagnetic compatibility | |
CN103023433B (zh) | 改进型高精度振荡器 | |
CN110243486B (zh) | 全温高精度温度传感系统、方法及介质 | |
CN109213589B (zh) | 一种消息处理的方法及装置 | |
WO2020134636A1 (zh) | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 | |
CN116185128A (zh) | Mcu芯片内部时钟校准方法及电路 | |
CN111865306B (zh) | 一种实时时钟时基分频器及实时时钟调校方法 | |
CN113459992B (zh) | 车辆控制方法以及执行该方法的存储介质和电子设备 | |
CN112268355B (zh) | 空调目标温度调节方法及终端设备 | |
US5546363A (en) | Clock apparatus for forming time information for use in computer system | |
CN112737574A (zh) | 一种芯片内部时钟源的计时校准方法及相关装置 | |
CN108462795B (zh) | 闹钟提醒方法、系统、终端设备及计算机可读存储介质 | |
CN109284239B (zh) | 获取存储模块内部延时阶梯时间的方法及系统 | |
US11803208B2 (en) | Timer calibration method and electronic device | |
CN117348686B (zh) | 时钟信号温漂修正方法、电路、芯片及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |