晶体振荡器温度补偿方法和装置、电子设备、存储介质

申请号 CN201910768903.7 申请日 2019-08-20 公开(公告)号 CN112422084B 公开(公告)日 2024-04-19
申请人 OPPO广东移动通信有限公司; 发明人 吴中臣;
摘要 本 申请 涉及一种 晶体 振荡器 的 温度 补偿方法,包括:获取 电子 设备对应的当前温度场景;在所述当前温度场景下,获取单位时间内所述电子设备的 晶体振荡器 的 频率 偏移变化量与单位时间内的温度变化量之间的当前对应关系;根据所述当前温度场景以及所述当前对应关系确定所述晶体振荡器的温度补偿频率;根据所述温度补偿频率对所述晶体振荡器的频率进行补偿。本申请还公开了一种晶体振荡器的温度补偿装置、电子设备以及计算机可读存储介质。本申请实现及时对晶体振荡器的频率的进行补偿,从而提高了电子设备的时钟的准确性。
权利要求

1.一种晶体振荡器温度补偿方法,其特征在于,包括:
获取电子设备对应的当前温度场景,其中所述电子设备中不同的器件工作所导致温度变化时,所述电子设备对应不同的温度场景;所述温度场景是指所述电子设备中当前导致温度变化的器件的类型和数量;
在所述当前温度场景下,获取单位时间内所述电子设备的晶体振荡器频率偏移变化量与单位时间内的温度变化量之间的当前对应关系;
获取预先存储的不同温度场景、不同对应关系与温度补偿频率的匹配关系;
根据所述匹配关系查找所述当前温度场景、所述当前对应关系对应的温度补偿频率;
根据所述当前温度场景、所述当前对应关系对应的温度补偿频率对所述晶体振荡器的频率进行补偿。
2.根据权利要求1所述的方法,其特征在于,所述根据所述匹配关系查找所述当前温度场景、所述当前对应关系对应的温度补偿频率,包括:
若所述当前对应关系为数据的形式,则比对所述当前对应关系的数据与所述预先存储的对应关系的数据之间的相似度,若相似度在预设相似度范围,则判定所述当前对应关系与所述预先存储的对应关系相匹配;
若所述当前对应关系为曲线图的形式,则比对所述当前对应关系的曲线图与所述预先存储的对应关系的曲线图之间的相似度,若相似度在预定相似度范围,则判定所述当前对应关系与所述预先存储的对应关系相匹配。
3.根据权利要求1所述的方法,其特征在于,所述根据所述匹配关系查找所述当前温度场景、所述当前对应关系对应的温度补偿频率,包括:
当所述匹配关系中不存在所述当前温度场景、所述当前对应关系对应的温度补偿频率时,获取所述晶体振荡器的当前频率偏移量;
根据所述当前频率偏移量确定所述晶体振荡器的温度补偿频率。
4.根据权利要求3所述的方法,其特征在于,所述根据所述当前频率偏移量确定所述晶体振荡器的温度补偿频率,包括:
当所述当前频率偏移量为正向偏移量时,确定与所述正向偏移量对应的负向温度补偿频率作为所述晶体振荡器的温度补偿频率;
当所述当前频率偏移量为负向偏移量时,确定与所述负向偏移量对应的正向温度补偿频率作为所述晶体振荡器的温度补偿频率。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
将所述当前温度场景、所述当前对应关系与所述根据所述当前频率偏移量确定的所述晶体振荡器的温度补偿频率关联存储。
6.根据权利要求1所述的方法,其特征在于,所述获取电子设备对应的当前温度场景之前,还包括:
获取所述晶体振荡器的频率;
当所述晶体振荡器的频率不在预设频率范围内时,进入所述获取电子设备对应的当前温度场景的步骤。
7.根据权利要求1所述的方法,其特征在于,所述获取电子设备对应的当前温度场景之前,还包括:
获取所述电子设备对应的当前环境温度
当所述当前环境温度大于预设温度时,进入所述获取电子设备对应的当前温度场景的步骤。
8.一种晶体振荡器的温度补偿装置,其特征在于,包括:
获取模,用于获取电子设备对应的当前温度场景,其中所述电子设备中不同的器件工作所导致温度变化时,所述电子设备对应不同的温度场景;所述温度场景是指所述电子设备中当前导致温度变化的器件的类型和数量;
所述获取模块,还用于在所述当前温度场景下,获取单位时间内所述电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系;
确定模块,用于获取预先存储的不同温度场景、不同对应关系与温度补偿频率的匹配关系;根据所述匹配关系查找所述当前温度场景、所述当前对应关系对应的温度补偿频率;
补偿模块,用于根据所述当前温度场景、所述当前对应关系对应的温度补偿频率对所述晶体振荡器的频率进行补偿。
9.一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。

