首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

嵌入式系统电源的管理和功耗的控制

嵌入式系统电源的管理和功耗的控制

在嵌入式系统中,电源的管理和功耗的控制,始终是一个非常重要的任务。所以通常面向嵌入式应用的CPU都会有各自不同的软硬件策略来辅助电源管理和功耗控制,最常见的包括各种低功耗模式,以及动态的频率切换等功能。本文的目的主要结合自己最近在MarvellMonahans平台上所做的工作,总结一下所学习的相关知识,及软硬件框架和实现。

1电源和功耗管理的工作内容嵌入式设备上的电源和功耗管理,从大的方面来说,所要做的工作应该会包括以下几点:
1.1系统状态的切换从很大程度上来说,嵌入式系统的电源和功耗管理都是围绕着CPU和系统总线的工作状态来进行的,(当然,LCD等背光的管理也是很重要的一个方面)。所以,通常来说,我们所讨论的嵌入式系统中的系统状态,从CPU和系统总线的角度来说,大致可分为以下几种:
1.1.1全速工作模式嵌入式系统的CPU通常不会工作在超频状态下,所以全速工作状态就是指CPU运行在手册所推荐的最大工作频率下。
1.1.2降频工作模式除去背光所消耗的功率,在系统中,CPU本身所消耗的功率通常占据了相当大的一个比例,所以为了降低功耗,让CPU工作在非全速状态也是一个常见的做法。
ARM架构CPU的变频操作通常是通过协处理器指令来实现的。变频过程中,除了要处理CPUCore频率,还需要处理相关总线和外设的频率变换,因为通常各种总线频率在变频过程中都有可能改变,而外设的时钟信号等也有可能相应的受到影响。
1.1.3低功耗模式不同的CPU通常都会实现各自不同的低功耗模式,不过,如果抛开名字和具体细节上的差异,仅从本质上讨论其相类似的工作原理,那么,大致所涉及到的内容会包括:

  • CPU Core的时钟是否保持
  • CPUCORE电压是否保持
  • CPU核心寄存器是否保持
  • 外设总线时钟是否保持
  • LCD是否保持刷新
  • 外部SDRAM是否保持刷新
  • 内部SRAM是否保持刷新
  • 睡眠唤醒用RTC时钟是否保持刷新

按照其中这些状态的组合,不同的CPU会定义各自不同阶段程度的低功耗工作模式。
低功耗模式对消费类的嵌入式系统来说尤其重要,它关系到设备的最大待机时间。
1.1.4深度休眠模式严格来说,深度休眠模式也是低功耗模式的一种,这里单独提出来是因为通常它会被作为系统的关机状态来使用。

例如手机这类设备,在关机后,通常系统也并没有完全断电,因为还要考虑到系统时间的更新以及闹钟唤醒等功能,所以系统关机后通常都是处于所谓的深度休眠模式。这时候,通常只有RTC时钟相关的一小部分电路处于工作状态,这时候也会采用和系统总线相独立的低频率的晶振作为时钟来源。

为了保证RTC的电路的不间断工作,通常还会在主板上放置一个小的备用电池。当然,如果主电源和备用电池都切断了,那系统就真的进入完全断电的状态了。

1.2低功耗模式下,系统底电流的控制当系统工作在低功耗模式,尤其是休眠状态下,系统底电流的控制是非常重要的。首先要定义一下休眠状态的含义,这里所说的休眠状态,不是指上述关机状态下的深度休眠模式,也不是指PC上的Hibernate。我们所说的休眠模式是指在保证CPU和整个系统能够从内存中快速恢复工作的前提下,系统所可能进入的最低功耗状态。这通常指:

  • CPU核心电压和和时钟关闭
  • 外设时钟关闭
  • 外部SDRAM保持自刷新状态
  • 内部SRAM维持刷新

在这种状态下CPU自身的功耗被降到最低,但系统总体的底电流还和外设工作状态相关,所以需要根据系统状态在恰当的时刻控制外设的供电和工作状态以保证总体电流的最优化。

Linux内核中,这个恰当的操作时机,通常是指在统一设备驱动模型中,设备驱动所注册的SuspendResume函数被系统电源管理模块所调用时。设备驱动需要自己保证在Suspend函数被调用时完成自身必要的休眠或者断电等操作,而在Resume函数中重新恢复自己的正常工作状态。

除此之外,底电流的控制和主板本身的硬件设计也有很大关系。

1.3系统运行模式下,功耗的控制如果说低功耗模式下系统功耗的控制关系到消费类嵌入式设备的待机时间,那么运行模式下的功耗控制则关系到系统正常使用的时间,同样也是至关重要的。

从总体来说,要降低系统运行时的功耗,所涉及到的内容大致会包括:

背光亮度的控制,例如在适当的时候自动调节系统背光亮度,时间等,在某些场合关闭系统背光。

尽量关闭不必要的外设,只有在需要使用的时候才对相关外设进行上电操作(例如Camera,蓝牙,wifi等),或者让一些不能关闭的外设在工作间隙处于休眠状态。

适时的变频操作,在CPU和总线负载较低的情况下,进行恰当的降频操作,降低CPU本身的功率消耗,同时在负载升高的时候,能够保证及时的恢复较高的工作频率,不影响用户的正常使用。

此外应该还包括恰当的器件选型,软件性能优化等其它手段。
返回列表