一种晶振校准方法、装置及计算机设备与流程
1.本技术涉及微电子技术领域,特别涉及一种晶振校准方法、装置及计算机设备。
背景技术:
2.传统上,芯片内部的晶振常使用rc振荡器,由于rc振荡器容易受到环境温度的影响,所以芯片内部晶振的振荡频率误差会随着温度的变化而变化。具体的,温度上升或下降都会使芯片内部晶振的精度下降,使其振荡频率在标称输出频率的5%至50%范围内变化。
3.在使用环境不能达到恒温要求且对时间准确性有较严格要求时,通常需要使用振荡频率稳定的外部晶振。然而外部晶振会增加电路板面积和元器件成本,不利用实际应用。
技术实现要素:
4.为解决现有的芯片内部晶振受环境温度影响大,频率不稳定的问题,本技术提供一种晶振校准方法、装置及计算机设备,能够提高晶振振荡频率的准确性和可靠性。
5.一方面,提供了一种晶振校准方法,所述方法包括:
6.获取目标晶振在预设的时间间隔内的周期计数值,所述周期计数值为参考晶振在所述时间间隔内的振动次数;
7.若所述周期计数值不处于预设的计数值参考区间,则对所述目标晶振进行校准,直至达到校准停止条件。
8.另一方面,提供了一种晶振校准装置,所述装置包括:
9.计数值获取模块,用于获取目标晶振在预设的时间间隔内的周期计数值,所述周期计数值为参考晶振在所述时间间隔内的振动次数;
10.晶振频率校准模块,用于若所述周期计数值不处于预设的计数值参考区间,则对所述目标晶振进行校准,直至达到校准停止条件。
11.另一方面,提供了一种计算机设备,计算机设备包括处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,处理器可加载并执行至少一条指令、至少一段程序、代码集或指令集,以实现上述申请实施例中提供的晶振校准方法。
12.另一方面,提供了一种计算机可读存储介质,可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,处理器可加载并执行至少一条指令、至少一段程序、代码集或指令集,以实现上述本技术实施例中提供的晶振校准方法。
13.另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产权或计算机程序包括计算机程序指令,该计算机程序指令存储于计算机可读存储介质中。处理器从计算机可读存储介质读取该计算机指令,并执行还计算机指令,使得该计算机设备执行上述实施例中任一所述的晶振校准方法。
14.本技术提供的技术方案带来的有益效果至少包括:本发明实施例提供了一种晶振校准方法、装置及计算机设备,所述方法包括获取目标晶振在预设的时间间隔内的周期计数值,所述周期计数值为参考晶振在所述时间间隔内的振动次数;若所述周期计数值不处
于预设的计数值参考区间,则对所述目标晶振进行校准,直至达到校准停止条件。本发明实施例提供的方法能够基于参考晶振对目标晶振进行的频率进行校准,提高目标晶振的可靠性,增加内部低速晶振的应用范围,从而降低电路板面积和元器件成本。
附图说明
15.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1示出了本技术一个示例性实施例提供的一种晶振校准方法的实现流程示意图;
17.图2示出了本技术一个示例性实施例提供的一种晶振校准方法应用的模块结构图;
18.图3示出了本技术一个示例性实施例提供的一种晶振校准方法的应用效果示意图;
19.图4示出了本技术一个示例性实施例提供的一种晶振校准方法的又一实现流程示意图;
20.图5示出了本技术一个示例性实施例提供的一种晶振校准方法的另一实现流程示意图;
21.图6示出了本技术一个示例性实施例提供的一种晶振校准方法的再一实现流程示意图;
22.图7示出了本技术一个示例性实施例提供的一种晶振校准方法的再一实现流程示意图;
23.图8示出了本技术一个示例性实施例提供的一种晶振校准装置的结构图;
24.图9示出了本技术一个示例性实施例提供的一种晶振校准方法对应的计算机设备的结构示意图。
具体实施方式
25.为使本技术的目的、技术方案和优点更加清楚,下面将接合附图对本技术实施方式作进一步地详细描述。
26.本技术提供的晶振校准方法,可以对晶振尤其是内部低速晶振进行校正,避免温度变化造成的误差。
27.实施例一、
28.本发明实施例提供的方法可以应用于芯片的内嵌低速阻容振荡器(low speed internal rc oscillator,lirc)
29.图1示出了本发明实施例提供的一种晶振校准方法的实现流程示意图。
30.参见图1,本发明实施例提供的晶振校准方法可以包括步骤101和步骤102。
31.步骤101:获取目标晶振在预设的时间间隔内的周期计数值,所述周期计数值为参考晶振在所述时间间隔内的振动次数。
32.具体的,目标晶振可以为lirc,参考晶振可以为内嵌高速阻容振荡器(high speed internal rc oscillator,hirc)或高速振荡器(high oscillator,hosc)。
33.在一些实施例中,lirc作为芯片实时时钟的时钟源。
34.在一些实施例中,本发明实施例提供的晶振校准方法还可以包括:
35.基于时间间隔计算式计算所述预设的时间间隔。
36.所述时间间隔计算式包括:
[0037][0038]
其中,f1为预设频率,rtc为目标晶振的理想频率,pre为预分频数,w为唤醒次数,t1为时间间隔。
[0039]
可选的,目标晶振的理想频率为32.768khz,预分频数取7,唤醒次数为1的情况下,以上预设频率为1024hz,时间间隔的准确值为1/1024秒,即976.5625微秒,约等于1毫秒。
[0040]
在一些实施例中,所述获取目标晶振在预设的时间间隔内的周期计数值,包括:
[0041]
基于外设事件系统捕获所述参考晶振的上升沿或下降沿,得到所述周期计数值。
[0042]
在一些实施例中,以hirc或hosc为增强型定时器的时钟源。
[0043]
在一些实施例中,增强型计数器在pes的触发下捕获周期计数值。
[0044]
在一些实施例中,所述晶振校准方法还包括:
[0045]
将所述预设时间间隔和所述参考晶振的参考频率相乘,得到理想计数值;
[0046]
在一些实施例中,参考晶振的参考频率为7.9545mhz,预设时间间隔为976.5625微秒,相乘得到理想计数值为7768。
[0047]
基于所述理想计数值和预设的精度值,确定所述计数值参考区间。
[0048]
具体的,基于所述理想计数值和所述精度值,计算所述计数值参考区间的上限值和下限值;
[0049]
基于所述上限值和下限值确定所述计数值参考区间。
[0050]
在一个具体的示例中,预设的精度值为0.314%,则上限值为(1+0.314%)
×
7768,下限值为(1-0.314%)
×
7768。
[0051]
步骤102:若所述周期计数值不处于预设的计数值参考区间,则对所述目标晶振进行校准,直至达到校准停止条件。
[0052]
在一些实施例中,步骤102包括:
[0053]
若所述周期计数值大于所述计数参考区间的上限值,则基于二分法逼近的方式对所述目标晶振进行降频校准,直至所述周期计数值处于所述计数参考区间/或校准次数达到预设的次数阈值。
[0054]
若所述周期计数值小于所述计数参考区间的下限值,则基于二分法逼近的方式对所述目标晶振进行升频校准,直至所述周期计数值处于所述计数参考区间/或校准次数达到预设的次数阈值。
[0055]
具体的,在降频处理或升频处理中,通过增强型定时器捕获的当前周期计数值判断lirc的误差范围,计算应当写入的校准值,以及是否需要粗调,并将校准值写入lirc的校准寄存器中。重复以上步骤采用二分法进行逐次逼近实现进一步校准直至达到预设精度要求,或达到最大校准次数。
[0056]
图2示出了本发明实施例提供的一种方法应用的模块结构图。
[0057]
参见图2,在一些实施例中,内嵌低速阻容振荡器基于实时时钟进行定时设置,以内嵌高速阻容振荡器或高速振荡器作为参考,经过外设事件系统的触发,最终由etm捕获结果。
[0058]
图3示出了本发明实施例提供的一种方法的应用效果示意图。
[0059]
参见图3,ptc定时触发pes会产生稳定的脉冲信号。
[0060]
本发明实施例提供的方法使用rtc定时、pes触发以及etm捕获的方式,利用高精度晶振校准低精度晶振,可以有效降低频率误差,使晶振频率达到所需的精准度要求。
[0061]
实施例二、
[0062]
图4示出了本发明实施例提供的方法的又一实现流程示意图。
[0063]
参见图4,在一些实施例中,本方法可以包括如下过程。
[0064]
首先将系统时钟切换为8mhzhirc或hosc,进行etm捕获。可选的,捕获次数设置为5次。捕获完成后,基于feedwdog捕获状态复位。
[0065]
检测当前的捕获次数,若捕获次数不为零,则进一步判断当前周期值与1ms标准值的误差是否超过误差阈值。可选的,误差阈值为1ms标准值7768的
±
0.314%。
[0066]
若当前的误差值超过误差阈值,则置起校准标志位,对lirc进行校准,并将捕获次数减一。
[0067]
若当前捕获次数为零,或当前的误差值不再超过误差阈值,则停止etm捕获和rtc计数,切换为1mhz的hirc/hosc时钟,并将校准次数清零,捕获状态使能。
[0068]
在一些实施例中,时间间隔的频率计算式包括:
[0069]
间隔频率=理想频率/(2(预分频数+1)
×
(唤醒次数+1))。
[0070]
图5示出了本发明实施例提供的方法的另一实现流程示意图。
[0071]
参见图5,在一些实施例中,本方法中etm捕获过程可以包括以下步骤。
[0072]
首先调用etm得到捕获值。
[0073]
若此时校准标志位非写1状态,则以新捕获值覆盖原捕获值,将总周期值、捕获周期和校准次数清零。
[0074]
若此时校准标志位写1,则以新捕获值覆盖原捕获值,计算捕获周期,并将校准次数增加1。
[0075]
当校准次数不大于3时,将总周期值自加此次捕获周期,并将捕获周期值调整为新的总周期值的1/3,将etm捕获标志写1。
[0076]
当校准次数大于3时,直接将etm捕获标志写1。
[0077]
图6示出了本发明实施例提供的方法的再一实现流程示意图。
[0078]
参见图6,在一些实施例中,本方法中lirc降频过程可以包括以下步骤。
[0079]
首先判断捕获周期是否超过标准值的10%以上,若未超过,则继续进行监测。
[0080]
若捕获周期超过标准值的10%以上,则进行1次细调。
[0081]
若1次细调后不超过3us,则将细调加1档,对应更新寄存器值。
[0082]
若1次细调后超过3us,则将粗调加1档,细调加1档。减小粗调值,增加细调值,直到频率增加到理想值,最终确定新的粗调值与细调值,对应更新寄存器值。
[0083]
图7示出了本发明实施例提供的方法的再一实现流程示意图。
[0084]
参见图7,在一些实施例中,本方法中lirc升频过程可以包括以下步骤。
[0085]
首先判断捕获周期是否低于标准值10%以上,若未低于,则继续进行监测。
[0086]
若捕获周期低于标准值10%以上,则进行1次细调。
[0087]
若1次细调后不超过3us,则将细调减1档,对应更新寄存器。
[0088]
若1次细调后超过3us,则减小粗调值,增加细调值,直到频率增加到理想值,确定新的粗调值与细调值,并对应更新寄存器。
[0089]
在一些实施例中,本发明提供的方法可以应用于各种电器设备遥控器内部的低速晶振lirc的校准。
[0090]
综上所述,本发明实施例提供的晶振校准方法能够减小芯片内部低速晶振的频率受温度影响产生的误差,在很多场景下可以替代外部低速晶振,从而降低周边元器件的成本和电路板的布线空间,提高布线效率,缩小产品体积。
[0091]
实施例三、
[0092]
图8示出了本发明实施例提供的晶振校准装置的结构示意图。
[0093]
参见图8,本发明实施例提供的晶振校准装置可以包括:
[0094]
计数值获取模块201,用于获取目标晶振在预设的时间间隔内的周期计数值,所述周期计数值为参考晶振在所述时间间隔内的振动次数;
[0095]
晶振频率校准模块202,用于若所述周期计数值不处于预设的计数值参考区间,则对所述目标晶振进行校准,直至达到校准停止条件。
[0096]
在一些实施例中,晶振校准装置还可以包括时间间隔计算模块,用于基于时间间隔计算式计算所述预设的时间间隔;
[0097]
所述时间间隔计算式包括:
[0098][0099]
其中,f1为预设频率,rtc为目标晶振的理想频率,pre为预分频数,w为唤醒次数,t1为时间间隔。
[0100]
在一些实施例中,计数值获取模块201具体用于:
[0101]
基于外设事件系统捕获所述参考晶振的上升沿或下降沿,得到所述周期计数值。
[0102]
在一些实施例中,晶振校准装置还可以包括理想计数值计算模块,用于将所述预设时间间隔和所述参考晶振的参考频率相乘,得到理想计数值;
[0103]
基于所述理想计数值和预设的精度值,确定所述计数值参考区间。
[0104]
在一些实施例中,理想计数值计算模块具体用于:
[0105]
基于所述理想计数值和所述精度值,计算所述计数值参考区间的上限值和下限值;
[0106]
基于所述上限值和下限值确定所述计数值参考区间。
[0107]
在一些实施例中,晶振频率校准模块202具体用于:
[0108]
若所述周期计数值大于所述计数参考区间的上限值,则基于二分法逼近的方式对所述目标晶振进行降频校准,直至所述周期计数值处于所述计数参考区间/或校准次数达到预设的次数阈值。
[0109]
在一些实施例中,晶振频率校准模块202具体用于:
[0110]
若所述周期计数值小于所述计数参考区间的下限值,则基于二分法逼近的方式对所述目标晶振进行升频校准,直至所述周期计数值处于所述计数参考区间/或校准次数达到预设的次数阈值。
[0111]
综上所述,本发明实施例提供的晶振校准装置能够减小芯片内部低速晶振的频率受温度影响产生的误差,在很多场景下可以替代外部低速晶振,从而降低周边元器件的成本和电路板的布线空间,提高布线效率,缩小产品体积。。
[0112]
实施例四、
[0113]
图9示出了本技术一个示例性实施例提供的计算机设备的结构示意图,该计算机设备包括:
[0114]
处理器301,包括一个或者一个以上处理核心,处理器301通过运行软件程序以及模块,从而执行各种功能应用以及数据处理。
[0115]
接收器302和发射器303可以实现为一个通信组件,该通信组件可以是一块通信芯片。可选地,该通信组件可以实现包括信号传输功能。也即,发射器303可以用于发射控制信号至图像采集设备以及扫描设备中,接收器302可以用于接收对应的反馈指令。
[0116]
存储器304通过总线305与处理器301相连。
[0117]
存储器304可用于存储至少一个指令,处理器301用于执行该至少一个指令,以实现上述晶振校准方法实施例中的步骤101至步骤102。
[0118]
实施例五、
[0119]
本技术实施例还提供一种计算机可读存储介质,该可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,以由处理器加载并执行以实现上述晶振校准方法。
[0120]
实施例六、
[0121]
本技术还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行给计算机指令,使得该计算机设备执行上述实施例中任一所述的移动终端应用软件交互方法。
[0122]
可选地,该计算机可读存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、固态硬盘(ssd,solid state drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(reram,resistance random access memory)和动态随机存取存储器(dram,dynamic random access memory)。上述本技术实施例序号仅仅为了描述,不代表实施的优劣。
[0123]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0124]
上述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种晶振校准方法,其特征在于,所述方法包括:获取目标晶振在预设的时间间隔内的周期计数值,所述周期计数值为参考晶振在所述时间间隔内的振动次数;若所述周期计数值不处于预设的计数值参考区间,则对所述目标晶振进行校准,直至达到校准停止条件。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于时间间隔计算式计算所述预设的时间间隔;所述时间间隔计算式包括:其中,f1为预设频率,rtc为目标晶振的理想频率,pre为预分频数,w为唤醒次数,t1为时间间隔。3.根据权利要求1所述的方法,其特征在于,所述获取目标晶振在预设的时间间隔内的周期计数值,包括:基于外设事件系统捕获所述参考晶振的上升沿或下降沿,得到所述周期计数值。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述预设时间间隔和所述参考晶振的参考频率相乘,得到理想计数值;基于所述理想计数值和预设的精度值,确定所述计数值参考区间。5.根据权利要求4所述的方法,其特征在于,所述基于所述理想计数值和预设的精度值,确定所述计数值参考区间,包括:基于所述理想计数值和所述精度值,计算所述计数值参考区间的上限值和下限值;基于所述上限值和下限值确定所述计数值参考区间。6.根据权利要求1至5任一项所述的方法,其特征在于,所述对所述目标晶振进行校准,直至达到校准停止条件,包括:若所述周期计数值大于所述计数参考区间的上限值,则基于二分法逼近的方式对所述目标晶振进行降频校准,直至所述周期计数值处于所述计数参考区间/或校准次数达到预设的次数阈值。7.根据权利要求1至5任一项所述的方法,其特征在于,所述对所述目标晶振进行校准,直至达到校准停止条件,包括:若所述周期计数值小于所述计数参考区间的下限值,则基于二分法逼近的方式对所述目标晶振进行升频校准,直至所述周期计数值处于所述计数参考区间/或校准次数达到预设的次数阈值。8.一种晶振校准装置,其特征在于,所述装置包括:计数值获取模块,用于获取目标晶振在预设的时间间隔内的周期计数值,所述周期计数值为参考晶振在所述时间间隔内的振动次数;晶振频率校准模块,用于若所述周期计数值不处于预设的计数值参考区间,则对所述目标晶振进行校准,直至达到校准停止条件。9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、
代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项所述的晶振校准方法。10.一种计算机可读存储介质,其特征在于,所述可读存储器介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如权利要求1至7所述的晶振校准方法。
技术总结
本发明实施例提供了一种晶振校准方法、装置及计算机设备,所述方法。所述方法包括获取目标晶振在预设的时间间隔内的周期计数值,所述周期计数值为参考晶振在所述时间间隔内的振动次数;若所述周期计数值不处于预设的计数值参考区间,则对所述目标晶振进行校准,直至达到校准停止条件。本发明提供的方法能够基于参考晶振对目标晶振进行的频率进行校准,提高目标晶振的可靠性,增加内部低速晶振的应用范围,从而降低电路板面积和元器件成本。从而降低电路板面积和元器件成本。从而降低电路板面积和元器件成本。