在面临必须延长电池寿命的需求时,很多系统设计师认为单个芯片所消耗的功耗比两个芯片要少。原因似乎很简单:芯片间通信比单个芯片工作消耗更多的功耗,两个芯片上有更多的晶体管,因此要比有相同功能的单芯片有更多的漏电流。但功耗节省技术却给这种传统观点迎头一击。
DSP设计师将更多的功能,如加速器、通信模块和网络外设集成到DSP芯片上,使芯片对工程师更为有用。但这种更强大的芯片在完成简单的内务管理或监控任务时,会消耗比该任务所需更多的功耗。在多种情况下,设计师无法只启用DSP芯片中所需部分的功能。
在某些应用中,微控制器(MCU)可执行相同的系统监控任务,而比DSP消耗更少的功耗。所以,双芯片的架构:DSP及MCU也是可行的。因此,使用一个低功耗DSP作为主处理器,另一个低功耗MCU作为系统监控器,就可延长单个DSP完成相同任务所消耗的电池寿命。为了帮助节省功耗,工程师在选择DSP时要考虑以下因素:
寻找较大容量的片上内存。DSP访问芯片外存储器时总会消耗更多功耗。外部DRAM存储需要恒定的功耗,这会消耗电池的电能。
选择一个可启动和关闭外设的DSP。有一些DSP可对不活动的片上外设自动断电,这种能力提供了多种级别的控制和功耗节省。
选择一个在不同功耗级别能实现多种待机状态的DSP。多电源可节省更多能耗。
选择提供了能优化功耗使用并降低功耗的开发软件的DSP。工具应让开发人员轻松地动态改变芯片的电压和频率、管理电源状态,帮助他们评估和分析功耗信息。
MCU消耗较少电流
在某些应用中的MCU中,低功耗的半导体工艺可降低晶体管漏电流,帮助芯片设计师优化低功耗运行。可惜的是,低功耗工艺会限制MCU性能。例如,一个Texas Instruments MSP430 MCU在待机模式下消耗500nA电流,最大时钟频率为16MHz。而TMS320C5506 DSP运行的最大时钟频率为108MHz,在待机模式下消耗10µA电流。这表明它消耗了比MSP430高出20倍的电流。
从以前的发展历程上看,一直由软件控制内部MCU外设,这表明CPU总保持活动状态。但新的中断驱动(interrupt-driven)外设只需要较少的软件开销,允许MCU在多数时间保持待机模式。以内部模数转换器(ADC)硬件为例,它可自动扫描输入通道、触发器转换和执行DMA传输,来处理接收的数据采样任务。结果,ADC几乎是自发地运行,CPU只用很少的时间为其提供服务,MCU节省了功耗。
多时钟降低功耗要求
MCU的时钟系统设计还可帮助降低功耗。图1中的电路图显示了由单个晶体运行的两个时钟。MCU通常使用一个32kHz晶体,但不一定会同时生成内部时钟信号、系统时钟(MCLK)和辅助时钟(ACLK)信号。通常,晶体只生成ACLK信号。MCU的低功耗外设使用同时驱动MCU实时时钟的32kHz辅助时钟,高速数字控制振荡器(DCO)生成CPU和高速外设的系统时钟信号。
DCO能以几种方式生成时钟信号,每种都有不同的性能和功耗特点。从低到高的功耗,这些时钟模式有超低功耗振荡器(VLO)、3kHz晶体到DCO。为了降低功耗,设计师在闲置模式下使用最低的时钟(VLO或32kHz晶体),当应用需要CPU的活动处理时,实现了高频DCO。DCO可在不到1µs的时间内进入活动状态并达到完全稳定。这种“即时启用”的能力节省了时间和功耗。注意,在活动处理过程中使用低频率的低功耗时钟会比切换到更快的时钟下消耗更多的的功耗。在较高的功耗活动模式下,低频时钟使CPU花费更多的时间在特定的任务上。
除了对某些外设使用低速时钟节省功耗外,MSP430 MCU还提供了超低功耗振荡器来生成ACLK信号。在其待机功耗运行模式(LPM3)下,在ACLK运行和所有中断启用状态下,MSP430 MCU通常消耗不到1 µA的电流。所以,低功耗的MCU在保持实时的时钟或管理电池充电过程中比DSP消耗更少的功耗。而且,将这些任务交给MCU也可将DSP解脱出来,使其可执行其擅长的的信号处理任务。
功耗节约卓有成效
工程师可看到双处理器设计实现出色成效。试想有一依赖高端DSP来处理监控任务的系统。该处理器很快就会用尽一个2,500mAh的镍氢AA电池。如果平均电流消耗为10mA,两节串联电池在10.5天内就会耗尽。双处理器应用可将电流降低到1mA,使电池延长到120天。
双处理器系统中MCU为降低功耗,所能处理的某些系统或监控功能包括:
实时时钟维护
电源排序
电源监控与重置
键盘或人机接口管理
电池管理
显示器控制
管理DSP电源
许多DSP需要必须以固定的顺序施加电源的多个电源“轨”,以保证DSP和外围设备正常工作。通常,这些轨同时对核心(CPU)及DDR内存和I/O设备供电。尽管专用器件可通过固定的顺序对DSP芯片施加电压,但其不能执行其它功能。较小的低功耗MCU可对电源电压进行排序并监控,并执行电源控制任务(图2)。在此例中,软件以适当的顺序启动三个电源稳压器电路。MCU使用其内部ADC检测各个电源轨何时达到适当的电压。当总电路不需要DSP芯片时,MCU可以关闭稳压器以关闭DSP。
实际上,MCU可直接与压控制振荡器通信来控制DSP的电压和频率,或与PLL通信控制DSP的时钟频率。因此,当DSP完成计算密集的任务时,MCU可调节时钟将DSP转为待机模式以节省功耗。
双向监控允许MCU“检测”DSP以了解其忙碌状态。在此模式下,MCU作为智能控制器运行。另一方面,DSP可对MCU进行读写操作。所以DSP可根据应用的需要,通知MCU降低或提高DSP时钟。
利用MCU完成DSP通常在单个处理器系统中实现的其它任务,设计师还可获得更多的好处。例如,在处理键盘操作时,MCU比DSP消耗更少的功耗。MCU只在检测到按键或释放按键的动作后,才发送中断信号到DSP。这种方式有助于避免由击键造成的过多电流消耗,该情况经常出现在某些手持设备中。为了进一步解脱DSP芯片的负荷,监控MCU可提供:
段式LCD的驱动电路
标准SPI、UART和I2C端口
用于射频通信外设的接口
电池管理电路
通用I/O端口
对上述及以前提到的其它每种外设,MCU都可从低功耗模式“自动启动”。因此,MCU不会连续地轮询外设来确定哪个需要服务,也不会消耗最大功耗来进行该任务。外设会根据需要启动。
低功耗便携应用中的每一个毫瓦都是十分宝贵的。最后,设计师必须根据对计算、测量和功能及运行DSP或MCU间的全面考虑,来确定在应用中是使用一个还是两个处理器。