CN117950737A - 唤醒处理方法、装置、电子设备及计算机可读存储介质 - Google Patents

唤醒处理方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN117950737A
CN117950737A CN202410334311.5A CN202410334311A CN117950737A CN 117950737 A CN117950737 A CN 117950737A CN 202410334311 A CN202410334311 A CN 202410334311A CN 117950737 A CN117950737 A CN 117950737A
Authority
CN
China
Prior art keywords
state
temperature
electronic device
value
cover
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
Application number
CN202410334311.5A
Other languages
English (en)
Other versions
CN117950737B (zh
Inventor
王鑫
张辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202410334311.5A priority Critical patent/CN117950737B/zh
Publication of CN117950737A publication Critical patent/CN117950737A/zh
Application granted granted Critical
Publication of CN117950737B publication Critical patent/CN117950737B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

一种唤醒处理方法、装置、电子设备及计算机可读存储介质。该方法包括:在电子设备合盖进入睡眠状态后,检测到进入唤醒状态,获取在预设时间段内中央处理器的第一温度和适配器的第二温度;在预设时间段内,若第一温度连续大于或等于第一阈值,和/或第二温度连续大于或等于第二阈值,则获取电子设备的外接状态和电源管理设置;若外接状态为连接有外接设备,和/或电源管理设置为合盖无动作,则保持进入唤醒状态后的运行状态;否则,触发电子设备进入休眠状态。本申请电子设备合盖进入睡眠状态又被唤醒后,检测到温度过高时,基于外接状态和电源管理设置,确定是否触发电子设备进入休眠状态,防止在合盖使用时直接强制进入休眠状态而影响用户使用。

Description

唤醒处理方法、装置、电子设备及计算机可读存储介质
技术领域
本申请涉及电子技术领域,尤其涉及一种唤醒处理方法、装置、电子设备及计算机可读存储介质。
背景技术
目前,电子设备(例如个人计算机(personal computer,PC)在合盖但没有关机时,会进入睡眠状态(modem standby,MS)(又称为S3状态),在合盖状态收到误唤醒信号时会进入正常的工作状态(S0状态),使电子设备严重发热而触发保护机制,强制电子设备进入休眠状态。然而实际应用中,电子设备在合盖状态也有可能正在被使用,若直接强制进入休眠状态,则可能会影响实际的使用情况。
发明内容
本申请提供一种唤醒处理方法、装置、电子设备及计算机可读存储介质,以防止电子设备合盖被唤醒后直接强制进入休眠状态。
第一方面,提供了一种唤醒处理方法,该方法包括:在电子设备合盖进入睡眠状态后,检测到电子设备进入唤醒状态,获取在预设时间段内电子设备的中央处理器的第一温度和适配器的第二温度;在预设时间段内,若第一温度连续大于或等于第一阈值,和/或第二温度连续大于或等于第二阈值,则获取电子设备的外接状态和电源管理设置;若外接状态为连接有外接设备,和/或电源管理设置为合盖无动作,则保持进入唤醒状态后的运行状态;若外接状态为无外接设备,且电源管理设置未设置合盖无动作,则触发电子设备进入休眠状态。
通过上述方式,电子设备合盖进入睡眠状态又被唤醒后,检测到中央处理器和适配器中的至少一个温度过高时,结合对电子设备的外接状态和电源管理设置的判断,确定是否触发设备进入休眠状态;在存在外接设备或电源管理设置的情况下合盖后进入唤醒状态时,防止电子设备由于温度过高直接强制进入休眠状态,使得对合盖后唤醒触发休眠保护的控制更加符合用户实际使用电子设备的场景需求,降低因强制进入休眠而造成的使用不便;同时,在无外接设备和未设置合盖无动作的情况下,温度超过阈值时,触发设备进入休眠状态,防止电子设备过热,提高电子设备的使用寿命。
在一种可能的实现中,在电子设备合盖进入睡眠状态后,检测到电子设备进入唤醒状态,包括:读取电子设备的第一标志位;第一标志位的取值为第一值,确定电子设备合盖进入睡眠状态后又进入唤醒状态。
通过上述方式,设置第一标志位,并在取值为第一值时用于标识电子设备合盖进入休眠状态后又被唤醒的状态,可以基于读取到的该标志位的值,准确判定电子设备的状态。
在一种可能的实现中,该方法还包括:在预设时间段内,检测到第一温度连续大于或等于第一阈值,和/或第二温度连续大于或等于第二阈值,设置电子设备的第二标志位为第二值,第二标志位用于指示设备温度是否满足预设的温度阈值。
通过上述方式,设置第二标志位,用于标识中央处理器或适配器在预设时间段内温度连续过高,为后续判断电子设备是否需要进入休眠状态提供准确的判断基础。
在一种可能的实现中,获取电子设备的外接状态和电源管理设置,包括:读取电子设备的第三标志位;第三标志位的取值为第三值,确定电子设备的外接状态为连接有外接设备,和/或电源管理设置为合盖无动作;第三标志位的取值为第四值,确定电子设备的外接状态为无连接外接设备,且电源管理设置为未设置合盖无动作。
通过上述方式,设置第三标志位,用于标识电子设备的外接状态和电源管设置情况;在电子设备合盖进入睡眠状态,再次被唤醒后,可以基于第三标志位的值,准确判定电子设备的外接状态和/或电源管理设置,从而可以对后续是否触发休眠机制可以更加准确地控制,避免在合盖状态下正常运行时,由于温度过高而强制进入休眠状态;还可以在合盖误唤醒的情况时防止电子设备过热而触发休眠保护,提高电子设备的使用寿命。
在一种可能的实现中,在检测到第一温度连续大于或等于所述第一阈值,和/或第二温度连续大于或等于第二阈值之后,该方法还包括:
获取基于第一温度和/或第二温度上报的第三温度、第二标志位的值以及预设的休眠温度阈值、第三标志位的值;在第三标志位为第四值时,第二标志位为第二值,且第三温度大于或等于第一阈值和第二阈值中的最大值,生成大于休眠温度阈值的第四温度;或者,在第三标志位为第三值时,保持进入唤醒状态后的运行状态。
通过上述方式,在第一温度和/或第二温度大于温度阈值的情况下,上报的统一的第三温度,并在第三标志位为第四值,即无外接设备且未设置合盖无动作时,第二标志位和第三温度满足条件时,生成大于休眠温度阈值的第四温度,用于触发休眠机制;通过上报第四温度,基于第四温度与预设的休眠温度阈值的大小关系,触发电子设备进入休眠状态;其中生成的第四温度可以高于第三温度,从而可以防止中央处理器或适配器温度过高,使电子设备在未使用状态下的温度较高时,提前触发休眠保护,防止电子设备过热。当第三标志位为第三值时,说明电子设备当前使用的情况为存在外接设备和/或设置了合盖无动作的功能,从而考虑到电子设备的当前实际使用情况,保持唤醒后的运行状态不变,以便符合实际应用场景,降低因合盖状态下温度过高直接触发休眠造成的使用不便。
在一种可能的实现中,该方法还包括:在合盖状态且电源管理设置为合盖无动作,接收到设备移除事件,外接设备的数量减一;若外接设备的数量大于或等于1,则下发设备插入事件;若外接设备的数量小于1,则下发设备移除事件。
在一种可能的实现中,该方法还包括:电源管理设置未设置合盖无动作,接收到设备插入事件,外接设备的数量加一;若外接设备的数量大于或等于2,则下发设备插入事件;或者,电源管理设置未设置合盖无动作,接收到设备移除事件,外接设备的数量减一;若外接设备的数量小于2,下发设备移除事件;其中,下发的设备插入事件或设备移除事件用于确认第三标志位的值。
在一种可能的实现中,该方法还包括:电源管理设置未设置合盖无动作,若下发的设备插入事件,则第三标志位的取值为所述第三值;或者,电源管理设置未设置合盖无动作,若下发的设备移除事件,则第三标志位的取值为第四值。
通过上述方式,在电源管理设置是否设置合盖无动作的情况下,均可以对外接设备的状态进行判断;并且在电源管理设置中未设置合盖无动作的情况下,还可以基于下发的设备插入事件或设备移除事件确定第三标志位的值,从而基于事件的触发可以准确判断电子设备在合盖状态处于较高温度时的外接状态,避免温度较高时直接触发休眠保护而影响用户的实际应用场景。
在一种可能的实现中,该方法还包括:在电子设备开盖进入唤醒状态后,清除第一标志位的值。
在一种可能的实现中,该方法还包括:在电子设备开盖进入唤醒状态之后,清除第二标志位的值和第三温度的值。
通过上述方式,电子设备开盖后,状态已经发生变化,已经开盖进入唤醒状态,则清除第一标志位的值,标识电子设备不再处于合盖且唤醒状态,避免一直触发后续判断过程;清除第三标志位的值,标识电子设备不再处于温度连续过高的状态,不再需要进行外接状态、电源管理设置的判断,以及也不再需要触发进入休眠状态。
在一种可能的实现中,在触发所述电子设备进入休眠状态之前,该方法还包括:将电子设备的内存中的数据转存到电子设备的硬盘中。
通过上述方式,在电子设备进入休眠状态时,会对电子设备的主要部件进行下电操作,因此,在触发电子设备进入休眠状态之前,将电子设备的内存中的数据转存到设备的硬盘中,可以提高数据的可靠性,防止数据丢失。
在一种可能的实现中,该方法还包括:在设备开盖进入唤醒状态后,从硬盘中读取存储的数据,并存储到内存中。
通过上述方式,在电子设备开盖进入唤醒状态后,从休眠时存储在硬盘中的数据重新读取到内存中,从而可以快速地恢复休眠之前的工作状态。
第二方面,提供了一种误唤醒处理装置,该装置包括:
检测单元,用于在电子设备合盖进入睡眠状态后,检测到电子设备进入唤醒状态,获取在预设时间段内电子设备的中央处理器的第一温度和适配器的第二温度;获取单元,用于在预设时间段内,若第一温度连续大于或等于第一阈值,和/或第二温度连续大于或等于第二阈值,则获取电子设备的外接状态和电源管理设置;控制单元,用于若外接状态为连接有外接设备,和/或电源管理设置为合盖无动作,则保持进入唤醒状态后的运行状态;若外接状态为无外接设备,且电源管理设置未设置合盖无动作,则触发电子设备进入休眠状态。
在一种可能的实现中,检测单元,还用于读取所述电子设备的第一标志位;所述第一标志位的取值为第一值,确定所述电子设备合盖进入睡眠状态后又进入唤醒状态。
在一种可能的实现中,检测单元,还用于在预设时间段内,检测到第一温度连续大于或等于所述第一阈值,和/或第二温度连续大于或等于第二阈值,设置电子设备的第二标志位为第二值,第二标志位用于指示设备温度是否满足预设的温度阈值。
在一种可能的实现中,获取单元,还用于读取所述电子设备的第三标志位;所述第三标志位的取值为第三值,确定所述电子设备的外接状态为连接有外接设备,和/或所述电源管理设置为合盖无动作;所述第三标志位的取值为第四值,确定所述电子设备的外接状态为无连接外接设备,且所述电源管理设置为未设置合盖无动作。
在一种可能的实现中,获取单元,还用于获取基于第一温度和/或第二温度上报的第三温度、第二标志位的值以及预设的休眠温度阈值、第三标志位的值;控制单元,还用于在第三标志位为第四值时,第二标志位为第二值,且第三温度大于或等于第一阈值和第二阈值中的最大值,生成大于休眠温度阈值的第四温度;或者,在第三标志位为第三值时,保持进入唤醒状态后的运行状态。
在一种可能的实现中,获取单元,还用于在合盖状态且所述电源管理设置为合盖无动作,接收到设备移除事件,所述外接设备的数量减一;若所述外接设备的数量大于或等于1,则下发设备插入事件;若所述外接设备的数量小于1,则下发设备移除事件。
在一种可能的实现中,获取单元,还用于所述电源管理设置未设置合盖无动作,接收到设备插入事件,所述外接设备的数量加一;若所述外接设备的数量大于或等于2,则下发设备插入事件;或者,所述电源管理设置未设置合盖无动作,接收到设备移除事件,所述外接设备的数量减一;若所述外接设备的数量小于2,下发设备移除事件;其中,下发的所述设备插入事件或设备移除事件用于确认所述第三标志位的值。
在一种可能的实现中,获取单元,还用于电源管理设置未设置合盖无动作,若下发的所述设备插入事件,则第三标志位的取值为第三值;或者,所述电源管理设置未设置合盖无动作,若下发的所述设备移除事件,则第三标志位的取值为所述第四值。
在一种可能的实现中,该装置还包括清除单元,用于所述电子设备开盖进入唤醒状态后,清除所述第一标志位的值。
在一种可能的实现中,清除单元,还用于所述电子设备开盖进入唤醒状态后,清除所述第二标志位的值和所述第三温度的值。
在一种可能的实现中,该装置还包括第一存储单元,用于在所述触发所述电子设备进入休眠状态之前,将所述电子设备的内存中的数据转存到所述电子设备的硬盘中。
在一种可能的实现中,该装置还包括第二存储单元,用于在所述电子设备开盖进入唤醒状态后,从所述硬盘中读取存储的数据,并存储到所述内存中。
第三方面,本申请提供一种电子设备,电子设备包括:一个或多个处理器,以及存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如第一方面中任一项所述的方法。
第四方面,本申请提供一种芯片系统,该芯片系统应用于电子设备,该芯片系统包括一个或多个处理器,该一个或多个处理器用于调用计算机指令以使得电子设备执行如第一方面中任一项所述的方法。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质包括指令,当所述指令在电子设备上运行时,使得所述电子设备执行如第一方面中任一项所述的方法。
第六方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行上述第一方面中任一项所述的方法。
可以理解的是,上述第二方面至第六方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
图1为本申请实施例提供的PC内部架构示意图;
图2为本申请实施例提供的PC合盖进入睡眠状态后又被唤醒的流程示意图;
图3为本申请实施例提供的唤醒处理方法的流程示意图;
图4为本申请实施例提供的唤醒处理方法的各模块交互流程示意图;
图5为本申请实施例提供的唤醒处理装置的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,比如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
电子设备(例如PC)合盖但没有关机的情况下,会进入睡眠状态MS;在被唤醒源(例如鼠标等)触发后,又会进入唤醒状态,导致机器会发热,从而针对合盖进入睡眠状态又被唤醒的情况,基于对电子设备的温度检测,在温度过高时,触发休眠保护,给电子设备的所有部件或主要部件下电,以降低设备的功耗,防止设备发热。
然而,在实际应用过程中,又被唤醒并不是唤醒源的误唤醒,也有可能是实际应用场景的需要而进入工作状态或者用户设置了合盖时的电源管理设置等;因此,针对被唤醒后检测到温度过高而直接触发休眠保护的机制,可能会对实际应用场景造成一定的不便。
针对上述缺陷,本申请实施例提供了一种唤醒处理方法,针对电子设备合盖进入睡眠状态后又被唤醒的情况,温度升高时不会直接触发休眠保护,会进一步结合电子设备实际使用情况,如判断外接情况以及合盖时的电源管理设置情况(例如设置了合盖无动作或合盖不执行任何操作),判定是否需要触发休眠保护,更加符合用户实际使用电子设备的场景需求,降低直接强制触发进入休眠所造成的不便;同时,经过判定后,在需要触发休眠保护时,会通过休眠机制保护电子设备,防止电子设备在合盖状态温度过高而异常关机,以便节省电能并延长硬件寿命。
下面通过实施例介绍唤醒处理方法的具体实现流程。
上述电子设备以PC为例,首先介绍其内部工作原理;如图1所示,本申请实施例提供的PC内部架构示意图。该PC上层包括操作系统(operating system,OS)11,底层包括硬件13。另外还包括基本输入输出系统(basic input output system,BIOS)固件12。
操作系统11是一组主管并控制PC操作、运用和运行硬件、软件资源和提供公共服务来组织用户交互的相互关联的系统软件程序。在PC中,OS是其最基本也是最为重要的基础性系统软件,主要包括内核模块和驱动模块。
其中,内核模块负责处理中断和系统调用,并协调各个模块之间的通信和交互;例如,在PC合盖进入睡眠又被唤醒后温度过高时,对处理器等部件进行下电操作,控制PC进入休眠保护的状态。驱动模块是操作系统中与硬件设备交互的模块,负责管理和控制PC的各种外部设备,如显示器、键盘、鼠标等,驱动模块通过与硬件设备通信,使得操作系统可以识别、配置以及操控这些硬件设备;例如,通过驱动模块下发外接设备的插入事件或移除事件,确定PC的外接状态(连接或断开外接设备)。
BIOS固件12是一组固化到PC内主板上一个只读存储器(read-only memory,ROM)芯片上的程序,保存着PC最重要的基本输入输出的程序、开机后自检程序和系统自启动程序,可从互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)中读写系统设置的具体信息,为计算机提供最底层的、最直接的硬件设置和控制;例如获取驱动模块下发的外接设备的设备插入事件或设备移除事件,并基于设备插入事件向操作系统11上报温度参数等。
硬件13是指PC的物理器件。本申请实施例涉及的硬件13包括嵌入式控制器(embedded controller,EC)。EC是x86架构PC的专用微控制单元(micro control unit,MCU),主要应用于移动计算机系统和嵌入式计算机系统中,为此类计算机提供系统管理功能。主要任务包括:中央处理器(Central Processing Unit,CPU)时序管理、电池管理、热管理、键盘管理以及高级配置与电源接口(Advanced Configuration Power Interface,ACPI)管理等。一般在日常使用PC时,电池充放电、键盘扫描、开合盖检测、风扇控制、指示灯控制及核心数据汇报操作系统等工作,都是通过EC处理。
其中,EC是一个16位单片机,其内部存在一定容量的闪存(flash)来存储EC的代码。在关机状态下,EC可以一直保持运行,等待用户的开机信息。而在开机后,EC作为键盘、鼠标、触摸板、充电指示灯以及风扇等设备的控制,并且控制系统的待机、休眠等状态。例如,在检测到PC的合盖事件后,EC触发PC进入睡眠状态MS;在睡眠状态EC对PC的部分部件的温度进行监控,并在温度满足预设的阈值时,触发中断;以及EC检测到开盖事件后进入工作状态S0。
下面结合上述PC内部架构,对PC合盖进入睡眠状态后又被唤醒的过程中各模块间的交互进行说明。
如图2所示,本申请实施例提供的PC合盖进入睡眠状态后又被唤醒的流程示意图。用户使用完PC之后合盖但没有关机的情况下,在下次开启时发现机器发热严重,从睡眠报告中分析得知,PC在合盖之后进入睡眠状态,但又被唤醒进入S0状态。
在一些实施例中,该流程的交互模块可以包括EC、BIOS固件、CPU以及OS,该流程可以包括以下步骤:
S201,EC通知OS存在合盖事件。
示例性的,PC在被使用结束后未接收到用户的关机指令而直接合盖,即PC合盖但没有关机;EC可以进行开合盖检测,EC检测到该合盖事件,向OS通知存在合盖事件。
S202,OS接收上述合盖事件后,调用BIOS固件的通用事件(General PurposeEvents,GPE)_GPE event。
S203,BIOS固件通知EC,PC的盖子LID对象变更状态。
示例性的,BIOS固件被OS调用_GPE event后,在_GPE的event处理方法中,发现为EC事件,在EC事件处理方法中进一步发现为盖子合上,通知EC,盖子LID对象变更状态为盖子合上。
S204,EC中的LID对象告知OS盖子被合上。
示例性的,EC的LID对象变更状态后,EC中的LID对象告知OS盖子被合上。
S205,OS使得设备驱动睡眠。
示例性的,OS接收到EC中的LID对象告知OS盖子被合上的通知后,使得设备驱动进入睡眠状态。
S206,OS指示CPU进入睡眠状态。
示例性的,OS在指示CPU进入睡眠状态之前,可以将进程的上下文存储到内存中;后续在接收到用户敲击键盘或者操作鼠标的信号还可以唤醒PC。
S207,CPU拉低SLP_S3引脚。
示例性的,SLP_S3引脚为控制PC进入睡眠状态的引脚,CPU拉低SLP_S3引脚,进入睡眠状态。
S208,CPU通知EC将MS标志位置为1。
示例性的,MS的标志位置为1,表示PC进入睡眠状态。
S209,BIOS固件通知CPU存在USB唤醒源。
示例性的,PC在合盖的情况下,由于鼠标等USB唤醒源或其它唤醒源的触发,BIOS固件检测到该唤醒源的触发信号,则通知CPU存在唤醒源。
S210,BIOS固件通知EC将MS标志位置为0。
示例性的,BIOS固件检测到上述唤醒源,进一步通知EC将MS标志位置为0。MS标志位置为0,表示设备合盖进入唤醒状态。
S211,CPU拉高SLP_S3引脚。
示例性的,CPU拉高SLP_S3引脚,PC进入唤醒状态。
S212,CPU通知OS退出睡眠状态。
S213,OS恢复设备驱动。
示例性的,PC合盖但没有关机,进入睡眠状态,又被唤醒源唤醒进入唤醒状态,PC在合盖时一直处于唤醒状态,各部件上电运行,会导致设备发热;在用户不知晓,且一直未关机的情况下,会导致PC发热严重,降低PC硬件设备的使用寿命。
基于上述问题,为了防止PC发热严重,PC在合盖被唤醒后的温度升高并达到休眠条件时,可以直接触发PC强制进入休眠状态,使PC的各硬件设备处于断电的状态,防止PC发热严重而影响硬件设备的寿命。
然而在实际应用场景中,PC在合盖进入睡眠状态又被唤醒的情况,可能并不是被误唤醒,是PC在一些应用场景下的实际需求,需要PC在合盖又被唤醒的状态下继续运行,因此本申请实施例提供了一种唤醒后的处理方法,结合对PC当前在合盖状态的使用情况,评估PC是否需要在唤醒后温度升高时进入休眠保护的状态,防止PC发热后直接强制进入休眠状态而影响用户实际使用情况,以及防止PC未在使用的状态下发热严重而降低硬件设备的使用寿命。
如图3所示,本申请实施例提供的唤醒处理方法的流程示意图,该方法的执行主体可以是上述电子设备,或者,也可以由配置于电子设备中的芯片或电路执行,或者,还可以由能实现全部或部分电子设备功能的逻辑模块或软件执行,本申请对此不作限定。该方法可以包括以下步骤:
S301,在电子设备合盖进入睡眠状态后,检测到电子设备进入唤醒状态,获取在预设时间段内电子设备的中央处理器的第一温度和适配器的第二温度。
在本申请实施例中,电子设备合盖时,通过EC可以检测到该合盖时间,并基于图2所示的触发流程,在检测到该合盖事件后,电子设备进入睡眠状态,以节省功耗。
其中,电子设备进入睡眠状态后,将当前进程的上下文存储到内存中,并保持给内存供电,内存中的运行数据依然存在;在接收到唤醒源的唤醒信号后,电子设备可以从内存中读取数据,快速恢复到睡眠前的运行状态。
示例性的,电子设备在进入睡眠状态一段时间后,可能会接收到鼠标等通用串行总线(Universal Serial Bus,USB)唤醒源或其它唤醒源的唤醒信号(例如敲击键盘或操作鼠标),进入唤醒状态。该唤醒信号可能是误唤醒的触发信号,也可能是基于用户实际应用场景需要触发的信号。当电子设备合盖后被唤醒,长时间处于唤醒状态,恢复睡眠前的运行状态,可能会导致电子设备严重发热而关机或损坏设备硬件。
在一些实施例中,在电子设备合盖进入睡眠状态后,检测到电子设备进入唤醒状态,包括:读取电子设备的第一标志位;第一标志位的取值为第一值,确定电子设备合盖进入睡眠状态后又进入唤醒状态。
示例性地,电子设备中可以设置第一标志位(例如,WakeClose_Flag),并且周期性地读取该第一标志位,若第一标志位的取值为第一值,确定设备合盖进入睡眠状态后又被唤醒。通过设置第一标志位,标识电子设备合盖进入睡眠状态后是否又被唤醒,可以准确地判定电子设备的状态;例如,第一标志位置为1(WakeClose_Flag=1)时,确定电子设备合盖后又被唤醒。
相应地,在电子设备进入唤醒状态后,在预设的时间段内连续检测电子设备的CPU温度和适配器温度,得到在预设的时间段内CPU的第一温度和适配器(charge)的第二温度。其中,CPU和适配器为电子设备的关键器件,发热过高,将损坏设备或导致设备关机。
在一些实施例中,该方法还包括:在预设时间段内,检测到第一温度连续大于或等于第一阈值,和/或第二温度连续大于或等于第二阈值,设置电子设备的第二标志位为第二值,第二标志位用于指示设备温度是否满足预设的温度阈值,预设的温度阈值包括第一阈值和第二阈值。
示例性的,电子设备设置有第二标志位(例如HogBag_Flag),在预设的时间段内,当检测到第一温度连续大于或等于第一阈值,和/或第二温度连续大于或等于第二阈值,设置该第二标志位的值为第二值;例如第二标志位置为1(HogBag_Flag=1)时,确定电子设备在预设时间内温度连续较高,并满足预设的温度阈值。
S302,在预设时间段内,若第一温度连续大于或等于第一阈值,和/或第二温度连续大于或等于第二阈值,则获取电子设备的外接状态和电源管理设置。
在本申请实施例中,当CPU和适配器的温度满足阈值条件时,不会直接触发电子设备进入休眠状态而影响用户实际使用场景,会进一步对电子设备当前的使用情况进行判断,即检测电子设备的外接状态和电源管理设置。
其中,电子设备的外接状态为外接显示器的情况;电源管理设置包括对电子设备合盖无动作(或者合盖不执行任何操作)的设置,即在合盖后电子设备的各个部件对应的电源模块不执行下电的动作。
示例性的,电子设备在进入休眠状态后,需要通过电源键才能唤醒,如果在电子设备合盖进入睡眠状态后,再次被唤醒的情况下,机器发热严重时,直接触发休眠保护,将影响用户在合盖状态下的正常使用;因此本申请通过对外接状态以及电源管理设置的进一步判断,可以防止电子设备在合盖但用户外接显示器正在使用或合盖后用户在听音乐的场景下直接触发休眠保护功能而进入休眠状态。
示例性的,电子设备的外接状态可以通过驱动模块下发设备插入或移除的事件判断是否存在外接设备,电源管理设置可以通过系统设置单元获取具体设置的状态,该设置状态可以为基于用户选择而设置的。
在一些实施例中,获取电子设备的外接状态和电源管理设置,包括:读取电子设备的第三标志位;第三标志位的取值为第三值,确定电子设备的外接状态为连接有外接设备,和/或电源管理设置为合盖无动作;第三标志位的取值为第四值,确定电子设备的外接状态为无连接外接设备,且电源管理设置为未设置合盖无动作。
示例性的,电子设备设置有第三标志位,该第三标志位用于标识电子设备的外接状态以及电源管理设置的情况,如果检测到系统设置中的电源管理设置被设置为合盖无动作,则该第三标志位赋值为第三值,或者接收到驱动模块下发的设备插入事件,将第三标志位赋值为第三值;若电源管理设置未被设置为合盖无动作且驱动模块下发的设备移除事件,则将第三标志位赋值为第四值。
例如,当驱动模块在合盖状态下发的事件为设备插入事件和/或电源管理设置为合盖无动作时,则该第三标志位的值被置为1,当驱动模块在合盖状态下发的事件为设备移除事件且电源管理设置为未设置合盖无动作时,该第三标志位的值被置为0。通过该第三标志位的设置,可以通过读取该标志位的值,准确判断电子设备的外接状态或电源管理设置的状态。
在一些实施例中,该方法还包括:在合盖状态且电源管理设置为合盖无动作,接收到设备移除事件,外接设备的数量减一;若外接设备的数量大于或等于1,则下发设备插入事件;若外接设备的数量小于1,则下发设备移除事件。
示例性的,驱动模块基于外接设备的插入与移除,统计当前驱动的显示器的数量,并根据该数量确定需要下发的事件。
其中,驱动模块判断的是显示器的数量,在没有外接显示器且没有合盖的时候,显示器的数量为1;当电子设备设置了合盖无动作,在电子设备检测到合盖事件时,驱动的显示器的数量减1;例如在没有外接设备的情况下,电子设备设置了合盖无动作,检测到合盖事件后,显示器的数量会减1,为0。
示例性的,在用户设置了合盖无动作,接收到设备移除事件时,显示器的数量在当前的数量基础上减1;然后判断显示器的数量,若数量大于或等于1说明依然存在外接显示器,则下发设备插入事件;若数量小于1,即为0,说明当前无外接设备,下发设备移除事件。
需要说明的是,显示器的数量是指驱动模块接收到的系统通知屏幕数量变化后的数量,并非外接显示器的数量。而且,在系统设置了合盖无动作的情况下,无论驱动模块下发的设备插入事件或设备移除事件,第三标志位的值均为第三值;仅仅显示器的数量的判断基准与在未设置合盖无动作的判断基准不同。
另外,电源管理设置未设置合盖无动作,接收到设备插入事件,外接设备的数量加一;若外接设备的数量大于或等于2,则下发设备插入事件;或者,电源管理设置未设置合盖无动作,接收到设备移除事件,外接设备的数量减一;若外接设备的数量小于2,下发设备移除事件;其中,下发的设备插入事件或设备移除事件用于确认第二标志位的值。
示例性的,在系统的电源管理设置中未设置合盖无动作时,合盖操作不会影响显示器的数量,即电子设备检测到合盖事件后,显示器的数量不会减一;在后续针对设备插入事件或移除事件对显示器的数量进行判断时,默认包括电子设备自身的显示器。
例如,当接收到设备插入事件时,显示器的数量加1,如果变化后的显示器的数量大于或等于2,则下发设备插入事件。当接收到设备移除事件时,显示器的数量减1,如果变化后的显示器的数量小于2(为1),则下发设备移除事件。
示例性的,在系统的电源管理设置中未设置合盖无动作的情况下,驱动模块下发的设备插入事件或设备移除事件用于确定第三标志位的值。
相应地,电源管理设置未设置合盖无动作,若下发的设备插入事件,则第三标志位的取值为第三值;或者,电源管理设置未设置合盖无动作,若下发的设备移除事件,则第三标志位的取值为第四值。
例如,电源管理设置未设置合盖无动作时,收到设备插入事件后,第三标志位置为1,表示存在外接设备;收到设备移除事件时,第三标志位置为0,表示无外接设备。
在一些实施例中,在检测到第一温度连续大于或等于第一阈值,和/或第二温度连续大于或等于第二阈值之后,该方法还包括:获取基于第一温度和/或第二温度上报的第三温度、第二标志位的值以及预设的休眠温度阈值、第三标志位的值;在第三标志位为第四值时,第二标志位为第二值,且第三温度大于或等于第一阈值和第二阈值中的最大值,生成大于休眠温度阈值的第四温度。
示例性的,在第一温度大于或等于第一阈值,和/或第二温度大于或等于第二阈值时,第二标志位赋值为第二值;当至少一个温度满足温度阈值时,统一上报一个第三温度的值,第三温度用于说明,第一温度和/或第二温度满足预设的温度阈值,即电子设备被唤醒后处于温度较高的状态。当确定第三标志位为第四值,说明无外接设备且没有设置合盖无动作,第二标志位为第二值,且上报的第三温度大于或等于第一阈值和第二阈值中的最大值,则生成第四温度,第四温度用于触发休眠保护机制。
例如,第一温度为45℃,第二温度为60℃,第一阈值为43℃,第二阈值为48℃,预设的休眠温度阈值为95℃;第一温度和第二温度均满足阈值,则可以上报第三温度为50℃,此时第三标志位的值为0、第二标志位的值为1且第三温度大于第二阈值,则生成大于休眠温度阈值的第四温度并上报操作系统,例如第四温度的值为100℃。
S303,若外接状态为连接有外接设备,和/或电源管理设置为合盖无动作,则保持进入唤醒状态后的运行状态。
在本申请实施例中,考虑到用户的实际使用情况的方便,当电子设备连接有外接设备,和/或系统设置了合盖无动作的情况下,继续保持进入唤醒状态后的运行状态;使得对电子设备合盖后的唤醒处理更加符合用户的实际应用场景。
示例性的,在获取到第三标志位为第三值(例如1)时,说明PC存在外接设备或者设置了合盖无动作的功能,则不做任何动作,保持电子设备进入唤醒状态后的运行状态。
S304,若外接状态为无外接设备,且电源管理设置未设置合盖无动作,则触发电子设备进入休眠状态。
在本申请实施例中,当无外接设备且系统未设置合盖无动作,防止电子设备发热严重,触发电子设备进入休眠状态。
示例性的,在第三标志位为第四值(例如0)时,上报第四温度,第四温度大于预设的休眠温度阈值,触发电子设备进入休眠状态。
例如,上报的第四温度为100℃,预设的休眠温度阈值为95℃,第四温度大于休眠温度阈值,触发电子设备进入休眠状态。
另外,上述各个温度的值以及温度阈值均示例性说明,不做具体限定。例如,当读取到的预设的休眠温度为60℃时,经过上述一系列判断后,第三标志位的值为0,第二标志位和第三温度值满足条件,生成的第四温度值还可以为70℃(大于60℃)。
其中,在进入休眠状态之前,电子设备将进程的上下文转存到硬盘中;在休眠状态下,电子设备的硬件设备处于断电状态;需要用户通过电源键(Power键)才能唤醒。
在一些实施例中,电子设备开盖进入唤醒状态后,清除第一标志位的值,以及第二标志位的值、第三温度的值。
示例性的,电子设备开盖后,状态发生变化,进入开盖后的唤醒状态,则清除第一标志位的值,表示电子设备不再处于合盖且唤醒状态。同时,电子设备的状态发生变化,开盖进入唤醒状态,清除第二标志位的值,表示电子设备不再处于温度连续过高的状态,不需要再基于对电子设备的使用情况判断是否需要触发进入休眠状态。
例如,由于内存中保存的还是满足PC进入休眠的温度值与标志(Flag),会使PC在下次唤醒的时候再次判断是否需要进入休眠状态,并在可以触发休眠时进入休眠状态,所以在开盖唤醒后,先清除保存在寄存器中标志位的值(例如,HotBag_Flag=0,WakeClose_Flag=0),避免唤醒时再次上报温度以及标志位的值触发进入休眠。
相应地,在关机(S5)时,也需要将第一标志位和第二标志位均清零,即HotBag_Flag=0,WakeClose_Flag=0,以免下次开机后进入判断是否需要进行休眠保护的流程。
在一些实施例中,在触发电子设备进入休眠状态之前,该方法还包括:将电子设备的内存中的数据转存到电子设备的硬盘中。
相应地,在电子设备开盖进入唤醒状态后,从硬盘中读取存储的数据,并存储到内存中。
示例性的,在检测到CPU的温度和/或适配器的温度连续过高,且无外接设备、系统未设置合盖无动作时,可触发电子设备进入休眠状态,使电子设备的所有部件或主要部件下电,以降低电子设备的功耗,防止设备发热,延长硬件设备的使用寿命。
相应地,在触发电子设备进入休眠状态之前,还可以将电子设备内存中的数据转存到电子设备的硬盘中。在电子设备开盖进入唤醒状态后,从硬盘中读取存储的数据,并存储到内存中。例如,PC在进入休眠时,会将内存中处理的数据(例如进程的上下文)全部转存到硬盘上的一个休眠文件中,然后切断对所有部件的供电。PC在下次唤醒时会重新将休眠文件直接读入内存,并恢复到休眠之前的工作状态。
下面通过电子设备中的各模块之间的交互,进一步介绍该唤醒处理方法的具体实现流程。
请参见图4,本申请实施例提供的唤醒处理方法的各模块交互流程示意图,各模块主要包括EC、BIOS、OS以及驱动模块Driver。
以PC为例,在PC没有关机并合盖后,进入睡眠状态,又被唤醒进入S0状态,使得PC机器发热严重,从而在机器发热时结合对PC当前的使用状态进行评估,确定是否触发休眠保护机制;如图4所示,该交互流程可以包括以下步骤:
S401,EC检测到合盖事件。
示例性的,EC可以对PC的开盖与合盖进行检测,PC被合盖后,EC可以检测到该合盖事件。
S402,EC检测到进入睡眠状态。
示例性的,EC告知OS盖子被合上的通知后,OS使设备驱动进入睡眠状态,EC可以检测到该睡眠状态。
S403,EC检测到合盖且唤醒,置标志位WakeClose_Flag为1。
示例性的,由于鼠标等USB唤醒源或其它唤醒源,将PC在合盖的情况下唤醒,PC进入唤醒状态(S0状态)。EC检测到合盖后被唤醒,置标志位WakeClose_Flag为1,用于标识PC合盖且被唤醒。
S404,EC检测到合盖后被唤醒,且检测到温度连续10秒大于或等于阈值,置标志位HotBag_Flag为1。
示例性的,当LidCloseAfterMS=1时,确定PC合盖并且被唤醒,处于S0状态,EC开始读取CPU的第一温度TCPUNTC_Temp与适配器的第二温度TCHAGRE_Temp的值;例如在连续10s内CPU的第一温度连续的大于或等于第一阈值(如43度),和/或适配器charge的第二温度大于或等于第二阈值(如48度),则置第二标志位HotBag_Flag为1,用于标识PC的CPU和/或适配器的温度连续较高。
相应地,EC将基于第一温度和第二温度确定的第三温度值写入ECRam的寄存器ECHR,例如第三温度为50℃。
S405,Driver基于是否外接设备和/或合盖无动作,向BIOS固件下发值写入ECRam的0xC寄存器中。
示例性的,驱动模块Driver基于PC在合盖状态的电源管理设置以及外接设备的插入与移除事件,判断显示器的数量变化,基于变化后的显示器的数量确定需要下发的事件,指示BIOS固件向ECRam的0xC寄存器中写入相对应的值。
例如,在电源管理设置中设置了合盖无动作,则指示BIOS固件向ECRam的0xC寄存器中写入1,即第三标志位的值为1。在电源管理设置中未设置合盖无动作,通过驱动模块判断显示器的数量后下发设备移除事件,则指示BIOS固件向ECRam的0xC寄存器中写入0,即第三标志位的值为0;在电源管理设置中未设置合盖无动作,通过驱动模块判断显示器的数量后下发设备插入事件,则指示BIOS固件向ECRam的0xC寄存器中写入1,即第三标志位的值为1。
S406,EC向BIOS固件发送系统控制中断(system control interrupt,SCI)中断。
示例性的,该SCI中断为Qevent事件,编号为Q39。EC向BIOS固件发送SCI中断后,可以置第一标志位WakeClose_Flag为0。EC还可以向BIOS固件上报CPU和/或适配器的温度,或者上报基于CPU和/或适配器确定的统一的第三温度。
S407,BIOS固件收到SCI中断后,读取EC中的温度值和标志位HogBag_Flag的值。
示例性的,BIOS固件收到Q39后,读取EC中的温度值和标志位HogBag_Flag的值。
S408,BIOS固件判断0xC寄存器的值为1,不做任何动作。
S409,BIOS固件判断0xC寄存器的值0,通知OS。
示例性的,BIOS固件设置有ACPI的温控管理区间Thermal zone进入休眠温度_HOT值,即休眠温度阈值,例如设置该休眠温度阈值为60℃或95℃。
示例性的,BIOS固件通过判断是否有上层驱动模块下发的高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)外接(即外接有显示器)或用户设置了合盖不执行任何操作,并通过调用GHSW函数,基于判断结果将第三标志位的值写入ECRam的0xC(将寄存器命名为GHSF)寄存器中。
相应地,BIOS固件读取到休眠温度阈值后,若确定GHSF寄存器中的值为0,说明不存在外接显示器以及未设置合盖无动作,则判断EC上报的第二标志位HotBag_Flag的值是否等于1,且写入寄存器ECHR的温度大于或等于EC条件的温度阈值(例如第一阈值与第二阈值中的最大值);在HotBag_Flag的值等于1且寄存器ECHR的第三温度大于或等于两个温度阈值中的最大值,则向OS上报大于休眠温度阈值的第四温度以及休眠温度阈值。
示例性的,BIOS固件的温控管理机制Thermal被OS调用后,会判断Hot设置的休眠温度阈值(如60℃或95℃),然后GHSF寄存器中的值若为0,以及EC上报的第二标志位HotBag_Flag的值等于1,且写入寄存器ECHR 的温度大于或等于EC条件的温度阈值,上报此时确定的大于进入休眠温度阈值的第四温度的值。
例如,BIOS固件读取到当前设置的休眠温度阈值为60℃,读取到GHSF寄存器中的值为0,EC上报的HotBag_Flag=1,且写入寄存器的温度50℃大于温度阈值48℃,则生成一个大于休眠温度阈值的第四温度,例如70℃(当读取到的休眠温度阈值为95℃时,上报给OS的第四温度的值可以为100℃)。
示例性的,BIOS固件在通知OS时需要给OS上报EC上传的NTC温度值,触发Thermalzone机制让PC进入休眠。该上报给OS的温度值可以是BIOS固件对读取EC的ECHR寄存器中的温度值处理后的值,例如EC上报的温度值为50℃,BIOS可以向OS上报温度值可以为70℃或100℃,具体可以基于读取到的休眠温度阈值确定。
S410,OS进行温度比较,触发电子设备进入休眠状态(S4状态)。
示例性的,OS收到通知notify后,使用温控管理机制Thermal zone,通过比较BIOS固件上报的第四温度与休眠温度(_HOT)阈值(例如70℃>60℃),触发PC进入睡眠状态(拉低CPU的SLP_S4引脚),防止PC过温关机。
S411,PC关机(S5状态),或者EC检测到开盖且进入S0状态,清除标志位HotBag_Flag的值和ECRam上的温度值(检测到的温度不上报)。
示例性的,由于PC内存中保存的还是满足PC进入休眠的温度值与标志位的值(Flag),会使PC在下次唤醒的时候再次的进入休眠状态,所以关机时或开盖进入S0状态后,先清除保存在寄存器中的值(HotBag_Flag=0以及温度值),避免唤醒时PC再次进入休眠。
通过本申请实施例,电子设备合盖进入睡眠状态又被唤醒后,检测到中央处理器和适配器中的至少一个温度过高时,结合对电子设备的外接状态和电源管理设置的判断,确定是否触发设备进入休眠状态;在存在外接设备或电源管理设置的情况下合盖后进入唤醒状态时,防止电子设备由于温度过高直接强制进入休眠状态,使得对合盖后唤醒触发休眠保护的控制更加符合用户实际使用电子设备的场景需求,降低因强制进入休眠而造成的使用不便;同时,在无外接设备和未设置合盖无动作的情况下,温度超过阈值时,触发设备进入休眠状态,防止电子设备过热,提高电子设备的使用寿命。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
另外,为了实现上述实施例中的功能,上述设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
对应于上文实施例提供的唤醒处理方法,图5示出了本申请实施例提供的唤醒处理装置的结构示意图,该唤醒处理装置应用于电子设备;为了便于说明,仅示出了与本申请实施例相关的部分。
参照图5,该唤醒处理装置包括:
检测单元51,用于在电子设备合盖进入睡眠状态后,检测到电子设备进入唤醒状态,获取在预设时间段内电子设备的中央处理器的第一温度和适配器的第二温度。
获取单元52,用于在预设时间段内,若第一温度连续大于或等于第一阈值,和/或第二温度连续大于或等于第二阈值,则获取电子设备的外接状态和电源管理设置。
控制单元53,用于若外接状态为连接有外接设备,和/或电源管理设置为合盖无动作,则保持进入唤醒状态后的运行状态;若外接状态为无外接设备,且电源管理设置未设置合盖无动作,则触发电子设备进入休眠状态。
在一种可能的实现中,检测单元51,还用于读取所述电子设备的第一标志位;所述第一标志位的取值为第一值,确定所述电子设备合盖进入睡眠状态后又进入唤醒状态。
在一种可能的实现中,检测单元51,还用于在预设时间段内,检测到第一温度连续大于或等于所述第一阈值,和/或第二温度连续大于或等于第二阈值,设置电子设备的第二标志位为第二值,第二标志位用于指示设备温度是否满足预设的温度阈值。
在一种可能的实现中,获取单元52,还用于读取所述电子设备的第三标志位;所述第三标志位的取值为第三值,确定所述电子设备的外接状态为连接有外接设备,和/或所述电源管理设置为合盖无动作;所述第三标志位的取值为第四值,确定所述电子设备的外接状态为无连接外接设备,且所述电源管理设置为未设置合盖无动作。
在一种可能的实现中,获取单元52,还用于获取基于第一温度和/或第二温度上报的第三温度、第二标志位的值以及预设的休眠温度阈值、第三标志位的值;控制单元53,还用于在第三标志位为第四值时,第二标志位为第二值,且第三温度大于或等于第一阈值和第二阈值中的最大值,生成大于休眠温度阈值的第四温度;或者,在第三标志位为第三值时,保持进入唤醒状态后的运行状态。
在一种可能的实现中,获取单元52,还用于在合盖状态且所述电源管理设置为合盖无动作,接收到设备移除事件,所述外接设备的数量减一;若所述外接设备的数量大于或等于1,则下发设备插入事件;若所述外接设备的数量小于1,则下发设备移除事件。
在一种可能的实现中,获取单元52,还用于所述电源管理设置未设置合盖无动作,接收到设备插入事件,所述外接设备的数量加一;若所述外接设备的数量大于或等于2,则下发设备插入事件;或者,所述电源管理设置未设置合盖无动作,接收到设备移除事件,所述外接设备的数量减一;若所述外接设备的数量小于2,下发设备移除事件;其中,下发的所述设备插入事件或设备移除事件用于确认所述第三标志位的值。
在一种可能的实现中,获取单元52,还用于电源管理设置未设置合盖无动作,若下发的所述设备插入事件,则第三标志位的取值为第三值;或者,所述电源管理设置未设置合盖无动作,若下发的所述设备移除事件,则第三标志位的取值为所述第四值。
在一种可能的实现中,该装置还包括清除单元,用于所述电子设备开盖进入唤醒状态后,清除所述第一标志位的值。
在一种可能的实现中,清除单元,还用于所述电子设备开盖进入唤醒状态后,清除所述第二标志位的值和所述第三温度的值。
在一种可能的实现中,该装置还包括第一存储单元,用于在所述触发所述电子设备进入休眠状态之前,将所述电子设备的内存中的数据转存到所述电子设备的硬盘中。
在一种可能的实现中,该装置还包括第二存储单元,用于在所述电子设备开盖进入唤醒状态后,从所述硬盘中读取存储的数据,并存储到所述内存中。
有关上述各单元的具体实现可参考上述方法实施例中的描述,在此不再赘述。
根据本申请实施例提供的一种唤醒处理装置,电子设备合盖进入睡眠状态又被唤醒后,检测到中央处理器和适配器中的至少一个温度过高时,结合对电子设备的外接状态和电源管理设置的判断,确定是否触发设备进入休眠状态;在存在外接设备或电源管理设置的情况下合盖后进入唤醒状态时,防止电子设备由于温度过高直接强制进入休眠状态,使得对合盖后唤醒触发休眠保护的控制更加符合用户实际使用电子设备的场景需求,降低因强制进入休眠而造成的使用不便;同时,在无外接设备和未设置合盖无动作的情况下,温度超过阈值时,触发设备进入休眠状态,防止电子设备过热,提高电子设备的使用寿命。
如图6所示,本申请实施例提供的电子设备的结构示意图,如图6所示,该实施例的电子设备6包括:至少一个处理器60(图6中仅示出一个)、存储器61,所述存储器61中存储有可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述方法实施例中的步骤,例如图3所示的S301至S304。或者,所述处理器60执行所述计算机程序62时实现上述各装置实施例中各模块/单元的功能。
可以理解的是,本申请实施例示意的结构并不构成对电子设备6的具体限定。在本申请另一些实施例中,电子设备6可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
该电子设备6可以是笔记本、掌上电脑等计算设备。该电子设备6可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是电子设备6的示例,并不构成对电子设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如该服务器还可以包括输入发送设备、网络接入设备、总线等。
上述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
处理器60中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器60中的存储器为高速缓冲存储器。该存储器可以保存处理器60刚用过或循环使用的指令或数据。如果处理器60需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器60的等待时间,因而提高了系统的效率。
上述存储器61在一些实施例中可以是所述电子设备6的内部存储单元,例如电子设备6的硬盘或内存。该存储器61也可以是所述电子设备6的外部存储设备,例如该电子设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。
进一步地,该存储器61还可以既包括该电子设备6的内部存储单元也包括外部存储设备。该存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如计算机程序的程序代码等。该存储器61还可以用于暂时地存储已经发送或者将要发送的数据。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
需要说明的是,上述电子设备的结构仅示例性说明,基于不同的应用场景,还可以包括其他实体结构,在此不对电子设备的实体结构进行限定。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
可以理解的是,本申请的实施例中的处理器可以是CPU,还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field programmable gatearray,FPGA)或者其它可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序或指令,当上述计算机程序或指令被执行时,实现上述方法实施例中的方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在上述装置上运行时,使得装置执行上述方法实施例中的方法。
本申请的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器、闪存、只读存储器、可编程只读存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、寄存器、硬盘、移动硬盘、只读光盘(compact disc read-only memory,CD-ROM)或者本领域熟知的任何其它形式的存储介质中。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于上述装置中。当然,处理器和存储介质也可以作为分立组件存在于上述装置中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请实施例所述的层程或功能。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。
在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一个:……”或类似表述,表示所列出的任一项或这些项的任意数量的组合,例如,“以下至少一个:A、B和C”,或者“以下至少一个:A、B或C”,均可以表示:单独存在A,单独存在B,单独存在C,同时存在A和B,同时存在B和C,同时存在A和C,同时存在A、B和C的情况,其中A,B,C可以是单数或者复数。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。在本申请的文字描述中,字符“/”,一般表示前后关联对象是一种“或”的关系;在本申请的公式中,字符“/”,表示前后关联对象是一种“相除”的关系。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定。

