嵌入式系统中的低功耗设计

发布者:柔情细语最新更新时间:2012-03-31 来源: 电子工程专辑 关键字:低功耗  电源管理  线性稳压 手机看文章 扫描二维码
随时随地手机看文章

经过近几年的快速发展,嵌入式系统(Embedded system)已经成为电子信息产业中最具增长力的一个分支。随着手机、PDA、GPS、机顶盒等新兴产品的大量应用,嵌入式系统的市场正在以每年30% 的速度递增(IDC预测),嵌入式系统的设计也成为软硬件工程师越来越关心的话题。

在嵌入式系统的设计中,低功耗设计(Low-Power Design)是许多设计人员必须面对的问题,其原因在于嵌入式系统被广泛应用于便携式和移动性较强的产品中去,而这些产品不是一直都有充足的电源供应,往往是靠电池来供电,所以设计人员从每一个细节来考虑降低功率消耗,从而尽可能地延长电池使用时间。事实上,从全局来考虑低功耗设计已经成为了一个越来越迫切的问题。

那么,我们应该从哪些方面来考虑低功耗设计呢?笔者认为应从以下几方面综合考虑:

  1. 处理器的选择

  2. 接口驱动电路设计

  3. 动态电源管理

  4. 电源供给电路的选择

下面我们分别进行讨论:

一、处理器的选择

我们对一个嵌入式系统的选型往往是从其CPU和操作系统(OS)开始的,一旦这两者选定,整个大的系统框架便选定了。我们在选择一个CPU的时候,一般更注意其性能的优劣(比如时钟频率等)及所提供的接口和功能的多少,往往忽视其功耗特性。但是因为CPU是嵌入式系统功率消耗的主要来源---对于手持设备来讲,它几乎占据了除显示屏以外的整个系统功

耗的一半以上(视系统具体情况而定),所以选择合适的CPU对于最后的系统功耗大小有举足轻重的影响。

一般的情况下,我们是在CPU的性能(Performance)和功耗(Power Consumption)方面进行比较和选择。通常可以采用每执行1M次指令所消耗的能量来进行衡量,即Watt/MIPS。但是,这仅仅是一个参考指标,实际上各个CPU的体系结构相差很大,衡量性能的方式也不尽相同,所以,我们还应该进一步分析一些细节。

我们把CPU的功率消耗分为两大部分:内核消耗功率PCORE和外部接口控制器消耗功率PI/O,总的功率等于两者之和,即P=PCORE+PI /O。对于PCORE,关键在于其供电电压和时钟频率的高低;对于PI/O来讲,除了留意各个专门I/O控制器的功耗外,还必须关注地址和数据总线宽度。下面对两者分别进行讨论:

1、CPU供电电压和时钟频率

我们知道,在数字集成电路设计中,CMOS电路的静态功耗很低,与其动态功耗相比基本可以忽略不计,故暂不考虑。其动态功耗计算公式为:

Pd=CTV2f

式中,Pd---CMOS芯片的动态功耗


CT----CMOS芯片的负载电容


V----CMOS芯片的工作电压


f-----CMOS芯片的工作频率

由上式可知,CMOS电路中的功率消耗是与电路的开关频率呈线性关系,与供电电压呈二次平方关系。对于一颗CPU来讲, Vcore电压越高,时钟频率越快,则功率消耗越大。所以,在能够满足功能正常的前提下,尽可能选择低电压工作的CPU能够在总体功耗方面得到较好的效果。对于已经选定的CPU来讲,降低供电电压和工作频率,也是一条节省功率的可行之路。 [page]

2、总线宽度

我们还经常陷入一个误区,即:CPU外部总线宽度越宽越好。如果我们仅仅从数据传输速度上来讲,也许这个观点是对的,但如果在一个对功耗相当敏感的设计来说,这个观点就不一定正确了。

同样引用公式Pd=CTV2f ,对于每一条线(地址等数据线)而言,都会面临这样的功率消耗,显而易见,当总线宽度越宽的时候,功耗自然越大。每条线路的容性负载都不太一样,但一般都在4~12PF之间。我们来看下面一个例子:一片1Mbit Flash通过8bit和16bit的

总线与CPU相连,总线频率为4MHZ ,总线电压为3.3V。我们可以得到以下结果:

由上可见,采用16-bit总线和采用8-bit总线会有3.7mw的功耗差异。

当然,如果需要大量频繁地存取数据的场合下,用8-bit总线不见得会经济,因为增加了读写周期。

另外,从上面的例子我们也可以看到:如果CPU采用内置Flash的方式,也可大大地降低系统功率消耗。

二、接口驱动电路的低功耗设计

接口电路的低功耗设计,往往是容易被大家所忽略的一个环节,在这个环节里,我们除了考虑选用静态电流较低的外围芯片外,还应该考虑以下几个因素:

  1. 上拉电阻/下拉电阻的选取

  2. 对悬空脚的处理

  3. Buffer的必要性

通常我们习惯随意地确定一个上拉电阻值,而没有经过仔细地计算。现在我们来简单计算一下,如果在一个3.3V的系统里用4.7KΩ为上拉电阻,当输出为低的时候,每只脚上的电流消耗就为0.7mA,如果有10个这样的信号脚时,就会有7mA电流消耗在这上面。所以我们应该在考虑在能够正常驱动后级的情况下(即考虑IC的VIH或VIL),尽可能选取更大的阻值。现在很多应用设计中的上拉电阻值甚至高达几百KΩ。另外,当一个信号在多数情况下时为低的时候,我们也可以考虑用下拉电阻以节省功率。

CMOS器件的悬空脚也应该引起我们的重视。因为CMOS悬空的输入端的输入阻抗极高,很可能感应一些电荷导致器件被高压击穿,而且还会导致输入端信号电平随机变化,导致CPU在休眠时不断地被唤醒,从而无法进入休眠状态或其他莫名其妙的故障,所以正确的方法是将未使用到的输入端接到VCC或地。

Buffer有很多功能,如电平转换,增加驱动能力,数据传输的方向控制等等,但如果仅仅基于驱动能力的考虑增加 Buffer的话,我们就应该慎重考虑了,因为过驱动会导致更多的能量被白白浪费掉。所以我们应该仔细检查芯片的最大输出电流IOH和IOL是否足以驱动下级IC,如果可以通过选取合适的前后级芯片来避免Buffer的使用,对于能量来讲是一个很大的节约。

三、动态电源管理(DPM)

所谓动态的电源管理就是在系统运行期间通过对系统的时钟或电压的动态控制来达到节省功率的目的,这种动态控制是与系统的运行状态密切相关的,这个工作往往通过软件来实现。

1、选取不同工作模式

如前所述,系统时钟对于功耗大小有非常明显的影响。所以我们除了着重于满足性能的需求外,还必须考虑如何动态地设置时钟来达到功率的最大程度节约。 CPU内部的各种频率都是通过外部晶振频率经由内部锁相环(PLL)倍频式后产生的。于是,是否可以通过内部寄存器设置各种工作频率的高低成为控制功耗的一个关键因素。现在很多CPU都有多种工作模式,我们可以通过控制CPU进入不同的模式来达到省电的目的。

我们以SAMSUNG S3C2410X (32bit ARM 920T内核)为例,它提供了四种工作模式:正常模式、空闲模式、休眠模式、关机模式,各种模式的功耗如下:

由上图可见,CPU在全速运行的时候比在空闲或者休眠的时候消耗的功率大得多。省电的原则就是让正常运行模式远比空闲、休眠模式少占用时间。在类似 PDA的设备中,系统在全速运行的时候远比空闲的时候少,所以我们可以通过设置使CPU尽可能工作在空闲状态,然后通过相应的中断唤醒 CPU,恢复到正常工作模式,处理响应的事件,然后再进入空闲模式。

2、关闭不需要的外设控制器

