一种用于电子设备的时间恢复方法及装置与流程

文档序号:21360380发布日期:2020-07-04 04:33阅读:349来源:国知局
一种用于电子设备的时间恢复方法及装置与流程

本发明涉及计算机管理技术领域,特别涉及一种用于电子设备的时间恢复方法及装置。



背景技术:

现有的电子设备,比如笔记本电脑中通常会额外设置独立电源,利用独立电源来持续为cpu中的rtc模块(时钟模块)供电,以保证rtc模块能够持续工作,防止rtc时间丢失问题,但是此方案生产成本较高。或者还可以是采用无独立电源的方式,依赖电子设备中的电池来为cpu中的rtc模块供电;但是当电池进入shipmode(非放电模式)或过放后,rtc模块则会断电,由此导致系统rtc时间丢失,由此造成电子设备在开机时时间不正确,需要通过联网后系统同步时间,或通过手动修改来恢复时间,操作较为繁杂,效率低下。



技术实现要素:

本发明实施例的目的在于提供一种用于电子设备的时间恢复方法及装置,用于解决现有技术中电子设在开机时无法自动恢复正确的时间的问题。

为了解决上述技术问题,本申请的实施例采用了如下技术方案:一种用于电子设备的时间恢复方法,所述电子设备中具有电池模块以及时钟模块,所述电池模块用于在所述电子设备运行时为所述时钟模块供电,所述方法包括如下步骤:

获取所述电池模块由放电状态转换为非放电状态时所述时钟模块的时间,以获得第一时间,并启动计数器以开始计数;

获取电池模块由非放电状态转换为放电状态时所述计数器的计数结果;

基于所述计数结果以及所述第一时间进行时间换算,获得当前时间;

基于所述当前时间进行时间恢复。

可选的,所述获取电池模块由放电状态转换为非放电状态时所述时钟模块的时间,以获得第一时间,并启动计数器以开始计数,具体包括:

判断电池模块的工作状态;

在所述电池模块的工作状态由放电状态转换为非放电状态时,利用bios读取所述时钟模块的时间以获得所述第一时间,并启动所述电池模块中的所述计数器以开始计数。

可选的,所述获取电池模块由非放电状态转换为放电状态时的所述计数器的计数结果,具体包括:

判断电池模块的工作状态;

在所述电池模块的工作状态由非放电状态转换为放电状态时,关闭所述计数器,通过嵌入式控制器读取所述计数器中的计数值,获得计数结果,并将所述计数结果发送给bios。

可选的,所述基于所述计数结果以及所述第一时间进行时间换算,获得当前时间,具体包括:

利用所述bios将所述计数结果转换成第二时间;

利用所述bios将所述第二时间和所述第一时间叠加,获得当前时间。

可选的,所述基于所述当前时间进行时间恢复,具体包括:

基于所述当前时间更新所述时钟模块的寄存器值,以完成时间恢复。

可选的,在获取到所述第一时间后,所述方法还包括:将所述第一时间保存在预定位置。

为了解决上述技术问题,本申请提供一种用于电子设备的时间恢复装置,所述装置应用于电子设备中,所述电子设备具有电池模块以及时钟模块,所述电池模块用于在所述电子设备运行时为所述时钟模块供电,所述装置包括:

第一获取模块,用于获取电池模块由放电状态转换为非放电状态时所述时钟模块的时间,以获得第一时间,并启动计数器以开始计数;

第二获取模块,用于获取电池模块由非放电状态转换为放电状态时所述计数器的计数结果;

时间换算模块,用于基于所述计数结果以及所述第一时间进行时间换算,获得当前时间;

时间恢复模块,用于基于所述当前时间进行时间恢复。

可选的,所述第一获取模块具体用于:

判断电池模块的工作状态;

在所述电池模块的工作状态由放电状态转换为非放电状态时,利用bios读取所述时钟模块的时间以获得所述第一时间,并启动所述电池模块中的计数器以开始计数。

可选的,所述第二获取模块具体用于:

判断电池模块的工作状态;

在所述电池模块的工作状态由非放电状态转换为放电状态时,关闭所述计数器,通过嵌入式控制器读取所述计数器中的计数值,获得计数结果,并将所述计数结果发送给bios。

可选的,所述时间换算模块具体用于:

利用所述bios将所述计数结果转换成第二时间;

利用所述bios将所述第二时间和所述第一时间叠加,获得当前时间。

本发明实施例的有益效果在于:利用电子设备内部的电池来为时钟模块供电,当电池停止为时钟模块供电时,则获取时钟模块的时间(即第一时间),并启动计数器进行计数,在电子设备再次启动、电池再次为时钟模块供电时,则停止计数,获取计数结果,然后结合之前的第一时间进行换算,就能确定当前的时间,最后利用当前时间对时钟模块进行时间恢复,无需手动或联网,无需人工操作,提高了效率。

附图说明

图1为本发明第一实施例用于电子设备的时间恢复方法的流程图;

图2为本发明第二实施例用于电子设备的时间恢复方法的流程图;

图3为本发明实施例中电子设备电气架构图;

图4为本发明实施例用于电子设备的时间恢复装置的框图。

具体实施方式

此处参考附图描述本申请的各种方案以及特征。

应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。

包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。

通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。

还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。

当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。

此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。

本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。

本发明实施例提供一种用于电子设备的时间恢复方法,所述电子设备中具有电池模块以及时钟模块,所述电池模块用于在所述电子设备运行时为所述时钟模块供电,所述方法包括:获取所述电池模块由放电状态转换为非放电状态时所述时钟模块的时间,以获得第一时间,并启动计数器以开始计数;获取电池模块由非放电状态转换为放电状态时所述计数器的计数结果;基于所述计数结果以及所述第一时间进行时间换算,获得当前时间;基于所述当前时间进行时间恢复。本发明实施例中电子设备包括电脑、ipad、手机等终端设备。本发明实施通过利用电子设备内部的电池来为时钟模块供电,无需额外设置电源模块,成本较低。本实施中当电子设备电量不足或者不使用或者电子设备在打包出厂时,电子设备会停止运行,电池模块就会停止为时钟模块供电,此时获取时钟模块的时间(即获得第一时间),并且启动电池模块内的计数器进行计数。当电子设备再次运行时,电池模块会重新为时钟模块供电,那么就可以根据第一时间和计数结果进行时间转换来获取当前时间,并利用当前时间对时钟模块进行时间恢复,由此实现了电子设备的时间的自动恢复,无需手动或联网,时间恢复效率较高。

本发明第一实施例提供一种用于电子设备的时间恢复方法,电子设备中具有电池模块以及时钟模块,所述电池模块用于在所述电子设备运行时为所述时钟模块供电,如图1所述,包括如下步骤:

步骤s101,获取所述电池模块由放电状态转换为非放电状态时所述时钟模块的时间,以获得第一时间,并启动计数器以开始计数;

本步骤中当放电状态是指在电子设备启动、运行时或者电子设备的电池模块接入交流电源时,电池模块开始工作为时钟模块供电的状态。非放电状态是指,当电子设备关机停止运行或者电池模块过放后,电池模块无法为时钟模块供电的状态。本步骤中在获得了第一时间之后,还包括将第一时间保存在预定的位置,具体的可以将第一时间保存到spi设备的rom的某个指定空间。

步骤s102,获取电池模块由非放电状态转换为放电状态时所述计数器的计数结果;

步骤s103,基于所述计数结果以及所述第一时间进行时间换算,获得当前时间;

本步骤在具体实施过程中可以通过将计数结果换算成时间,然后再与第一时间进行叠加,这样就能获得当前时间。

步骤s104,基于所述当前时间进行时间恢复。

本步骤中,在具体实施过程中,可以基于所述当前时间来更新所述时钟模块的寄存器值,以此来完成时间恢复。本发明实施例利用电子设备内部的电池来为时钟模块供电,当电池停止为时钟模块供电时,则获取时钟模块的时间(即第一时间),并启动计数器进行计数,在电子设备再次启动、电池再次为时钟模块供电时,则停止计数,获取计数结果,然后结合之前的第一时间进行换算,就能确定当前的时间,最后利用当前时间对时钟模块进行时间恢复,无需手动或联网,提高效率。

本实施例发明第二实施例提供一种用于电子设备的时间恢复方法,电子设备中具有电池模块以及时钟模块,所述电池模块用于在所述电子设备运行时为所述时钟模块供电,如图2所述,包括如下步骤:

步骤s201,判断电池模块的工作状态;

在所述电池模块的工作状态由放电状态转换为非放电状态时,利用bios读取所述时钟模块的时间以获得所述第一时间,并启动所述电池模块中的所述计数器以开始计数;

本步骤中电池模块的工作状态包括放电状态和非放电状态,当电子设备启动、运行时,所述电池模块的工作状态为放电状态,当电子设备关闭或电池过度放电后,所述电池模块工作状态为非放电状态。

步骤s202,判断电池模块的工作状态;

在所述电池模块的工作状态由非放电状态转换为放电状态时,关闭所述计数器,通过嵌入式控制器读取所述计数器中的计数值,获得计数结果,并将所述计数结果发送给bios。

步骤s203,利用所述bios将所述计数结果转换成第二时间;利用所述bios将所述第二时间和所述第一时间叠加,获得当前时间;

步骤s204,基于所述当前时间更新所述时钟模块的寄存器值,以完成时间恢复。

以一个具体的应用场景为例,如图3所示,电子设备中设置有cpu、ec(嵌入式控制器)以及电池模块,电池模块在放电时通过pwrlod(电源转换模块)来进行降压、以给cpu中的rtc模块(时钟模块)供电,当电子设备例如电脑在工厂完成功能测试后,会打包出库,然后用户购买了电脑,当用户启动电脑时通常会出现时间不正确的问题。因此可以采用本申请的上述时间恢复方法来对电脑的时间进行自动恢复。具体的:

电脑在工厂完成功能测试后,会执行shipmode程序(电池模块由放电状态转换成非放电状态,即停止为时钟模块供电),然后打包出货;在执行shipmode程序时,就可以利用cpu中的bios来读取时钟模块的时间(假设为t0),并保存到rom的某个指定空间,同时,在电池模块进入shipmode时,电池模块内部的mcu(微控制单元)会开始计数。

当用户购买了电脑,在第一次插入交流电源acadapter(交流电源适配器)开机时,电池模块会退出shipmode(即电池模块的工作状态有非放电状态转换成放电状态)此时,电池内部mcu停止计数,获得计数结果;

电脑开机启动时,cpu中的bios通过ec(嵌入式控制器)读取计数结果,并且bios会利用之前保存的第一时间(t0)以及计数结果进行时间换算,来获得当前的时间,并更新(re-write)当前电脑rtcram的rtc寄存器。完成系统的rtc时间恢复后,就能正常进入到os(操作系统)。

在另一个应用场景中,也可以是用户在每次启动电脑时,采用本发明上述的时间恢复方法来对电脑的时间进行恢复。

当电脑系统进入dcs5,电池会进入正常放电状态。当电池满足进入sleepmode条件前(比如检测到电流阀值小于预设值或者检测到放电时间大于预设的放电时间),通知ecwake系统,并记录当时的时间保持到ecrom,然后,系统关闭。当电池进入sleepmode,电池模块内部的mcu(微控制单元)会开始计数。

当用户插入电源适配器再次开机时,电池模块会退出sleepmode,同时电池内部mcu停止计数。cpu中的bios通过ec读取电池模块的计数结果的)。bios会利用之前保存的第一时间(t0)以及计数结果进行时间换算,来获得当前的时间,并更新(re-write)当前电脑rtcram的rtc寄存器。最后系统rtc时间recovery完成,然后正常进入os。

本实施例中根据电脑电池电量不足或正在关机来确定电池模块的工作状态即将由放电状态转换成非放电状态,那么此时就可以获取时钟模块的第一时间,同时启动电池模块内部的计数器开始计数;当电脑再次开机接入电源时就可以确定电池模块的工作状态由非放电状态转换成放电状态,那么此时就可以关闭计数器,获得计数结果,然后根据计数结果和第一时间来确定当前的时间,然后根据当前时间对时钟模块的时间进行恢复。

本发明第三实施例提供一种用于电子设备的时间恢复装置,所述装置应用于电子设备中,所述电子设备具有电池模块以及时钟模块,所述电池模块用于在所述电子设备运行时为所述时钟模块供电,所述装置包括:

第一获取模块1,用于获取电池模块由放电状态转换为非放电状态时所述时钟模块的时间,以获得第一时间,并启动计数器以开始计数;

第二获取模块2,用于获取电池模块由非放电状态转换为放电状态时所述计数器的计数结果;

时间换算模块3,用于基于所述计数结果以及所述第一时间进行时间换算,获得当前时间;

时间恢复模块4,用于基于所述当前时间进行时间恢复。

具体的,本实施例中,所述第一获取模块具体用于:判断电池模块的工作状态;在所述电池模块的工作状态由放电状态转换为非放电状态时,利用bios读取所述时钟模块的时间以获得所述第一时间,并启动所述电池模块中的计数器以开始计数。

本实施例中,所述第二获取模块具体用于:判断电池模块的工作状态;在所述电池模块的工作状态由非放电状态转换为放电状态时,关闭所述计数器,通过嵌入式控制器读取所述计数器中的计数值,获得计数结果,并将所述计数结果发送给bios。

本实施例中,所述时间换算模块具体用于:利用所述bios将所述计数结果转换成第二时间;利用所述bios将所述第二时间和所述第一时间叠加,获得当前时间。

本实施例中,所述时间恢复模块具体用于:基于所述当前时间更新所述时钟模块的寄存器值,以完成时间恢复。

较佳的,本实施例中好包括存储模块,所述存储模块用于将所述第一时间保存在预定位置。

本发明实施例的有益效果在于:利用电子设备内部的电池来为时钟模块供电,当电池停止为时钟模块供电时,则获取时钟模块的时间(即第一时间),并启动计数器进行计数,在电子设备再次启动、电池再次为时钟模块供电时,则停止计数,获取计数结果,然后结合之前的第一时间进行换算,就能确定当前的时间,最后利用当前时间对时钟模块进行时间恢复,无需手动或联网,提高效率。

以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

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