CN109799872A - 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 - Google Patents
提高低解析度实时时钟唤醒精度的方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109799872A CN109799872A CN201811639952.2A CN201811639952A CN109799872A CN 109799872 A CN109799872 A CN 109799872A CN 201811639952 A CN201811639952 A CN 201811639952A CN 109799872 A CN109799872 A CN 109799872A
- Authority
- CN
- China
- Prior art keywords
- clock
- mentioned
- electronic equipment
- value
- adjustment value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Electric Clocks (AREA)
Abstract
本申请公开了一种提高低解析度实时时钟唤醒精度的方法、装置、电子设备及计算机可读存储介质,其中,该方法包括:当电子设备接收到定时唤醒指令时,读取当前时钟值;根据当前时钟值计算得到时钟调整值;基于时钟调整值对电子设备的时钟进行调整;在调整后的时钟下,设置定时唤醒指令所指向的唤醒操作的执行时间;在执行唤醒操作后,基于时钟调整值对电子设备的时钟进行逆向调整。通过本申请方案,可使得基于实时时钟的唤醒时间更为准确,以此使得电子设备的性能及用户体验均有所提升。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及一种提高低解析度实时时钟唤醒精度的方法、装置、电子设备及计算机可读存储介质。
背景技术
在各种智能移动设备和嵌入式设备中,通常需要使用实时时钟(Real TimeClock,RTC)的休眠唤醒功能。实时时钟具体指的是电子设备中的实时时钟模块。在采用RTC作为休眠唤醒源的情况下,不同电子设备的RTC支持的休眠唤醒时长所能精确到的最小时长即为RTC唤醒解析度。例如:若一电子设备的休眠唤醒时长可精确到的最小时长为60秒,则该电子设备的RTC唤醒解析度为60秒。虽然唤醒解析度的高低对电子设备本身没有不良影响,但低唤醒解析度的RTC会使得休眠控制时长会出现较为明显偏差,最终导致RTC唤醒时间不准确、电子设备性能降低、用户体验不佳。
发明内容
有鉴于此,本申请提供了一种提高低解析度实时时钟唤醒精度的方法、装置、电子设备及计算机可读存储介质,可提高低解析度的实时时钟的唤醒精度,使得基于实时时钟的唤醒时间更为准确,提高电子设备的性能,一定程度上提升了用户体验。
本申请的第一方面提供了一种提高低解析度实时时钟唤醒精度的方法,包括:
当电子设备接收到定时唤醒指令时,读取当前时钟值;
根据上述当前时钟值计算得到时钟调整值;
基于上述时钟调整值对上述电子设备的时钟进行调整;
在调整后的时钟下,设置上述定时唤醒指令所指向的唤醒操作的执行时间;
在执行上述唤醒操作后,基于上述时钟调整值对上述电子设备的时钟进行逆向调整。
本申请的第二方面提供了一种提高低解析度实时时钟唤醒精度的装置,包括:
读取单元,用于当电子设备接收到定时唤醒指令时,读取当前时钟值;
计算单元,用于根据上述当前时钟值计算得到时钟调整值;
调整单元,用于基于上述时钟调整值对上述电子设备的时钟进行调整;
设置单元,用于在调整后的时钟下,设置上述定时唤醒指令所指向的唤醒操作的执行时间;
逆向调整单元,用于在执行上述唤醒操作后,基于上述时钟调整值对上述电子设备的时钟进行逆向调整。
本申请的第三方面提供了一种电子设备,上述电子设备包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上第一方面的方法的步骤。
本申请的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上第一方面的方法的步骤。
本申请的第五方面提供了一种计算机程序产品,上述计算机程序产品包括计算机程序,上述计算机程序被一个或多个处理器执行时实现如上述第一方面的方法的步骤。
由上可见,在本申请方案中,当电子设备接收到定时唤醒指令时,首先读取当前时钟值,然后根据上述当前时钟值计算得到时钟调整值,随后基于上述时钟调整值对上述电子设备的时钟进行调整,并在调整后的时钟下,设置上述定时唤醒指令所指向的唤醒操作的执行时间,最后在执行上述唤醒操作后,基于上述时钟调整值对上述电子设备的时钟进行逆向调整。通过本申请方案,利用了RTC的唤醒触发机制,以补偿方式的方式先调整RTC时钟在准确的时间进入休眠,实现提高RTC唤醒时间的准确性;并在唤醒后,立即将RTC时钟进行逆向调整,以恢复RTC时钟的准确计时。上述过程无需对电子设备的硬件作出改进,节约了硬件成本,仅通过本申请方案即可使得在低解析度的RTC唤醒源硬件平台上也能够实现高解析度,不仅提升了低解析度RTC的唤醒精度,而且提升了电子设备的产品性能及用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的提高低解析度实时时钟唤醒精度的方法的实现流程示意图;
图2是本申请实施例提供的提高低解析度实时时钟唤醒精度的方法的时钟调整时间轴示意图;
图3是本申请实施例提供的提高低解析度实时时钟唤醒精度的装置的结构框图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
为了说明本申请上述的技术方案,下面通过具体实施例来进行说明。
实施例一
下面对本申请实施例提供的一种提高低解析度实时时钟唤醒精度的方法进行描述,请参阅图1,本申请实施例中的提高低解析度实时时钟唤醒精度的方法包括:
在步骤101中,当电子设备接收到定时唤醒指令时,读取当前时钟值;
在本申请实施例中,首先介绍上述电子设备的运行环境。在电子设备中,包含有如下几个模块:RTC模块、休眠控制模块及唤醒控制模块,其中,上述休眠控制模块及唤醒控制模块均由电子设备的处理器所控制,上述休眠控制模块用于触发RTC模块进入休眠状态;上述唤醒控制模块用于在达到一设定的唤醒时间时,触发RTC模块从休眠状态中被唤醒。具体地,上述电子设备可以接收用户输入的定时唤醒指令;当电子设备接收到定时唤醒指令时,上述电子设备处理器上的休眠控制模块将被触发运行,以使得电子设备的系统进入休眠状态,其中,休眠时长由电子设备通过调用预设的接口(Application ProgrammingInterface,API)函数的方式来指定。可选地,上述步骤101具体包括:
A1、当电子设备接收到定时唤醒指令时,读取上述电子设备的时钟;
A2、检测读取结果的格式是否为预设格式,若是,则执行步骤A4,若否,则执行步骤A3;
在本申请实施例中,电子设备的时钟值有两种不同的表达格式。其中一种是以年月日时分秒等多字段组合的结构式表达格式;另一种则是从一约定时刻开始以秒为单位计算流逝时长的单一整数式表达格式,其中,上述约定时刻可以由开发人员自行设定,也可以由电子设备自行设定,例如,将上述约定时刻设定为1970年1月1日0时0分0秒。由于上述整数式表达结构更加便于进行数学运算,因而,可以先检测上述读取结果的格式是否为整数式表达格式,若是,则执行步骤A4;若否,则执行步骤A3。
A3、若上述读取结果的格式不为预设格式,则将上述读取结果的格式转换为预设格式;
在本申请实施例中,若上述读取结果为结构式表达格式,则将上述结构式表达的读取结果转换为整数式表达的时钟值,以方便后续进行计算。具体地,上述转换后的整数式表达的时钟值的约定时刻可以由开发人员自行设定,也可以由电子设备自行设定,例如,设定为1970年1月1日0时0分0秒,此处不作限定。
A4、将上述读取结果确定为当前时钟值。
在本申请实施例中,只有结构式表达格式的读取结果需要进行转换,并将转换后的读取结果确定为当前时钟值;如果读取结果已经是整数式表达格式,则无需进行转换,直接将读取结果确定为当前时钟值。也即是说,上述当前时钟值必然是以秒为单位的单一整数值。具体地,还可以将上述当前时钟值存储于一变量T0中,以便后续进行计算。
在步骤102中,根据上述当前时钟值计算得到时钟调整值;
在本申请实施例中,在获取得到了当前时钟值后,为了使得电子设备在准确的时刻执行定时唤醒指令所指向的唤醒操作,需要基于上述当前时钟值计算获得时钟调整值,以实现对时钟的调整。具体地,上述步骤102包括:
B1、获取上述定时唤醒指令所指向的休眠时长;
在本申请实施例中,有两种不同的方式来指定休眠时长:其中一种是直接指定休眠时长,例如,指定从当前时刻开始休眠300秒后自动唤醒,也即,立即进入休眠状态,并在指定时长后自动唤醒,在这种情况下,其休眠时长可直接根据定时唤醒指令所获得;另一种是指定唤醒操作的执行时间,例如,指定立即休眠并在17点整自动唤醒,也即,立即进入休眠状态,并在指定时间自动唤醒,其休眠时长需要基于当前时钟值以及上述定时唤醒指令所指定的执行时间来确定。这两种方式本质上是等同的,可以相互转换。因而,若上述定时唤醒指令已指定休眠时长,则直接获取该定时唤醒指令所指向的休眠时长;若上述定时唤醒指令已指定执行时间,则基于该已指定的执行时间及当前时钟值的差值确定上述定时唤醒指令所指向的休眠时长。在获得上述休眠时长后,可将该休眠时长保存至变量T1。
B2、获取上述电子设备的实时时钟RTC解析度;
在本申请实施例中,在低解析度的电子设备中,RTC唤醒源的解析度一般为若干秒,具体地,为了表述方便,可记为R秒。上述R的典型取值为60、128等,此处不作限定。其唤醒机制通常由RTC的秒计时单元来驱动,当秒累计计时达到R的整数倍时,即可触发RTC唤醒源,此时,上述电子设备处理器上的唤醒控制模块将被触发运行,以使得电子设备的系统从休眠状态中被唤醒。
B3、基于上述RTC解析度分别对上述当前时钟值及上述休眠时长进行取模运算;
B4、将上述RTC解析度作为被减数,将上述取模运算的结果之和作为减数,进行减法运算;
B5、将上述减法运算的结果确定为时钟调整值。
在本申请实施例中,上述时钟调整值的计算公式具体为:D=R-(T0%R+T1%R),其中,D为时钟调整值,R为上述RTC解析度,T0为当前时钟值,T1为休眠时长。上述D的值域在区间(-R,R)中,即上述D的范围为-R<D<R。在本申请实施例中,将在正/负解析度的范围内对时钟进行小幅度调整,因而先基于R分别对T0和T1进行取模运算,将R的整数倍成分消去,仅留下模除后的余数部分;接着将R减去上述取模运算的结果之和,用以表示需要将时钟增大的数值,也即为时钟调整值D。
在步骤103中,基于上述时钟调整值对上述电子设备的时钟进行调整;
在本申请实施例中,可以基于上述时钟调整值对上述电子设备的时钟进行调整;具体地,由于上述时钟调整值D表示的是需要将时钟增大的数值,而根据上述D的范围可知,上述D也有可能为负值,因而,上述步骤103具体包括:
C1、检测上述时钟调整值与0的数量关系;
C2、若上述时钟调整值大于0,则基于上述时钟调整值顺时针调整上述时钟;
C3、若上述时钟调整值小于0,则基于上述时钟调整值逆时针调整上述时钟;
C4、若上述时钟调整值等于0,则不对上述时钟进行调整。
在本申请实施例中,由于当D为负值时,意为需将时钟增大一负值,则实际上是需将时钟减小|D|。也即,当D大于0时,将当前时钟增大D秒(拨快D秒);当D小于0时,将当前时钟减小|D|秒(拨慢|D|秒);若D等于0,则不对上述时钟进行调整。
在步骤104中,在调整后的时钟下,设置上述定时唤醒指令所指向的唤醒操作的执行时间;
在本申请实施例中,可以首先获取上述唤醒操作在调整前的时钟下的执行时间,记为原执行时间,然后对上述时钟调整值及上述原执行时间进行加法运算,最后根据上述加法运算的结果设置上述唤醒操作在调整后的时钟下的执行时间。具体地,上述原执行时间即为对时钟进行调整前,执行上述唤醒操作的时间;而由于在步骤103中,已基于上述时钟调整值对上述时钟进行了调整,因而,为了在调整后的时钟下,仍然在正确的时刻执行相应的唤醒操作,需要将上述时钟调整值及上述原执行时间相加,所得到的时间即为在调整后的时钟下执行上述定时唤醒指令的时间。具体地,上述唤醒控制模块中可包含有唤醒时刻控制子模块,可由该唤醒时刻控制子模块设置上述定时唤醒指令所指向的唤醒操作的执行时间。
在步骤105中,在执行上述唤醒操作后,基于上述时钟调整值对上述电子设备的时钟进行逆向调整。
在本申请实施例中,在调整后的上述时钟达到上述执行时间时,触发上述电子设备唤醒。在电子设备执行了上述唤醒操作后,需要基于上述时钟调整值对上述电子设备的时钟进行逆向调整,使得上述电子设备的时钟回到正确的计时时刻。可选地,上述步骤105具体包括:
D1、在执行上述唤醒操作后,若上述时钟调整值大于0,则基于上述时钟调整值逆时针调整上述时钟;
D2、若上述时钟调整值小于0,则基于上述时钟调整值顺时针调整上述时钟;
D3、若上述时钟调整值等于0,则不对上述时钟进行调整。
在本申请实施例中,由于在上述步骤103中对时钟进行调整时,若D大于0,则将当前时钟增大D秒(拨快D秒);若D小于0,则将当前时钟减小|D|秒(拨慢|D|秒)。因而,在本步骤中,需要通过对时钟进行逆向调整,来抵消掉上述步骤103中对时钟所进行的调整,使得时钟回到原来正确的计时轨道上。具体地,由于D大于0时,步骤103将时钟增大了D秒,因而本步骤中,D大于0时,需要将当前时钟减小D秒(拨慢D秒);由于D小于0时,步骤103将时钟减小了|D|秒,因而本步骤中,D小于0时,需要将当前时钟增大|D|秒(拨快|D|秒)。
由上可见,通过本申请实施例,在电子设备的定时控制过程中,先对电子设备的时钟进行调整,使得电子设备能够准时完成相应的唤醒操作,随后再对电子设备的时钟进行逆向调整,实现对电子设备的时钟的调整补偿,使其回到正常的计时轨道。上述过程无需对电子设备的硬件作出改进,即可使得在低解析度的RTC唤醒源硬件平台上也能够实现高解析度,节约了硬件成本,不仅提升了低解析度RTC的唤醒精度,而且提升了电子设备的产品性能及用户体验。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了更好的说明本申请实施例所提供的技术方案,下面以具体实例作出说明,如图2所示:
假设一电子设备的RTC解析度R为60秒,当前时刻为0分30秒(基于该当前时刻读取当前时钟值),接收到的定时唤醒指令所要求的执行相应唤醒操作的时间为0分40秒(即原执行时间),也即,要求电子设备等待10秒后执行相应操作;
在原始情形下,受限于解析度,虽然欲唤醒时刻为0分40秒,但电子设备只能在1分0秒触发唤醒,即,实际唤醒时刻为1分0秒,这样就出现了20秒的偏差;
如果采用本申请实施例所提供的方法,基于预设公式D=R-(T0%R+T1%R)计算得到时钟调整值为60-(30+10)=20秒,也即,将时钟顺时针增大20秒,使得时钟所显示的当前时刻从0分30秒变为0分50秒,并立即进入休眠状态;又通过计算,确定在调整后的时钟下唤醒操作的执行时间应为原执行时间+时钟调整值=0分40秒+20秒=1分0秒,也即,在休眠10秒后(从0分50秒至1分0秒,共10秒)后,就执行相应的唤醒操作;随后,为了补偿之前对时钟所进行的调整,此时进行逆向调整,将时钟逆时针减小20秒,使得时钟所显示的当前时刻从1分0秒调整为0分40秒。通过上述调整及逆向调整,前后时间调整值抵消,这样就既保证了准确唤醒、又保证了时钟的正确计时。
实施例二
本申请实施例提供了一种提高低解析度实时时钟唤醒精度的装置,上述装置可集成于电子设备中,如图3所示,本发明实施例中的提高低解析度实时时钟唤醒精度的装置300包括:
读取单元301,用于当电子设备接收到定时唤醒指令时,读取当前时钟值;
计算单元302,用于根据上述当前时钟值计算得到时钟调整值;
调整单元303,用于基于上述时钟调整值对上述电子设备的时钟进行调整;
设置单元304,用于在调整后的时钟下,设置上述定时唤醒指令所指向的唤醒操作的执行时间;
逆向调整单元305,用于在执行上述唤醒操作后,基于上述时钟调整值对上述电子设备的时钟进行逆向调整。
可选地,上述读取单元301包括:
时钟读取子单元,用于当电子设备接收到定时唤醒指令时,读取上述电子设备的时钟;
格式检测子单元,用于检测读取结果的格式是否为预设格式;
格式转换子单元,用于若上述读取结果的格式不为预设格式,则将上述读取结果的格式转换为预设格式;
当前时钟值确定子单元,用于将上述读取结果确定为当前时钟值。
可选地,上述计算单元302包括:
休眠时长获取子单元,用于获取上述定时唤醒指令所指向的休眠时长;
RTC解析度获取子单元,用于获取上述电子设备的实时时钟RTC解析度;
取模运算子单元,用于基于上述RTC解析度分别对上述当前时钟值及上述休眠时长进行取模运算;
减法运算子单元,用于将上述RTC解析度作为被减数,将上述取模运算的结果之和作为减数,进行减法运算;
时钟调整值确定子单元,用于将上述减法运算的结果确定为时钟调整值。
可选地,上述调整单元303,具体用于检测上述时钟调整值与0的数量关系,若上述时钟调整值大于0,则基于上述时钟调整值顺时针调整上述时钟,若上述时钟调整值小于0,则基于上述时钟调整值逆时针调整上述时钟,若上述时钟调整值等于0,则不对上述时钟进行调整。
可选地,上述逆向调整单元305,具体用于在执行上述唤醒操作后,若上述时钟调整值大于0,则基于上述时钟调整值逆时针调整上述时钟,若上述时钟调整值小于0,则基于上述时钟调整值顺时针调整上述时钟,若上述时钟调整值等于0,则不对上述时钟进行调整。
可选地,上述设置单元304包括:
原执行时间获取子单元,用于获取上述唤醒操作在调整前的时钟下的执行时间,记为原执行时间;
加法运算子单元,用于对上述时钟调整值及上述原执行时间进行加法运算;
执行时间设置子单元,用于根据上述加法运算的结果设置上述唤醒操作在调整后的时钟下的执行时间。
由上可见,通过本申请实施例,提高低解析度实时时钟唤醒精度的装置在电子设备的定时控制过程中,先对电子设备的时钟进行调整,使得电子设备能够准时完成相应的唤醒操作,随后再对电子设备的时钟进行逆向调整,实现对电子设备的时钟的调整补偿,使其回到正常的计时轨道。上述过程无需对电子设备的硬件作出改进,即可使得在低解析度的RTC唤醒源硬件平台上也能够实现高解析度,节约了硬件成本,不仅提升了低解析度RTC的唤醒精度,而且提升了电子设备的产品性能及用户体验。
实施例三
本发明实施例提供一种电子设备,请参阅图4,本发明实施例中的电子设备包括:存储器401,一个或多个处理器402(图4中仅示出一个)及存储在存储器401上并可在处理器上运行的计算机程序。其中:存储器401用于存储软件程序以及模块,处理器402通过运行存储在存储器401的软件程序以及单元,从而执行各种功能应用以及数据处理,以获取上述预设事件对应的资源。具体地,处理器402通过运行存储在存储器401的上述计算机程序时实现以下步骤:
当电子设备接收到定时唤醒指令时,读取当前时钟值;
根据上述当前时钟值计算得到时钟调整值;
基于上述时钟调整值对上述电子设备的时钟进行调整;
在调整后的时钟下,设置上述定时唤醒指令所指向的唤醒操作的执行时间;
在执行上述唤醒操作后,基于上述时钟调整值对上述电子设备的时钟进行逆向调整。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,上述当电子设备接收到定时唤醒指令时,读取当前时钟值,包括:
当电子设备接收到定时唤醒指令时,读取上述电子设备的时钟;
检测读取结果的格式是否为预设格式;
若上述读取结果的格式不为预设格式,则将上述读取结果的格式转换为预设格式;
将上述读取结果确定为当前时钟值。
在上述第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,上述根据上述当前时钟值计算获得时钟调整值,包括:
获取上述定时唤醒指令所指向的休眠时长;
获取上述电子设备的实时时钟RTC解析度;
基于上述RTC解析度分别对上述当前时钟值及上述休眠时长进行取模运算;
将上述RTC解析度作为被减数,将上述取模运算的结果之和作为减数,进行减法运算;
将上述减法运算的结果确定为时钟调整值。
在上述第三种可能的实施方式作为基础而提供的第四种可能的实施方式中,上述基于上述时钟调整值对上述电子设备的时钟进行调整,包括:
检测上述时钟调整值与0的数量关系;
若上述时钟调整值大于0,则基于上述时钟调整值顺时针调整上述时钟;
若上述时钟调整值小于0,则基于上述时钟调整值逆时针调整上述时钟;
若上述时钟调整值等于0,则不对上述时钟进行调整。
在上述第四种可能的实施方式作为基础而提供的第五种可能的实施方式中,上述在执行上述唤醒操作后,基于上述时钟调整值对上述电子设备的时钟进行逆向调整,包括:
在执行上述唤醒操作后,若上述时钟调整值大于0,则基于上述时钟调整值逆时针调整上述时钟;
若上述时钟调整值小于0,则基于上述时钟调整值顺时针调整上述时钟;
若上述时钟调整值等于0,则不对上述时钟进行调整。
在上述第一种可能的实施方式作为基础而提供的第六种可能的实施方式中,上述在调整后的时钟下,设置上述定时唤醒指令所指向的唤醒操作的执行时间,包括:
获取上述唤醒操作在调整前的时钟下的执行时间,记为原执行时间;
对上述时钟调整值及上述原执行时间进行加法运算;
根据上述加法运算的结果设置上述唤醒操作在调整后的时钟下的执行时间。
进一步,如图4所示,上述电子设备还可包括:一个或多个输入设备403(图4中仅示出一个)和一个或多个输出设备404(图4中仅示出一个)。存储器401、处理器402、输入设备403和输出设备404通过总线405连接。
应当理解,在本发明实施例中,所称处理器402可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备403可以包括键盘、触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备404可以包括显示器、扬声器等。
存储器401可以包括只读存储器和随机存取存储器,并向处理器402提供指令和数据。存储器401的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器401还可以存储设备类型的信息。
由上可见,通过本申请实施例,电子设备在定时控制过程中,先对电子设备的时钟进行调整,使得电子设备能够准时完成相应的唤醒操作,随后再对电子设备的时钟进行逆向调整,实现对电子设备的时钟的调整补偿,使其回到正常的计时轨道。上述过程无需对电子设备的硬件作出改进,即可使得在低解析度的RTC唤醒源硬件平台上也能够实现高解析度,节约了硬件成本,不仅提升了低解析度RTC的唤醒精度,而且提升了电子设备的产品性能及用户体验。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上上述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种提高低解析度实时时钟唤醒精度的方法,其特征在于,包括:
当电子设备接收到定时唤醒指令时,读取当前时钟值;
根据所述当前时钟值计算得到时钟调整值;
基于所述时钟调整值对所述电子设备的时钟进行调整;
在调整后的时钟下,设置所述定时唤醒指令所指向的唤醒操作的执行时间;
在执行所述唤醒操作后,基于所述时钟调整值对所述电子设备的时钟进行逆向调整。
2.如权利要求1所述的方法,其特征在于,所述当电子设备接收到定时唤醒指令时,读取当前时钟值,包括:
当电子设备接收到定时唤醒指令时,读取所述电子设备的时钟;
检测读取结果的格式是否为预设格式;
若所述读取结果的格式不为预设格式,则将所述读取结果的格式转换为预设格式;
将所述读取结果确定为当前时钟值。
3.如权利要求1所述的方法,其特征在于,所述根据所述当前时钟值计算获得时钟调整值,包括:
获取所述定时唤醒指令所指向的休眠时长;
获取所述电子设备的实时时钟RTC解析度;
基于所述RTC解析度分别对所述当前时钟值及所述休眠时长进行取模运算;
将所述RTC解析度作为被减数,将所述取模运算的结果之和作为减数,进行减法运算;
将所述减法运算的结果确定为时钟调整值。
4.如权利要求3所述的方法,其特征在于,所述基于所述时钟调整值对所述电子设备的时钟进行调整,包括:
检测所述时钟调整值与0的数量关系;
若所述时钟调整值大于0,则基于所述时钟调整值顺时针调整所述时钟;
若所述时钟调整值小于0,则基于所述时钟调整值逆时针调整所述时钟;
若所述时钟调整值等于0,则不对所述时钟进行调整。
5.如权利要求4所述的方法,其特征在于,所述在执行所述唤醒操作后,基于所述时钟调整值对所述电子设备的时钟进行逆向调整,包括:
在执行所述唤醒操作后,若所述时钟调整值大于0,则基于所述时钟调整值逆时针调整所述时钟;
若所述时钟调整值小于0,则基于所述时钟调整值顺时针调整所述时钟;
若所述时钟调整值等于0,则不对所述时钟进行调整。
6.如权利要求1所述的方法,其特征在于,所述在调整后的时钟下,设置所述定时唤醒指令所指向的唤醒操作的执行时间,包括:
获取所述唤醒操作在调整前的时钟下的执行时间,记为原执行时间;
对所述时钟调整值及所述原执行时间进行加法运算;
根据所述加法运算的结果设置所述唤醒操作在调整后的时钟下的执行时间。
7.一种提高低解析度实时时钟唤醒精度的装置,其特征在于,包括:
读取单元,用于当电子设备接收到定时唤醒指令时,读取当前时钟值;
计算单元,用于根据所述当前时钟值计算得到时钟调整值;
调整单元,用于基于所述时钟调整值对所述电子设备的时钟进行调整;
设置单元,用于在调整后的时钟下,设置所述定时唤醒指令所指向的唤醒操作的执行时间;
逆向调整单元,用于在执行所述唤醒操作后,基于所述时钟调整值对所述电子设备的时钟进行逆向调整。
8.如权利要求7所述的装置,其特征在于,所述读取单元包括:
时钟读取子单元,用于当电子设备接收到定时唤醒指令时,读取所述电子设备的时钟;
格式检测子单元,用于检测读取结果的格式是否为预设格式;
格式转换子单元,用于若所述读取结果的格式不为预设格式,则将所述读取结果的格式转换为预设格式;
当前时钟值确定子单元,用于将所述读取结果确定为当前时钟值。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639952.2A CN109799872B (zh) | 2018-12-29 | 2018-12-29 | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 |
PCT/CN2019/116300 WO2020134636A1 (zh) | 2018-12-29 | 2019-11-07 | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639952.2A CN109799872B (zh) | 2018-12-29 | 2018-12-29 | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109799872A true CN109799872A (zh) | 2019-05-24 |
CN109799872B CN109799872B (zh) | 2020-09-11 |
Family
ID=66558235
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811639952.2A Active CN109799872B (zh) | 2018-12-29 | 2018-12-29 | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109799872B (zh) |
WO (1) | WO2020134636A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020134636A1 (zh) * | 2018-12-29 | 2020-07-02 | 百富计算机技术(深圳)有限公司 | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 |
CN113050497A (zh) * | 2021-03-23 | 2021-06-29 | 阿尔特汽车技术股份有限公司 | 进行定时校正的方法及相应的控制器、车辆、设备和介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408397B1 (en) * | 1999-05-24 | 2002-06-18 | Dell Usa, L.P. | Using RTC wake-up to enable recovery from power failures |
CN103092062A (zh) * | 2013-01-28 | 2013-05-08 | 成都天奥电子股份有限公司 | 用于实时时钟芯片的精度调节方法及系统 |
CN103647914A (zh) * | 2013-11-29 | 2014-03-19 | 乐视致新电子科技(天津)有限公司 | 一种电视关机后定时唤醒的方法和装置 |
CN103901942A (zh) * | 2012-12-28 | 2014-07-02 | 联芯科技有限公司 | 用于终端的时钟精度的校准方法和装置 |
CN104219746A (zh) * | 2014-09-03 | 2014-12-17 | 深圳市中兴移动通信有限公司 | 一种自主调整唤醒时间的方法、装置及终端 |
CN105142210A (zh) * | 2015-08-25 | 2015-12-09 | 深圳市晓渡云科技有限公司 | 一种用于无线传感网的实时时钟同步校准方法及传感器 |
CN105388991A (zh) * | 2015-10-23 | 2016-03-09 | 福州瑞芯微电子股份有限公司 | 定时唤醒处理系统及方法 |
CN106304317A (zh) * | 2015-06-24 | 2017-01-04 | 联芯科技有限公司 | 睡眠唤醒定时偏差的补偿方法及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100410846C (zh) * | 2005-09-22 | 2008-08-13 | 联想(北京)有限公司 | 笔记本电脑实时时钟唤醒的实现方法 |
US7676683B2 (en) * | 2006-08-24 | 2010-03-09 | Sony Computer Entertainment Inc. | Method and system for rebooting a processor in a multi-processor system |
TWI643511B (zh) * | 2017-04-20 | 2018-12-01 | 朝陽科技大學 | Power-saving wireless sensing device and system |
CN107577189B (zh) * | 2017-10-20 | 2023-12-19 | 中国电建集团成都勘测设计研究院有限公司 | 一种自动监测系统的精确定时唤醒方法 |
CN109799872B (zh) * | 2018-12-29 | 2020-09-11 | 百富计算机技术(深圳)有限公司 | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 |
-
2018
- 2018-12-29 CN CN201811639952.2A patent/CN109799872B/zh active Active
-
2019
- 2019-11-07 WO PCT/CN2019/116300 patent/WO2020134636A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408397B1 (en) * | 1999-05-24 | 2002-06-18 | Dell Usa, L.P. | Using RTC wake-up to enable recovery from power failures |
CN103901942A (zh) * | 2012-12-28 | 2014-07-02 | 联芯科技有限公司 | 用于终端的时钟精度的校准方法和装置 |
CN103092062A (zh) * | 2013-01-28 | 2013-05-08 | 成都天奥电子股份有限公司 | 用于实时时钟芯片的精度调节方法及系统 |
CN103647914A (zh) * | 2013-11-29 | 2014-03-19 | 乐视致新电子科技(天津)有限公司 | 一种电视关机后定时唤醒的方法和装置 |
CN104219746A (zh) * | 2014-09-03 | 2014-12-17 | 深圳市中兴移动通信有限公司 | 一种自主调整唤醒时间的方法、装置及终端 |
CN106304317A (zh) * | 2015-06-24 | 2017-01-04 | 联芯科技有限公司 | 睡眠唤醒定时偏差的补偿方法及电子设备 |
CN105142210A (zh) * | 2015-08-25 | 2015-12-09 | 深圳市晓渡云科技有限公司 | 一种用于无线传感网的实时时钟同步校准方法及传感器 |
CN105388991A (zh) * | 2015-10-23 | 2016-03-09 | 福州瑞芯微电子股份有限公司 | 定时唤醒处理系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020134636A1 (zh) * | 2018-12-29 | 2020-07-02 | 百富计算机技术(深圳)有限公司 | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 |
CN113050497A (zh) * | 2021-03-23 | 2021-06-29 | 阿尔特汽车技术股份有限公司 | 进行定时校正的方法及相应的控制器、车辆、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109799872B (zh) | 2020-09-11 |
WO2020134636A1 (zh) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10057856B2 (en) | Wake-up control method and apparatus, and terminal device | |
US10194389B2 (en) | Data processing device, data processing method, and program for sampling rate control of sensors | |
CN103118188A (zh) | 应用心跳周期调整方法及装置、终端 | |
US9477293B2 (en) | Embedded controller for power-saving and method thereof | |
MX2014009068A (es) | Metodo, terminal y dispositivo electronico para procesar documento de libro electronico. | |
CN109799872A (zh) | 提高低解析度实时时钟唤醒精度的方法、装置及电子设备 | |
US11240865B2 (en) | Method for dynamically adjusting a Bluetooth connection interval applied to ECG measuring instrument | |
WO2018120861A1 (zh) | 背光亮度数据获取及处理方法、装置、液晶显示设备 | |
US11502529B2 (en) | Battery charging method employing historical data | |
CN106681619B (zh) | 一种控制电子设备的能耗的方法及装置 | |
CN104317611B (zh) | 一种应用唤醒设置设备、方法以及移动终端 | |
CN109379158A (zh) | 一种存储集群中新增节点的时间同步方法、装置及设备 | |
CN108986809B (zh) | 一种便携式设备及其唤醒方法和装置 | |
WO2017113696A1 (zh) | 调频参数的调节方法、装置、调频器及移动终端 | |
EP3813222A1 (en) | Charging method and device, electronic equipment, and storage medium | |
CN111309137B (zh) | 一种芯片控制方法、装置、芯片及终端设备 | |
CN108038563A (zh) | 一种数据预测方法、服务器及计算机可读存储介质 | |
US7536580B2 (en) | System and method for generating timer output corresponding to timer request from plurality of processes | |
CN104350476B (zh) | 一种版本检测周期调节方法及装置 | |
WO2013063778A1 (en) | Method and apparatus for context sensing inference | |
CN109164999A (zh) | 一种表格自适应显示的方法、装置、设备及可读存储介质 | |
CN110660004B (zh) | 曲线数据抄读方法、电能表和存储介质 | |
CN106940665A (zh) | 一种基于移动终端的时间校正控制方法、系统及移动终端 | |
CN103513698A (zh) | 一种时钟信号校准方法、装置及电子设备 | |
CN110461032A (zh) | 一种移动终端的省电控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |