用于在低功率状态期间管理嵌入式控制器的功率的技术的制作方法

文档序号:11779689阅读:242来源:国知局
用于在低功率状态期间管理嵌入式控制器的功率的技术的制作方法与工艺

相关申请的交叉引用

本申请要求于2015年3月27日提交的题为“technologiesformanagingpowerofanembeddedcontrollerduringalow-powerstate”、序号为14/671,721的美国实用专利申请的优先权。



背景技术:

许多计算系统包括一个或多个低功率状态,并且那些低功率模式之一可以包括连接待机模式。连接待机是低功率状态,以低功耗为特征,同时保持互联网连接。连接待机状态允许程序和应用节省功率并自动更新。连接待机的另一个优点是计算设备可以快速从连接待机状态恢复正常操作。典型的计算设备可以包括在连接待机状态期间管理功耗的硬件、固件和/或软件。

附图说明

这里描述的概念在附图中通过示例而不是限制的方式来进行说明。为了说明的简单和清楚,附图中所示的元件不一定按比例绘制。在适当的情况下,图中已经重复了参考标签以表明相应或相似的元件。

图1是能够实现连接待机状态的计算设备的至少一个实施例的简化框图;

图2是在连接待机状态期间可以由图1的计算设备建立的环境的至少一个实施例的简化框图;

图3是由图1的计算设备实现的用于动态调整嵌入式控制器的定时循环的方法的至少一个实施例的简化流程图;

图4是由图1的嵌入式控制器实现的用于动态调整嵌入式控制器的定时循环的方法的至少一个实施例的简化流程图;和

图5是在连接待机状态期间计算设备的功率输出数据的至少一个实施例的简化图。

具体实施方式

虽然本公开的概念易于进行各种修改和替代形式,但是其具体实施例已经在附图中通过示例的方式示出,并且将在本文中进行详细描述。然而,应当理解,并不意图将本公开的概念限制为所公开的特定形式,相反,本发明旨在涵盖与本公开和所附权利要求一致的所有修改、等同方案和替代方案。

说明书中对“一个实施例”,“实施例”,“说明性实施例”等的提及表明所描述的实施例可以包括特定特征、结构或特性,但是每个实施例可以或可以不必然包括特定的特征、结构或特性。此外,这样的短语不一定指代相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,认为结合其他实施例来实现这种特征、结构或特性属于在本领域技术人员的知识范围内,无论是否明确描述。另外,应当理解,以“至少一个a,b和c”的形式包括在列表中的项目可以意指(a);(b);(c);(a和b);(a和c);(b和c);或(a,b和c)。类似地,以“a,b或c中的至少一个”的形式列出的项目可以意指(a);(b);(c);(a和b);(a和c);(b和c);或(a,b和c)。

在一些情况下,可以以硬件、固件、软件或其任何组合实现所公开的实施例。所公开的实施例还可以被实现为由可由一个或多个处理器读取和执行的暂时性或非暂时性机器可读(例如,计算机可读)存储介质所承载或存储的指令。机器可读存储介质可以被实现为用于以机器可读的形式(例如,易失性或非易失性存储器、介质盘或其他介质设备)存储或发送信息的任何存储设备、机制或其他物理结构)。

在附图中,可以以具体的布置和/或顺序示出一些结构或方法特征。然而,应当理解,可能不需要这种具体的布置和/或排序。相反,在一些实施例中,这些特征可以以与说明性图中所示的不同的方式和/或顺序排列。另外,在特定图形中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中可以不包括这些特征或者可以与其他特征组合。

现在参考图1,计算设备102被配置为在连接待机状态期间或当准备进入连接待机状态时动态地调整包括在计算设备102中的嵌入式控制器128的定时循环。在使用中,如下面更详细地讨论的,计算设备102被配置为在计算设备102处于连接待机状态以节省功率的同时管理一个或多个功率受控设备的功耗。例如,快速按下并释放许多智能电话上的电源按钮可能会导致智能电话进入连接待机状态,其中智能电话的屏幕和其他组件进入低功率模式。然而,在连接待机状态下,存储在智能电话上的组件和应用保持互联网连接。例如,即使智能电话的屏幕和其他组件处于低功率模式,智能电话上的电子邮件应用仍然可能会收到新邮件并提醒用户新邮件。

当计算设备102进入连接待机时,嵌入式控制器128也处于低功率状态。通常,当处于低功率状态时,嵌入式控制器128将唤醒定时器设置为恒定的定时循环(例如每1秒唤醒)。唤醒定时器被配置为根据定时循环来唤醒嵌入式控制器128,使得嵌入式控制器128可以执行任务。唤醒定时器和定时循环允许嵌入式控制器128在仍然执行其一些功能(例如,计算设备102的风扇控制和热管理)的同时节约能量。当计算设备102处于连接待机时,嵌入式控制器128的规则和频繁的默认定时循环可以消耗比所需的更多的功率。例如,在许多计算设备中,嵌入式控制器被配置为监视cpu的热事件;然而,当计算设备102处于连接待机时,计算设备102的cpu可能不会经历需要嵌入式控制器128动作的许多热事件。计算设备102通过硬件、固件和/或软件可以被配置为动态调整嵌入式控制器的唤醒定时器,以在计算设备102处于连接待机状态时进一步节省功率。嵌入式控制器128的唤醒定时器可以使用硬件、固件、软件或其任何组合来实现。

计算设备102可以被实现为能够执行本文描述的功能的任何类型的计算或计算机设备,包括但不限于计算机,多处理器系统,服务器,机架式服务器,刀片服务器,膝上型计算机,笔记本计算机,网络设备,web设备,分布式计算系统,基于处理器的系统和/或消费者电子设备。如图1所示,说明性的计算设备102包括处理器120、输入/输出(i/o)子系统122、存储器124、数据存储设备126、嵌入式控制器128和外围设备130。当然,在其他实施例中,计算设备102可以包括其他或附加组件,例如在计算设备中通常所见的组件(例如,各种输入/输出设备)。另外,在一些实施例中,一个或多个说明性的组件可以并入或以其他方式形成另一组件的一部分。例如,在一些实施例中,存储器124或其部分可以并入处理器120中。

处理器120可以被实现为能够执行本文所描述的功能的任何类型的处理器。例如,处理器120可以被体现为单核或多核处理器、数字信号处理器、微控制器或其他处理器或处理/控制电路。类似地,存储器124可以被体现为能够执行本文所描述的功能的任何类型的易失性或非易失性存储器或数据存储设备。在操作中,存储器124可以存储在计算设备102的操作期间使用的各种数据和软件,诸如操作系统、应用、程序、库和驱动器。存储器124经由i/o子系统122通信地耦合到处理器120,i/o子系统122可被实现为促进与处理器120、存储器124和计算设备102的其他组件的输入/输出操作的电路和/或组件。例如,i/o子系统122可以被体现为存储器控制器中心、输入/输出控制中心、固件设备、通信链路(即,点到点链路,总线链路,电线,电缆,光导,印刷电路板迹线等)和/或其他促进输入/输出操作的组件和子系统或以其它方式包括它们。在一些实施例中,i/o子系统122可以形成片上系统(soc)的一部分,并且与处理器120、存储器124和计算设备102的其他组件一起并入到单个集成电路芯片上。

数据存储设备126可以被体现为被配置用于数据的短期或长期存储的任何类型的一个设备或多个设备,例如存储器设备和电路,存储卡,硬盘驱动器,固态驱动器或其他数据存储设备。数据存储设备126可以存储由计算设备102处理的压缩和/或解压缩的数据。

计算设备102还包括嵌入式控制器128,其可以被体现为微控制器或任何其他电路,设备,固件,软件或其集合,它们能够执行计算设备102的不由主处理器120处理的各种任务。嵌入式控制器128可以包括各种设备和子电路以促进所实现的控制器的功能。例如,在一些实施例中,嵌入式控制器128可以包括其自己的ram,以在执行任务时使用。由嵌入式控制器128执行的特定任务可以取决于计算设备102的类型、计算设备102的当前操作状态和/或其他标准。例如,在一些实施例中,嵌入式控制器128的任务根据需要可以是接收和处理用于各种按钮和开关(例如,键盘)的信号,处理器120的热测量(包括响应于温度升高的伴随的风扇控制、cpu节流和紧急停机),控制指示灯,监控和管理电池中存储的电量(包括管理电池充电器),控制看门狗定时器或其他功能。

计算设备102的外围设备130可以包括任何数量的附加输入/输出设备或接口设备。在说明性实施例中,外围设备130包括功率受控组件132。每个功率受控组件132可被实现为能够进入包括连接待机状态的低功率状态的任何电气组件、设备或电路。功率受控组件的示例包括但不限于数据存储设备、通信电路和设备、传感器、安全数字读卡器和/或能够进入低功率状态的任何其它组件。当然,计算设备102可以包括执行计算设备102的功能可能需要的附加或其他外围设备,诸如例如通信设备、显示器、键盘和其他输入/输出设备。

现在参考图2,在说明性实施例中,计算设备102在操作期间建立环境200。示例性实施例200包括嵌入式控制器模块202和功率控制模块212。环境200的各种模块可以被体现为硬件、固件、软件或其组合。例如,环境200的各种模块、逻辑和其他组件可以形成处理器120、嵌入式控制器128或计算设备102的其他硬件组件的一部分,或以其他方式被处理器120、嵌入式控制器128或计算设备102的其他硬件组件建立。这样,在一些实施例中,环境200的任何一个或多个模块可以实现为电气设备的电路或集合(例如,嵌入式控制器电路、功率控制电路等)。

嵌入式控制器模块202被配置为执行嵌入式控制器128的功能,包括在低功率状态期间和在激活状态期间控制嵌入式控制器128。嵌入式控制器模块202可以由嵌入式控制器128建立,并且示例性地包括功率状态确定模块204、唤醒管理模块206和命令模块210。

功率状态确定模块204被配置为确定计算设备102的当前功率状态和嵌入式控制器128的当前功率状态。功率状态确定模块204可以使用传感器来确定计算设备102当前处于哪个功率状态或以其他方式监视从计算设备102接收的关于计算设备的功率状态的信号。例如,如果计算设备102即将进入连接待机状态,则计算设备102可以将信号发送到嵌入式控制器128,以进入低功率状态,作为整体连接待机状态的一部分,其可以被功率状态确定模块检测。一旦功率状态确定模块204检测到嵌入式控制器128处于低功率状态,则功率状态确定模块通知唤醒管理模块206。

唤醒管理模块206被配置为当嵌入式控制器128处于低功率状态时控制嵌入式控制器128的定时循环。为了在处于低功率状态时节省功率,嵌入式控制器128设置唤醒定时器以对嵌入式控制器128周期性地加电以执行其分配的任务。在一些实施例中,将唤醒定时器设置为默认定时循环以定期地(例如,每一秒钟)唤醒嵌入式控制器128。当嵌入式控制器128被唤醒时,嵌入式控制器128执行其分配的任务,例如测量计算设备102的处理器的温度,并确定处理器的温度是否高于某一阈值。唤醒管理模块206可以包括定时循环调整模块208,以确定嵌入式控制器128的定时循环或唤醒周期(即,在处于低功率状态时嵌入式控制器128应被如何频繁地唤醒)。嵌入式控制器128的定时循环/唤醒周期是指在处于低功率状态时嵌入式控制器128如何频繁地唤醒。例如,定时循环可能要求嵌入式控制器128每一秒钟唤醒,而在其他时间,定时循环可能要求嵌入式控制器128每15秒唤醒。定时循环调整模块208被配置为接收定时循环数据并基于定时循环数据调整嵌入式控制器128的定时循环。在一些实施例中,定时循环数据可以包括与嵌入式控制器128在计算设备102中执行的任务相关的信息,例如与处理器的温度相关的热测量数据或与存储在计算设备102的电池中的可用电量有关的电池寿命数据。

嵌入式控制器命令模块210被配置为执行嵌入式控制器128所需的任务。如上所述,当嵌入式控制器完全供电或处于活动状态时,嵌入式控制器128执行针对计算设备102的若干任务,例如监视处理器120的热事件和计算设备102的电池寿命。在唤醒管理模块206唤醒嵌入式控制器128之后,命令模块210执行嵌入式控制器128所需的任务。

功率控制模块212被配置为在计算设备102处于连接待机状态和/或准备进入连接待机状态时管理计算设备102的功率受控组件132的功耗。在一些实施例中,功率控制模块212或其一部分可以体现为由计算设备102的操作系统执行的固件、软件或其组合。例如,功率控制模块212的一部分可以在一些实施例中被体现为microsoftwindows的功率引擎插件。无论如何,说明性的功率控制模块212包括唤醒确定模块214、嵌入式控制器状态检测模块216和嵌入式控制器管理模块218。

唤醒确定模块214被配置为在计算设备102处于连接待机状态的同时周期性地唤醒计算设备102的某些组件。当计算设备102进入连接待机状态时,许多功率受控组件132进入低功率模式以节省能量。作为进入大多数低功率模式的一部分,功率受控组件132不再能够执行某些功能,例如连接到外部网络并检查更新。为了在当处于连接待机状态时节功率的同时保持功能性,功率控制模块212根据功率控制模块212的唤醒循环周期性地唤醒功率受控组件132。例如,功率控制模块212的唤醒循环可以要求功率受控组件132每隔三十秒唤醒,连接到互联网,并检查更新。在一些实施例中,功率受控组件132在由功率控制模块212唤醒之后,除了连接到因特网之外还执行各种功能。唤醒确定模块214确定引起由功率控制模块212控制的所有功率受控组件132以规则的间隔唤醒的唤醒循环。在一些实施例中,唤醒循环一次唤醒所有功率受控组件132,而在其它实施例中,功率受控组件可以以交错模式被唤醒以防止能量浪涌。通常,功率控制模块212的唤醒循环是预定的时间段,在该预定的时间段后所有功率受控组件132被唤醒,例如,唤醒循环可能要求每30秒钟由功率控制模块212唤醒所有组件。在一些实施例中,唤醒确定模块214通过向由所述功率控制模块212管理的所有功率受控组件132发送唤醒命令来使得功率受控组件132唤醒。

嵌入式控制器状态检测模块216被配置为检测嵌入式控制器128是否处于低功率状态。如果计算设备102处于连接待机状态并且嵌入式控制器128处于低功率状态,则功率控制模块212可以将嵌入式控制器128包括在由功率控制模块212管理的功率受控组件132的列表中。由于嵌入式控制器128执行可能被认为对于计算设备102的正常运行至关重要的任务,所以可能要求嵌入式控制器128比其它功率受控组件132更频繁地唤醒。

嵌入式控制器管理模块218被配置为在嵌入式控制器128处于低功率状态时动态管理嵌入式控制器128的定时循环。如果嵌入式控制器128在低功率状态期间使用静态预定定时循环来唤醒并执行任务,则嵌入式控制器128可以比必要的更多地唤醒。通常,设计人员可以选择默认的定时循环,使得嵌入式控制器128比防止对计算设备102的损坏所需要的更频繁地唤醒。为了减轻这种不必要的唤醒,嵌入式控制器管理模块218从嵌入式控制器128接收操作数据并且使用操作数据来确定嵌入式控制器128的新的定时循环。操作数据可以包括与嵌入式控制器128相关的任何信息或嵌入式控制器128需要执行的任务。例如,操作数据可以包括由嵌入式控制器128测量的处理器120的热数据。基于该热数据和接收的其他操作数据,嵌入式控制器管理模块218确定嵌入式控制器128的新的定时循环数据。新的定时循环数据用于设置嵌入式控制器128的唤醒定时器。

嵌入式控制器管理模块218包括嵌入式控制器定时循环确定模块220,其被配置为确定嵌入式控制器128的新的定时循环。例如,嵌入式控制器定时循环确定模块220可以生成定时循环数据,其包括嵌入式控制器128每五秒钟唤醒并执行任务的指令。

在一些实施例中,嵌入式控制器管理模块218仅在功率控制模块212的唤醒循环期间确定嵌入式控制器128的新定时循环。在功率控制模块212的唤醒循环之间,嵌入式控制器128能够唤醒和执行任务而不将操作数据发送到功率控制模块212。例如,在功率控制模块212的唤醒循环期间,嵌入式控制器管理模块218将接收来自嵌入式控制器128的操作数据,基于操作数据确定新的定时循环数据,并将新的定时循环数据发送到嵌入式控制器128。在功率控制模块212的唤醒循环之间,嵌入式控制器128将根据其定时循环唤醒并执行任务。在功率控制模块212的下一个唤醒循环,嵌入式控制器管理模块218将再次确定嵌入式控制器128的新的定时数据。在一些实施例中,嵌入式控制器128在功率控制模块212的每个唤醒循环执行其任务。

参考图3,在使用中,计算设备102可以执行用于在连接待机状态期间和/或在准备进入连接待机状态时管理计算设备102的组件的功率的方法300。在说明性的实施例中,方法300由功率控制模块212执行。在框302,功率控制模块212监视计算设备102并确定计算设备102是否处于连接待机状态。如果计算设备102不处于连接待机状态,则方法300将继续监视计算设备102的状态。如果计算设备102处于连接待机状态,则功率控制模块212确定是否是时候基于功率控制模块212的唤醒循环来唤醒功率受控组件132。一旦启动了唤醒循环,在框306,功率控制模块212唤醒由功率控制模块212控制的所有功率受控组件132。

在框308,功率控制模块212唤醒并管理嵌入式控制器128,包括管理嵌入式控制器的唤醒定时器。在框310,嵌入式控制器128被功率控制模块212唤醒。一旦通电,嵌入式控制器128确定嵌入式控制器操作数据,例如电池的电池寿命和处理器的温度,并将操作数据发送到功率控制模块212。在框312,功率控制模块212接收嵌入式控制器操作数据。在框314,功率控制模块212基于从嵌入式控制器128接收的操作数据生成定时循环数据。例如,如果操作数据指示处理器在处理器120的正常操作参数内的温度下操作,定时循环数据可以指示嵌入式控制器128应该每十五秒唤醒以执行其任务。然而,如果操作数据指示处理器120在升高的温度下操作,则定时循环数据可以指示嵌入式控制器128应该更频繁地唤醒,例如每五秒钟,以确保处理器120的温度不超过处理器的参数。在一些实施例中,通过平衡关于嵌入式控制器128执行的所有任务的操作数据来确定定时循环数据。例如,操作数据可以包括关于处理器120的操作温度的信息,计算设备102的电池中可用的功率,从输入/输出设备(例如,键盘和其他按钮)接收的信号,从计算设备102的电源按钮接收的信号,或与嵌入式控制器128的任务相关的其他信息。

在框316,功率控制模块212将定时循环数据发送到嵌入式控制器128。然后,嵌入式控制器128使用定时循环数据以通过设置其唤醒定时器来设置其自己的定时循环。在框318,功率控制模块212确定计算设备102是否已经退出连接待机状态。如果计算设备102没有退出连接待机状态,则功率控制模块212循环回到框304并等待直到是时候启动下一个唤醒循环为止。

参考图4,在使用中,计算设备102可以执行用于在低功率状态期间管理嵌入式控制器128的功率的方法400。在说明性实施例中,方法400由嵌入式控制器128执行。在框402处,嵌入式控制器128连续监视计算设备102,直到其确定计算设备102处于连接待机状态或准备进入连接待机状态。一旦计算设备102进入连接待机状态,则在框404,嵌入式控制器128进入低功率状态。通常,嵌入式控制器128的低功率状态涉及使得嵌入式控制器128的大部分掉电并设置周期性地唤醒嵌入式控制器128的唤醒定时器。

在框406处,嵌入式控制器128等待直到嵌入式控制器128或功率控制模块212的唤醒定时器指示嵌入式控制器128将被通电为止。在框408处,嵌入式控制器128确定唤醒命令是来自功率控制模块212还是来自嵌入式控制器128的唤醒定时器。如果唤醒是由唤醒定时器启动的,嵌入式控制器128进行到框416并执行分配给嵌入式控制器128的任务。如果唤醒由功率控制模块212响应于所有功率受控组件132的唤醒循环而启动,则嵌入式控制器128开始获取新的定时循环数据的过程。

在框410处,嵌入式控制器128获得嵌入式控制器操作数据并将嵌入式控制器操作数据发送到功率控制模块212。例如,操作数据可以包括关于处理器120的操作温度的信息、计算设备102的电池中可用的功率,从输入/输出设备(例如,键盘和其他按钮)接收的信号、从计算设备102的电源按钮接收的信号,或与嵌入式控制器128的任务相关的其他信息。在框412处,嵌入式控制器128从功率控制模块212接收定时循环数据。定时循环数据基于发送到功率控制模块212的操作数据,并且包括用于嵌入式控制器128使用直到功率控制模块212的下一个唤醒循环的新的定时循环。在框414,嵌入式控制器128基于接收到的定时循环数据设置其定时循环。例如,旧的定时循环可能要求每一秒唤醒嵌入式控制器128,但是新的定时循环可能要求嵌入式控制器128每5秒唤醒,因为处理器在较冷的温度下操作。

在框416处,嵌入式控制器128执行其任务,例如风扇控制和热事件监视、电池寿命的监视、输入/输出命令的监视或其它任务。在框418处,嵌入式控制器128确定计算设备102是否已经退出连接待机状态。如果计算设备102尚未退出连接待机状态,则嵌入式控制器128继续监视来自功率控制模块212或嵌入式控制器128的唤醒定时器的唤醒信号。

参考图5,示出了处于连接待机状态的计算设备102的功率输出数据的实施例500。元件504,506,508示出由嵌入式控制器128收集并由功率控制模块212使用以确定定时循环数据的操作数据。在说明性的实施例中,图502表示在连接待机状态期间计算设备102的功率使用。时间t1,t2和t3处的灰色条510,512,514表示功率控制模块212的唤醒循环,其中功率控制模块212唤醒所有功率受控组件132。白色条516,518,520,522,524,526,528,530,532,534表示嵌入式控制器128的定时循环,或嵌入式控制器被唤醒定时器或功率控制模块212唤醒的时间。在说明性的实施例中,在时间t1,t2和53处白色条516,518,524与灰色条510,512,514分开表示,以更好地示出嵌入式控制器128在功率控制模块212的唤醒循环期间使用功率。应当意识到,在实践中,由白色条516,518,524表示的嵌入式控制器128的功率使用已经被并入到灰色条510,512,514中。白色条516,518,524被示出仅供说明之用。

在说明性的实施例中,元件504,506,508描绘了处理器120的可能的热温度的范围,其中元件504,506,508的底部表示较冷的温度,元件504,506,508的顶部表示较高的温度。每个元件504,506,508被分解成三个分开的区域,仅仅是为了说明处理器120的不同测量温度导致嵌入式控制器128的不同定时循环。箭头540,542,544描绘了在t1,t2和t3处功率控制模块212的唤醒循环期间嵌入式控制器128测量的处理器120的温度。图5描绘了作为由功率控制模块212用于仅通过示例的方式确定嵌入式控制器128的定时循环的唯一操作数据的处理器120的温度。在一些实施例中,可以使用许多类型的操作数据来确定嵌入式控制器128的定时循环。

在操作中,当功率控制模块212在时间t1使得所有功率受控组件132被唤醒时(在该唤醒循环中消耗的总功率由灰色条510表示),嵌入式控制器128测量处理器120的温度。元件504表示处理器120在时间t1的可能温度的范围,箭头540表示在t1处由嵌入式控制器测得的温度。元件504的区域示出了由箭头540表示的温度完全在处理器120的操作参数内。功率控制模块212使用由箭头540表示的操作数据来确定定时循环数据,该数据将由嵌入式控制器128用来设置定时循环。如图502所示,基于由箭头540表示的温度,嵌入式控制器128的定时循环不会使嵌入式控制器128唤醒直到由灰色条512表示的下一个整体唤醒循环。在图5所示的示中,嵌入式控制器128在时间t1和时间t2之间的定时循环与唤醒循环长度相等,因为嵌入式控制器128所测量的温度完全在处理器120的安全操作参数之内。

在时间t2,功率控制模块212再次启动所有功率受控组件132的唤醒(在该唤醒循环中消耗的总功率由灰色条512表示)。在被唤醒时,嵌入式控制器128测量处理器120的温度。处理器120在时间t2的测量的温度由箭头542和元件506表示。箭头542示出了处理器120的温度升高,温度可能会令人担忧。为了确保处理器不过热,功率控制模块212生成用于嵌入式控制器128的定时循环,其使得嵌入式控制器128比先前的定时循环更频繁地唤醒和执行任务。嵌入式控制器128的新定时循环由白色条520,522表示。嵌入式控制器128的新定时循环使得唤醒定时器在整个唤醒循环之间唤醒嵌入式控制器128两次。完成嵌入式控制器128的更频繁的定时循环以保护计算设备102免受损坏。每个单个嵌入式控制器唤醒所消耗的总功率由白色条520,522的高度表示。

在时间t3,功率控制模块212再次启动所有功率受控组件132的唤醒(在该唤醒循环中消耗的总功率由灰色条514表示)。再次,嵌入式控制器128通过测量处理器120的温度来收集操作数据,并将该操作数据发送到功率控制模块212。在时间t3处测量的处理器120的温度由箭头544表示,并且示出了处理器120的温度可能上升到危险的高水平。在接收到由箭头544表示的温度时,功率控制模块212生成由白色条526,528,530,532,534表示的嵌入式控制器128的新定时循环。新定时循环的嵌入式控制器128唤醒之间的时间段由于功率控制模块212所接收的操作数据的差异而比先前两个所示的定时循环短得多,即处理器120的温度较高。

在一些实施例中,如果嵌入式控制器128确定需要采取措施来保护计算设备102免受损坏(例如,处理器120的温度已经超出正常操作参数),则嵌入式控制器128可以使计算设备102退出连接待机状态并采取预防措施。例如,嵌入式控制器128可以与功率控制模块212通信以唤醒计算设备102,使得可以采取动作。附加地或替代地,嵌入式控制器128可以与功率控制模块212通信以调整计算设备102(或计算设备102本身)的其他组件的唤醒定时循环。如实施例500所示,计算设备102可以在连接待机状态期间动态地调整嵌入式控制器128所使用的定时循环,以节省功率并保持嵌入式控制器的关键功能性。

示例

本文公开的技术的说明性示例在下面提供。技术的一个实施例可以包括以下描述的示例中的任何一个或多个以及任何组合。

示例1包括用于在连接待机状态期间管理功率的计算设备,所述计算设备包括进入低功率状态的一个或多个电气组件;嵌入式控制器,用于执行所述计算设备的一个或多个任务;以及功率控制模块,用于确定所述计算设备是否处于连接待机状态,响应于所述计算设备处于连接待机状态的确定,启动用于周期性地唤醒所述计算设备的所述一个或多个电气组件的唤醒循环,唤醒嵌入式控制器,以允许嵌入式控制器执行一个或多个任务,响应于嵌入式控制器的唤醒,接收与由嵌入式控制器执行的一个或多个任务相关的来自嵌入式控制器的操作数据,生成用于嵌入式控制器的定时循环数据,其中定时循环数据定义嵌入式控制器的唤醒周期,并将定时循环数据发送到嵌入式控制器以基于定时循环数据设置嵌入式控制器的唤醒定时循环。

示例2包括示例1的主题,并且其中功率控制模块接收进入连接待机状态的命令。

示例3包括示例1和2中任一项的主题,并且其中功率控制模块用于确定电气组件中的一个或多个是否已经进入低功率状态。

示例4包括示例1-3中任一项的主题,并且其中功率控制模块响应于已经启动了唤醒循环的确定,向嵌入式控制器发送唤醒命令。

示例5包括示例1-4中任一项的主题,并且其中功率控制模块接收指示计算设备的处理器的操作温度的热数据。

示例6包括示例1-5中任一项的主题,并且其中功率控制模块基于热数据确定嵌入式控制器的唤醒周期。

示例7包括示例1-6中任一项的主题,并且其中功率控制模块接收指示计算设备的电池中可供使用的电量的电池寿命数据。

示例8包括示例1-7中任一项的主题,并且其中功率控制模块基于电池寿命数据来确定嵌入式控制器的唤醒周期。

示例9包括示例1-8中任一项的主题,并且其中由定时循环数据定义的唤醒周期小于由功率控制模块启动的唤醒循环的周期。

示例10包括示例1-9中任一项的主题,并且其中发送到嵌入式控制器以设置嵌入式控制器的唤醒定时循环的定时循环数据使嵌入式控制器比由功率控制模块启动的唤醒循环更频繁地唤醒。

示例11包括示例1-10中任一项的主题,并且其中发送到嵌入式控制器以设置嵌入式控制器的唤醒定时循环的定时循环数据使嵌入式控制器比由功率控制模块启动的唤醒循环更不频繁地唤醒。

示例12包括用于在低功率状态期间管理功率的嵌入式控制器,所述嵌入式控制器包括唤醒管理模块,用于(i)从计算设备的功率控制模块接收唤醒命令,其中基于功率控制模块的唤醒循环生成唤醒命令,(ii)响应于唤醒命令,向功率控制模块发送操作数据,其中操作数据与嵌入式控制器执行的一个或多个任务相关,(iii)响应于操作数据而从功率控制模块接收定时循环数据,以及(iv)基于从功率控制模块接收的定时循环数据设置嵌入式控制器的唤醒定时循环。

示例13包括示例12的主题,并且还包括功率状态确定模块,用于确定计算设备是否处于连接待机状态;并使嵌入式控制器进入低功率状态。

示例14包括示例12和13中任一项的主题,并且其中唤醒管理模块用于确定嵌入式控制器是否应该基于嵌入式控制器唤醒循环来唤醒并执行一个或多个任务。

示例15包括示例12-14中任一项的主题,并且其中唤醒管理模块基于存在于计算设备中的条件来测量操作数据;并将操作数据发送到所述功率控制模块,其中所述操作数据与由所述嵌入式控制器执行的一个或多个任务相关。

示例16包括示例12-15中任一项的主题,并且其中唤醒管理模块发送指示计算设备的处理器的操作温度的热数据。

示例17包括示例12-16中任一项的主题,并且其中唤醒管理模块发送指示计算设备的电池中可供使用的电量的电池寿命数据。

示例18包括示例12-17中任一项的主题,并且其中唤醒管理模块设置嵌入式控制器的唤醒定时循环以比功率控制模块的唤醒循环使嵌入式控制器唤醒更频繁地唤醒嵌入式控制器。

示例19包括示例12-18中任一项的主题,并且其中唤醒管理模块设置嵌入式控制器的唤醒定时循环以比功率控制模块的唤醒循环使嵌入式控制器唤醒更不频繁地唤醒嵌入式控制器。

示例20包括用于在连接待机状态期间管理组件的功率的方法,所述方法包括:由所述计算设备的功率控制模块确定所述计算设备是否处于连接待机状态;响应于确定所述计算设备处于所述连接待机状态,由所述功率控制模块启动用于周期性地唤醒所述计算设备的组件的唤醒循环;由所述功率控制模块并且在唤醒循环期间唤醒所述计算设备的嵌入式控制器,以允许所述嵌入式控制器执行一个或多个任务;由所述功率控制模块并响应于唤醒所述嵌入式控制器,来接收与所述嵌入式控制器执行的所述一个或多个任务相关的来自所述嵌入式控制器的操作数据;由所述功率控制模块生成用于所述嵌入式控制器的定时循环数据,其中所述定时循环数据定义所述嵌入式控制器的唤醒周期;并将定时循环数据发送到嵌入式控制器,以基于定时循环数据设置嵌入式控制器的唤醒定时循环。

示例21包括示例20的主题,并且其中确定计算设备是否处于连接待机状态包括由功率控制模块接收进入连接待机状态的命令。

示例22包括示例20和21中任一个的主题,并且其中确定计算设备是否处于连接待机状态包括由功率控制模块确定计算设备的一个或多个组件是否已进入低功率状态。

示例23包括示例20-22中任一项的主题,并且其中唤醒嵌入式控制器包括响应于确定唤醒循环已经启动而通过功率控制模块将唤醒命令发送到嵌入式控制器。

示例24包括示例20-23中任一项的主题,并且其中从嵌入式控制器接收操作数据包括由功率控制模块接收指示计算设备的处理器的操作温度的热数据。

示例25包括示例20-24中任一项的主题,并且其中生成定时循环数据包括由功率控制模块基于热数据确定嵌入式控制器的唤醒周期。

示例26包括示例20-25中任一项的主题,并且其中从嵌入式控制器接收操作数据包括由功率控制模块接收指示计算设备的电池中可供使用的电量的电池寿命数据。

示例27包括示例20-26中任一项的主题,并且其中生成定时循环数据包括由功率控制模块基于电池寿命数据确定嵌入式控制器的唤醒周期。

示例28包括示例20-27中任一项的主题,并且其中由定时循环数据定义的唤醒周期小于由功率控制模块启动的唤醒循环的周期。

示例29包括示例20-28中任一项的主题,并且其中将定时循环数据发送到嵌入式控制器以设置嵌入式控制器的唤醒定时循环使得嵌入式控制器比由功率控制模块启动的唤醒循环更频繁地唤醒。

示例30包括示例20-29中任一项的主题,并且其中将定时循环数据发送到嵌入式控制器以设置嵌入式控制器的唤醒定时循环使得嵌入式控制器比由功率控制模块启动的唤醒循环更不频繁地唤醒。

示例31包括用于在低功率状态期间管理嵌入式控制器的功率的方法,所述方法包括:由所述嵌入式控制器从所述计算设备的功率控制模块接收唤醒命令,基于所述功率控制模块的唤醒循环生成所述唤醒命令;由所述嵌入式控制器并且响应于所述唤醒命令而将操作数据发送到所述功率控制模块,其中所述操作数据与由所述嵌入式控制器执行的一个或多个任务相关;由所述嵌入式控制器响应于所述操作数据而从所述功率控制模块接收定时循环数据;以及基于从所述功率控制模块接收到的定时循环数据,由所述嵌入式控制器设置所述嵌入式控制器的唤醒定时循环。

示例32包括示例31的主题,还包括由嵌入式控制器确定计算设备是否处于连接待机状态;并由嵌入式控制器进入低功率状态。

示例33包括示例31和32中任一个的主题,并且还包括由嵌入式控制器基于嵌入式控制器唤醒循环来确定嵌入式控制器是否应该唤醒并执行一个或多个任务。

示例34包括示例31-33中任一项的主题,并且其中发送操作数据包括由嵌入式控制器基于存在于计算设备中的条件来测量操作数据;以及由所述嵌入式控制器将操作数据发送到所述功率控制模块,其中所述操作数据与由所述嵌入式控制器执行的一个或多个任务相关。

示例35包括示例31-34中任一项的主题,并且其中发送操作数据包括由嵌入式控制器发送指示计算设备的处理器的操作温度的热数据。

示例36包括示例31-35中任一项的主题,并且其中发送操作数据包括由嵌入式控制器发送指示计算设备的电池中可供使用的电量的电池寿命数据。

示例37包括示例31-36中任一项的主题,并且其中设置唤醒定时循环包括由嵌入式控制器设置嵌入式控制器的唤醒定时循环以比功率控制模块的唤醒循环导致嵌入式控制器唤醒更频繁地唤醒嵌入式控制器。

示例38包括示例31-37中任一项的主题,并且其中设置嵌入式控制器的唤醒定时循环包括由嵌入式控制器设置嵌入式控制器的唤醒定时循环以比功率控制模块的唤醒循环导致嵌入式控制器唤醒更不频繁地唤醒嵌入式控制器。

示例39包括一个或多个机器可读存储介质,其包括存储在其上的多个指令,所述指令响应于被执行而导致计算设备执行示例20-38中任一项的方法。

示例40包括用于在连接待机状态期间管理组件的功率的计算设备,所述计算设备包括:用于确定所述计算设备是否处于连接待机状态的单元;用于响应于确定所述计算设备处于所述连接待机状态而启动用于周期性地唤醒所述计算设备的组件的唤醒循环的单元;用于在唤醒循环期间唤醒计算设备的嵌入式控制器以允许嵌入式控制器执行一个或多个任务的单元;用于响应于唤醒所述嵌入式控制器而接收与由所述嵌入式控制器执行的所述一个或多个任务相关的来自所述嵌入式控制器的操作数据的单元;用于生成所述嵌入式控制器的定时循环数据的单元,其中所述定时循环数据定义所述嵌入式控制器的唤醒周期;以及用于将定时循环数据发送到嵌入式控制器以基于定时循环数据设置嵌入式控制器的唤醒定时循环的单元。

示例41包括示例40的主题,并且其中用于确定计算设备是否处于连接待机状态的单元包括用于接收进入连接待机状态的命令的单元。

示例42包括示例40和41的主题,并且其中用于确定计算设备是否处于连接待机状态的单元包括用于确定计算设备的一个或多个组件是否已经进入低功率状态的单元。

示例43包括示例40-42中任一项的主题,并且其中用于唤醒嵌入式控制器的单元包括用于响应于确定唤醒循环已经启动而向嵌入式控制器发送唤醒命令的单元。

示例44包括示例40-43中任一项的主题,并且其中用于从嵌入式控制器接收操作数据的单元包括用于接收指示计算设备的处理器的操作温度的热数据的单元。

示例45包括示例40-44中任一项的主题,并且其中用于生成定时循环数据的单元包括用于基于热数据确定嵌入式控制器的唤醒周期的单元。

示例46包括示例40-45中任一项的主题,并且其中用于从嵌入式控制器接收操作数据的单元包括接收指示计算设备的电池中可供使用的电量的电池寿命数据。

示例47包括示例40-46中任一项的主题,并且其中用于生成定时循环数据的单元包括用于基于电池寿命数据确定嵌入式控制器的唤醒周期的单元。

示例48包括示例40-47中任一项的主题,并且其中由定时循环数据定义的唤醒周期小于由功率控制模块启动的唤醒循环的周期。

示例49包括示例40-48中任一项的主题,并且其中用于向嵌入式控制器发送定时循环数据以设置嵌入式控制器的唤醒定时循环的单元使嵌入式控制器比由功率控制模块启动的唤醒循环更频繁地唤醒。

示例50包括示例40-49中任一项的主题,并且其中用于向嵌入式控制器发送定时循环数据以设置嵌入式控制器的唤醒定时循环的单元使嵌入式控制器比由功率控制模块启动的唤醒循环更不频繁地唤醒。

示例51包括用于在低功率状态期间管理嵌入式控制器的功率的计算设备,所述计算设备包括用于从所述计算设备的功率控制模块接收唤醒命令的单元,所述唤醒命令基于所述功率控制模块的唤醒循环而生成;用于响应于所述唤醒命令而向所述功率控制模块发送操作数据的单元,其中所述操作数据与由所述嵌入式控制器执行的一个或多个任务相关;用于响应于所述操作数据而从所述功率控制模块接收定时循环数据的单元;以及用于基于从功率控制模块接收的定时循环数据来设置嵌入式控制器的唤醒定时循环的单元。

示例52包括示例51的主题,并且还包括用于确定计算设备是否处于连接待机状态的单元;以及用于进入低功率状态的单元。

示例53包括示例51和52中任一项的主题,并且还包括用于基于嵌入式控制器唤醒循环确定嵌入式控制器是否应该唤醒并执行一个或多个任务的单元。

示例54包括示例51-53中任一项的主题,并且其中用于发送操作数据的单元包括用于基于存在于计算设备中的条件来测量操作数据的单元;以及用于将操作数据发送到所述功率控制模块的单元,其中所述操作数据与由所述嵌入式控制器执行的一个或多个任务相关。

示例55包括示例51-54中任一项的主题,并且其中用于发送操作数据的单元包括用于发送指示计算设备的处理器的操作温度的热数据的单元。

示例56包括示例51-55中任一项的主题,并且其中用于发送操作数据的单元包括用于发送指示计算设备的电池中可供使用的电量的电池寿命数据的单元。

示例57包括示例51-56中任一项的主题,并且其中用于设置唤醒定时循环的单元包括用于设置嵌入式控制器的唤醒定时循环以比功率控制模块的唤醒循环导致嵌入式控制器唤醒更频繁地唤醒嵌入式控制器的单元。

示例58包括示例51-57中任一项的主题,并且其中用于设置嵌入式控制器的唤醒定时循环的单元包括用于将嵌入式控制器的唤醒定时循环设置为比功率控制模块的唤醒循环使嵌入式控制器唤醒更不频繁地唤醒嵌入式控制器的单元。

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