一般来讲,CPU都提供各种各样的接口控制器,如I2C、I2S、LCD、Flash、Timer、UART、SPI、 USB等等,但这些控制器在一个设计里一般不会全部都用到,所以我们对于这些不用的控制器往往任其处于各种状态而不用花心思去管。但是,当你想尽可能节省功耗的情况下,则必须关注它们的状态,因为如果不将其关闭,即使它们没有处于工作状态,但是仍然会消耗电流。仍以S3C2410X来讲:

从上表我们可以看到,通过设置寄存器我们可以有选择地关闭不需要的功能模块,以达到节省电的目的,比如在我们的实际应用中,ADC、 I2C、I2S和SPI都没有用到,通过CLKCON寄存器的设置,我们可以节省2mA的电流。当然,也可以动态关闭一些仍然需要的外设控制器来进一步节省能量。如在空闲模式下,CPU 内核停止运行,我们还可以进一步关闭一些其他的外设控制器,如USB,SDI,FLASH等,只要保证唤醒CPU的I/O控制器正常工作即可,如通过 UART唤醒,则UART控制器不能被关闭。等到CPU被唤醒后,再将USB、SDI、Flash等控制器再打开。 [page]

上面两种方式只是动态电源管理的最为简单的实现。在这两种方式中,一种是通过改变了系统的时钟频率,另一种是通过控制外设控制器的开关来达到节约能量的目的。在最近的研究中,已经有人把目光投入到了同时动态改变处理器的电压和频率来进一步节省功率,如IBM和 MontaVista合作进行的嵌入式系统的动态电源管理的研究。这是一个更为复杂、也更为系统的工程,它涉及了从硬件到操作系统以及应用层的有关内容。

四、电源供给电路

在数字电路设计中,工程师往往习惯于采用最简单的方式来完成电源的设计,但在对功耗要求严格的情况下,我们就必须对采用何种电压变换结构仔细考虑一番再做决定。

通常来讲,我们有以下几种进行电压转换的方式:

  1. 线性稳压(Linear Regulator)

  2. DC to DC

  3. LDO(Low Drop-Out)

其中LDO本质上还是一种线性稳压,主要用于压差较小的场合。所以我们将其合并为线性稳压来谈。

对于线性稳压来说,其特点时电路结构简单,所需元件数量少,输入和输出压差可以很大,但其致命弱点就是效率低,功耗高。其效率η完全取决于输出电压大小。下图是线性稳压器LM7805的输出电流大小相对压差的曲线图。

由图中可见,压差越大,可提供的最大输出电流越小。假设采用LM7805,输入12V,输出电压为5V,压差为7V, 输出的电流为1A的情况下,我们可以计算出消费在线性稳压器上的功率为P=ΔV*IOUT=7*1=7w,效率仅为η=5×1/(5*1+7*1)= 41.7%,由这个结果我们可以看出,有一大半功率消耗在IC本身上。

DC to DC电路的特点是效率高,升降压灵活,但缺点时电路相对复杂,干扰较大。一般常见的由Boost和Buck两种电路,前者用于升压,后者用于降压,示意图如下:

这两种电路的核心是通过MOS管的开关来控制电感和电容间的能量转换。调节MOS管栅极脉冲信号的占空比可以控制MOS管的导通和关闭,从而改变输出电压的高低。

下图是一个从12V转换到5V的DC to DC电路图,其控制IC采用国家半导体(NS)的LM2596,实际是采用Buck电路,其MOSFET和相关的控制电路位于芯片内部,其转换效率图如下:

由转换效率图可见,当输入为12v,输出为5v时,转换效率约为82%,为线性稳压器转换效率的一倍。LM2596的开关频率为固定的 130KHZ,如果我们提升器件的开关频率,如采用NS的LM2676时(260KHZ开关频率),在同样的应用条件下,效率可达88%以上。

从上面的论述中我们可见,在适当的情况下使用DC-DC的电压转换线路,可以有效地节约能量,降低整机功耗。

参考文献:


