一种实时时钟RTC调整装置及方法与流程

文档序号:12270353阅读:823来源:国知局
一种实时时钟RTC调整装置及方法与流程

本发明涉及实时时钟技术,尤指一种实时时钟RTC调整装置及方法。



背景技术:

实时时钟RTC模块为soc系统提供稳定的系统时间,系统时间的精确性对于soc系统至关重要。RTC模块的计时精度调整可以补偿RTC模块由于晶振误差、温度变化和外部因素导致的时间偏差。现有技术的RTC精度调整方案,主要使用ADC温度检测模块、误差计算模块、补偿计算模块和秒脉冲生成模块来计算晶振误差和补偿值调整计数器,以修正秒脉冲来实现RTC模块的精度调整功能。但是,这些措施需要使用模拟电路对晶振误差进行探测和计算,因此电路设计复杂所需面积大,功耗高。



技术实现要素:

为了解决上述技术问题,本发明提供了一种实时时钟RTC调整装及方法,以解决RTC精度调整电路的面积大、功耗高问题。

为了达到本发明目的,本发明提供了一种实时时钟RTC调整装置,包括:

调整模块,用于根据秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;

补偿模块,用于根据32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟;

其中,所述秒时钟周期调整参数和32K时钟补偿参数,是根据所述RTC的时钟信息计算得到的。

可选地,其中,

所述调整模块包括:秒周期寄存器和秒时钟计数调整单元;

所述秒周期寄存器,用于存储所述秒时钟周期调整参数;

所述秒时钟计数调整单元,用于根据所述秒周期调整参数调整所述RTC的秒时钟周期;

所述时钟补偿模块包括:时钟调整寄存器和时钟补偿单元;

所述时钟调整寄存器,用于存储所述32K时钟补偿参数;

所述时钟补偿单元,用于根据所述32K时钟补偿参数补偿所述RTC的32K时钟。

可选地,其中,

所述调整模块根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期,包括:

当所述RTC的晶振频率与32K标准时钟频率的差值为整数时,利用所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期。

可选地,其中,

所述补偿模块根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟,包括:当所述RTC时钟比32K标准时钟慢且每天的差值小于等于24秒时,利用所述32K补偿参数补偿所述RTC的32K时钟。

可选地,其中,当存在以下情形之一时,

所述调整模块根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;所述补偿模块根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟:

所述RTC的晶振频率与32K标准时钟频率的差值为非整数;

或者所述RTC时钟比32K标准时钟慢且每天的差值大于24秒;

或者所述RTC时钟比32K标准时钟快。

本发明还提供了一种RTC调整方法,包括:

根据秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;和/或

根据32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟;

其中,所述秒时钟周期调整参数和32K时钟补偿参数,是根据所述RTC的时钟信息计算得到的。

可选地,所述方法具体包括:

将所述秒时钟周期调整参数存入秒周期寄存器;

将所述32K时钟补偿参数存入32K时钟调整寄存器;

根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;和/或

根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟。

可选地,其中,

所述根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期,包括:

当所述RTC的晶振频率与32K标准时钟频率的差值为整数时,利用所述秒时钟周期调整参数调整所述RTC的秒时钟周期。

可选地,其中,

根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟,包括:

当所述RTC时钟比32K标准时钟慢且每天的差值小于等于24秒时,利用所述32K时钟补偿参数补偿所述RTC的32K时钟。

可选地,其中,

所述根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;和根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟,包括:

当存在以下情形之一时,利用所述秒时钟周期调整参数调整所述RTC的秒时钟周期,利用所述32K时钟补偿参数补偿所述RTC的32K时钟:

所述RTC的晶振频率与32K标准时钟频率的差值为非整数;

或者所述RTC时钟比32K标准时钟慢且每天的差值大于24秒;

或者所述RTC时钟比32K标准时钟快。

本发明提供的实时时钟RTC调整装置及方法,通过获取RTC的时钟信息,计算调整所述RTC的秒时钟计数生成器的秒时钟周期调整参数和/或补偿32K时钟补偿参数,根据RTC时钟偏差来调节计时,采用数字电路方式实现对RTC计时精度的精确调整,数字硬件电路面积小、功耗低,并且可以根据需要对RTC精度进行任意调整。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。

