• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 电子设计 > 电源技术 > 电源技术 > 让基于Linux的手持设备获得更长的电池寿命

让基于Linux的手持设备获得更长的电池寿命

录入:edatop.com    点击:

在竞争激烈的移动电话及其他手持无线设备市场中,OEM商们从来都不能忽视最基本的一个指标——电池寿命。用户根据总的通话时间可以感觉到功耗管理的效果,而隐藏在功耗管理背后的则是CPU的性能、系统软件、中间件以及操作系统等技术的综合。

据业内某分析师的观点,Linux已在智能电话(smartphone)这一手持设备的尖端领域中取得了长足发展,许多制造商在其数百万产品中采用了这种操作系统。由于具有企业和工作站的背景,Linux的性能、强大功能、安全性及网络特性使之适用于高端手机应用。不过高端智能电话面临最大困难还在于手持设备的功耗预算上。因为需要更大的触摸屏显示器、多媒体功能、专用的WAN调制解调芯片、蓝牙与Wi-Fi网络接口以及用于可下载应用的更多RAM和闪存,使得这种产品需要更高的BOM成本,同时也增加了手机的功耗。

Linux用于移动应用所面临的挑战在于摆脱高端、高功能的束缚,从而进入更大批量的中端甚至入门级产品当中。手持设备制造商和移动芯片组制造商都明白,功率和功耗管理是Linux在手持设备市场进一步扩展的关键。

留心一点的笔记本用户很快就能注意到,他们的便携设备在电池提供交流电源的情况下运行状态的不同表现如:屏幕变暗,处理器时钟变慢,而且系统随时都可能进入待机或休眠状态。手持设备的用户同样也会察觉到经过一段静止状态后屏幕变暗和设备进入休眠状态,而手机用户也逐渐习惯于在拨号后背光和键盘灯自动熄灭的情况。在上述可见行为的背后正是移动设备中软硬件技术和方法综合的结果。

设备功耗的估算

任何一个曾把手指放到过滚热的CPU芯片上的人都知道,高速运行的芯片会消耗许多能量,GHz以上的系统时钟会使台式电脑与白炽灯和家用电器产生一样的功耗。

移动手持设备的情况有所不同,目前高端移动产品都选择适当的CPU指标,时钟频率范围在200至500MHz间,只用于语音的产品则运行在40MHz或更低频率下。同样,移动设备的CPU功耗只有全部预算的四分之一或更少,包括显示器和背光所消耗的锂电池功耗分配如图1所示。这个结果是一个有效功率优化的方案,在Linux和其他操作系统下,还必须包括一系列除CPU之外的子系统的功耗。

图1:手机中各类器件功耗占总功率预算的百分比。

功耗管理方法和技术主要依赖于芯片和软件功能的综合,包括时钟频率、工作电压、器件低功耗以及更多的MIPS/W。在所有型号的移动应用中,用于节省能量最常规的优化方法是时钟调整。此外多数移动设备的CPU所运行的默认主频均低于其峰值中频率,而笔记本所采用的方法通常是在系统空闲时才降低主频。移动/手持设备仅仅在应用程序或I/O事件需要额外的数据传输时才提高CPU的主频。

传统的芯片设计技术难于或不可能在系统工作期间改变工作电压,甚至在系统设计中也不可能做到。同样大多数早期的电源管理技术都及侧重于时钟速率和总的(开/关)外围设备节能。然而,调节工作电压事实上对节能可起到更大的作用。时钟调节对延长电池寿命的效果接近于线性,而电压调节对节能产生的影响则呈指数变化。而像Intel的XScale和TI的OMAP这类现代移动产品中的CPU就具有很宽的工作电压范围,并利用其片上的外围器件实现节能的目标。

静态时用户可以选择将其移动设备处于低功耗状态(待机),当然也有其它更加节能的措施。甚至无需用户干涉,系统软件也能选择性地关闭一些板上设备以实现节能。

对于计算量大的应用程序而言,如游戏、语音识别以及某些企业客户机软件等,近来CPU所采用的先进设计可使设计人员在不提高系统时钟的条件下增加计算性能,正如现代服务器、日益增长的高性能台式机一样,多内核处理器将会进入到手持设备当中。去年初ARM曾证实了其双和四CPU形式的ARM11架构,真正投入应用则需等到今年年底以后。

尽一切可能实现功耗管理

结合功率预算和优化技术,手机设计人员可以利用所有的手段来使每个元件和子系统的功耗降低,从而实现节能的目的。例如采用运行Linux或其他操作系统的“应用处理器”,片上DSP和多媒体编解码器可通过时钟和频率调整实现功率管理等。除CPU内核外,能量的节约还可以从改变易失性和永久性存储器的总线时钟、刷新速率及访问模式中得到挖掘。此外还能通过关闭或调整系统之外的总线或设备性能来实现节能。

Linux功耗管理工具箱

在过去的十年间,开放源码的组织、Linux经销商和工具供应商以及主要半导体供应商的软件团队都曾投入过巨资,来实现和提高开放源码GNU/Linux操作系统的功耗管理功能。由于Linux代码具有开放的特性,这种操作系统确实为全球实验室的节能技术实验和创新提供了条件。

嵌入式设备OEM商通常根据桌面设备的情况启动其研究,以ACPI和APM为主导的笔记本方案在有关Linux功率管理的研讨邮件中占据了多数内容(www.kml.com)。对于非x86/IA-32的笔记本硬件,OEM商则侧重于Apple PowerPC的PMU(见表)。嵌入式OEM商采用ARM授权的芯片可以利用ARM的IEM架构,或与多种ARM认可的(如Freescale、Intel、NEC、Samsung及TI)功率管理方案协同工作。除此之外还存在一些特定的及其他的节能协议,包括由MIPS支持和授权的协议、Freescale的CPU系列、IBM的Power Architecture、Renesas与Hitachi以及其他芯片供应商的方案。OEM商还可以选择诸如MontaVista DPM一类的软件平台和其它Linux供应商的解决方案。

有选择当然是好事,但选择过多就会造成分歧。为此开放源码开放实验室Mobile Linux Initiative(OSDL MLI)和其它嵌入式工业组织都期望看到一个统一的、与处理器无关的功率和功耗管理方案,或者是一个主流的高级全能方案,可以覆盖嵌入式、桌面甚至刀片产品。

动态管理

尽管APM和ACPI等桌面/笔记本方案更为普遍,但ARM IEM和MontaVista DPM对于功耗管理的投资回报还是最大的。多数全球性和地区性利用Linux配置手机的移动设备制造商都采用了IEM、DPM或其他成套方案。

动态管理的明确特性在于根据工作状态而进行的高频率变化。与早期在数百毫秒或数秒间改变工作状态的功率管理不同,动态管理方案仅在需要改变电源电压或改变CPU时钟时才改变设备的工作状态。

图2显示了一个在帧传输或本地存储的视频之间的节能动态管理方案。高质量视频以24帧/s的速率传输,期间的41.66ms可用于转换下一帧和其他操作。甚至对于以40至60MHz运行的低功耗CPU来说,41.66ms都代表着长时间,同时也意味着有充裕的时间进行功率管理。

图2:每个视频帧处理期间产生的全部电平波形所需的总功耗图。线以上部分是实际工作状态转换(垂直线)的区域,代表了潜在的节能。

每帧视频呈现给用户时,系统执行的操作如下所述:

CPU开始取回来自本地存储或流文件缓冲器中的下一个压缩帧。由于采用在板DMA引擎,因此这是一个低功耗的CPU活动阶段。

压缩的图像传输(通过DMA或共享存储器)到编解码器(DSP或其它专用硬件)进行解码/复原,这是一个中等CPU功耗和高功耗编解码器操作阶段。

图像解码后,CPU唤醒视频接口驱动器,此时CPU和显示器均处于高功耗阶段。

图像处理期间,显示器背光会消耗能量。无论利用人眼视觉的持续性还是图像本身轻微的调节,该能耗参数都可以降至一个更适当的功耗级上。

动态管理结构

采用嵌入式Linux(以及其他功耗管理操作系统和应用程序),动态功耗管理操作意味着包含了许多级软件栈。动态管理下在Linux内核中低级操作对ARM IEM和DPM均属常见,但管理策略则可以来自中间件和用户的应用程序代码。

理论上,一个功耗管理系统在多数或全部级别的软件栈中都应该是透明的,这种透明表示在Crusoe结构中遵循Transmeta方法,同时也是现有基于BIOS功率管理方案的目标。不过对于获得更长的电池寿命来说,还需要系统之外的某些因素直接参与。这种参与也能使独立软件供应商(ISV)如游戏供应商获得增值的机会。

在MontaVista DPM中,内核子系统维护着系统的功率状态并与功率管理设备保持紧密联系,DPM子系统直接利用API接口与设备驱动器进行通信,使驱动器从满载状态转变为各种功率管理状态。状态管理器(或应用程序本身)通过设定管理方案的API为DPM子系统提供指令,从而使系统按照既定的状态运行。

应用DPM的设备驱动器比普通单一状态(stateless)的驱动器具有更多的状态。来自DPM子系统的外部事件和反馈信号通过反射/跟随操作策略来驱动设备接口,内核API同时允许设备驱动器记录它们所连接/管理的设备的基本操作特性,从而更加细化管理策略。

在DPM模式下写入新的应用或连接已有设备存在三种方法。首先管理监测应用程序可利用API记录基本工作参数并/或驱动功率管理机制改变以满足执行要求;其次早期没有直接功耗管理的应用程序可以通过添加代码来实现同样的功能;第三种方法是早期的应用程序可以运行默认操作,同时查看更多的系统默认方案。

功耗管理的开发与配置

基于Linux的动态能量和功率管理仍在发展当中。ARM及其授权产品目前还处于通用ARM芯片标准化的平衡之中。MontaVista的软件通过自身的效果和CELF与OSDL的优势,使得DPM被嵌入式应用不断采纳。但DRM和IEM均代表着以企业为核心的桌面和服务器方案,从而主导着主流Linux内核开发。除上述有关标准和公认度等问题外,还需要跨越不同技术间的差距,如功耗管理的反应时间等。

电压和频率调整延迟时间

良好的动态节能方案要求系统硬件的响应至少在工作状态改变时能与设定变化速度相同。如果动态电源系统必须从一个工作点跃迁到另一个工作点上,时钟和电源就必须能够在应用要求的时间范围内改变其状态。

电压变化的时间必须小于工作状态改变的时间。为实现前面所述的视频帧优化,改变电压的时间必须在5ms之内(200Hz)。不过当动态管理初次在2003年的Linux中出现时,标准评估板上的电源还只能使电压转换速度达到约200ms左右(5Hz),软件工作正常,但硬件却不能将功耗降下来。在此期间芯片制造商们设计了可支持动态功耗管理及其它功能设计的更加有效的电源。

如果移动设备采用Linux的进程保持现有态势,那么日本和中国等需求量很大的市场在2006年底之前每8部手机中就会有1部配置Linux,总量大约在2,000万部。一般情况下用户不需要了解也不会在意他们的手机采用了哪种操作系统,但对配件器件制造商、集成商及原创设计制造商(ODM)来说则提供了更多操作系统的选择。这种方式正逐渐创造出前所未有的平台品牌,当Linux成为有力的竞争者时,对于开放源码的操作系统而言就意味着进军大批量市场的良机。

作者简介:Bill Weinberg,MontaVista Software创始成员之一,开放源码开发实验室战略/分析师,参与了运营级、数据中心和桌面Linux的OSDL研究,联系方式bweinberg@osdl.org。

作者:Bill Weinberg,开放源码开发实验室

射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...

天线设计工程师培训课程套装,资深专家授课,让天线设计不再难...

上一篇:如何优化便携式产品IC的功率
下一篇:采用SMBus温度传感器IC实现风扇开关控制

射频和天线工程师培训课程详情>>

  网站地图