利用双处理器延长电池使用寿命
扫描二维码
随时随地手机看文章
向着更低功耗、更高性能的电池供电型系统发展的趋势毋庸置疑。对于电池电源而言,消费者希望便携式电子产品能够以“更低电量执行更多功能”,同时,众多工业产品也开始转而采用电池供电。
数字信号处理器 (DSP) 常用于要求高性能的应用领域,从而导致时钟运行速度不断提升。任何需要高速运行并集成成百上千万晶体管的处理器都需要尽可能地降低功耗。
过去10 年来,架构创新与低功耗策略推动DSP处理能力不断加强,MIPS性能不断提升,同时,其他性能参数也在迅速得到改进。在这种情况下,由于具备这些更高性能的 DSP,诸如手机与超便携式音频播放器等基于DSP的系统的电池使用寿命总体上有了稳定而显著的提升。
头戴式耳机与其他便携式消费类音频设备是要求最佳电源效率的重要范例。此外,工业与医疗产品也在不断向支持高级功能的高集成度便携式设备方向发展。这些设备的电源要求在很大程度上与超便携式消费类电子产品相似。
在DSP技术取得快速发展的同时,微控制器(MCU)系统面临着不断降低功耗的压力。相对于DSP,MCU 在降低功耗方面拥有自己独特的优势,例如,其晶体管数量较少,时钟速度较低,而且通常工作电压也较低。
不同于用微安计算的DSP,电源优化的现代MCU的待机电流可以纳安计。尽管 DSP的性能大大超过 MCU,而且在电源方面也得到了显著优化,但芯片设计人员在省电方面可做的毕竟有限。
常规性认识
在延长电池使用寿命方面,系统设计工程师的常识是“一颗芯片肯定比两颗芯片好”。他们的想法简单而直接,认为芯片间的通信肯定比片上通信的功耗大,两颗芯片的晶体管数量明显大于集成了对等功能的单颗芯片。不过,常识未必总是正确的。
随着DSP开始集成如加速器、专用通信模块与网络外设等片上功能,其功能对于系统设计人员来说也正变得越发强大和实用。但是,如果芯片仅仅为了执行简单的常规处理或监管程序就保持开启的话,就会产生大量无谓的功耗。
决定电池使用寿命的是系统的平均流耗,而非既定时间的瞬时流耗。因此,要延长电池使用寿命,就必须降低平均流耗。器件处于运行状态时,典型的高端处理器支持时钟缩放及其他降低功耗的特性,但如果处于非工作状态,器件就很难拥有出色的节电性能了。众多高性能处理器在停止模式下的耗电量达到 50~100μA以上。尽管乍看起来这种电流消耗还是可以接受的,但要知道,这是处理器停机时的持续耗电,而且不通过外部重启的话就不能执行任何任务。
对这种处理器及其他较高端处理器来说,保持低功耗状态,同时又能激励或执行系统或进行监管任务,这时功耗为数十毫安。这就是说,如果系统依赖高端处理器来执行监管任务,电池的使用寿命不过几天而已。
但是,如果通过其他器件来实施系统和监管功能,而这种器件又可管理主处理器的电源,那么系统的平均电流消耗就可显著降低。
就某些应用而言,用MCU取代DSP执行系统监管任务是一种非常明智的设计决策。明确双处理器系统架构是否是正确的选择取决于众多因素。应用本身是最重要的因素,因为大多数设计方案还要考虑到空间与成本的局限性。
举例来说,供电监控、复位监管以及电源排序等都是系统需要的最基本的监管功能。当前众多 SoC 都具备多条电源轨,上电时必须进行适当排序才能正常运行。固定功能器件可执行所有上述功能,但却不能满足系统的其他要求,也不能在不需要时关闭主处理器。以小型的低功耗微控制器取代固定功能器件可增加管理主处理器电源的功能,同时还能实施排序、监控以及监管等功能。
低引脚数的低功耗微控制器正好能实现这种功能。举例来说,德州仪器(TI)推出的MSP430F20x1与MSP430F20x2两款器件均属14引脚的微控制器,并分别带有一个比较器和10位ADC。它们的待机流耗不足1μA,而且运行时的电流也不过几百微安。
图1 小型微控制器管理主处理器的电源排序,并实施电源管理
图1 显示了一个小型微控制器控制主处理器的电源排序、实施电源管理的实例。微控制器上的软件例程可根据正确顺序启动主处理器调节器,并通过内部 ADC 来确认电源轨达到适当电压的时间。不需要主处理器时,可通过调节器的关断特性来关闭主处理器,从而节约主处理器70μA到几毫安的电耗。
更好地了解DSP与MCU各自对优化电源的作用是制定何时将二者在设计方案中结合使用的关键因素。设计人员通过将两个超低功耗处理器用于完成主处理器周期与监控功能,让它们分别实现最大化的电源效率,同时又能获得独特的性能、集成与成本优势,这样就能使双低功耗处理器系统的电池使用寿命超过单个处理器系统。
DSP的电源
DSP芯片设计人员采用了众多低功耗技术方案,如降低工作电压、将芯片分为多个时钟域等大多数方案都是在后台执行的。系统设计人员不必过多控制这些特性就能获得相关优势。
不过,在DSP选择过程中,系统设计人员要对应用的执行方式发挥充分的作用。在选择最佳DSP时,应考虑以下四个重要特性。
● 采用大容量片上存储器:在应用一般功耗基础上,每次执行片外存储器调用时都要消耗额外的电源。如果使用外部RAM,就必须为其持续供电,这是一个连续的耗电过程。
● 选择能高度控制外设的 DSP,因为这直接有利于进一步降低功耗:数种DSP能在外设处于非工作状态时自动将片上外设关断,或允许系统设计人员手动管理外设状态。不过这种特性在粒度性上有一定局限。
● 选择可提供多种待机状态的DSP:选项越多,从长远来看节电性能就越好。
● 选择可提供开发软件的 DSP,以专用于优化电源并最小化功耗:所选工具应能轻松缩放芯片的电压与频率,管理电源状态,测量并分析功耗,从而评估各种可选的设计方案。
MCU的电源
优化MCU以实现低功耗工作的最佳起点是采用超低功耗工艺来制造MCU,从而可将晶体管的漏电流锐减至极低的水平。高性能工艺技术会造成DSP的功耗加大,与此相对应,专为降低功耗而优化的半导体工艺则可能限制MCU的峰值处理性能。
时钟速度是最显而易见的局限性。例如,TI的MSP430F20xx是低引脚数的MCU系列产品,如图2所示,能够利用其独特的超低功耗振荡器(VLO)技术来实现低至500nA的待机模式电流、最高速度为 16MHz 的优异特性。VLO技术使MSP430F20xx能在超低功耗待机模式下完全自动控制时钟速度,同时无须外接组件就能实现自动唤醒功能,从而使烟雾检测器或家庭温控装置等系统能够在不更换电池的情况就能持续工作 10 年之久。
图2 MSP430F20xx MCU结构图
在其实现500nA待机功耗时,还能确保支持所有器件的故障保护安全特性,例如,既能实现超低功耗又能实现可靠性极高的系统的零功耗掉电复位(BOR)功能。在 VLO 推出之前,设计人员不得不采用外部晶振或振荡器电路来实现超低待机功耗。VLO 无须使用外部组件就能减少系统组件数,降低成本,缩小板级空间,而这些都是便携式应用的关键需求。与此形成对比的是,以 TMS320C5506DSP为例,其待机功耗为10μA,是上述技术待机功耗的20倍之多。
使用智能外设也是降低功耗的高效的IC设计策略。以前,MCU 外设都是由CPU所执行软件驱动的,尽管这确实能高效工作,但CPU始终需要处于工作状态。通过设计尽可能减少软件服务量的中断驱动型外设,可以让CPU在大多数时间内都处于待机或空闲模式。
此外,系统设计人员选择的MCU还应拥有ADC自动输入通道扫描功能、硬件转换开始触发器以及DMA数据传输机制等。这些特性还可将重复性数据采样实现自动化,并最小化CPU的运行时间。
图3 对于MCU的电源效率而言,两个时钟比一个更好
MCU 的时钟系统也可在省电方面发挥重大作用。图3显示了单个晶振的双时钟运行情况。对于MCU的电源效率而言,两个时钟比一个更好。
MCU 的低功耗外设使用低频辅助时钟(ACLK)。低频、低功耗操作通常使用32kHz的外部振荡器,可支持实时时钟功能性。高速度的数控振荡器(DCO)可作为由CPU和高速外设使用的主系统时钟(MCLK)源。
除通过采用某些外设的低速时钟实现省电之外,TI 的 MSP430MCU还片上集成了超低功耗振荡器(VLO),可作为ACLK的时钟源。在待机功耗操作模式下(LPM3),ACLK 仍保持运行且启用所有中断,这时 MSP430 器件的典型流耗还不足 1μA。
此外,DCO 能够在不到 1μs 的时间里进入工作状态并完全稳定下来,且无须中间步骤。这就实现了“即时启动”的高性能处理功能,而不像采用第二个晶振或双速启动那样需要较长的启动时间。这不仅能节省时间,同时还有助于降低功耗。
双处理器电源
如前所述,诸如加速器、专用通信以及网络外设等的集成功能会导致DSP在执行简单功能时无谓耗费电力。
对某些功能而言,MCU 比DSP更适用,例如,保持实时时钟工作或者管理电池充电程序等。将上述任务交由MCU完成有助于更好地利用DSP的 MIPS 速率预算,这非常重要。
双处理器架构的优势非常明显。例如,假定某系统依赖高端处理器来执行监管任务,那么电池使用寿命可能只有几天的时间。具体地说,典型的NiMH AA电池的额定电量为2500mAh。如果平均电流仅为1mA,那么耗完AA电池的电量需要119天。如果将平均电流提高到10mA,则电池只能工作12天就没电了。
通过采用双处理器系统,可通过以下系统或监管功能实现电源优化:保持实时时钟;供电排序;电源监控与复位;键区或人机接口管理;电池管理;显示管理。
在描述MCU低功耗技术时,已经探讨了实时时钟功能。将上述原理作简单的扩展发挥,便可用MCU来为DSP提供时钟。
管理DSP的电源
众多现代DSP都拥有必须进行上电排序才能实现正常运行的多条电源轨。通常情况下,这些电源轨包括内核电源轨、DDR 电源轨以及 I/O 电源轨等。尽管可用固定功能的器件来执行电源排序,但却不能扩展支持其他功能。
图4 采用MCU实现的DSP电源排序
如图 4 所示,采用小型低功耗微控制器,如TI的MSP430 MCU,取代固定功能器件就能实施排序、监控与监管等功能,从而实现主处理器(如TI的TMS320C550x DSP)的电源管理。
MSP430MCU上的软件例程可实现以正确的顺序启用C550x DSP稳压器电路。MSP430采用其内部ADC 来确认电源轨达到适当电压的时间。如果不需要C550x,则可采用稳压器的关断特性将主处理器关闭。
事实上,MCU可通过直接与VXO通信来控制电压,或通过与PLL直接通信来控制频率,从而同时实现对DSP电压与频率的控制。这样做明显的好处在于,DSP完成了计算密集型任务后,MCU 可让DSP进入有效的待机模式。
监控进程是双向的,换言之,MCU可探询DSP的繁忙程度。在此模式下,其可发挥智能控制器的作用。另一方面,DSP的内部监控功能也能发挥作用。由于既可对MCU进行读取也能写入,因此DSP可根据应用需要通知MCU时钟的加速或减速。
人机接口管理
我们可通过与MCU的交互来降低DSP的功耗,避免在内部用DSP来执行简单的任务。不过这种做法的更大好处在于,系统设计人员能将单处理器系统中由DSP执行的一些监管任务交给MCU 来完成。
MCU能轻松满足键区操作的相关要求,而且功耗比DSP低得多。例如,仅为500nA的待机电流就比DSP小得多。只有在将按键按下再放开后,我们才向DSP实施中断,通过确保这一点,MCU 可避免按键卡住后造成的电流消耗,而这种按键卡住不动的情况在某些手持设备中并不少见。
此外,16MHz MCU还能支持用户显示的管理工作。为了进一步提高节能效率,MCU应拥有集成的片段型LCD驱动器,以处理四个多路复用的数据流。
此外,MCU还应具备相关集成功能,以能通过标准SPI、UART、I2C 或RF等与外设通信,而且还应在无须轮询的情况下即能自动从低功耗模式启动。
电池充电与充电管理通常是采用固定功能器件可执行的另一个监管功能,不过该任务也可由微控制器来完成。我们可用微控制器的 ADC 来测量电压;用定时器和软件来管理充电;并用脉宽调制输出来提供充电波形。微控制器厂商的应用报告通常会介绍其产品如何完成上述功能,而且还会提供代码样例。例如,用户可从 TI 网站上下载编号为 SLAA287、题为“采用 MSP430 的锂离子电池充电器解决方案”的应用报告,其中介绍了 MSP430 产品的相关解决方案。
一旦系统分组完成后,还必需将MCU与DSP连接在一起,确保其彼此间正常通信。MCU 与外设交互过程中所需的大部分数据都要与DSP共享。当然,这会对MCU的技术规范提出一定的要求。我们应当寻求至少具备 16 个 GPIO 端口的产品,以支持处理器间的通信。此外,还应要求所选产品支持片上SPI 与 I2C 接口,而电池充电功能需要10 位 ADC。
在大多数系统中,我们可构建简单的协议,让DSP向微控制器发出基本命令。在某些情况下,如果主处理器与微控制器是相同厂商提供的,那么可以通过应用报告及相关解决方案将二者很好地结合起来。
结论
DSP在降低功耗方面取得了重大进步,但由于制造DSP的高性能工艺技术所限,要实现应有的作用还比较有限。在芯片处于待机或空闲模式时,它们特别容易受到晶体管漏电流造成的功耗影响。说到底,设计人员需要根据对DSP和/或MCU的计算、测量分析以及两者间的折中平衡来确定到底其应用方案应采用一个处理器,还是结合采用两个处理器。