1、 Dynamic Power Management for Embedded System, Version 1.1 November

19, 2002, IBM& MontaVista Software


2、 Low Power Design , Dec 28 2001, Mike Willey & Kris Stafford, www.

embedded.com


3、 System Level Power-Performance Trade-Offs in Embedded Systems Using

Voltage and Frequency Scaling of Off-Chip Buses and Memory, Kiran

Puttaswamy, Kyu-Won Choi, Jun Cheol Park等

关键字:低功耗  电源管理  线性稳压 引用地址:嵌入式系统中的低功耗设计

上一篇:基于片上系统SoC的孤立词语音识别算法设计
下一篇:嵌入式实时系统开发的正确选择

推荐阅读最新更新时间:2024-03-16 12:56

Silicon Mitus汽车液晶显示器电源管理IC “SM6751Q”问世
电源管理半导体 IC 设计公司 Silicon Mitus 近日推出SM6751Q 电源管理 IC,适用于汽车液晶显示器。新 IC 不仅有效、分配及控制从汽车电池流入到车辆屏幕的电源,满足车辆内部屏幕或相关系统的各种电源需求,还符合国际汽车 IC 测试评估认证 AEC-Q100。 SM6751Q 的主要优势为:支持2.4到6V输入范围;搭载高效Step-up Regulator 和 LDO Regulator;具有 I2C-Programmable VCOM 校准器; 并以内存集成的方式实现多种保护功能包括检测发热、高压、高电流等。 此外,SM6751Q 还支持高效率的高频 Switching Regulator 动作,可
[汽车电子]
Silicon Mitus汽车液晶显示器<font color='red'>电源管理</font>IC “SM6751Q”问世
了解电源芯片EN引脚通常滞回特性
某电机控制板带有动力回收的功能,在没有助力电池时,电机的转动也可以继续为控制板供电。而电机的不均匀转动会产生快速波动的电压,从而导致电源芯片输出极不稳定的电压,使得后级设备在极短的时间内频繁的上下电,导致板子上的蓝牙模块频繁丢失固件甚至烧坏,降低了产品性能。后来通过调整电源芯片EN引脚的相关配置,完美解决了该问题。想知道对EN做了什么“手脚”吗?小小的EN还蕴含着什么样的大智慧呢? 一、概述 EN即Enable,即“使能”的意思,不同的芯片的叫法也有所不同,如EA、RUN等。而它们的功能基本是一样的,即只有该引脚激活时,芯片或模块才能正常的输出。针对这一功能,我们可以添加一些简单的外围电路来实现稳定芯片或者输出上电排序的功
[电源管理]
电源管理:满足复杂DC-DC功率转换要求
引言 在测试测量设备或嵌入式计算等工业应用中,嵌入式DC-DC转换器的系统架构可能相当复杂,在输出 电压 和 电流 、纹波、EMI及上电顺序等许多不同方面都有相关要求。本文主要探讨了DC-DC应用中转换器功率级选择的影响。 先进嵌入式DC-DC转换器的要求 许多工业系统,如测试测量设备,都需要嵌入式DC-DC转换器,是因为这些应用所需的计算能力日益增加。这种计算能力由DSP、FPGA、数字ASIC和微控制器提供,而得益于工艺几何尺寸的日益缩小,该类器件在不断的进步。另一方面,这也带来了三大要求:第一, 电源 电压越来越低(当然,还有容许的电压纹波和负载变化);其次,电源电流逐渐变大;第三,这些IC通
[电源管理]
<font color='red'>电源管理</font>:满足复杂DC-DC功率转换要求
飞利浦90纳米ARM9微控制器提供高计算性能和低功耗
飞利浦电子公司日前宣布开始供应业界第一个ARM9核心的90纳米微控制器LPC3180。飞利浦这一全新的32位MCU不仅提供高效能和低功耗,也是唯一提供矢量浮点协处理器和整合的USB On-The-Go,以及在低至0.9V电压的超低功耗模式下运行能力的ARM9微控制器。飞利浦LPC3180的最高速度可达208MHz,是许多高精度应用的理想选择,例如销售点(POS)设备、医疗及工业装置、全球定位系统(GPS)和机器人等。 飞利浦半导体微控制器产品线产品创新总监Ata Khan表示:“藉由先进的90纳米工艺技术的优势,飞利浦能够开发具有高计算性能并针对低功耗运行最优化的最先进的ARM9 MCU。LPC3180推出之后,即使是低成本的电
[新品]
电源管理(STM32)
一、低功耗模式 STM32F1xx 待机模式 电源控制寄存器——PWR_CR 位 1 PDDS:掉电深睡眠 与LPDS位协同操作 0:当CPU进入深睡眠时进入停机模式,调压器的状态由LPDS位控制。 1:CPU进入深睡眠时进入待机模式。 电源控制/状态寄存——PWR_CSR 位 0 WUF:唤醒标志 该位由硬件设置,并只能由POR/PDR(上电/掉电复位)或设置电源控制寄存器(PWR_CR)的 CWUF位清除。 0:没有发生唤醒事件 1:在WKUP引脚上发生唤醒事件或出现RTC闹钟事件。 注:当WKUP引脚已经是高电平时,在(通过设置EWUP位)使能WKUP引脚时,会检测到一个额外的 事件。 位 8
[单片机]
<font color='red'>电源管理</font>(STM32)
锁相环(PLL)的电源管理设计
  本文讨论图1所示的基本PLL方案,并考察每个构建模块的 电源管理 要求。        图1. 显示 各种电源管理要求的基本锁相环     PLL中,反馈控制环路 驱动 电压控制振荡器(VCO),使振荡器频率(或相位)精确跟踪所施加基准频率的倍数。许多优秀的参考文献 (例如Best的锁相环1),解释了PLL的数学分析;ADI的ADIsimPLL?等仿真工具则对了解环路传递函数和计算很有帮助。下面让我们依次考察一下PLL构建模块。     VCO和VCO推压     电压控制振荡器将来自鉴相器的误差电压转换成输出频率。器件“增益”定义为KVCO,通常以MHz/V表示。电压控制可变电容二极管(变
[电源管理]
锁相环(PLL)的<font color='red'>电源管理</font>设计
FCC批准Ligado部署低功耗5G网络
据路透社报道,当地时间周一,美国联邦通信委员会(FCC)批准了Ligado(利加多,Ligado Networks是一家美国卫星通信公司)的通讯频段的申请,允许其在全国部署低功耗5G网络。 值得注意的是,在上周四的时候,FCC就公布了相关草稿,要求重新分配宽带通信无线电频谱的特定部分。但是遭到了美国国防部的极力反对,国防部表示重新分配宽带通信无线电频谱将对GPS导航系统造成“不可接受的”损害。 据了解,美国国防部认为,利加多的计划会严重破坏和干扰GPS的运行,而这套系统一旦遭受破坏,就会危及军事部署。此后利加多对计划进行了修改,以避免对GPS的干涉。但五角大楼首席信息技术官员达纳·迪希表示,“我们有非常有力的技术证据
[网络通信]
FCC批准Ligado部署<font color='red'>低功耗</font>5G网络
基于MSP430系统时钟低功耗模式的设置
如何将系统时钟设置到外部高频晶体振荡器,430的MCLK默认的是DCO的,如何安全的从DCO切换到外部晶体振荡器,这是一个很重要的步骤,因为经过此步骤,可以极大地提高430的处理能力,DCO在内部,可以为cpu提供强劲稳定的时钟。 #include void main( void ) { // Stop watchdog timer to prevent TIme out reset WDTCTL = WDTPW + WDTHOLD; volaTIle unsigned int i; P5DIR |=BIT4;//设置P5.4为输出 P5SEL |=BIT4;//设置片内主系统时钟的输出 //由这段代码设置如何将DCO切换到高
[单片机]
基于MSP430系统时钟<font color='red'>低功耗</font>模式的设置
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved