基于RTC芯片的实时时钟的实现方法、终端设备及存储介质技术

技术编号:21183111 阅读:17 留言:0更新日期:2019-05-22 14:26
本申请适用于实时时钟技术领域,提供了一种基于RTC芯片的实时时钟的实现方法、终端设备及计算机可读存储介质,所述方法包括:控制所述RTC芯片按照预设的周期产生中断,在所述RTC芯片产生中断后,初始化预设的定时器的起始值和比较值,并控制所述定时器从所述起始值开始计时,在接收到实时时钟的读取请求后,基于所述RTC芯片的第一时间和所述定时器的第二时间,输出实时时钟值,通过本申请可以在不更换终端设备的RTC芯片的前提下,为终端设备的应用提供高精度实时时钟。

Realization of Real-time Clock Based on RTC Chip, Terminal Equipment and Storage Media

This application is applicable to the field of real-time clock technology, and provides a method of realizing real-time clock based on RTC chip, terminal equipment and computer readable storage medium. The method includes: controlling the RTC chip to interrupt according to the preset period, initializing the starting value and comparison value of the preset timer after the interruption of the RTC chip, and controlling the timer from After receiving the request for reading the real-time clock, the starting value is timed, and the real-time clock value is output based on the first time of the RTC chip and the second time of the timer. The application can provide a high-precision real-time clock for the application of the terminal device without replacing the RTC chip of the terminal device.

【技术实现步骤摘要】
基于RTC芯片的实时时钟的实现方法、终端设备及存储介质
本申请属于实时时钟
,尤其涉及一种基于RTC芯片的实时时钟的实现方法、终端设备及计算机可读存储介质。
技术介绍
实时时钟(Real_TimeClock,RTC)芯片是日常生活中应用最为广泛的消费类电子元件之一。实时时钟芯片能够提供精确的实时时间,或者集成在终端中,为终端设备提供精确的时间基准。然而,很多终端设备中集成的RTC芯片具有较低的解析度(例如,RTC芯片最快每一秒产生一次新的计时值,此时RTC芯片的解析度为1秒),而一些应用需要较高的解析度(例如,1ms的解析度),导致在终端设备上一些依赖于高精度实时时钟的应用无法实现。
技术实现思路
有鉴于此,本申请实施例提供了一种基于RTC芯片的实时时钟的实现方法、终端设备及计算机可读存储介质,以在不更换终端设备的RTC芯片的前提下,为终端设备的应用提供高精度实时时钟。本申请实施例的第一方面提供了一种基于RTC芯片的实时时钟的实现方法,包括:控制所述RTC芯片按照预设的周期产生中断;在所述RTC芯片产生中断后,初始化预设的定时器的起始值和比较值,并控制所述定时器从所述起始值开始计时;在接收到实时时钟的读取请求后,基于所述RTC芯片的第一时间和所述定时器的第二时间,输出实时时钟值。本申请实施例的第二方面提供了一种终端设备,包括:中断控制单元,用于控制所述RTC芯片按照预设的周期产生中断;计时单元,用于在所述RTC芯片产生中断后,初始化预设的定时器的起始值和比较值,并控制所述定时器从所述起始值开始计时;时钟输出单元,用于在接收到实时时钟的读取请求后,基于所述RTC芯片的第一时间和所述定时器的第二时间,输出实时时钟值。本申请实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例第一方面提供的所述方法的步骤。本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请实施例第一方面提供的所述方法的步骤。本申请实施例的第五方面提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被一个或多个处理器执行时实现本申请实施例第一方面提供的所述方法的步骤。本申请实施例提供了一种基于RTC芯片的实时时钟的实现方法,通过设置RTC芯片以预设的周期产生中断,在每次产生中断后,初始化所述预设的定时器的起始值和比较值,并控制所述定时器从所述初始值开始计时;在接收到应用读取实时时钟的请求后,基于所述RTC芯片的第一时间和所述定时器的第二时间输出实时时钟值。通过RTC芯片实现低解析度的计时,通过定时器实现高解析度的计时,从而在不更换终端设备的RTC芯片的前提下,为终端设备的应用提供高精度实时时钟。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种基于RTC芯片的实时时钟的实现方法的流程示意图;图2是本申请实施例提供的另一种基于RTC芯片的实时时钟的实现方法的流程示意图;图3是本申请实施例提供的一种终端设备的示意框图;图4是本申请实施例提供的另一种终端设备的示意框图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。图1是本申请实施例提供的一种基于RTC芯片的实时时钟的实现方法的实现流程示意图,如图所示,该方法可以包括以下步骤:步骤S101,控制所述RTC芯片按照预设的周期产生中断。在本申请实施例中,所述RTC芯片可以是CPU芯片内置的模块;也可以是外置的芯片。RTC芯片通常具有解析度,RTC解析度是指RTC芯片计时的最小单位时间,例如:当RTC芯片最快每一秒产生一次新的计时值时,则RTC解析度为1秒。可以控制所述RTC芯片按照所述解析度对应的时间间隔产生中断。当然,实际应用中,也可以设置大于所述解析度对应的时间间隔产生中断,例如,所述RTC芯片的解析度为1s,可以控制所述RTC芯片每间隔2s产生一次中断,在此不做限制。步骤S102,在所述RTC芯片产生中断后,初始化预设的定时器的起始值和比较值,并控制所述定时器从所述起始值开始计时。在本申请实施例中,可以设置RTC中断服务程序,所述RTC芯片产生中断后,所述RTC中断服务程序初始化预设的定时器的起始值和比较值。在终端设备中可能存在多个定时器,可以预先从其中选取一个定时器,定时器能够以固定的时间节拍从其初始值开始逐次地进行增一或减一计数。有两种定时器:从一个预设值开始往上计时的称为增值定时器,从一个预设值开始向下计时的称为减值定时器。在实际应用中,可以设置计时值寄存器和比较值寄存器,定时器中用来记录当前时间计数值的存储单元,称为计时值寄存器。定时器中用来保存比较门限值的存储单元,称为比较值寄存器。在初始化了所述定时器的起始值和比较值之后,就可以控制所述定时器从所述起始值开始计时。由于RTC芯片按照预设的周期产生中断,假设RTC芯片的解析度为1s,那么可以设置RTC芯片每间隔1s产生一次中断,为了能够获得更精确的实时时钟,可以设置所述定时器从所述起始值到所述比较值的时长等于或尽可能接近于所述RTC芯片产生中断的周期,假设想要获得的目标解析度为0.001s,则可以设置起始值为0,比较值为1000,定时器每计数一次,经过的时间为0.001s,当然还可以设置起始值为0,比较值为2000,定时器每计数一次,经过的时间为0.0005s。以上仅用于举例,实际应用中本文档来自技高网...

【技术保护点】
1.一种基于RTC芯片的实时时钟的实现方法,其特征在于,包括:控制所述RTC芯片按照预设的周期产生中断;在所述RTC芯片产生中断后,初始化预设的定时器的起始值和比较值,并控制所述定时器从所述起始值开始计时;在接收到实时时钟的读取请求后,基于所述RTC芯片的第一时间和所述定时器的第二时间,输出实时时钟值。

【技术特征摘要】
1.一种基于RTC芯片的实时时钟的实现方法,其特征在于,包括:控制所述RTC芯片按照预设的周期产生中断;在所述RTC芯片产生中断后,初始化预设的定时器的起始值和比较值,并控制所述定时器从所述起始值开始计时;在接收到实时时钟的读取请求后,基于所述RTC芯片的第一时间和所述定时器的第二时间,输出实时时钟值。2.如权利要求1所述的基于RTC芯片的实时时钟的计时方法,其特征在于,所述初始化预设的定时器的起始值和比较值包括:获取所述RTC芯片产生中断的周期、目标解析度、所述定时器的输入时钟频率和时钟分频因子;基于所述周期、所述目标解析度、所述定时器的输入时钟频率和时钟分频因子确定所述定时器的起始值和比较值,其中,且S表示所述定时器从所述起始值到所述比较值的总计数次数,S与所述定时器的起始值Ns和所述定时器的比较值Ne相关,T表示所述RTC芯片产生中断的周期,[]表示取整运算,f表示所述定时器的输入时钟频率,k表示所述定时器的时钟分频因子,R表示目标解析度,所述定时器从所述起始值到所述比较值的时长等于所述RTC芯片产生中断的周期。3.如权利要求1所述的基于RTC芯片的实时时钟的计时方法,其特征在于,在基于所述RTC芯片的第一时间和所述定时器的第二时间,输出实时时钟值之前,还包括:读取所述定时器当前的计时值,并通过公式将所述定时器当前的计时值转化为第二时间,其中,C表示第二时间,[]表示取整运算,n表示所述定时器当前的计时值,Ns表示所述定时器的起始值,Ne表示所述定时器的比较值,T表示所述RTC芯片产生中断的周期,R表示目标解析度。4.如权利要求3所述的基于RTC芯片的实时时钟的计时方法,其特征在于,在读取所述定时器当前的计时值之前,还包括:关闭所述RTC芯片的中断功能,所述RTC芯片的中断功能在关闭状态不能产生中断。5.如权利要求4所述的基于RTC芯片的实时时钟的计时方法,其特征在于,在控制所述RTC芯片按照预设周期产生中断之前,还包括:设置并行读取计数变量,并将所述计数变量设为初始值;相应的,在读取...

【专利技术属性】
技术研发人员:董时舫
申请(专利权)人:百富计算机技术深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1