完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
经过近几年的快速发展,嵌入式系统(Embedded system)已经成为电子信息产业中最具增长力的一个分支。随着手机、PDA、GPS、机顶盒等新兴产品的大量应用,嵌入式系统的市场正在以每年30%的速度递增(IDC预测),嵌入式系统的设计也成为软硬件工程师越来越关心的话题。
在嵌入式系统的设计中,低功耗设计(Low-Power Design)是许多设计人员必须面对的问题,其原因在于嵌入式系统被广泛应用于便携式和移动性较强的产品中去,而这些产品不是一直都有充足的电源供应, 往往是靠电池来供电,所以设计人员从每一个细节来考虑降低功率消耗,从而尽可能地延长电池使用时间。事实上,从全局来考虑低功耗设计已经成为了一个越来越 迫切的问题。 低功耗已成为许多电子系统中的重要设计目标。本文将介绍基本概念和技术。在本文中,我们将探讨与基于微控制器的嵌入式系统中的功耗最小化相关的一些基础信息。然后,未来的文章将讨论特定的微控制器功能以及如何使用它们来延长电池寿命。 正如前一句所暗示的那样,对降低功耗的不懈追求势必受到电池不可避免的局限。提高从墙上插座供电的电路的能效肯定没有问题,但是当你知道小型电子设备所需的功率与家用电器或室内电源相比如此之小时,很难获得动力。灯光。 当产品主要用于电池供电时,一切都会发生变化。小型电池存储非常有限的能量,但消费者需要非常紧凑的高性能(读取“高功率”)设备(读取“对于大尺寸电池来说太小”)并且不需要再充电每隔二十分钟。什么是设计师? 我确信电池工程师正在努力帮助我们,但这并没有改变这样一个事实,即我们应该充分利用目前可用的任何储能技术。这意味着主要的,通常是大大延长电池寿命的唯一方法是设计“用更少的资源做更多”的电路,即实现所需功能,同时最大限度地减少必须从一个电路传输的电子数量电池的一侧到另一侧。 第一件事 在我们进一步讨论之前,我们需要确保每个人都在同一页面上关于术语。 •电流:这是电荷流过导体(或半导体)的速率。标准单位是安培,定义为每秒库仑(一个电荷单位)。 •能量:这个词指的是在完成某事(例如,温度升高,物理运动,光的产生)过程中转移的神秘“属性”。电池存储化学能,该化学能可以转换成电能供电路使用。能量的标准单位是焦耳。 •功率:在科学背景下,功率是能量从一种形式转换为另一种形式的速率(例如从电能转换为热能,或从电能转换为电磁辐射)。单位为瓦特,定义为每秒焦耳。 电源,能量,功率,电流。。。 我们通常在电流和功率方面讨论电路,我们在电荷或能量方面讨论电池。例如,我们可能会说特定的运算放大器消耗1 mA的电源电流; 但是,如果电源电流取决于电源电压,则这是不完整的信息。功率规格包含这两个量,因为电功率计算为电压乘以电流。 电池维持电子电路功能的能力以安培小时(或通常为毫安小时,缩写为mAh)表示。从技术上讲,这是一个收费单位: 因此,如果电路需要1 mA(= 0.001库仑/秒)的电流,则1 mAh(= 3.6库仑)电池可以维持该电路3600(= 3.6 / 0.001)秒,也称为1小时。 很高兴认识到mAh不是一个能量单位,尽管我们可能会将其视为给定电池在必须丢弃或充电之前可以提供多少总电能的一般指标。 一个电池的实际能量容量取决于有多少功率可以为多长时间,其中功率由电池乘以电池两端的电压提供的电流来计算被供给。(这不是一个简单的计算,因为电池放电后电压会降低。)虽然标准的能量科学单位(以及能量容量)是焦耳,但我们可以用更方便和直观的形式表达焦耳,例如毫瓦·小时。 数字,模拟和无源器件 我们可以通过考虑不同类型的元件对总电流消耗的贡献来开始分析给定电路的功率要求。 数字 以下众所周知的公式用于预测单个CMOS逆变器的功耗: 实际上,这只是动态功耗。历史上,CMOS技术确保了非常低的静态功耗,但这种情况有所改变,因为随着FET的缩小,静态漏电流变得更加重要。然而,我们将专注于动态功耗,因为电路板设计人员可以做很多事情来降低静态功耗。 每次输入从高电平变为低电平或从低电平变为高电平时,都会产生电流突发。 无论如何,上述等式表明CMOS电路中的动态功耗取决于开关频率(f),负载电容(C)和V DD。我们对IC的内部负载电容做不了多少,但我们确实对频率和V DD有一些控制。实际上,在寻求消除不必要的功耗时,这两个量是开始的地方:降低时钟频率,降低电源电压。实际上,使用较低的电源电压也会降低静态功耗,但对动态功耗的影响更为明显。 模拟 没有简单,方便的公式可以应用于模拟(和混合信号)IC,但一个好的数据表应该有大量关于功耗的信息。这里要理解的重要一点是,您不能只看数据表的第一页来准确确定器件的电流消耗。 例如,AD8538运算放大器数据手册的第一页称“低电源电流:180μA。”这给您一个总体思路,这很好,但实际信息在“典型性能特征”中有所下降: 在这里,我们看到电源电流受电源电压和温度的影响。(感谢ADI公司将最坏情况下的电流消耗放在第1页上。) 虽然通常可以预期更高的电源电压和更高的频率会导致更高的电流消耗(与数字IC一样),您应该查看数据表以获取详细信息。 无源器件 我不打算详述无源元件的电流 - 电压关系,这些关系并不完全是深奥的知识。此外,现代嵌入式系统通常没有很多无源器件 - 这里是去耦电容器,那里有几个增益电阻器,电源线上可能有铁氧体磁珠。 但是,了解无源元件可能吸收大量电流的情况是很好的。以下是两个例子: •上拉(或下拉)电阻:如果在3.3 V系统中有1kΩ上拉电阻,只要相应的信号被驱动为逻辑低电平,该电阻就会吸收3.3 mA电流,而单个电阻的电阻为3.3 mA在低速运行的复杂微控制器拉低小于1 mA的时代,电流严重。 如果您的I2C总线经常处于活动状态并且您正在使用低值电阻来实现更高的通信频率,那么您可能会在此处绘制非常大的电流。 •分压器:假设您使用的是电阻分压器来降低电源电压的幅度,因此您可以使用ADC监控该电压。这里有一条从V DD到地的电阻路径,它一直处于激活状态(与上拉电阻相关的间歇路径相反)。请记住在选择电阻值时要牢记您的功耗目标。 设计中具体该怎么选择 那么,我们应该从哪些方面来考虑低功耗设计呢?应从以下几方面综合考虑: 处理器的选择 接口驱动电路设计 动态电源管理 电源供给电路的选择 下面我们分别进行讨论: 一、处理器的选择 我们对一个嵌入式系统的选型往往是从其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来 讲,降低供电电压和工作频率,也是一条节省功率的可行之路。 2、总线宽度 我们还经常陷入一个误区,即:CPU外部总线宽度越宽越好。如果我们仅仅从数据传输速度上来讲,也许这个观点是对的,但如果在一个对功耗相当敏感的设计来说,这个观点就不一定正确了。 同样引用公式Pd=CTV2f ,对于每一条线(地址等数据线)而言,都会面临这样的功率消耗,显而易见,当总线宽度越宽的时候,功耗自然越大。每条线路的容性负载都不太一样,但一般都 在4~12PF之间。我们来看下面一个例子:一片1Mbit Flash通过8bit和16bit的 总线与CPU相连,总线频率为4MHZ ,总线电压为3.3V。我们可以得到以下结果: 2004JUN08_EMS_POW_TAONLINES11_F1.JPG 由上可见,采用16-bit总线和采用8-bit总线会有3.7mw的功耗差异。 当然,如果需要大量频繁地存取数据的场合下,用8-bit总线不见得会经济,因为增加了读写周期。 另外,从上面的例子我们也可以看到:如果CPU采用内置Flash的方式,也可大大地降低系统功率消耗。 二、接口驱动电路的低功耗设计 接口电路的低功耗设计,往往是容易被大家所忽略的一个环节,在这个环节里,我们除了考虑选用静态电流较低的外围芯片外,还应该考虑以下几个因素: 上拉电阻/下拉电阻的选取 对悬空脚的处理 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内核)为例,它提供了四种工作模式:正常模式、空闲模式、休眠模式、关机模式,各种模式的功耗如下: 2004JUN08_EMS_POW_TAONLINES11_F2.JPG 由上图可见,CPU在全速运行的时候比在空闲或者休眠的时候消耗的功率大得多。省电的原则就是让正常运行模式远比空闲、休眠模式少占用时间。在类似 PDA的设备中,系统在全速运行的时候远比空闲的时候少,所以我们可以通过设置使CPU尽可能工作在空闲状态,然后通过相应的中断唤醒CPU,恢复到正常 工作模式,处理响应的事件,然后再进入空闲模式。 2、关闭不需要的外设控制器 一般来讲,CPU都提供各种各样的接口控制器,如I2C、I2S、LCD、Flash、Timer、UART、SPI、USB等等,但这些控制器在 一个设计里一般不会全部都用到,所以我们对于这些不用的控制器往往任其处于各种状态而不用花心思去管。但是,当你想尽可能节省功耗的情况下,则必须关注它 们的状态,因为如果不将其关闭,即使它们没有处于工作状态,但是仍然会消耗电流。仍以S3C2410X来讲: 2004JUN08_EMS_POW_TAONLINES11_F3.JPG 从上表我们可以看到,通过设置寄存器我们可以有选择地关闭不需要的功能模块,以达到节省电的目的,比如在我们的实际应用中,ADC、I2C、I2S 和SPI都没有用到,通过CLKCON寄存器的设置,我们可以节省2mA的电流。当然,也可以动态关闭一些仍然需要的外设控制器来进一步节省能量。如在空 闲模式下,CPU 内核停止运行,我们还可以进一步关闭一些其他的外设控制器,如USB,SDI,FLASH等,只要保证唤醒CPU的I/O控制器正常工作即可,如通过 UART唤醒,则UART控制器不能被关闭。等到CPU被唤醒后,再将USB、SDI、Flash等控制器再打开。 上面两种方式只是动态电源管理的最为简单的实现。在这两种方式中,一种是通过改变了系统的时钟频率,另一种是通过控制外设控制器的开关来达到节约能 量的目的。在最近的研究中,已经有人把目光投入到了同时动态改变处理器的电压和频率来进一步节省功率,如IBM和MontaVista合作进行的嵌入式系 统的动态电源管理的研究。这是一个更为复杂、也更为系统的工程,它涉及了从硬件到操作系统以及应用层的有关内容。 四、电源供给电路 在数字电路设计中,工程师往往习惯于采用最简单的方式来完成电源的设计,但在对功耗要求严格的情况下,我们就必须对采用何种电压变换结构仔细考虑一番再做决定。 通常来讲,我们有以下几种进行电压转换的方式: 线性稳压(Linear Regulator) DC to DC LDO(Low Drop-Out) 其中LDO本质上还是一种线性稳压,主要用于压差较小的场合。所以我们将其合并为线性稳压来谈。 对于线性稳压来说,其特点时电路结构简单,所需元件数量少,输入和输出压差可以很大,但其致命弱点就是效率低,功耗高。其效率η完全取决于输出电压大小。下图是线性稳压器LM7805的输出电流大小相对压差的曲线图。 2004JUN08_EMS_POW_TAONLINES11_F4.JPG 由图中可见,压差越大,可提供的最大输出电流越小。假设采用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两种电路,前者用于升压,后者用于降压,示意图如下: 2004JUN08_EMS_POW_TAONLINES11_F5.JPG 这两种电路的核心是通过MOS管的开关来控制电感和电容间的能量转换。调节MOS管栅极脉冲信号的占空比可以控制MOS管的导通和关闭,从而改变输出电压的高低。 下图是一个从12V转换到5V的DC to DC电路图,其控制IC采用国家半导体(NS)的LM2596,实际是采用Buck电路,其MOSFET和相关的控制电路位于芯片内部,其转换效率图如下: 2004JUN08_EMS_POW_TAONLINES11_F6.JPG 由转换效率图可见,当输入为12v,输出为5v时,转换效率约为82%,为线性稳压器转换效率的一倍。LM2596的开关频率为固定的 130KHZ,如果我们提升器件的开关频率,如采用NS的LM2676时(260KHZ开关频率),在同样的应用条件下,效率可达88%以上。 从上面的论述中我们可见,在适当的情况下使用DC-DC的电压转换线路,可以有效地节约能量,降低整机功耗。 |
|
|
|
只有小组成员才能发言,加入小组>>
12131 浏览 2 评论
4466 浏览 3 评论
3696 浏览 5 评论
9522 浏览 47 评论
4499 浏览 9 评论
706浏览 0评论
505浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 01:26 , Processed in 0.623401 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号