Claims (16)

1.一种唤醒处理方法,其特征在于,所述方法包括:
在电子设备合盖进入睡眠状态后,检测到电子设备进入唤醒状态,获取在预设时间段内所述电子设备的中央处理器的第一温度和适配器的第二温度;
在所述预设时间段内,若所述第一温度连续大于或等于第一阈值,和/或所述第二温度连续大于或等于第二阈值,则获取所述电子设备的外接状态和电源管理设置;
若所述外接状态为连接有外接设备,和/或所述电源管理设置为合盖无动作,则保持进入所述唤醒状态后的运行状态;
若所述外接状态为无外接设备,且所述电源管理设置未设置合盖无动作,则触发所述电子设备进入休眠状态。
2.如权利要求1所述的方法,其特征在于,所述在电子设备合盖进入睡眠状态后,检测到电子设备进入唤醒状态,包括:
读取所述电子设备的第一标志位;
所述第一标志位的取值为第一值,确定所述电子设备合盖进入睡眠状态后又进入唤醒状态。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述预设时间段内,检测到所述第一温度连续大于或等于所述第一阈值,和/或所述第二温度连续大于或等于所述第二阈值,设置所述电子设备的第二标志位为第二值,所述第二标志位用于指示设备温度是否满足预设的温度阈值。
4.如权利要求3所述的方法,其特征在于,所述获取所述电子设备的外接状态和电源管理设置,包括:
读取所述电子设备的第三标志位;
所述第三标志位的取值为第三值,确定所述电子设备的外接状态为连接有外接设备,和/或所述电源管理设置为合盖无动作;
所述第三标志位的取值为第四值,确定所述电子设备的外接状态为无连接外接设备,且所述电源管理设置为未设置合盖无动作。
5.如权利要求4所述的方法,其特征在于,在所述检测到所述第一温度连续大于或等于所述第一阈值,和/或所述第二温度连续大于或等于所述第二阈值之后,所述方法还包括:
获取基于所述第一温度和/或所述第二温度上报的第三温度、所述第二标志位的值以及预设的休眠温度阈值、所述第三标志位的值;
在所述第三标志位为所述第四值时,所述第二标志位为第二值,且所述第三温度大于或等于所述第一阈值和所述第二阈值中的最大值,生成大于所述休眠温度阈值的第四温度;或者,
在所述第三标志位为所述第三值时,保持进入所述唤醒状态后的运行状态。
6.如权利要求4所述的方法,其特征在于,所述方法还包括:
在合盖状态且所述电源管理设置为合盖无动作,接收到设备移除事件,所述外接设备的数量减一;
若所述外接设备的数量大于或等于1,则下发设备插入事件;
若所述外接设备的数量小于1,则下发设备移除事件。
7.如权利要求4所述的方法,其特征在于,所述方法还包括:
所述电源管理设置未设置合盖无动作,接收到设备插入事件,所述外接设备的数量加一;
若所述外接设备的数量大于或等于2,则下发设备插入事件;或者,
所述电源管理设置未设置合盖无动作,接收到设备移除事件,所述外接设备的数量减一;
若所述外接设备的数量小于2,下发设备移除事件;
其中,下发的所述设备插入事件或设备移除事件用于确认所述第三标志位的值。
8.如权利要求7所述的方法,其特征在于,所述方法还包括:
所述电源管理设置未设置合盖无动作,若下发的所述设备插入事件,则第三标志位的取值为所述第三值;或者,
所述电源管理设置未设置合盖无动作,若下发的所述设备移除事件,则第三标志位的取值为所述第四值。
9.如权利要求2所述的方法,其特征在于,所述方法还包括:
所述电子设备开盖进入唤醒状态后,清除所述第一标志位的值。
10.如权利要求5所述的方法,其特征在于,所述方法还包括:
所述电子设备开盖进入唤醒状态后,清除所述第二标志位的值和所述第三温度的值。
11.如权利要求1至10任一项所述的方法,其特征在于,在所述触发所述电子设备进入休眠状态之前,所述方法还包括:
将所述电子设备的内存中的数据转存到所述电子设备的硬盘中。
12.如权利要求11所述的方法,其特征在于,所述方法还包括:
在所述电子设备开盖进入唤醒状态后,从所述硬盘中读取存储的数据,并存储到所述内存中。
13.一种唤醒处理装置,其特征在于,所述装置包括:
检测单元,用于在电子设备合盖进入睡眠状态后,检测到电子设备进入唤醒状态,获取在预设时间段内所述电子设备的中央处理器的第一温度和适配器的第二温度;
获取单元,用于在所述预设时间段内,若所述第一温度连续大于或等于第一阈值,和/或所述第二温度连续大于或等于第二阈值,则获取所述电子设备的外接状态和电源管理设置;
控制单元,用于若所述外接状态为连接有外接设备,和/或所述电源管理设置为合盖无动作,则保持进入所述唤醒状态后的运行状态;若所述外接状态为无外接设备,且所述电源管理设置未设置合盖无动作,则触发所述电子设备进入休眠状态。
14.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器,以及存储器;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1至12中任一项所述的方法。
15.一种芯片系统,其特征在于,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述一个或多个处理器用于调用计算机指令以使得所述电子设备执行如权利要求1至12中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括指令,当所述指令在电子设备上运行时,使得所述电子设备执行如权利要求1至12中任一项所述的方法。
CN202410334311.5A 2024-03-22 2024-03-22 唤醒处理方法、装置、电子设备及计算机可读存储介质 Active CN117950737B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410334311.5A CN117950737B (zh) 2024-03-22 2024-03-22 唤醒处理方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410334311.5A CN117950737B (zh) 2024-03-22 2024-03-22 唤醒处理方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN117950737A true CN117950737A (zh) 2024-04-30
CN117950737B CN117950737B (zh) 2024-07-26

Family

ID=90792968

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410334311.5A Active CN117950737B (zh) 2024-03-22 2024-03-22 唤醒处理方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN117950737B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571333B1 (en) * 1999-11-05 2003-05-27 Intel Corporation Initializing a memory controller by executing software in second memory to wakeup a system
CN102156532A (zh) * 2010-01-23 2011-08-17 联想(新加坡)私人有限公司 在维持特定的功能的同时降低消耗功率的计算机及方法
CN116700465A (zh) * 2023-04-26 2023-09-05 苏州浪潮智能科技有限公司 Usb唤醒方法、装置、电路、笔记本电脑、设备及介质
CN116709477A (zh) * 2022-11-22 2023-09-05 荣耀终端有限公司 休眠唤醒方法、电子设备、蓝牙外设及存储介质
CN117687694A (zh) * 2023-08-31 2024-03-12 荣耀终端有限公司 误唤醒处理方法、装置及存储介质
CN117724599A (zh) * 2023-06-27 2024-03-19 荣耀终端有限公司 一种休眠方法、电子设备和计算机可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571333B1 (en) * 1999-11-05 2003-05-27 Intel Corporation Initializing a memory controller by executing software in second memory to wakeup a system
CN102156532A (zh) * 2010-01-23 2011-08-17 联想(新加坡)私人有限公司 在维持特定的功能的同时降低消耗功率的计算机及方法
CN116709477A (zh) * 2022-11-22 2023-09-05 荣耀终端有限公司 休眠唤醒方法、电子设备、蓝牙外设及存储介质
CN116700465A (zh) * 2023-04-26 2023-09-05 苏州浪潮智能科技有限公司 Usb唤醒方法、装置、电路、笔记本电脑、设备及介质
CN117724599A (zh) * 2023-06-27 2024-03-19 荣耀终端有限公司 一种休眠方法、电子设备和计算机可读存储介质
CN117687694A (zh) * 2023-08-31 2024-03-12 荣耀终端有限公司 误唤醒处理方法、装置及存储介质

Also Published As

Publication number Publication date
CN117950737B (zh) 2024-07-26

Similar Documents

Publication Publication Date Title
US9740645B2 (en) Reducing latency in a peripheral component interconnect express link
TWI515549B (zh) 目標裝置的過熱保護方法、過熱保護裝置、及其資訊處理系統
CN103064799B (zh) 电子系统及其数据保全方法与装置
US8949638B2 (en) Embedded controller with an internal timer
CN110806794A (zh) 存储系统的掉电保护方法、系统、计算机设备以及介质
KR20020050270A (ko) 환경에 따른 프로세서의 작동 파라미터의 동적 조절방법
JPH1185335A (ja) コンピュータシステム
JPH08328698A (ja) ポータブルコンピュータ
CN103149951B (zh) 电子装置及保护电子装置的控制方法
JP6876113B2 (ja) 情報処理装置および制御方法
WO2021104401A1 (zh) 一种电子设备及登录操作系统的方法
US20240370078A1 (en) Robust platform low power mode via embedded controller-based health policy to correct anomalous computer idle conditions
US8138929B2 (en) Method for protecting data in non-volatile storage device and computer thereof
CN101593141A (zh) 非易失性存储装置数据保护方法及其计算机装置
CN117950737B (zh) 唤醒处理方法、装置、电子设备及计算机可读存储介质
CN117687694A (zh) 误唤醒处理方法、装置及存储介质
CN101872233B (zh) 自动开关机排程控制方法及其系统
CN103970253A (zh) 省电操作方法与电子装置
US10042650B2 (en) Computer startup method, startup apparatus, state transition method and state transition apparatus
US20040098527A1 (en) Method and apparatus for an I/O controller to alert an external system management controller
CN115756995A (zh) 一种用于通信设备的开箱检测系统及方法
US20120198113A1 (en) Time measurement of power button signal activation
US7272731B2 (en) Information handling system having reduced power consumption
US8707327B2 (en) Methods and arrangements for effecting supplementary mail transfer or management
WO2025124464A1 (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Terminal Co.,Ltd.

Country or region after: China

Address before: 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong

Patentee before: Honor Device Co.,Ltd.

Country or region before: China