发明内容
本发明提供一种系统睡眠控制电路及其控制方法,实现系统真正进入睡眠状态后,EC再进入睡眠状态,达到系统睡眠状态功耗降低的效果。
第一方面,本发明实施例提供了一种系统睡眠控制电路包括:
SOC模块,用于根据接收到的第一睡眠触发信号进入第一睡眠模式,并根据接收到的所述第一睡眠触发信号生成第二睡眠触发信号;
EC模块,用于检测接收到的所述第二睡眠触发信号的电压值并根据检测结果进入第二睡眠模式。
可选的,所述SOC模块包括触发信号输出端,所述SOC模块用于根据接收到所述第一睡眠触发信号通过所述触发信号输出端输出所述第二睡眠触发信号;
所述EC模块包括触发信号输入端,所述EC模块用于检测所述触发信号输入端输入的所述第二睡眠触发信号的电压值。
可选的,所述EC模块包括:
比较子模块,用于比较所述第二睡眠触发信号的电压值和设定电压值并根据比较结果调节输出的比较信号;
睡眠子模块,用于根据接收到的所述比较信号进入第二睡眠模式。
可选的,所述比较子模块包括比较器,所述比较器的第一输入端作为所述EC模块的所述触发信号输入端,所述比较器的第二输入端与恒压源电连接,所述比较器的输出端输出所述比较信号。
可选的,所述系统睡眠控制电路还包括:
外部指令接收模块,用于接收外部睡眠动作指令并根据所述外部睡眠动作指令生成所述第一睡眠触发信号。
可选的,所述SOC模块包括唤醒子模块,所述唤醒子模块用于根据接收到的唤醒信号控制所述SOC模块进入唤醒模式;
所述外部指令接收模块还用于接收外部唤醒动作指令并根据所述外部唤醒动作指令生成所述唤醒信号。
可选的,系统睡眠控制电路还包括:
电源管理模块,用于根据接入的电源信号调节输出的所述唤醒信号。
第二方面,本发明实施例还提供了一种系统睡眠控制方法包括:
SOC模块根据接收到的第一睡眠触发信号进入第一睡眠模式,并根据接收到的所述第一睡眠触发信号生成第二睡眠触发信号;
EC模块检测接收到的所述第二睡眠触发信号的电压值并根据检测结果进入第二睡眠模式。
可选的,所述SOC模块根据接收到的第一睡眠触发信号进入第一睡眠模式,并根据接收到的所述第一睡眠触发信号生成第二睡眠触发信号包括:
所述SOC模块根据接收到的第一睡眠触发信号关闭外部SOC设备、网络设备和SOC主控制器并切断SOC电源;
所述SOC模块调节生成的所述第二睡眠触发信号的电压值小于设定电压值。
可选的,所述EC模块检测接收到的所述第二睡眠触发信号的电压值并根据检测结果进入第二睡眠模式包括:
所述EC模块分多次将所述第二睡眠触发信号的电压值与设定电压值做比较;
所述EC模块根据所述第二睡眠触发信号的电压值小于所述设定电压值的次数进入所述第二睡眠模式。
本发明实施例通过EC模块检测接收到的第二睡眠触发信号的电压值,即SOC模块不同工作状态对应的系统状态电VDDCX的电压值;并根据检测结果对应的SOC模块的功耗状态进入第二睡眠模式,解决EC模块接收SOC模块发送的置前睡眠指令后立即进入睡眠模式,不能真正获知系统进入睡眠的状态,无法使系统睡眠控制电路所在主板达到最小耗电状态的问题,实现系统睡眠功耗降低,使用此系统睡眠控制电路的产品续航能力提升的效果。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
正如背景技术所述:系统睡眠场景的功耗主要与OS(Operating System,操作系统)、BIOS(Basic Input Output System,基本输入输出系统)、EC和SOC等相关,其中睡眠场景的功耗主要由SOC和EC参与控制。在高通SOC芯片与EC的主板构架中,没有与EC相匹配的LPC协议管脚对应,无法让EC实时跟随高通SOC系统功耗状态的改变进行动作;同时,在高通平台的睡眠场景事件的通信中,SOC睡眠指令下达给EC后,SOC还未进入睡眠,系统的功耗还未降低,EC已经进入睡眠;如果EC不能真正获知系统进入睡眠的状态,则系统的睡眠模式功耗无法降至最节能状态,影响产品续航能力。
基于上述技术问题,本发明实施例提出了以下解决方案:
图1是本发明实施例提供的一种系统睡眠控制电路的结构示意图,如图1所示,系统睡眠控制电路包括:SOC模块10和EC模块20;
SOC模块10,用于根据接收到的第一睡眠触发信号进入第一睡眠模式,并根据接收到的第一睡眠触发信号生成第二睡眠触发信号;
EC模块20,用于检测接收到的第二睡眠触发信号的电压值并根据检测结果进入第二睡眠模式。
示例性的,SOC模块10接收到外部动作指令例如点击电源键、点击睡眠按键或屏幕折叠等,产生第一睡眠触发信号后,或者当系统检测运行状态达到产生第一睡眠触发信号的标准时,示例性的,系统检测到电量过低时或者系统长时间空闲未使用时,系统发出第一睡眠触发信号传输至SOC模块10;依次关闭外部SOC设备、网络设备和SOC主控制器并切断SOC电源,进入第一睡眠模式;SOC模块10进入第一睡眠模式后,SOC模块10调节生成第二睡眠触发信号传送给EC模块20,第二睡眠触发信号的电压值小于设定电压值。EC模块20检测接收到的第二睡眠触发信号的电压值为SOC模块10的系统状态电的电压值,根据检测结果EC模块20动作进入第二睡眠模式,在不影响应用场景需求的情况下,EC模块20控制所有外设设备断电,系统进入第二睡眠模式。
在高通SOC与EC的主板架构中,EC模块20通过通信接收SOC模块10的睡眠指令,并立马动作进入第二睡眠模式,而SOC模块10发送给EC模块20的睡眠指令驱动太过置前,此时SOC模块10还未完全进入第一睡眠模式,导致EC模块20不能真正获知系统进入睡眠的状态,无法使系统达到最小耗电状态。本发明实施例通过EC模块检测接收到的第二睡眠触发信号的电压值,即SOC模块不同工作状态对应的系统状态电VDDCX的电压值;并根据检测结果对应的SOC模块的功耗状态进入第二睡眠模式,解决EC模块接收SOC模块发送的睡眠指令后立即进入睡眠模式,不能真正获知系统进入睡眠的状态,无法使系统睡眠控制电路所在主板达到最小耗电状态的问题,实现系统睡眠功耗降低,使用此系统睡眠控制电路的产品续航能力提升的效果。
图2是本发明实施例提供的另一种系统睡眠控制电路的结构示意图,结合图1和图2,可选的,SOC模块10包括触发信号输出端P1,SOC模块10用于根据接收到第一睡眠触发信号通过触发信号输出端P1输出第二睡眠触发信号;
EC模块20包括触发信号输入端P2,EC模块20用于检测触发信号输入端输入的第二睡眠触发信号的电压值。
具体的,参考图2,EC模块20的触发信号输入端P2与SOC模块10的触发信号输出端P1电连接,即EC模块20的ADC管脚与SOC模块10的VDDCX管脚电连接。EC模块20的第二睡眠触发信号的电压值为SOC模块10系统状态电VDDCX的电压值;SOC模块10系统状态电VDDCX的不同电压值反应了SOC模块10不同的工作状态。EC模块20的ADC管脚实时检测SOC模块10的VDDCX管脚电压,即EC模块20实时跟随SOC模块10的功耗状态,EC模块20通过SOC模块10系统状态电VDDCX的不同电压值实时区分系统功耗状态,能够真正获知系统进入睡眠的状态,使主板达到最小耗电状态,实现系统睡眠功耗降低。
可选的,参考图2,EC模块20包括:
比较子模块21,用于比较第二睡眠触发信号的电压值和设定电压值并根据比较结果调节输出的比较信号;示例性的,设定电压值为0.4V,比较子模块21比较第二睡眠触发信号的电压值和设定电压值的大小关系,根据比较结果,判断SOC模块10是否已经进入第一睡眠模式。
睡眠子模块22,用于根据接收到的比较信号进入第二睡眠模式;具体的,当第二睡眠触发信号的电压值大于或者等于设定电压值时,此时SOC模块10处于运行状态,因此睡眠子模块22不动作,EC模块20不进入睡眠模式;当第二睡眠触发信号的电压值小于设定电压值时,此时SOC模块10处于第一睡眠模式状态,因此睡眠子模块动作22,EC模块20进入第二睡眠模式。
可选的,参考图2,比较子模块21包括比较器A,比较器A的第一输入端a作为EC模块20的触发信号输入端,比较器A的第二输入端b与恒压源电连接,比较器A的输出端c输出比较信号。示例性的,可以设置比较器的第一输入端为同向输入端,输入第二睡眠触发信号;比较器的第二输入端为反向输入端,第二输入端与0.4V恒压源电连接;当第二睡眠触发信号的电压值大于或等于0.4V时,此时SOC模块10处于运行状态,比较器输出高电平信号至睡眠子模块22,睡眠子模块22不动作,EC模块20不进入第二睡眠模式;当第二睡眠触发信号小于0.4V时,此时SOC模块10处于第一睡眠模式状态,比较器输出低电平信号至睡眠子模块22,睡眠子模块22动作,EC模块20进入第二睡眠模式。另外,也可以设置比较器的第一输入端为反向输入端,比较器的第二输入端为同向输入端,设置后续触发睡眠子模块22的电平的高低与前述内容相反即可。
可选的,参照图2,系统睡眠控制电路还包括外部指令接收模块30,用于接收外部睡眠动作指令并根据外部睡眠动作指令生成第一睡眠触发信号。示例性的,外部指令接收模块30接收到的外部睡眠动作指令可以是点击电源键、点击睡眠按键或屏幕折叠等睡眠动作指令,外部指令接收模块30接收到睡眠动作指令后生成第一睡眠信号传输至SOC模块10。
可选的,参照图2,SOC模块10包括唤醒子模块11,唤醒子模块11用于根据接收到的唤醒信号控制SOC模块10进入唤醒模式。外部指令接收模块30还用于接收外部唤醒动作指令并根据外部唤醒动作指令生成唤醒信号。示例性的,外部指令接收模块30接收的外部唤醒动作指令可以是按键输入、屏幕打开触发;外部指令接收模块30将唤醒信号传输给EC模块20,EC模块20通过ACPI I2C(Advanced Configuration and Power Interface,高级配置与电源接口)(Inter-Integrated Circuit,两线式串行总线)将唤醒信号传输给SOC模块10,当唤醒子模块11接收到唤醒信号时,SOC模块10从睡眠模式进入唤醒模式。SOC模块10进入唤醒模式后,首先SOC模块10的电源接通,然后依次恢复SOC主控制器、网络设备和外部SOC设备的运行。
可选的,参照图2,系统睡眠控制电路还包括:电源管理模块40,电源管理模块40用于根据接入的电源信号调节输出的唤醒信号。示例性的,当接入外部电源时,电源管理模块40输出唤醒信号到EC模块20,EC模块20通过ACPI I2C将唤醒信号传输给SOC模块的唤醒子模块11。
图3是本发明实施例提供的一种系统睡眠控制方法的流程图,本发明实施例提供的系统睡眠控制方法可应用于需要对电脑系统进行睡眠控制的应用场景,可以由上述实施例所述的系统睡眠控制电路执行,如图3所示,系统睡眠控制方法包括:
S310、SOC模块根据接收到的第一睡眠触发信号进入第一睡眠模式,并根据接收到的第一睡眠触发信号生成第二睡眠触发信号。
当外部动作指令例如点击电源键、点击睡眠按键或屏幕折叠等动作产生第一睡眠触发信号传输给SOC模块,SOC模块根据接收到的第一睡眠触发信号进入第一睡眠模式;可选的,当系统检测运行状态达到产生第一睡眠触发信号的标准时,示例性的,系统检测到电量过低时或者系统长时间空闲未使用时,系统发出第一睡眠触发信号传输给SOC模块,SOC模块根据接收到的第一睡眠触发信号进入第一睡眠模式。
其中,S310还包括:SOC模块根据接收到的第一睡眠触发信号关闭外部SOC设备、网络设备和SOC主控制器并切断SOC电源。
图4是本发明实施例提供的另一种系统睡眠控制方法的流程图;如图4所示,
S411、SOC模块接收到第一睡眠触发信号
S412、控制外部SOC设备关闭,示例性的,关闭USB设备、PCle(peripheralcomponent interconnect express,一种高速串行计算机扩展总线标准)设备、I2C设备和SPI(Serial Peripheral Interface,串行外设接口)设备等外部SOC设备进入睡眠模式或深度睡眠模式的低功耗状态。
S413、关闭网络设备,示例性的,关闭网络和广播等设备,网络和广播等设备不同于外部SOC设备,在网络设备未关闭前必须保持一定的活动,当收到网络事件指令时唤醒SOC,示例性的,在联网睡眠下收到一封邮件。
S414、系统关闭SOC主控制器,示例性的,关闭I2C、USB、PCI(PeripheralComponent Interconnect,外设组件互连标准)等主控制器。
S415、系统保存SOC的所有状态,切断SOC的电源;
S416、系统进入第一睡眠模式;
S417、SOC模块调节生成的第二睡眠触发信号的电压值小于设定电压值;
SOC模块的系统状态电VDDCX的电压体现系统处于开机/睡眠/关机的状态,当SOC模块进入第一睡眠后,SOC模块的系统状态电VDDCX的电压小于设定电压值,即小于0.4V。
S320、EC模块检测接收到的第二睡眠触发信号的电压值并根据检测结果进入第二睡眠模式。
EC模块检测接收到的第二睡眠触发信号的电压值为SOC模块的系统状态电VDDCX的电压值,从而获取SOC模块的真正进入睡眠的状态;EC模块不需要通过通信接收SOC模块的睡眠指令,只需要根据SOC模块的系统状态电获取对应的SOC模块状态,当SOC模块真正进入第一睡眠模式后,EC模块实时跟随SOC模块进入第二睡眠模式使主板达到最小耗电状态,实现系统睡眠功耗降低。
其中,S320、EC模块检测接收到的第二睡眠触发信号的电压值并根据检测结果进入第二睡眠模式,还包括:
EC模块分多次将第二睡眠触发信号的电压值与设定电压值做比较。
在系统工作时,会出现电压信号抖动的情况,为了避免出现误判断,EC模块多次检测接收到的第二睡眠触发信号的电压值。
图5是本发明实施例提供的还一种系统睡眠控制方法的流程图;如图5所示,
S521、EC模块将收到的第二睡眠触发信号的电压值;
S522、判断EC模块收到的第二睡眠触发信号的电压值是否小于0.4V;
当判断结果为是时,执行S523,记一次比较结果为1;即当第二睡眠触发信号的电压值小于设定电压值时,记一次比较结果为1;
当判断结果为否时,执行S524,记一次比较结果为0;即当第二睡眠触发信号的电压值大于或等于设定电压值时,记一次比较结果为0。
S525、判断比较结果是否连续五次为1;
当判断结果为是时,执行S526,EC模块设置在第二睡眠模式下连接至EC模块的各接口的工作状态;即当EC模接收到的第二睡眠触发信号的电压值与设定电压值进行比较的比较结果连续五次为1时,此时,判定SOC模块已经进入第一睡眠模式,EC模块及时跟随SOC模块状态进入第二睡眠模式;
当判断结果为否时,返回执行S521;
S526、设置在第二睡眠模式下的唤醒源;
S527、系统进入第二睡眠模式,此时主板处于最小系统耗电状态;
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。