[0072] 尽管被示出为不同的实体,但是功率估计器202、组件分析器204、UX管理器206、依赖性管理器208和调度器210中的任何一个或全部可以以任何适合的形式被实现为彼此分离或组合或集成。例如,这些实体中的任一个或其功能通常可以被组合为电源管理器118,其可以被实现为操作系统114的应用程序接口(API)或系统组件。
[0073] 电源系统200还包括电源电路120,其提供电源管理器118、计算设备102的组件和/或电池单元122之间的接口。通常,电源电路120可以包括使得计算设备120能够从电池单元122抽取功率(例如,放电)、将功率应用到电池单元122(例如,充电)并且实现其各种实施例的硬件和固件。在该特定示例中,电源电路120包括充电电路212、感测电路214、隔离电路
216和电压调节电路218(调节电路218)。
[0074] 电源电路120被配置为提供对电池单元122充电的电流。充电电路可以实现任何适合的充电分布图,诸如恒定电流、恒定电压、由电源管理器118所提供的自定义分布图等。在至少一些实施例中,充电电路212能够将不同的电流量提供到被并发充电的不同的相应电池单元。
[0075] 感测电路214被配置为感测或监测电池单元122的操作特性。这些操作特性可以包括电压电平、电荷状态、应用到电池单元122的相应一个的电流量或从电池单元122的相应一个汲取的电流量。在一些情况下,感测电路214可以被实现为与电源电路120集成,诸如包括感测元件(例如,模拟数字转换器(ADC)和感测
电阻器)的充电
控制器(例如,PMIC)或电路的一部分。
[0076] 电源电路120还包括隔离电路216,其使得电源管理器118能够隔离电池单元122的单个或子集。当被隔离时,单个电池单元或电池单元的子集可以被并发地充电或放电。例如,充电电流可以被应用到由隔离电路216隔离的电池单元,而计算设备102从剩余的电池单元的全部或子集汲取操作功率。在一些情况下,隔离电路被实现为复用电路,其在电池单元122之间切换以促进与适当的一组电源电路的连接,以用于电池单元感测、功耗或充电。
[0077] 调节电路218将由电池单元122所提供的功率调节成适于由计算设备102的组件消耗的电压。在一些情况下,调节电路218从变化的电池电压将一个或多个相对恒定电压(例如,1.8V、3.3V或5V)处的功率提供到计算设备102的各种组件或模块。在这样的情况下,调节电路可以提供功率,而电池单元122的相应电压保持大于截止(例如,保护)阈值。
[0078] 电池单元122可以包括任何适合的数目或类型的电池单元。在该特定示例中,电池单元122包括电池单元1 220、电池单元2 222和电池单元N 224,其中N可以是任何适合的整数。在一些情况下,在不脱离本公开的精神的情况下,计算设备可以包括在此所描述的技术可以应用到的单个电池单元122。在其他情况下,电池单元122可以包括电池形状、容量或化学类型的各种同类或异类组合。
[0079] 电
池化学的示例类型包括锂离子(Lion)、锂聚合物(Li-Poly)、锂陶瓷(Li-C)、柔性印刷电路Li-C(FPC-Lic)等。电池单元122中的每个电池单元122可以具有特定或不同的单元配置,诸如化学类型、形状、容量、封装、
电极大小或形状、
串联或并联单元布置等。因此,电池单元122中的每个电池单元122还可以具有不同的参数,诸如内电阻、电容或浓度电阻。
[0080] 示例方法
[0081] 本文描述的方法可以整个地或部分地彼此分离地或组合地被使用。这些方法被示出为诸如通过一个或多个实体或模块所执行的操作(或动作)的集合,并且不必限于所示出的用于执行操作的顺序。在以下讨论的部分中,可以参考图1的操作环境100、图2的电源系统200的实体以及本文中其他地方所描述的其他方法和示例实施例,所做的参考仅用于举例。
[0082] 图3描绘了用于支持电池维持特定电压电平的方法300,包括由电源管理器118或调度器210所执行的操作。
[0083] 在302处,确定设备的电池可以提供的功率量。这种可用功率量可以是在维持特定电压电平的同时电池可以提供的功率量。在一些情况下,特定电压电平处于或大于电池的截止电压。可以针对发生或将发生的时间点、时间段或时隙做出可用功率的确定。例如,可以针对任务运行或执行的相应时隙(诸如操作系统(OS)调度器的那些时隙)确定可用功率量。在一些情况下,可以基于在此所描述的因素(诸如电池SoC、终端电压、额定电池容量等等)估计或确定可用功率量。因此,在这样的情况下,可用功率量可以不是确切确定,而是由系统组件(例如,功率估计器202)所估计的近似量。
[0084] 通过示例,考虑电源系统200和计算设备102的组件,诸如处理器核心110、显示器124和数据接口128。此处,假定电源系统200被实现在智能电话104中,智能电话104处于通过WiFi连接同步电子邮件的过程中。通常,利用智能电话104的组件来同步电子邮件消耗相对低的
平均功率量。
[0085] 这种情况的例子由图4的电压图400示出,其中平均功耗402大约为1.5瓦特。在操作302的上下文中,功率估计器202确定电池单元122在不遭遇其软截止电压的情况下可以提供3.2瓦特的功率,其比当同步电子邮件时所消耗的1.5瓦特的平均电流量高。
[0086] 在304处,确定设备的组件将消耗的功率量。该功率可以是组件在以其各自的功率状态执行任务的同时将消耗的必需功率量。可以针对发生或将发生的时间点、时间段或时隙做出必需功率的确定。例如,可以针对任务运行或执行的相应时隙(诸如OS调度器的那些时隙)确定必需功率量。在一些情况下,可以查询OS调度器以确定哪些任务并且因此哪些资源或组件被调度用于利用。
[0087] 如关于可用功率量所提到的,可以基于在此所描述的因素(诸如将由设备执行的任务或操作以及用于其执行的组件),来估计或确定必需功率量。因此,在这样的情况下,必需功率量可以不是确切确定,而是由系统组件(例如,组件分析器204)所估计的近似量。
[0088] 在正在进行的示例中,组件分析器204预报在同步电子邮件并且执行其他任务的同时智能电话104的组件将消耗的功率量。尽管同步电子邮件通常消耗低的平均功率量,但是其他任务的并发执行可能引起瞬时功耗的尖峰。这种情况的示例通过图4的电压图400示出,其中当处理器核心110并发地执行数个其他
后台任务时,功耗迅速上升到峰功耗404。
[0089] 而且,假定智能电话104的电池单元122处于低电荷状态,诸如大约为容量的12%。如由功率图406所图示的,通常地,当电池单元122的功率能力408(例如,电荷状态)较低时,迅速上升到峰功耗404可能使得功率需求410超过功率能力408。这被示出在412处,在412处,功耗的尖峰可能使得智能电话104意外地关闭。
[0090] 从电源管理器118的角度来说,可以量化这种功耗尖峰,如在图5的功率图500中所示的。在该特定示例中,功率图500包括用于CPU502、WiFi接口(WiFi 504)和显示器506的相应的功耗水平,其中的每一个可以与关于操作环境100所描述的组件相对应。在操作304的上下文中,组件分析器204和/或调度器210确定在给定时间处每个组件将消耗的相应的功率量。
[0091] 在306处,确定必需功率量超过可用功率量。在一些情况下,这样的确定可以指示如果相应的功率量未被改变,则电池将遭遇其软或硬关闭阈值。可以针对当前时间点或未来时间点(诸如在任务运行或执行的调度中即将到来的时隙)做出确定。在一些情况下,该确定不是确切的并且可以在特定
置信度水平(例如,>50%或>75%)或发生概率的情况下做出。例如,当期望的必需功率量接近但是不超过可用功率量时,可以估计实际的必需功率量将迅速上升超过可用功率的概率。备选地或者附加地,可以通过将必需功率的估计和在功率尖峰期间所消耗的实际的必需功率量相比较,来随时间调节这些置信度水平或概率。
[0092] 继续正在进行的示例,调度器210确定在时间t2处CPU 502、WiFi 504和显示器506的组合的功耗将超过在维持操作电压电平的同时电池单元122可以提供的功率量。
[0093] 在308处,改变组件的功率状态中的一个或多个以有效地减少执行任务所消耗的必需功率量。通常,组件的功率状态被降低以减少由每个组件所消耗的相应的功率量。然而,在一些情况下,当一个组件的功率状态的降低显著地减少功耗时,如果净功率量仍然可用于消耗,则另一组件的功率状态可以被提升。这还可以有效减轻对与降低各种组件的功率状态相关联的用户体验的一些消极影响。
[0094] 在一些实施例中,可以基于组件之间的相互依赖性,选择功率状态被改变的组件。例如,处理器核心可能需要在支持其他组件的操作时维持特定功率状态,这可以防止处理器核心的功率状态进一步降低。备选地或者附加地,每个组件的功率状态被改变的程度可以取决于该组件可以支持任务的执行的最小功率状态。
[0095] 在本示例的上下文中,调度器210查询UX管理器206和依赖性管理器208,以确定哪些组件的功率状态可以在对用户体验具有最小影响的情况下被改变,而仍然支持电子邮件同步。基于UX管理器206和依赖性管理器208所提供的信息,调度210确定CPU 502的功率状态可以在时间t2处被改变,而对用户体验具有最小影响。
[0096] 如在功率图500和508中所示的,CPU 502的功率状态从510处的S5被降低到512处的S2,这对于使得时间t2处所消耗的功率保持小于电池单元122可以提供的3.2瓦特是有效的。通过这样做,功耗尖峰被抑制,并且智能电话104能够继续操作,如在图6的功率图600中所示的。此处,注意通过抑制602处的功率尖峰,电池单元122的附加的电荷状态在604处是可访问的。此处,注意,这不仅导致智能电话104的更长的运行时间,而且允许电池单元122'的能量的更高效的使用。
[0097] 可选地,在310处,组件的功率状态中的一个或多个再次被恢复或改变。在一些情况下,功率状态在必需功率不超过可用功率的另一时间点或时隙处被恢复或改变。该时间点可以出现在功率尖峰被抑制的时间(例如,时间t1)之前或之后。通过恢复或提升组件的功率状态,调度器改进了任务被执行的速率或质量。
[0098] 结束本示例,调度器210确定在时间t3存在剩余的可用功率量。此处,调度器210将CPU 502的功率状态从514处的S2提升到516处的S5,这对于减轻通过在时间t2处降低CPU 502的功率状态可能引起的任何感知性能退化是有效的。
[0099] 图7描绘了用于改变资源的功率状态的方法700,包括由电源管理器118、依赖性管理器208或调度器210所执行的操作。
[0100] 在702处,接收对设备执行任务的请求。任务可以具有相关联的优先级,其指示关于其他任务的执行优先级。在一些情况下,该请求在设备的OS调度器处被接收,通过OS调度器对任务进行优先化以用于资源分配。任务可以是在计算设备上执行的线程、应用或操作系统的一部分或属于所述线程、应用或操作系统。
[0101] 在704处,确定设备的资源将消耗的用以执行该任务和其他任务的必需功率量将超过可用功率量。利用资源的其他任务可以包括其他应用或操作系统的任务,诸如后台或内务管理任务。
[0102] 在一些实施例中,将电池的终端电压与电池的最小操作电平相比较,其可以指示设备关闭或减电的可能性。可用功率量可以是没有到达临界电压阈值(诸如关断电压电平)的情况下电池可以提供的功率量。在一些情况下,通过组件分析器204确定必需功率量。例如,OS可以通过计算预期的电池电压下降来估计任务或操作的执行将具有什么影响,预期的电池电压下降是执行任务所需的电流量乘电池的内部电阻,其模型将在本文描述。
[0103] 在706处,确定其他任务中的哪些具有比所请求的任务的优先级更低的相应优先级。可以与主要用户交互的主要应用相关联的所请求的任务可以具有比在后台中运行的其他任务更高的优先级。例如,与执行视频通话或多媒体回放相关联的任务常常具有比这些后台任务(诸如存储器管理和存储功能)更高的优先级。在一些情况下,用户接口或控制装置(诸如与相应应用或任务相关联的滑动条)使得用户能够关于应用到这些应用或任务的优先级或功率节省动作,来设定应用执行的水平。例如,用户可以选择在某种程度上损害应用的执行,从而支持更积极的功率节省动作,诸如减少视频通话的
帧率以延长设备运行时间。
[0104] 在708处,识别设备的参与执行具有更低的优先级的其他任务的资源。在一些情况下,确定所述任务的资源与其他任务的资源之间的依赖性。例如,所述任务和其他任务二者都可以利用特定资源的相应量,特定资源诸如为处理器、存储器、通信接口等。在这样的情况下,可以识别仅参与执行其他任务的资源,而不是与具有更高的优先级的所述任务共享的那些资源。
[0105] 在710处,改变所识别的资源的相应功率状态,以减少由这些资源所消耗的必需功率量。在一些情况下,所识别的资源的相应的功率状态被降低,以减少由这些资源所消耗的必需功率量。备选地或者附加地,设备的任务或操作的相对定时可以被改变或交错,使得耗电操作不同时发生。这可以有效降低所识别的资源或与耗电操作对应的其他资源的功率状态。
[0106] 这些技术或者单独或者组合地可以有效减少必需功率量,使得必需功率量不超过可用功率量。在一些情况下,这可以有效使得具有更高的优先级的任务能够经由默认或更高的功率状态处的资源被执行。通过这样做,与资源性能的
原子衰变(例如,节流设备的所有资源)相反,可以保存或改进任务的服务或质量(例如,用户体验)。
[0107] 在其他情况中,诸如当减电或设备重置不可能发生时,改变组件的功率状态或重新调度任务的执行以平滑电池上的负载可以有效增加可用电池容量。平均而言,减少电池上的电流负载的量减少了损耗到电池的内电阻上的能量。如在此所注意的,随着电池容量在设备操作期间被耗尽(例如,接近于最小电压阈值),这种负载平滑能力变得甚至更重要,因为系统减电或停电的点可以被延迟。
[0108] 可选地,在712处,改变参与执行所请求的任务的资源的相应功率状态,以进一步减少由资源所消耗的必需功率量。在一些情况下,改变与执行其他任务相关联的功率状态可能不会将必需功率减少足够的量。在这样的情况下,改变参与执行具有更高的优先级的任务的资源的相应功率状态可以进一步减少所消耗的必需功率。这可以有效减少必需功率量,使得必需功率量不超过当任务被执行时的可用功率量。尽管任务的服务或质量也可能被降低,但是通过防止必需功率量超过可用功率量,设备可以继续操作并且提供用户功能。
[0109] 图8描绘了用于对资源供电顺序化的方法800,包括由电源管理器118或调度器210所执行的操作。
[0110] 在802处,接收任务被调度用于执行的指示。任务可以是正在设备上执行的线程、应用或操作系统的一部分。在一些情况下,任务是设备被配置为执行的操作的一部分。
[0111] 在804处,识别与任务的执行相关联的、设备的资源。这些资源可以包括处理组件、存储器组件、通信组件、存储组件、显示组件等。备选地或者附加地,还可以确定每个组件用于支持任务的执行的相应最小功率状态。
[0112] 在806处,识别与任务的执行相关联的资源之间的相互依赖性。相互依赖性可以指示资源需要维持的用以使得其他资源能够执行任务的至少一部分的相应的操作或功率状态。例如,处理器可能需要维持非空闲功率状态,以支持经由无线接口的数据通信。
[0113] 在808处,确定用于对资源供电的顺序。对资源供电的顺序可以最小化在任务的执行期间由资源汲取的瞬时功率量。例如,不是同时地对所有资源供电,而是在不同的时间单独地对资源供电。备选地或者附加地,这种顺序可以被配置为最小化通过将资源的供电排序或交错引起的任何不利影响(例如,用户体验损害)。
[0114] 在810处,根据所确定的顺序对与任务的执行相关联的资源供电。由于对资源上电通常消耗更高的功率量,因而将资源的供电交错或顺序化可以有效减少由资源汲取的瞬时功率量。
[0115] 图9描绘了用于通过管理设备的应用或组件来减少功耗的方法900,包括由电源管理器118或调度器210所执行的操作。
[0116] 在902处,确定正由设备消耗以执行一个或多个任务的功率量。任务可以是在设备上正执行的线程、应用或操作系统的一部分。在一些情况下,任务是设备被配置为执行的操作的一部分。例如,设备的应用,诸如视频呼叫应用或视频游戏,可以与被调度由设备执行(例如,运行)的多个任务相对应。这些任务可以包括视频处理、音频处理、图形
渲染、媒体编码等。在一些实施例中,任务与可以容许某种程度的误差、退化或降低的质量(例如,降低的
采样率或帧率)的高功率应用相关联。备选地或者附加地,这些应用通常可以涉及其
信号处理、音频或视频输出和/或用户感知。
[0117] 可选地,在904处,任务中的一个或多个任务的执行被调度,以减少设备所消耗的功率量。在一些情况下,至少一些任务的执行被交错或被延迟,以有效减少由执行任务的组件同时地消耗的电流或功率的量。通过示例,考虑执行视频通话的电话,视频通话包括用于编码用户的视频、解码从发送者接收到的视频、传递双向视频和音频数据的任务。取代在单个执行时隙中并发地执行这些任务,这些任务可以跨不同时隙被交错,以减少在电池上汲取的瞬时功率。通过这样做,可以减少在设备或其电池内浪费的能量。例如,减少汲取的电流可以减少与DC-DC转换低效或低SoC处的电池的内电阻的增加的电平相关联的损耗。
[0118] 可选地,在906处,确定可以执行任务的可接受的质量水平。可接受的质量水平可以是用户不能注意到质量的降低的水平,或者是未显著地影响与任务或关联于任务的应用相关联的用户体验的水平。在一些情况下,可以从用户接收到输入,其指示针对给定应用的可接受的质量或性能水平。返回到视频通话的示例,在没有可感知地影响视频通话的质量的情况下,输入或输出帧率可以被减少大约5-15%。通过减少这些帧率,电话的处理组件在给定持续时间期间汲取较少的电流,其进而减少由电话的电池的内电阻所消耗的浪费能量。
[0119] 可选地,在908处,降低执行任务的质量水平。这也可以有效降低执行与任务相关联的应用的质量水平。然而,如上所述,用户可能不能感知到这种降低的质量水平,或者可能接受这种降低的性能水平作为延长的设备运行时间的折中。在视频电话通话的上下文中,随着电池的功率容量的减少,视频通话的质量(例如,帧率)可以被减少,以有效延长视频通话或任何其他应用场景的持续时间,直到性能变得用户难以忍受为止。在一些实施例中,降低任务执行的质量水平的目标是保持功耗低于电池的功率容量。通过这样做,设备运行时间被延长,而对用户利用设备的应用的体验具有最小影响。
[0120] 可选地,在910处,减少与执行任务相关联的组件的操作,以有效减少所消耗的功率量。在一些情况下,这可以包括减少组件操作以处理或传递数据的频率或电压。在其他情况下,组件的占空比可以被改变以增加“关闭”时间。例如,考虑经由发光
二极管(LED)或有机LED(OLED)
背光式显示器呈现媒体的电话或膝上型电脑。此处,假定用户的眼睛可以用作虚拟电容器,其可以有效平滑光中的小突发或间歇改变。
[0121] 将显示器的亮度断开或减少近似10-20毫秒的时段可以减少显示器所消耗的功率。而且,以近似10-20毫秒的粒度,这可以有效减轻与其他组件相关联的附加电流汲取。在一些情况下,该附加电流汲取可以包括近似10-20毫秒的无线电或CPU活动的突发,在这个时段期间,显示器的背光可以被断开以减少总功耗。如上所述,用户可能不能感知到显示器的改变的操作,但是可以减少由设备所消耗的总功率。备选地或者附加地,可以通过在减少的亮度的那些时段之后的时段中增加显示器的亮度来补偿显示器的亮度。
[0122] 可以以硬件(例如,固定
逻辑电路)、固件、片上系统(SoC)、软件、手动处理或其任何组合来实现这些方法的各方面。软件实现表示当由计算机处理器执行时执行
指定任务的程序代码,诸如软件、应用、例程、程序、对象、组件、数据结构、步骤、模块、功能等。程序代码可以本地地和/或远离计算机处理器地被存储在一个或多个计算机可读存储器设备中。还可以通过多个计算设备在分布式计算环境中实施这些方法。
[0123] 示例设备
[0124] 图10图示了示例设备1000的各种组件,示例设备1000可以被实现为如参考先前的图1至图9描述的用以实现抑制功率尖峰的技术的任何类型的移动、电子和/或计算设备。在实施例中,设备1000可以被实现为有线和/或无线设备中的一个或组合,被实现成以下形式:电视客户端设备(例如,电视机顶盒、数字视频录像机(DVR)等)、消费者设备、计算机设备、
服务器设备、便携式计算机设备、用户设备、通信设备、视频处理和/或渲染设备、电器设备、游戏设备、电子设备和/或另一类型的设备。设备1000还可以与操作设备的用户(例如,人)和/或实体相关联,使得设备描述包括用户、软件、固件和/或设备的组合的逻辑设备。
[0125] 设备1000包括支持设备数据1004(例如,接收到的数据、正被接收的数据、被调度用于广播的数据、数据的数据分组等)的有线和/或无线传递的通信模块1002。设备数据1004或其他设备内容可以包括设备的配置设置、被存储在设备上的媒体内容和/或与设备的用户相关联的信息。被存储在设备1000上的媒体内容可以包括任何类型的音频、视频和/或图像数据。设备1000包括一个或多个数据输入1006,经由其可以接收任何类型的数据、媒体内容和/或输入,诸如用户可选择的输入、消息、音乐、电视媒体内容、记录的视频内容和任何其他类型的音频、视频和/或从任何内容和/或数据源接收到的图像数据。
[0126] 设备1000还包括通信接口1008,其可以被实现为以下各项中的任何一项或多项:串行和/或并行接口、无线接口、任何类型的网络接口、
调制解调器和任何其他类型的通信接口。通信接口1008提供设备1000与通信网络之间的连接和/或通信链路,其他电子、计算和通信设备通过通信网络与设备1000传递数据。
[0127] 设备1000包括一个或多个处理器1010(例如,
微处理器、控制器等中的任一个),其处理各种计算机可执行指令以控制设备1000的操作并且实现支持功率尖峰的抑制的技术。备选地或者附加地,可以利用结合在1012处通常所标识的处理和控制电路实现的硬件、固件或固定逻辑电路的任何一个或组合实现设备1000。尽管未示出,但是设备1000可以包括耦合设备内的各种组件的
系统总线或数据传送系统。系统总线可以包括不同的总线结构(诸如存储器总线或者存储器控制器、外围总线、
通用串行总线和/或利用各种总线架构中的任一个的处理器或本地总线)的任何一个或组合。设备1000还包括电源电路120和电池单元122,其被配置为给设备1000提供操作功率。设备1000还可以包括诸如从AC电源或与电池单元122类似配置的外部连接的电池接收外部功率的接口。
[0128] 设备1000还包括计算机可读存储介质1014,诸如支持持久和/或非暂态数据存储(即,与仅
信号传输相反)的一个或多个存储器设备,其示例包括随机存取存储器(RAM)、
非易失性存储器(例如,
只读存储器(ROM)、闪速存储器、EPROM、EEPROM等中的任何一项或多项)和磁盘存储设备。磁盘存储设备可以被实现为任何类型的
磁性或光学存储设备,诸如
硬盘驱动器、可记录和/或可重写压缩光盘(CD)、任何类型的数字通用光盘(DVD)等。设备1000还可以包括海量存储介质设备1016。
[0129] 计算机可读存储介质1014提供存储设备数据1004以及各种设备应用1018和与设备1000的操作方面有关的任何其他类型的信息和/或数据的数据存储机制。例如,操作系统1020可以利用计算机可读存储介质1014被维持为计算机应用并且在处理器1010上被执行。
设备应用1018可以包括设备管理器,诸如任何形式的控制应用、软件应用、
信号处理和控
制模块、本地于特定设备的代码、针对特定设备的硬件抽象层等等。
[0130] 设备应用1018还包括实现技术的任何系统组件或模块,诸如电源管理器118和其组件的任何组合。
[0131] 结论
[0132] 尽管已经以特定于特征和/或方法的语言描述了抑制功率尖峰的技术和装置的实施例,但是将理解到,随附的权利要求的主题不必限于所描述的特定特征或方法。而是,特定特征和方法被公开为抑制功率尖峰的示例实现。