图1为本发明实施例的RTC整体结构示意图;

图2为本发明实施例的RTC调整装置的结构示意图;

图3为本发明实施例的RTC调整装置的调整模块和补偿模块的内部结构示意图,其中,1为调整模块,2为补偿模块;

图4为本发明实施例的RTC调整方法的流程示意图。

图5为本发明实施例的RTC调整方法的子流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

如图2所示,本发明实施例提供了一种实时时钟RTC调整装置,包括:

调整模块,用于根据秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;

补偿模块,用于根据32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟;

其中,所述秒时钟周期调整参数和32K时钟补偿参数,是根据所述RTC的时钟信息计算得到的。

本发明的RTC设计整体框图如图1所示,主要包括:年月日星期时分秒计时器、复位寄存器、闰年发生器、中断报警发生器、秒时钟计数生成器和计数精度调整单元等。

RTC具有以下特点:

1)用户可以控制计数器是否使能

2)长时期稳定运行(支持连续运行99年)

3)计时可以准确到秒

4)可直接读取年、月、日、时、分、秒

5)可产生2个定时中断,其中一个可以任意指定一周中的某一天或几天发生中断,另一个可以指定某年某月某日某时某分发生中断

6)提供秒中断,分中断,小时中断,天中断

7)中断可分别使能

8)提供以小时为单位校准32768Hz(简称32K)时钟

其中RTC计时精度调整装置为本发明为实现RTC计时精度调整而增设的模块。

针对RTC时钟实际运行时存在的偏差问题,可以首先获取RTC的时钟信息,例如通过直接读取时、分、秒与标准时钟进行比对,可以得到每天(24小时)RTC时钟与32K标准时钟的偏差值,误差精度准确到秒;根据该偏差值计算用于调整RTC的秒时钟计数生成器的秒时钟周期调整参数和/或32K时钟补偿参数。由于RTC时钟与32K标准时钟的偏差值,存在多种可能,例如,RTC时钟比32K标准时钟快,比32K标准时钟慢,以及快或慢的具体数值不同,可能需要同时调整RTC的秒时钟计数生成器的秒时钟周期和补偿32K时钟,也可能调整调整RTC的秒时钟计数生成器的秒时钟周期或补偿32K时钟即可实现纠正RTC时钟偏差,实现对RTC时钟精度的调整。

其中,如果需要调整RTC的秒时钟计数生成器的秒时钟周期,则调整模块根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;如果需要补偿RTC的秒时钟计数生成器的32K时钟,则补偿模块根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟;如果需要同时调整RTC的秒时钟计数生成器的秒时钟周期和补偿32K时钟,则调整模块先根据所述秒时钟周期调整参数,对所述RTC的秒时钟计数生成器的秒时钟周期进行粗调,然后补偿偿模块根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟,对RTC秒时钟周期进行细调,从而实现对RTC时钟精度的调整。

进一步地,所述调整模块包括:秒周期寄存器和秒时钟计数调整单元;

所述秒周期寄存器,用于存储所述秒时钟周期调整参数;

所述秒时钟计数调整单元,用于根据所述秒周期调整参数调整所述RTC的秒时钟周期;

所述补偿模块包括:时钟调整寄存器和时钟补偿单元;

所述时钟调整寄存器,用于存储所述32K时钟补偿参数;

所述时钟补偿单元,用于根据所述32K时钟补偿参数补偿所述RTC的32K时钟。

作为本发明的可选实施例,如图3所示。本发明实施例提供的RTC计时精度调整装置,由秒时钟计数调整模块和32K时钟补偿模块两个部分组成,其中秒时钟计数调整模块负责对RTC精度进行粗调,32K时钟补偿模块负责对RTC精度进行微调。结合这两部分功能,即可完成对RTC精度的调整。

秒时钟计数调整模块包括秒周期寄存器、秒时钟计数调整单元;32K时钟补偿模块包括:32K时钟调整寄存器和32K时钟补偿单元。根据获取RTC的时钟信息,计算所述RTC的秒时钟计数生成器的秒时钟周期调整参数和/或32K时钟补偿参数,并将计算得到的调整参数写入相应的寄存器,即可实现对RTC精度的调整。

可选地,本装置中所述调整模块根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期,包括:

当所述RTC的晶振频率与32K标准时钟频率的差值为整数时,利用所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期。

由于秒时钟计数生成器的秒时钟周期,是由晶振频率(即每秒时钟脉冲的个数)确定的,标准时钟频率为32768HZ,如果RTC的晶振频率与标准时钟的差值为整数,无论正整数(即RTC比实际时钟慢)或负整数(即RTC比实际时钟快),均可以通过根据该差值直接修改秒时钟周期的值,即可修正RTC的偏差。

因此,当所述RTC的晶振频率与32K标准时钟频率的差值为整数时,利用所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期,无需补偿32K时钟,即可实现对RTC精度的调整。

可选地,本装置中根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟,包括:

当所述RTC时钟比32K标准时钟慢且每天的差值小于等于24秒时,利用所述32K时钟补偿参数补偿所述RTC的32K时钟。

由于秒时钟计数生成器的秒时钟周期,是由晶振频率(即每秒时钟脉冲的个数)确定的,标准时钟频率为32768HZ,即每秒32768个时钟脉冲。如果RTC时钟每天比32K标准时钟慢24秒以内,即每小时慢1秒以内,而1秒对应32768个时钟脉冲,慢1秒以内表明RTC的秒时钟周期比标准时钟周期略长,这个差值可以通过每小时删除一定个数的时钟脉冲进行补偿即可。例如,慢1秒对应32768个时钟脉冲,而慢1秒以内,则导致秒时钟周期偏长的对应时钟脉冲个数小于32768个,可以将相应的脉冲个数直接删除,每小时最多可以删除32768个脉冲(即对应于每小时慢1秒或每天慢24秒),补偿32K时钟的误差(即每小时从32768个脉冲中,删除导致RTC时钟偏慢的时钟脉冲个数,即可实现对RTC时钟进行每小时的精确校正)。

因此,当所述RTC时钟比32K标准时钟慢且每天的差值小于等于24秒时,利用所述32K时钟补偿参数补偿所述RTC的32K时钟,无需调整秒时钟周期,即可实现对RTC精度的调整。

可选地,所述装置中根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;和根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟,包括:

当存在以下情形之一时,利用所述秒时钟周期调整参数调整所述RTC的秒时钟周期,利用所述32K时钟补偿参数补偿所述RTC的32K时钟:

所述RTC的晶振频率与32K标准时钟频率的差值为非整数;

或者所述RTC时钟比32K标准时钟慢且每天的差值大于24秒;

或者所述RTC时钟比32K标准时钟快。

针对上述三种情形,需要通过调整秒时钟周期对RTC时钟进行粗调,然后通过补偿32K时钟进行微调,即秒时钟调整模块和32K时钟补偿模块的配合,才能实现对RTC精度的精确调整。

本发明提供的实时时钟RTC调整装置,通过获取RTC的时钟信息,计算调整所述RTC的秒时钟计数生成器的秒时钟周期调整参数和/或补偿32K时钟补偿参数,根据RTC时钟偏差来调节计时,采用数字电路方式实现对RTC计时精度的精确调整,数字硬件电路面积小、功耗低,并且可以根据需要对RTC精度进行任意调整。

相应地,本发明还提供了一种RTC调整方法,如图4所示,包括:

步骤10:根据秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;和/或

根据32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟。

其中,所述秒时钟周期调整参数和32K时钟补偿参数,是根据所述RTC的时钟信息计算得到的。

进一步地,所述步骤10,如图5所示,具体包括:

步骤101:存储所述秒时钟周期调整参数,存储所述32K时钟补偿参数;

步骤102a:根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;或

步骤102b1-b2:根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟;或

步骤102c:根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟。

进一步地,其中,所述根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期,包括:

当所述RTC的晶振频率与32K标准时钟频率的差值为整数时,利用所述秒时钟周期调整参数调整所述RTC的秒时钟周期。

进一步地,其中,根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟,包括:

当所述RTC时钟比32K标准时钟慢且每天的差值小于等于24秒时,利用所述32K时钟补偿参数补偿所述RTC的32K时钟。

进一步地,其中,所述根据所述秒时钟周期调整参数,调整所述RTC的秒时钟计数生成器的秒时钟周期;和根据所述32K时钟补偿参数,补偿所述RTC的秒时钟计数生成器的32K时钟,包括:

当存在以下情形之一时,利用所述秒时钟周期调整参数调整所述RTC的秒时钟周期,利用所述32K时钟补偿参数补偿所述RTC的32K时钟:

所述RTC的晶振频率与32K标准时钟频率的差值为非整数;

或者所述RTC时钟比32K标准时钟慢且每天的差值大于24秒;

或者所述RTC时钟比32K标准时钟快。

本发明提供的实时时钟RTC调整方法,通过获取RTC的时钟信息,计算调整所述RTC的秒时钟计数生成器的秒时钟周期调整参数和/或补偿32K时钟补偿参数,根据RTC时钟偏差来调节计时,采用数字电路方式完成RTC计时精度调整的功能,硬件电路面积小、功耗低,并且可以根据需要对RTC精度进行任意调整。

下面通过一个具体的示范性实施例,进一步说明本发明。

假设在使用过程中用户发现RTC每天慢5分钟,根据图3和图5所示对RTC进行调整。每天慢5分钟即300秒,一天为86400秒,时钟频率为32.768KHZ,此时RTC每天为86100秒。根据下式计算得到RTC的晶振频率实际值F为:

86100*F=86400*32768

F≈32882.2

此时,由于RTC晶振的实际频率F为32882.2HZ,无法整除得到,与实时时钟32768相差值不是整数,所以在应用秒时钟周期模块粗调RTC精度后还需应用32K时钟补偿模块的细调方式对32K时钟进行补偿,通过两种调节机制的共同作用来完成对RTC精度的调整。秒时钟周期的调整必须是整数,因此将秒时钟周期参数设置为32883(即秒时钟脉冲个数),需细调的时间约为2.1秒,细调机制是每小时删除一定数量的时钟脉冲个数来补偿32K时钟。如下式所示:

(32883/32882.2)*86400-86400=24*(n/32882.2)

2.1=24(n/32882.2)

n≈2887

即:每小时需删除2887个时钟脉冲来补偿粗调造成的误差。使用秒时钟周期调整方式设置参数值为32883(每秒时钟脉冲个数),将32K补偿值设置为2887(即每小时需删除的时钟脉冲个数),将上述调整参数,即秒时钟周期参数32883和32K补偿值2887分别输入相应的秒周期寄存器和32K时钟调整寄存器,即可实现对RTC误差的精确调整,通过这两种方式就可以将一天的时间调整为86399.995秒。

根据以上计算来确定调整后的时间精确度如下式:

(32883/32882.2)*86400-24*(2887/32882.2)≈86402.102-2.107≈86399.995

Δ=(86400-86399.995)/86400≈6*10-8

容易看出,调整后的RTC精度误差Δ很小。因此,本发明能对RTC计数误差进行精度较高的调整。

RTC调整模块工作模式的三种选择情况如下:

1.秒时钟周期调整:当晶振实际频率值与32768HZ的差值为整数时,通过调整秒时钟周期即可完成对RTC精度的调整。

2.32k时钟补偿:当RTC表现在每天慢24秒及以内时,通过细调补偿32K时钟,即可完成对RTC精度的调整。

3.秒时钟周期调整配合32k时钟补偿:除以上两条件之外的情况则需两种方式配合,完成对RTC精度的调整。

本发明实施例,使用数字电路方式完成对RTC精度的调整,具有易用性、实现简洁,并且面积小、功耗低等特点,可以根据需要对RTC模块精度任意调节,使用灵活简便。同时,还可以通过对秒时钟计数调整来加快在设计中对RTC仿真验证的时间,有助于仿真的实现。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1