说明书全文

晶体振荡器温度补偿方法和装置、电子设备、存储介质

技术领域

[0001] 本申请涉及电子设备技术领域,特别是涉及一种晶体振荡器的温度补偿方法和装置、电子设备、计算机可读存储介质。

背景技术

[0002] 随着通信行业和现代电子产业迅猛发展,频率源的需求量和使用量与日俱增,晶体振荡器作为频率源的重要组成部分,被大批量用于电子设备的时钟。但是,晶体振荡器的频率易受温度的影响,为了保障晶体振荡器的稳定性,在传统的电子设备的布局中,会使晶体振荡器远离CPU(Central Processing Unit,中央处理器)等热源,并且对晶体振荡器所在位置进行隔离和挖层等处理。
[0003] 但是,对于一些电子设备,比如手表,由于空间有限、整机散热条件较差等原因,导致晶体振荡器容易受到CPU等热源的影响,这样,晶体振荡器就不能为电子设备提供稳定的时钟频率。发明内容
[0004] 本申请实施例提供一种晶体振荡器的温度补偿方法和装置、电子设备、计算机可读存储介质,及时对晶体振荡器的频率的进行补偿,提高了电子设备的时钟的准确性。
[0005] 一种晶体振荡器的温度补偿方法,所述方法包括:
[0006] 获取电子设备对应的当前温度场景,其中所述电子设备中不同的器件工作所导致温度变化时,所述电子设备对应不同的温度场景;
[0007] 在所述当前温度场景下,获取单位时间内所述电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系;
[0008] 根据所述当前温度场景以及所述当前对应关系确定所述晶体振荡器的温度补偿频率;
[0009] 根据所述温度补偿频率对所述晶体振荡器的频率进行补偿。
[0010] 一种晶体振荡器的温度补偿装置,所述装置包括:
[0011] 获取模,用于获取电子设备对应的当前温度场景,其中所述电子设备中不同的器件工作所导致温度变化时,所述电子设备对应不同的温度场景;
[0012] 所述获取模块,还用于在所述当前温度场景下,获取单位时间内所述电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系;
[0013] 确定模块,用于根据所述当前温度场景以及所述当前对应关系确定所述晶体振荡器的温度补偿频率;
[0014] 补偿模块,用于根据所述温度补偿频率对所述晶体振荡器的频率进行补偿。
[0015] 一种电子设备,所述电子设备包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
[0016] 获取电子设备对应的当前温度场景,其中所述电子设备中不同的器件工作所导致温度变化时,所述电子设备对应不同的温度场景;
[0017] 在所述当前温度场景下,获取单位时间内所述电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系;
[0018] 根据所述当前温度场景以及所述当前对应关系确定所述晶体振荡器的温度补偿频率;
[0019] 根据所述温度补偿频率对所述晶体振荡器的频率进行补偿。
[0020] 一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0021] 获取电子设备对应的当前温度场景,其中所述电子设备中不同的器件工作所导致温度变化时,所述电子设备对应不同的温度场景;
[0022] 在所述当前温度场景下,获取单位时间内所述电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系;
[0023] 根据所述当前温度场景以及所述当前对应关系确定所述晶体振荡器的温度补偿频率;
[0024] 根据所述温度补偿频率对所述晶体振荡器的频率进行补偿。
[0025] 本实施例中的晶体振荡器的温度补偿方法和装置、电子设备、计算机可读存储介质,获取电子设备对应的当前温度场景,在当前温度场景下,获取单位时间内电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系,根据当前温度场景以及当前对应关系确定晶体振荡器的温度补偿频率,并根据温度补偿频率对晶体振荡器的频率进行补偿,这样,直接调用与当前温度场景、当前对应关系对应的温度补偿频率,减少了CPU的计算过程,实现及时对晶体振荡器的频率的进行补偿,从而提高了电子设备的时钟的准确性。附图说明
[0026] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027] 图1为一个实施例中晶体振荡器的温度补偿方法的流程图
[0028] 图2为一个实施例中温度场景的示意图;
[0029] 图3为一个实施例中不同温度场景、不同对应关系与温度补偿频率的匹配关系的示意图;
[0030] 图4为一个实施例中匹配关系中的对应关系的示意图;
[0031] 图5为另一个实施例中匹配关系中的对应关系的示意图;
[0032] 图6为另一个实施例中晶体振荡器的温度补偿方法的流程图;
[0033] 图7为一个实施例中晶体振荡器的温度补偿装置的结构框图
[0034] 图8为一个实施例中电子设备的内部结构框图。

具体实施方式

[0035] 为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0036] 本申请实施例中的晶体振荡器的温度补偿方法可应用于电子设备,该电子设备可为移动终端,比如智能手表、手机等。该电子设备预先存储不同温度场景(温度场景是指电子设备中导致温度变化的器件的类型以及数量)、不同对应关系(对应关系是指单位时间内电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的对应关系)与晶体振荡器的温度补偿频率的匹配关系,在获取到当前温度场景和当前对应关系时,直接调用与当前温度场景、当前对应关系对应的温度补偿频率,实现及时对晶体振荡器的频率的进行补偿,从而提高电子设备的时钟的准确性。
[0037] 图1为一个实施例中晶体振荡器的温度补偿方法的流程图。图1所示的晶体振荡器的温度补偿方法可应用于上述电子设备中,包括:
[0038] 步骤102,获取电子设备对应的当前温度场景,其中所述电子设备中不同的器件工作所导致温度变化时,所述电子设备对应不同的温度场景。
[0039] 在电子设备中,晶体振荡器用来产生频率信号或实现频率选择。晶体振荡器中的晶体具有压电效应(在晶片的两侧施加机械压,则在晶片相应的方向上将产生电场),利用该效应能够实现机械能和电能的存储和相互转化,并维持振荡。晶体的谐振频率会随温度发生变化,所以在一些温度下,由晶体构成的振荡器输出振荡信号的频率会与标称频率(标称频率是指晶体振荡器的标准频率)存在偏差。而晶体振荡器的频率的偏差会影响电子设备的正常工作,比如,当电子设备处于定位状态,若晶体振荡器的频率存在偏差,则会影响电子设备的时钟的准确性,从而影响电子设备的定位精度
[0040] 本实施例中,执行主体可为电子设备的CPU(Central Processing Unit,中央处理器)。在电子设备中,各个器件处于工作状态时易产生热量,该热量可能会对晶体振荡器的稳定性产生影响。基于此,CPU获取电子设备中器件工作所导致的温度变化,基于器件工作所导致的温度变化,通过温度补偿频率对晶体振荡器的频率进行补偿,并记录器件工作所导致的温度变化对应的温度补偿频率,以在下次出现同样的器件工作导致同样的温度变化时,直接调用对应的温度补偿频率。
[0041] 其中,器件工作所导致温度变化是指,器件处于工作状态,且所述器件的温度不在所述器件对应的预设温度范围。针对温度场景对应的各个器件,可预先设置各个器件对应的预设温度范围,当器件的温度不在预设温度范围时,判定所述器件的温度会对晶体振荡器的稳定性产生影响。各个器件的温度可通过温度传感器进行检测,CPU通过温度传感器获取到各个器件的温度,并判断各个器件的温度是否在所述器件对应的预设温度范围。
[0042] 其中,温度场景是指电子设备中当前导致温度变化的器件的类型以及数量,即当前导致温度变化的器件的类型以及数量不同,当前的温度场景不同。温度场景对应的器件可以是电子设备中全部的器件,也可以是预先设置的部分器件。在一个实施例中,预先设置与晶体振荡器的距离在预设距离内的器件作为温度场景对应的器件。比如,如图2所示,以器件1、器件2为例,对器件1、器件2的温度进行监控,若CPU只监测到器件1导致温度变化,则为温度场景1;若CPU只监测到器件2导致温度变化,则为温度场景2;若CPU监测到器件1和器件2共同导致温度变化,则为温度场景3。
[0043] 具体地,获取电子设备对应的当前温度场景的方式可以是:检测各个器件的温度,当检测到器件的温度不在所述器件对应的预设温度范围时,进入获取所述器件对应的温度场景的步骤。可以理解,当存储器中有所述器件对应的温度场景,将存储器中所述器件对应的温度场景作为当前温度场景;当存储器中没有所述器件对应的温度场景,在存储器中建立所述器件对应的温度场景。
[0044] 步骤104,在所述当前温度场景下,获取单位时间内所述电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系。
[0045] 对于同一器件,不同的工作状态导致的温度变化也不同。以WiFi组件为例,在WiFi查找状态和WiFi连接状态下,WiFi组件产生的热量不同。因此,在当前温度场景下,获取单位时间内所述电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系,该对应关系用于确定所述晶体振荡器的温度补偿频率。
[0046] 其中,晶体振荡器的频率的偏移量是指,晶体振荡器的频率相对于标称频率的偏移量。标称频率用于判断晶体振荡器的频率是否发生偏移,标称频率可为预设频率范围,也可为预设频率。以标称频率为预设频率范围为例,若晶体振荡器的频率大于预设频率范围中的最大值,则可将晶体振荡器的频率与预设频率范围中的最大值之间的差值作为频率的偏移量;若晶体振荡器的频率小于预设频率范围中的最小值,则可将晶体振荡器的频率与预设频率范围中的最小值之间的差值作为频率的偏移量。
[0047] 所述晶体振荡器的频率偏移变化量是指,晶体振荡器的频率的偏移量的变化量。所述单位时间内电子设备的晶体振荡器的频率偏移变化量用于表征晶体振荡器的频率的偏移快慢。
[0048] 所述温度变化量是指,晶体振荡器处的温度的变化量。所述单位时间内的温度变化量用于表征温度变化的快慢。晶体振荡器处的温度可通过温度传感器进行检测,CPU通过温度传感器获取到晶体振荡器处的温度,并计算单位时间内的温度变化量。
[0049] 具体地,CPU获取晶体振荡器的频率,并计算单位时间内晶体振荡器的频率偏移变化量;CPU获取晶体振荡器处的温度,并计算单位时间内的温度变化量。这样,CPU生成单位时间内晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系,所述当前对应关系可为数据的形式,也可为曲线图的形式。如图4所示,图4为一个实施例中当前对应关系的曲线图的表现形式。
[0050] 步骤106,根据所述当前温度场景以及所述当前对应关系确定所述晶体振荡器的温度补偿频率。
[0051] 具体地,预先存储不同温度场景、不同对应关系与温度补偿频率的匹配关系,根据匹配关系查找当前温度场景、所述当前对应关系对应的温度补偿频率,若匹配关系中存在当前温度场景、当前对应关系时,调用当前温度场景、当前对应关系对应的温度补偿频率。
[0052] 如图3所示,在不同的温度场景下,存储不同的对应关系以及对应的温度补偿频率。所述对应关系可为数据的形式,也可为曲线图的形式。如图5所示,图5为一个实施例中对应关系的曲线图的表现形式。
[0053] 具体地,所述不同温度场景、不同对应关系与温度补偿频率的匹配关系可在出厂前通过大量的试验得到,或者,所述不同温度场景、不同对应关系与温度补偿频率的匹配关系可在电子设备的使用过程中统计得到。
[0054] 若当前温度场景或者当前对应关系首次出现,CPU计算晶体振荡器的温度补偿频率,并将当前温度场景、当前对应关系与该温度补偿频率关联存储。其中,CPU中内置温度补偿算法,通过温度补偿算法计算晶体振荡器的温度补偿频率。
[0055] 步骤108,根据所述温度补偿频率对所述晶体振荡器的频率进行补偿。
[0056] 具体地,根据温度补偿频率对所述晶体振荡器的频率进行补偿的方式可以是:CPU利用温度补偿频率补偿接收到的晶体振荡器的频率,以使补偿后的晶体振荡器的频率在预设频率范围,或者与预设频率之间的差值小于预设差值。
[0057] 本实施例中的晶体振荡器的温度补偿方法,获取电子设备对应的当前温度场景,在当前温度场景下,获取单位时间内电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系,根据当前温度场景以及当前对应关系确定晶体振荡器的温度补偿频率,根据温度补偿频率对晶体振荡器的频率进行补偿,这样,实现对晶体振荡器的频率的及时补偿,提高了电子设备的时钟的准确性。
[0058] 在一个实施例中,所述根据所述当前温度场景以及所述当前对应关系确定所述晶体振荡器的温度补偿频率,包括:获取预先存储的不同温度场景、不同对应关系与温度补偿频率的匹配关系;根据所述匹配关系查找所述当前温度场景、所述当前对应关系对应的温度补偿频率。
[0059] 其中,匹配关系是指温度场景(温度场景是指电子设备中导致温度变化的器件的类型以及数量)、对应关系(对应关系是指单位时间内电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的对应关系)以及晶体振荡器的温度补偿频率之间的对应关系。如图3所示,图3为一个实施例中匹配关系的示意图。在不同的温度场景下,存储不同的对应关系以及对应的温度补偿频率。所述对应关系可为数据的形式,也可为曲线图的形式。
[0060] 若对应关系为数据的形式,比对当前对应关系的数据与预先存储的对应关系的数据之间的相似度,若相似度在预设相似度范围,则判定当前对应关系与预先存储的对应关系相匹配;若对应关系为曲线图的形式,比对当前对应关系的曲线图与预先存储的对应关系的曲线图之间的相似度,若相似度在预定相似度范围,则判定当前对应关系与预先存储的对应关系相匹配。其中,预设相似度范围以及预定相似度范围可根据实际应用进行设定。
[0061] 具体地,所述不同温度场景、不同对应关系与温度补偿频率的匹配关系可在出厂前通过大量的试验得到,或者,所述不同温度场景、不同对应关系与温度补偿频率的匹配关系可在电子设备的使用过程中统计得到。若当前温度场景或者当前对应关系首次出现,CPU计算晶体振荡器的温度补偿频率,并将当前温度场景、当前对应关系与该温度补偿频率关联存储。其中,CPU中内置温度补偿算法,通过温度补偿算法计算晶体振荡器的温度补偿频率。
[0062] 本实施例中的晶体振荡器的温度补偿方法,预先存储不同温度场景、不同对应关系与温度补偿频率的匹配关系,以在获取到当前温度场景和当前对应关系时,直接调用与当前温度场景、当前对应关系对应的温度补偿频率,实现对晶体振荡器的频率的及时补偿。
[0063] 在一个实施例中,所述根据所述匹配关系查找所述当前温度场景、所述当前对应关系对应的温度补偿频率,包括:当所述匹配关系中不存在所述当前温度场景、所述当前对应关系对应的温度补偿频率时,获取所述晶体振荡器的当前频率偏移量;根据所述当前频率偏移量确定所述晶体振荡器的温度补偿频率。
[0064] 具体地,当匹配关系中不存在当前温度场景、当前对应关系对应的温度补偿频率时,CPU计算晶体振荡器的温度补偿频率。其中,CPU中内置温度补偿算法,通过温度补偿算法计算晶体振荡器的温度补偿频率。
[0065] 其中,晶体振荡器的当前频率偏移量是指晶体振荡器的频率相对于标称频率的当前的偏移量。标称频率用于判断晶体振荡器的频率是否发生偏移,标称频率可为预设频率范围,也可为预设频率。
[0066] 以标称频率为预设频率范围为例,若晶体振荡器的频率大于预设频率范围中的最大值,则可将晶体振荡器的频率与预设频率范围中的最大值之间的差值作为频率的偏移量;若晶体振荡器的频率小于预设频率范围中的最小值,则可将晶体振荡器的频率与预设频率范围中的最小值之间的差值作为频率的偏移量。
[0067] 具体地,CPU中内置温度补偿算法,通过温度补偿算法计算晶体振荡器的温度补偿频率。温度补偿算法的原理是:获取晶体振荡器的当前频率偏移量,根据当前频率偏移量确定晶体振荡器的温度补偿频率。在一个实施例中,当所述当前频率偏移量为正向偏移量时,确定与所述正向偏移量对应的负向温度补偿频率作为所述晶体振荡器的温度补偿频率;当所述当前频率偏移量为负向偏移量时,确定与所述负向偏移量对应的正向温度补偿频率作为所述晶体振荡器的温度补偿频率。其中,正向偏移量是指晶体振荡器的频率大于标称频率,晶体振荡器的频率与标称频率之间的差值,正向偏移量为正值;负向温度补偿频率是指与正向偏移量正负性相反的补偿频率,且负向温度补偿频率的绝对值等于正向偏移量;负向偏移量是指晶体振荡器的频率小于标称频率,晶体振荡器的频率与标称频率之间的差值,负向偏移量为负值;正向温度补偿频率是指与负向偏移量正负性相反的补偿频率,且正向温度补偿频率的绝对值等于负向偏移量的绝对值。
[0068] 本实施例中的晶体振荡器的温度补偿方法,当匹配关系中不存在当前温度场景、当前对应关系对应的温度补偿频率时,CPU计算晶体振荡器的温度补偿频率,实现对晶体振荡器的频率的补偿。
[0069] 在一个实施例中,所述根据所述当前频率偏移量确定所述晶体振荡器的温度补偿频率,包括:当所述当前频率偏移量为正向偏移量时,确定与所述正向偏移量对应的负向温度补偿频率作为所述晶体振荡器的温度补偿频率;当所述当前频率偏移量为负向偏移量时,确定与所述负向偏移量对应的正向温度补偿频率作为所述晶体振荡器的温度补偿频率。
[0070] 其中,正向偏移量是指晶体振荡器的频率大于标称频率,晶体振荡器的频率与标称频率之间的差值,正向偏移量为正值;负向温度补偿频率是指与正向偏移量正负性相反的补偿频率,且负向温度补偿频率的绝对值等于正向偏移量;负向偏移量是指晶体振荡器的频率小于标称频率,晶体振荡器的频率与标称频率之间的差值,负向偏移量为负值;正向温度补偿频率是指与负向偏移量正负性相反的补偿频率,且正向温度补偿频率的绝对值等于负向偏移量的绝对值。
[0071] 本实施例中的晶体振荡器的温度补偿方法,根据当前频率偏移量确定晶体振荡器的温度补偿频率,实现对晶体振荡器的频率的补偿。
[0072] 在一个实施例中,所述方法还包括:将所述当前温度场景、所述当前对应关系与所述根据所述当前频率偏移量确定的所述晶体振荡器的温度补偿频率关联存储。
[0073] 具体地,根据匹配关系查找当前温度场景、所述当前对应关系对应的温度补偿频率,若匹配关系中存在当前温度场景、当前对应关系时,调用当前温度场景、当前对应关系对应的温度补偿频率,实现对晶体振荡器的频率的补偿;当匹配关系中不存在当前温度场景、当前对应关系时,CPU计算晶体振荡器的温度补偿频率,并将当前温度场景、当前对应关系与该温度补偿频率关联存储,其中,CPU中内置温度补偿算法,通过温度补偿算法计算晶体振荡器的温度补偿频率。
[0074] 本实施例中的晶体振荡器的温度补偿方法,当匹配关系中不存在当前温度场景、当前对应关系对应的温度补偿频率时,CPU计算并关联存储晶体振荡器的温度补偿频率、当前温度场景和当前对应关系,从而丰富存储器中的匹配关系。
[0075] 在一个实施例中,所述获取电子设备对应的当前温度场景之前,还包括:获取所述晶体振荡器的频率;当所述晶体振荡器的频率不在预设频率范围内时,进入所述获取电子设备对应的当前温度场景的步骤。
[0076] 其中,预设频率范围用于判断晶体振荡器的频率是否发生偏移,其中,当晶体振荡器的频率不在预设频率范围时,判定晶体振荡器的频率发生偏移。
[0077] 具体地,当判定晶体振荡器的频率发生偏移时,进入所述获取电子设备对应的当前温度场景的步骤,以获取晶体振荡器的温度补偿频率对体振荡器的频率进行补偿。
[0078] 本实施例中的晶体振荡器的温度补偿方法,避免CPU在不必要的情况下获取电子设备对应的当前温度场景,节省能耗。
[0079] 在一个实施例中,所述获取电子设备对应的当前温度场景之前,还包括:获取所述电子设备对应的当前环境温度;当所述当前环境温度大于预设温度时,进入所述获取电子设备对应的当前温度场景的步骤。
[0080] 其中,电子设备对应的当前环境温度是指电子设备所在环境的环境温度。若当前环境温度小于或者等于预设温度,判定当前环境温度会对晶体振荡器的频率产生影响。
[0081] 具体地,当当前环境温度小于或者等于预设温度时,可利用电子设备的器件发热来对晶体振荡器实现温度补偿,因此若当前环境温度大于预设温度,再针对电子设备的器件发热对晶体振荡器的频率产生的影响进行调整。
[0082] 本实施例中的晶体振荡器的温度补偿方法,避免CPU在不必要的情况下获取电子设备对应的当前温度场景,节省能耗。
[0083] 在一个实施例中,如图6所示,下面结合具体实施例进行举例说明:
[0084] 步骤602,获取晶体振荡器的频率,当所述晶体振荡器的频率不在预设频率范围内时,获取电子设备对应的当前温度场景,其中所述电子设备中不同的器件工作所导致的温度变化时,所述电子设备对应不同的温度场景;
[0085] 步骤604,在所述当前温度场景下,获取单位时间内所述电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系;
[0086] 步骤606,获取预先存储的不同温度场景、不同对应关系与温度补偿频率的匹配关系,根据所述匹配关系查找所述当前温度场景、所述当前对应关系对应的温度补偿频率;
[0087] 步骤608,根据所述温度补偿频率对所述晶体振荡器的频率进行补偿。
[0088] 本实施例中的晶体振荡器的温度补偿方法,获取电子设备对应的当前温度场景,在当前温度场景下,获取单位时间内电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系,根据当前温度场景以及当前对应关系确定晶体振荡器的温度补偿频率,根据温度补偿频率对晶体振荡器的频率进行补偿,这样,实现对晶体振荡器的频率的及时补偿,提高了电子设备的时钟的准确性。
[0089] 应该理解的是,虽然图2和图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0090] 图7为一个实施例中晶体振荡器的温度补偿装置700的结构框图。如图7所示,一种晶体振荡器的温度补偿装置700,包括获取模块702、确定模块704和补偿模块706。其中:
[0091] 获取模块702,用于获取电子设备对应的当前温度场景,其中所述电子设备中不同的器件工作所导致温度变化时,所述电子设备对应不同的温度场景;
[0092] 所述获取模块702,还用于在所述当前温度场景下,获取单位时间内所述电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系;
[0093] 确定模块704,用于根据所述当前温度场景以及所述当前对应关系确定所述晶体振荡器的温度补偿频率;
[0094] 补偿模块706,用于根据所述温度补偿频率对所述晶体振荡器的频率进行补偿。
[0095] 本实施中的晶体振荡器的温度补偿装置700,获取电子设备对应的当前温度场景,在当前温度场景下,获取单位时间内电子设备的晶体振荡器的频率偏移变化量与单位时间内的温度变化量之间的当前对应关系,根据当前温度场景以及当前对应关系确定晶体振荡器的温度补偿频率,根据温度补偿频率对晶体振荡器的频率进行补偿,这样,实现对晶体振荡器的频率的及时补偿,提高了电子设备的时钟的准确性。
[0096] 在一个实施例中,所述确定模块704还用于获取预先存储的不同温度场景、不同对应关系与温度补偿频率的匹配关系;根据所述匹配关系查找所述当前温度场景、所述当前对应关系对应的温度补偿频率。
[0097] 在一个实施例中,所述确定模块704还用于当所述匹配关系中不存在所述当前温度场景、所述当前对应关系对应的温度补偿频率时,获取所述晶体振荡器的当前频率偏移量;根据所述当前频率偏移量确定所述晶体振荡器的温度补偿频率。
[0098] 在一个实施例中,所述确定模块704还用于当所述当前频率偏移量为正向偏移量时,确定与所述正向偏移量对应的负向温度补偿频率作为所述晶体振荡器的温度补偿频率;当所述当前频率偏移量为负向偏移量时,确定与所述负向偏移量对应的正向温度补偿频率作为所述晶体振荡器的温度补偿频率。
[0099] 在一个实施例中,所述晶体振荡器的温度补偿装置700还包括存储模块,所述存储模块用于将所述当前温度场景、所述当前对应关系与所述根据所述当前频率偏移量确定的所述晶体振荡器的温度补偿频率关联存储。
[0100] 在一个实施例中,所述晶体振荡器的温度补偿装置700还包括执行模块,所述获取模块702还用于获取所述晶体振荡器的频率;所述执行模块用于当所述晶体振荡器的频率不在预设频率范围内时,进入所述获取电子设备对应的当前温度场景的步骤。
[0101] 在一个实施例中,所述获取模块702还用于获取所述电子设备对应的当前环境温度;所述执行模块还用于当所述当前环境温度大于预设温度时,进入所述获取电子设备对应的当前温度场景的步骤。
[0102] 关于晶体振荡器的温度补偿装置的具体限定可以参见上文中对于晶体振荡器的温度补偿方法的限定,在此不再赘述。上述晶体振荡器的温度补偿装置中的各个模块可全部或部分通过软件硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0103] 图8为一个实施例中电子设备的内部结构示意图。如图8所示,该电子设备包括通过系统总线连接的处理器和存储器。其中,该处理器用于提供计算和控制能力,支撑整个电子设备的运行。存储器可包括非易失性存储介质及内存储器。非易失性存储介质存储有操作系统和计算机程序。该计算机程序可被处理器所执行,以用于实现以上各个实施例所提供的一种晶体振荡器的温度补偿方法。内存储器为非易失性存储介质中的操作系统计算机程序提供高速缓存的运行环境。
[0104] 本申请实施例中提供的晶体振荡器的温度补偿装置中的各个模块的实现可为计算机程序的形式。该计算机程序可在终端或服务器上运行。该计算机程序构成的程序模块可存储在终端或服务器的存储器上。该计算机程序被处理器执行时,实现本申请实施例中所描述方法的步骤。
[0105] 本申请实施例还提供了一种计算机可读存储介质。一个或多个包含计算机可执行指令的非易失性计算机可读存储介质,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行晶体振荡器的温度补偿方法的步骤。
[0106] 一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行晶体振荡器的温度补偿方法。
[0107] 本申请所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM),它用作外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)。
[0108] 以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
QQ群二维码
意见反馈