首页 / 专利分类库 / 测时学 / CPU时钟守时方法、装置、终端设备及存储介质

CPU时钟守时方法、装置、终端设备及存储介质

申请号 CN202311819933.9 申请日 2023-12-26 公开(公告)号 CN117724322A 公开(公告)日 2024-03-19
申请人 长园深瑞继保自动化有限公司; 发明人 吕新亚; 曲佐章; 韩茂林; 袁明军;
摘要 本 申请 实施例 适用于时钟技术领域,提供了一种CPU时钟守时方法、装置、终端设备及存储介质,该方法包括:在接收机处于正常状态时,获取恒温晶振的第一1pps 信号 ,并通过接收机获取外部时钟源的第二1pps信号;确定第一1pps信号和第二1pps信号的第一 相位 差;第一 相位差 用于表征外部时钟源与恒温晶振的时钟误差程度;根据第一相位差计算分频系数和第三1pps信号;第三1pps信号用于对恒温晶振的第一1pps信号进行调节,调节后的第一1pps信号用于作为下一时刻恒温晶振的第一1pps信号;在接收机处于异常状态时,根据分频系数和恒温晶振调节CPU的时钟信息。采用上述方法,可以在接收机异常后,保证CPU守时的时间 精度 。
权利要求

1.一种CPU时钟守时方法,其特征在于,所述方法包括:
在接收机处于正常状态时,获取恒温晶振的第一1pps信号,并通过所述接收机获取外部时钟源的第二1pps信号;
确定所述第一1pps信号和所述第二1pps信号的第一相位差;所述第一相位差用于表征所述外部时钟源与所述恒温晶振的时钟误差程度;
根据所述第一相位差计算分频系数和第三1pps信号;所述第三1pps信号用于对所述恒温晶振的第一1pps信号进行调节,调节后的所述第一1pps信号用于作为下一时刻所述恒温晶振的所述第一1pps信号;
在所述接收机处于异常状态时,根据所述分频系数和所述恒温晶振调节CPU的时钟信息。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
解析所述接收机接收到的导航数据,得到解析数据信息;所述解析数据信息包括所述接收机的定位模式以及定位数据;
在所述定位模式为预设定位模式,且所述定位数据为有效时,确定所述接收机处于所述正常状态;
在所述定位模式不为所述预设定位模式,和/或,所述定位数据为无效时,确定所述接收机处于所述异常状态。
3.根据权利要求1所述的方法,其特征在于,所述确定所述第一1pps信号和所述第二
1pps信号的第一相位差,包括:
获取所述恒温晶振在所述接收机的预设秒时钟周期内的晶振频率
根据所述晶振频率对所述第二1pps信号进行矫正,得到矫正后的所述第二1pps信号;
矫正后的所述第二1pps信号的时间精度高于所述第二1pps信号对应的时间精度;
根据所述第一1pps信号和矫正后的所述第二1pps信号确定所述第一相位差。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一1pps信号和矫正后的所述第二1pps信号确定所述第一相位差,包括:
确定所述第一1pps信号和矫正后的所述第二1pps信号在频域上的第二相位差;
对所述第二相位差进行滤波,得到所述第一相位差。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第一相位差计算分频系数和第三1pps信号,包括:
采用小数分频系数,对所述第一相位差的信号进行分割处理,得到所述分频系数和所述第三1pps信号。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第一相位差计算分频系数和第三1pps信号之后,还包括:
若所述第三1pps信号的频率小于所述第一1pps信号的频率,则增加所述第三1pps信号的频率,得到调节后的所述第一1pps信号;
若所述第三1pps信号的频率大于所述第一1pps信号的频率,则降低所述第三1pps信号的频率,得到调节后的所述第一1pps信号;
若所述第三1pps信号的频率等于所述第一1pps信号的频率,则将所述第三1pps信号确定为调节后的所述第一1pps信号。
7.根据权利要求1‑6任一项所述的方法,其特征在于,所述在所述接收机处于异常状态时,根据所述分频系数和所述恒温晶振调节CPU的时钟信息,包括:
确定所述接收机在处于所述正常状态时的最后时刻下,得到的所述分频系数;
根据所述最后时刻下的所述分频系数和所述恒温晶振,调节所述CPU的时钟信息。
8.一种CPU时钟守时装置,其特征在于,所述装置包括:
获取模,用于在接收机处于正常状态时,获取恒温晶振的第一1pps信号,并通过所述接收机获取外部时钟源的第二1pps信号;
第一确定模块,用于确定所述第一1pps信号和所述第二1pps信号的第一相位差;所述第一相位差用于表征所述外部时钟源与所述恒温晶振的时钟误差程度;
计算模块,用于根据所述第一相位差计算分频系数和第三1pps信号;所述第三1pps信号用于对所述恒温晶振的第一1pps信号进行调节,调节后的所述第一1pps信号用于作为下一时刻所述恒温晶振的所述第一1pps信号;
第一调节模块,用于在所述接收机处于异常状态时,根据所述分频系数和所述恒温晶振调节CPU的时钟信息。
9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的方法。

说明书全文

CPU时钟守时方法、装置、终端设备及存储介质

技术领域

[0001] 本申请属于时钟技术领域,尤其涉及一种CPU时钟守时方法、装置、终端设备及存储介质。

背景技术

[0002] 随着卫星技术的快速发展,对于通过卫星确定时间并基于时间控制各装置正常运行的终端设备,为了保证终端设备的稳定运行,需要使终端设备内的各个用时装置进行时间统一授时。
[0003] 目前,在接收机异常时,终端设备将无法接收到外部时钟源提供的时钟信息。进而,无法基于外部时钟源提供的高精度时钟信息进行时间统一授时。此时,终端设备需要将预先设置的恒温晶振作为参考时钟源,以在接收机异常时,能够通过恒温晶振对终端设备的CPU时间进行守时,使CPU的显示时间在接收机恢复正常时尽可能与外部时钟源提供的时钟信息一致。
[0004] 然而,恒温晶振的时钟频率容易随着时间和温度产生漂移。其中,时间越长,时钟频率的误差越大。因此,在接收机异常后,若一直基于恒温晶振的时钟信息进行守时,则CPU守时的时间精度将降低。发明内容
[0005] 本申请实施例提供了一种CPU时钟守时方法、装置、终端设备及存储介质,可以解决在接收机异常时,CPU守时的时间精度较低的问题。
[0006] 第一方面,本申请实施例提供了一种CPU时钟守时方法,该方法包括:
[0007] 在接收机处于正常状态时,获取恒温晶振的第一1pps信号,并通过接收机获取外部时钟源的第二1pps信号;
[0008] 确定第一1pps信号和第二1pps信号的第一相位差;第一相位差用于表征外部时钟源与恒温晶振的时钟误差程度;
[0009] 根据第一相位差计算分频系数和第三1pps信号;第三1pps信号用于对恒温晶振的第一1pps信号进行调节,调节后的第一1pps信号用于作为下一时刻恒温晶振的第一1pps信号;
[0010] 在接收机处于异常状态时,根据分频系数和恒温晶振调节CPU的时钟信息。
[0011] 第二方面,本申请实施例提供了一种CPU时钟守时装置,该装置包括:
[0012] 获取模,用于在接收机处于正常状态时,获取恒温晶振的第一1pps信号,并通过接收机获取外部时钟源的第二1pps信号;
[0013] 第一确定模块,用于确定第一1pps信号和第二1pps信号的第一相位差;第一相位差用于表征外部时钟源与恒温晶振的时钟误差程度;
[0014] 计算模块,用于根据第一相位差计算分频系数和第三1pps信号;第三1pps信号用于对恒温晶振的第一1pps信号进行调节,调节后的第一1pps信号用于作为下一时刻恒温晶振的第一1pps信号;
[0015] 第一调节模块,用于在接收机处于异常状态时,根据分频系数和恒温晶振调节CPU的时钟信息。
[0016] 第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面的方法。
[0017] 第四方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面的方法。
[0018] 第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面的方法。
[0019] 本申请实施例与现有技术相比存在的有益效果是:在接收机处于正常状态时,可以认为外部时钟源输出的第二1pps信号为标准1pps信号。在获取外部时钟源输出的第二1pps信号和恒温晶振的第一1pps信号后,可以计算第一1pps信号和第二1pps信号的第一相位差,以确定外部时钟源与恒温晶振的时钟误差程度。而后,基于该第一相位差计算第三
1pps信号和分频系数。其中,因第三1pps信号用于对恒温晶振的第一1pps信号进行调节,并将调节后的第一1pps信号用于作为下一时刻恒温晶振的第一1pps信号。因此,终端设备可以基于外部时钟源的第二1pps信号校正恒温晶振的时钟频率,使恒温晶振与外部时钟源的时钟频率同步。也即,对恒温晶振因时间和温度产生的漂移进行抑制。此时,因恒温晶振的时钟频率已在当前时刻完成校正,因此,可以认为恒温晶振在下一时刻(短时间内恒温晶振的时钟频率的误差较小)的第一1pps信号的时钟精度较高。并且,分频系数能够准确地调节CPU的时钟频率,使其与外部时钟源的频率接近。基于此,在接收机处于异常状态时,因CPU已经在接收机正常时根据分频系数将自身的时钟频率与外部时钟源的时钟频率同步。以及,恒温晶振也在接收机正常时根据第一相位差将自身的时钟频率与外部时钟源的时钟频率同步,且恒温晶振在短时间内的时钟频率的误差较小。进而,在接收机处于异常状态时,CPU能够基于精准的时钟频率的恒温晶振调节时钟信息,实现高精度守时。
附图说明
[0020] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021] 图1是本申请一实施例提供的一种CPU时钟守时方法的实现流程图
[0022] 图2是本申请一实施例提供的一种CPU时钟守时方法中确定第一相位差的一种实现方式示意图;
[0023] 图3是本申请一实施例提供的一种终端设备的结构示意图;
[0024] 图4是本申请一实施例提供的一种CPU时钟守时装置的结构示意图;
[0025] 图5是本申请另一实施例提供的一种终端设备的结构示意图。

具体实施方式

[0026] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0027] 应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0028] 另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0029] 随着卫星技术的快速发展,对于通过卫星确定时间并基于时间控制各装置正常运行的终端设备,为了保证终端设备的稳定运行,需要使终端设备内的各个用时装置进行时间统一授时。
[0030] 目前,在接收机异常时,终端设备将无法接收到外部时钟源提供的时钟信息。进而,无法基于外部时钟源提供的高精度时钟信息进行时间统一授时。此时,终端设备需要将预先设置的恒温晶振作为参考时钟源,以在接收机异常时,能够通过恒温晶振对终端设备的CPU时间进行守时,使CPU的显示时间在接收机恢复正常时尽可能与外部时钟源提供的时钟信息一致。
[0031] 然而,恒温晶振的时钟频率容易随着时间和温度产生漂移。其中,时间越长,时钟频率的误差越大。因此,在接收机异常后,若一直基于恒温晶振的时钟信息进行守时,则CPU守时的时间精度将降低。
[0032] 基于此,为了在接收机异常时,CPU时间与外部时钟源的时间之间的误差,提高CPU守时的时间精度。本申请实施例提供了一种CPU时钟守时方法,该方法可以应用于手机、平板电脑笔记本电脑、超级移动个人计算机(Ultra‑Mobile Personal Computer,UMPC)、上网本等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。
[0033] 请参阅图1,图1示出了本申请实施例提供的一种CPU时钟守时方法的实现流程图,该方法包括如下步骤:
[0034] S101、在接收机处于正常状态时,获取恒温晶振的第一1pps信号,并通过接收机获取外部时钟源的第二1pps信号。
[0035] 在一实施例中,上述1pps信号为秒脉冲信号,用于指示整秒的时间间隔。其中,第一1pps信号可以通过PPS的上升沿表示恒温晶振对应的具体时刻。以及,第二1pps信号可以通过PPS的上升沿表示外部时钟源对应的具体时刻。
[0036] 在一实施例中,在接收机正常时,接收机可以通过天线采集外部时钟源的第一1pps信号。
[0037] 在本实施例中,上述外部时钟源包括但不限于北斗、GPS、有线B码等多种时钟源。需要说明的是,在接收机正常时,接收机通常可以通过天线接收到至少一个外部时钟源发送的第二1pps信号。此时,因外部时钟源发送的第二1pps信号通常为标准时钟信号,因此,终端设备可以根据第二1pps信号和第一1pps信号对恒温晶振的时钟频率进行调频,减少恒温晶振累积的时钟误差。以及,根据外部时钟源发送的时间信息调整CPU的显示时间。
[0038] 作为一种示例,上述外部时钟源和恒温晶振的时钟频率均可以为10M。然而,基于上述对恒温晶振的解释可知,恒温晶振将随着产生累积误差,因此,实际时钟频率可能发生变化。
[0039] 在一实施例中,终端设备可以通过接收机接收到的导航数据确定接收机是否处于正常状态。具体的,终端设备可以解析接收机接收到的导航数据,得到解析数据信息;其中,解析数据信息包括接收机的定位模式以及定位数据。之后,在定位模式为预设定位模式,且定位数据为有效时,确定接收机处于正常状态。否则,在定位模式不为预设定位模式,和/或,定位数据为无效时,确定接收机处于异常状态。
[0040] 在一实施例中,在接收到导航数据时,终端设备可以根据预设的通信协议对导航数据进行解析,得到解析数据信息。示例性的,上述通信协议可以为NMEA 0183协议。其中,解析数据信息不仅可以包括定位模式和定位数据,还可以包括外部时钟源发送的时间信息,以用于在确定接收机处于正常状态时,将时间信息同步至CPU中进行显示。
[0041] 可以理解的是,卫星通常能够用于对终端设备的位置进行定位,因此,在接收机处于正常状态时,若定位模式为预设定位模式,且定位数据有效,则可以认为接收机与卫星之间的通信正常。此时,可以认为接收机能够从卫星处获取标准的时间信息和第二1pps信号。
[0042] 其中,上述预设定位模式包括但不限于差分定位模式,单点实时定位模式,对此不作限定。上述定位数据有效可以为在确定接收机当前时刻用于定位的星数(卫星数量)大于有效星数阈值(例如,3颗)时,确定定位数据有效。否则,在星数小于或等于有效星数阈值时,确定定位数据无效。
[0043] 在另一实施例中,因导航数据由卫星发送。因此,在接收机未接收到导航数据时,可以认为终端设备此时处于信号较差或无信号的位置,或者,接收机的天线异常,无法正常接收导航数据。基于此,终端设备此时也可以认为接收机处于异常状态。
[0044] S102、确定第二1pps信号和第一1pps信号的第一相位差;第一相位差用于表征外部时钟源与恒温晶振的时钟误差程度。
[0045] 在一实施例中,上述已说明1pps信号用于表示整秒的时间间隔,并且,相位差可以用于表征两个波形或振动间的相位位置的相对差异的度量。因此,可以认为基于第一1pps信号和第二1pps信号得到的第一相位差,能够表征外部时钟源与恒温晶振的时钟误差程度。
[0046] 在一实施例中,终端设备可以采用短时傅里叶变换(Short‑Time Fourier Transform,STFT)技术对第二1pps信号和第一1pps信号进行变化,以将时域的1pps信号分别在频域上转换为对应的相位进行表征。而后,在频域上,计算第一1pps信号对应的相位与第二1pps信号对应的相位之间的差值,得到上述第一相位差。其中,可以认为相位等于各个1pps信号的频率对时间的积分。
[0047] 在一实施例中,接收机在接收到外部时钟发送的第二1pps信号时,通常需要通过内部设置的脉冲电路输出表征第二1pps信号的脉冲信号。而后,终端设备可以对其进行处理得到上述第一相位差。
[0048] 然而,脉冲电路在生成第二1pps信号时,可能由于脉冲电路的稳定性较差,使得脉冲电路输出的第二1pps信号与实际外部时钟源的第二1pps信号存在一定的误差。基于此,为了提高生成的第一相位差的稳定性,终端设备可以通过如图2所示的S201‑S203步骤对第二1pps信号进行矫正,以基于矫正后的第二1pps信号生成第一相位差。详述如下:
[0049] S201、获取恒温晶振在接收机的预设秒时钟周期内的晶振频率。
[0050] 其中,上述预设秒时钟周期可以预先根据实际情况进行设置,对此不作限定。示例性的,上述预设秒时钟周期可以为256s。
[0051] 需要说明的是,恒温晶振为一种具有非常高稳定性的晶体振荡器,在短时间内,恒温晶振的时钟频率通常非常精确且几乎不受温度变化的影响。因此,为了保证矫正的准确性,可以将恒温晶振的时钟频率作为参考标准,反向对第二1pps信号进行矫正,得到精确度更高且稳定的第二1pps信号。
[0052] 具体的,终端设备可以在接收机秒时钟连续的256秒(预设秒时钟周期)后,检测恒温晶振的频率。可以理解的是,因预设秒时钟周期为256秒,即每256秒为一个循环。因此,在一个循环内,终端设备可以记录恒温晶振的时钟频率,作为上述的晶振频率。
[0053] S202、根据晶振频率对第二1pps信号进行矫正,得到矫正后的第二1pps信号,以使得矫正后的第二1pps信号的时间精度高于第二1pps信号对应的时间精度。
[0054] S203、根据第一1pps信号和矫正后的第二1pps信号确定第一相位差。
[0055] 作为一种示例,矫正方式可以为:在第二pps信号的频率基础上,增加或减小第二pps信号的频率,使其接近恒温晶振的时钟频率。
[0056] 示例性的,可以在第二1pps信号的频率高于恒温晶振的时钟频率时,在第二1pps信号的频率基础上减小预设频率,得到矫正后的第二1pps信号。以及,在第二1pps信号的频率基础上低于恒温晶振的频率时,将第二1pps信号的频率增加预设频率,得到矫正后的第二1pps信号。以及,在第二1pps信号的频率等于恒温晶振的频率时,不对第二1pps信号的频率进行改变。
[0057] 其中,根据第一1pps信号和矫正后的第二1pps信号确定第一相位差,可以参考上述S102中确定第一相位差的解释,对此不再进行说明。需要说明的是,上述预设频率可以根据实际情况进行设置,对此不作限定。
[0058] 然而,需要特别说明的是,因第一1pps信号和矫正后的第二1pps信号在进行短时傅里叶变换技术处理时,只能去除第一1pps信号和矫正后的第二1pps信号中的部分噪音。此时,基于具有噪音的第一1pps信号和矫正后的第二1pps信号得到相位差可能依然具有误差。即,第二相位差中可能依然存在高频噪声和干扰。
[0059] 基于此,为了得到精度更高的第一相位差,可以先计算第一1pps信号和矫正后的第二1pps信号在频域上的第二相位差。而后,对第二相位差进行滤波,得到第一相位差。
[0060] 在一实施例中,上述滤波包括但不限于卡尔曼滤波或者高斯滤波等方式,对此不作限定。其中,卡尔曼滤波和高斯滤波进行降噪的方式为已有技术,对此不作详细说明。
[0061] S103、根据第一相位差计算分频系数和第三1pps信号;第三1pps信号用于对恒温晶振的第一1pps信号进行调节,调节后的第一1pps信号用于作为下一时刻恒温晶振的第一1pps信号。
[0062] 在一实施例中,分频为受外部周期信号激励的震荡,将单一频率信号的频率降低为原来的1/N的过程。其中,分频系数可以认为是频率信号的频率需降低的系数。在本实施例中,在接收机处于正常状态时,终端设备内CPU的时钟频率需要基于外部时钟源的时钟频率进行调节,以实现CPU时钟与与外部时钟源的时钟同步。基于此,可以认为上述分频系数用于发送至CPU,以调节CPU的时钟信息。例如,调节CPU的时钟频率。
[0063] 在一实施例中,终端设备可以采用小数分频系数,对第一相位差的高频信号进行分割,得到低频率的分频系数和第三1pps信号。其中,采用小数分频系数对信号进行处理的方式为已有方式,对此不作详细说明。
[0064] 需要说明的是,上述第三1pps信号用于对此时恒温晶振的第一1pps信号进行调节,并将调节后的第一1pps信号用于作为下一时刻恒温晶振的第一1pps信号,以进行下一次的第一相位差的计算。即,在接收机正常时,基于S101、S102以及S103步骤处理,其可以调节外部时钟源与恒温晶振的时钟误差程度,以使恒温晶振的时钟频率与外部时钟源的时钟频率尽可能地同步。也即,可以使恒温晶振的时钟频率始终在一个可控的范围内,使其与外部时钟源的时钟频率的误差较小。
[0065] 其中,根据第三1pps信号对恒温晶振的第一1pps信号进行调节的方式,与上述S202根据晶振频率对第二1pps信号进行矫正,得到矫正后的第二1pps信号的方式相似。
[0066] 具体的,终端设备可以第三1pps信号的频率小于第一1pps信号的频率时,增加第三1pps信号的频率,以获取恒温晶振在增加后的时钟频率下的第一1pps信号。即,获取调节后的第一1pps信号。同样的,终端设备也可以在第三1pps信号的频率大于第一1pps信号的频率时,降低第三1pps信号的频率,得到恒温晶振在增加后的时钟频率下的第一1pps信号。以及,在第三1pps信号的频率等于第一1pps信号的频率时,可以认此时恒温晶振的时钟频率与外部时钟源的时钟频率同步。进而,可以直接将第三1pps信号确定为调节后的第一
1pps信号。
[0067] 其中,在每次增加或降低第三1pps信号的频率时,均是调节此时恒温晶振的时钟频率,使其与外部时钟源的时钟频率接近。以及,调节方式也可以为根据预设频率增加或降低第三1pps信号的频率,详情参照上述S202的示例,对此不作详细说明。
[0068] S104、在接收机处于异常状态时,根据分频系数和恒温晶振调节CPU的时钟信息。
[0069] 在一实施例中,在接收机异常状态时,可以认为此时接收机无法获取到外部时钟源提供的时间信息,进而,无法将外部时钟源的时间信息确定为CPU的显示时间。
[0070] 基于此,因在接收机处于正常状态时,恒温晶振的时钟频率基于外部时钟源的时钟频率进行同步,因此可以认为恒温晶振的时钟频率的精度较高。并且,CPU也根据得到的分频系数调节CPU内部的时钟频率,进而在接收机处于异常状态时,可以保证CPU的时钟频率的精度较高。
[0071] 基于此,为了保证CPU在接收机处于异常状态时的显示时间依然较为准确(守时精度高),在接收机处于异常状态时,可以将恒温晶振作为参考时钟源,继续调节CPU的时钟信息。例如,调节CPU的时钟频率,使CPU的时钟频率与精度较高的恒温晶振的时钟频率同步。
[0072] 基于上述说明,结合上述S201‑S202步骤可知,因S103步骤可以得到精度更高的恒温晶振的时钟频率,且恒温晶振在短时间内的时钟频率通常非常精确且几乎不受温度变化的影响。因此,可以认为在该时刻下调节后的第一1pps信号,能够在下一时刻用于反向对第二1pps信号进行矫正(矫正接收机接收第二1pps信号时存在的随机误差),得到精确度更高且稳定的第二1pps信号参与后续处理。
[0073] 其中,在起始时刻下,恒温晶振的第一1pps信号应当为自身标准的10M信号,该时钟频率通常较高。因此,在起始时刻时,可以以10M信号作为第一1pps信号参与处理。
[0074] 基于此,通过利用外部时钟源的第二1pps信号的随机误差与恒温晶振的第一1pps信号的累积误差互补的方式,对恒温晶振的频率漂移进行抑制并补偿其误差,使得恒温晶振的时钟频率的精度更高。进而,即使在接收机处于异常状态时,也可以基于更高精度的时钟频率的恒温晶振调节CPU的时钟信息,保证CPU的守时精度。
[0075] 需要说明的是,为了进一步地提高CPU的守时精度,终端设备可以确定接收机在处于正常状态时的最后时刻下,得到的分频系数。而后,根据最后时刻下的分频系数和恒温晶振,调节CPU的时钟信息。
[0076] 可以理解的是,在接收机正常时,终端设备可以得到各个时刻下的分频系数。然而,终端设备在根据最后时刻下得到的分频系数调节CPU的时钟频率后,其调节后的时钟频率将更接近于外部时钟源有效时的时钟频率。进而,可以进一步地保证在接收机处于异常状态的较长时间内,CPU的显示时间与外部时钟源的时间接近。
[0077] 综上述说明,在本实施例中,在接收机处于正常状态时,可以认为外部时钟源输出的第二1pps信号为标准1pps信号。在获取外部时钟源输出的第二1pps信号和恒温晶振的第一1pps信号后,可以计算第一1pps信号和第二1pps信号的第一相位差,以确定外部时钟源与恒温晶振的时钟误差程度。而后,基于该第一相位差计算第三1pps信号和分频系数。其中,因第三1pps信号用于对恒温晶振的第一1pps信号进行调节,并将调节后的第一1pps信号用于作为下一时刻恒温晶振的第一1pps信号。因此,终端设备可以基于外部时钟源的第二1pps信号校正恒温晶振的时钟频率,使恒温晶振与外部时钟源的时钟频率同步。也即,对恒温晶振因时间和温度产生的漂移进行抑制。此时,因恒温晶振的时钟频率已在当前时刻完成校正,因此,可以认为恒温晶振在下一时刻(短时间内恒温晶振的时钟频率的误差较小)的第一1pps信号的时钟精度较高。并且,分频系数能够准确地调节CPU的时钟频率,使其与外部时钟源的频率接近。基于此,在接收机处于异常状态时,因CPU已经在接收机正常时根据分频系数将自身的时钟频率与外部时钟源的时钟频率同步。以及,恒温晶振也在接收机正常时根据第一相位差将自身的时钟频率与外部时钟源的时钟频率同步,且恒温晶振在短时间内的时钟频率的误差较小。进而,在接收机处于异常状态时,CPU能够基于精准的时钟频率的恒温晶振调节时钟信息,实现高精度守时。
[0078] 在另一实施例中,参照图3,图3是本申请一实施例提供的一种终端设备的结构示意图。其中,终端设备可以包括接收机、恒温晶振、CPU以及对第一1pps信号和第二1pps信号进行处理的各个电路。
[0079] 其中,在接收机接收到导航数据时,可以先根据协议解析电路对导航数据进行解析,得到解析数据信息。之后,发送解析数据信息至分频电路FPGA,以确定接收机是否处于异常状态。而后,在确定接收机处于正常状态时,还可以将导航数据中解析到的时间信息同步至CPU中进行显示。
[0080] 同时,接收机还可以接收外部时钟源的第二1pps信号,并输入至矫正脉冲电路中,得到矫正后的第二1pps信号。此时,为了确定外部时钟源与恒温晶振的时钟误差程度,分频电路FPGA可以获取恒温晶振的第一1pps信号,并发送至相位比较器中。以及,相位比较器还可以接收矫正脉冲电路发送的矫正后的第二1pps信号进行处理,得到第二相位差。而后,为了去除第二相位差中依然存在的高频噪声和干扰,终端设备可以将第二相位差输入至环路滤波器中进行滤波,以去除噪声干扰得到第一相位差。
[0081] 之后,终端设备可以将第一相位差输入至分频控制电路中得到分频系数和第三1pps信号。此时,分频系数可以通过CPU控制电路发送至CPU,以调节CPU的时钟频率。以及,可以将第三1pps信号发送至恒温晶振中,调节恒温晶振的时钟频率。而后,恒温晶振可以将调节后的时钟频率对应的第一1pps信号,发送至分频电路FPGA中作为恒温晶振的时钟基准(调节后的第一1pps信号)。
[0082] 而后,在接收机处于正常状态时,可以继续执行上述示例步骤,直至在确定接收机处于异常状态时,CPU可以先根据接收机处于正常状态的最后时刻下的分频系数,调节CPU的时钟频率。之后,分频电路FPGA还可以根据恒温晶振此时的时钟基准(第一pps信号)调节CPU的时钟信息。也即,对CPU的显示时间进行校时。
[0083] 在另一实施例中,CPU还可以根据CPU控制电路传输控制信号至分频电路FPGA中,以控制分频电路FPGA的工作状态。
[0084] 请参阅图4,图4是本申请实施例提供的一种CPU时钟守时装置的结构示意图。本实施例中CPU时钟守时装置包括的各模块用于执行图1和图2对应的实施例中的各步骤。具体请参阅图1和图2以及图1和图2所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图4,CPU时钟守时装置400可以包括:获取模块410、第一确定模块420、计算模块430以及第一调节模块440,其中:
[0085] 获取模块410,用于在接收机处于正常状态时,获取恒温晶振的第一1pps信号,并通过接收机获取外部时钟源的第二1pps信号。
[0086] 第一确定模块420,用于确定第一1pps信号和第二1pps信号的第一相位差;第一相位差用于表征外部时钟源与恒温晶振的时钟误差程度。
[0087] 计算模块430,用于根据第一相位差计算分频系数和第三1pps信号;第三1pps信号用于对恒温晶振的第一1pps信号进行调节,调节后的第一1pps信号用于作为下一时刻恒温晶振的第一1pps信号。
[0088] 第一调节模块440,用于在接收机处于异常状态时,根据分频系数和恒温晶振调节CPU的时钟信息。
[0089] 在一实施例中,CPU时钟守时装置400可以包括:
[0090] 解析模块,用于解析接收机接收到的导航数据,得到解析数据信息;解析数据信息包括接收机的定位模式以及定位数据。
[0091] 第二确定模块,用于在定位模式为预设定位模式,且定位数据为有效时,确定接收机处于正常状态。
[0092] 第三确定模块,用于在定位模式不为预设定位模式,和/或,定位数据为无效时,确定接收机处于异常状态。
[0093] 在一实施例中,第一确定模块420还用于:
[0094] 获取恒温晶振在接收机的预设秒时钟周期内的晶振频率;根据晶振频率对第二1pps信号进行矫正,得到矫正后的第二1pps信号;矫正后的第二1pps信号的时间精度高于第二1pps信号对应的时间精度;根据第一1pps信号和矫正后的第二1pps信号确定第一相位差。
[0095] 在一实施例中,第一确定模块420还用于:
[0096] 确定第一1pps信号和矫正后的第二1pps信号在频域上的第二相位差;对第二相位差进行滤波,得到第一相位差。
[0097] 在一实施例中,计算模块430还用于:
[0098] 采用小数分频系数,对第一相位差的信号进行分割处理,得到分频系数和第三1pps信号。
[0099] 在一实施例中,CPU时钟守时装置400可以包括:
[0100] 第二调节模块,用于若第三1pps信号的频率小于第一1pps信号的频率,则增加第三1pps信号的频率,得到调节后的第一1pps信号。
[0101] 第三调节模块,用于若第三1pps信号的频率大于第一1pps信号的频率,则降低第三1pps信号的频率,得到调节后的第一1pps信号。
[0102] 第四调节模块,用于若第三1pps信号的频率等于第一1pps信号的频率,则将第三1pps信号确定为调节后的第一1pps信号。
[0103] 在一实施例中,第一调节模块440还用于:
[0104] 确定接收机在处于正常状态时的最后时刻下,得到的分频系数;根据最后时刻下的分频系数和恒温晶振,调节CPU的时钟信息。
[0105] 当理解的是,图4示出的CPU时钟守时装置的结构示意图中,各模块用于执行图1和图2对应的实施例中的各步骤,而对于图1和图2对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图1和图2以及图1和图2所对应的实施例中的相关描述,此处不再赘述。
[0106] 图5是本申请一实施例提供的一种终端设备的结构示意图。如图5所示,该实施例的终端设备500包括:处理器510、存储器520以及存储在存储器520中并可在处理器510运行的计算机程序530,例如CPU时钟守时方法的程序。处理器510执行计算机程序530时实现上述各个CPU时钟守时方法各实施例中的步骤,例如图1所示的S101至S104。或者,处理器510执行计算机程序530时实现上述图4对应的实施例中各模块的功能,例如,图4所示的各个模块的功能,具体请参阅图4对应的实施例中的相关描述。
[0107] 示例性的,计算机程序530可以被分割成一个或多个模块,一个或者多个模块被存储在存储器520中,并由处理器510执行,以实现本申请实施例提供的CPU时钟守时方法。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序530在终端设备500中的执行过程。例如,计算机程序530可以实现本申请实施例提供的CPU时钟守时方法。
[0108] 终端设备500可包括,但不仅限于,处理器510、存储器520。本领域技术人员可以理解,图5仅仅是终端设备500的示例,并不构成对终端设备500的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
[0109] 所称处理器510可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0110] 存储器520可以是终端设备500的内部存储单元,例如终端设备500的硬盘或内存。存储器520也可以是终端设备500的外部存储设备,例如终端设备500上配备的插接式硬盘,智能存储卡,闪存卡等。进一步地,存储器520还可以既包括终端设备500的内部存储单元也包括外部存储设备。
[0111] 本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行上述各个实施例中的CPU时钟守时方法。
[0112] 本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述各个实施例中的CPU时钟守时方法。
[0113] 以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
QQ群二维码
意见反馈