| 1. 引言 许多应用依靠微控制器来提供高性能,同时最大限度地降低功耗。微控制器的总体功耗取决于设备的功能和设计师对如何利用设备功能的理解。本文简要介绍影响功耗的硅技术元素,提供如何在普通设计中利用硅技术的指南,最后详细介绍如何利用飞思卡尔S12XE双核微控制器的特殊功能来优化功耗。 2. 功耗模式 嵌入式应用的运行行为可以分为两大运行状态,即所谓的“运行模式”和“低功耗模式”。在运行模式中,应用全面运行,并从电源获取电流来执行其功能。在低功耗模式中,应用通常处于修面状态,将功率降到尽可能低的水平。 集成电路设计的两个不同特征会影响两种不同运行状态。对这种根本影响的全面了解可能会对应用的最终功率要求产生极大影响。 3. 集成电路工作 图1显示了CMOS设计中常用的一种简化的逆变电路。该电路依赖两个根据输入信号开启或关闭的MOSFET。在稳态情况下,图中显示的T1处于打开状态,T2处于关闭状态。从理论上讲,电流不会通过T2,但实际上会有少量电流漏过此门。这被称为阈下或信道漏电,其具体数值取决于晶体管的设计,尤其是晶体管的工作电压。该门内有寄生二极管产生的次要影响,寄生二极管位于晶体管和晶体管所在的底板之间。 通过合理的设计和生产流程可以最大限度地减少这种影响导致的漏电。然而,由于漏电的本质特点,具体电流强度在温度变化时是高度非线性的。在周围环境温度较低的情况下,停止电流(stop current)可能非常小——微控制器约为20–30 μA。然而,在温度为125 °C时,电流可能会比这高20倍。 ![]() 图1. CMOS门内的运行模式电流。 在门的瞬时行为中,功率要求是由于MOSFET的开关导致的,见图2。门的开关是根据输入变化进行的,所以晶体管T3和T4的状态会从开变为关(T3)或从关变为开(T4)。这种状态变化需要的时间很有限(通常是几百PS秒),但在转换过程中两个晶体管都是通电的,因此电流会直接从VDD电线流到VSS线。门每一次开关,都会消耗相同的电量,因此根据通用时钟信号运行的微控制器等设备的电流需求会有升降变化,具体取决于时钟频率。这种影响大部分是线性的,因此时钟频率翻倍通常会引起所需电力的翻倍。 ![]() 图2. CMOS门中的运行模式电流。 MCU的功率要求取决于它的运行模式和环境条件。在运行模式下,总线速度越快,耗费的电流就越多;而在停止模式,主要影响因素很可能是温度。对于大多数CMOS电路而言,运行模式下所需的电流通常是低功耗模式下所需电流的好几倍。 根据对CMOS行为的理解,我们可以为多种电子设计提出几条建议。 在运行模式下,电路以最低的可接受时钟速度运行时功率最低。通过控制PLL电路,我们通常可以动态地改变应用的运行速度。这样,我们就可以通过将应用性能与其要求相匹配来降低平均功率要求。 可能时从运行模式切换到低功耗模式可以进一步降低系统的功率要求。很多微控制器在低功耗模式下有不同的运行水平。我们应始终确保所选的低功耗模式使应用可以正确应对系统状态的变化。 4. 常用I/O 建议 大多数情况下,低功耗模式不会改变输入/输出针脚的状态,这有可能对应用的功率要求产生巨大影响。例如,驱动LED的输出针脚在开启状态下会继续耗用电源,即使是在低功耗模式运行时也是如此,因此在进入低功耗模式之前将所有输出针脚设置为适当状态非常重要。同样,在进入低功耗模式之前还必须认真考虑输入针脚的状态。正如我们在图2中所见,晶体管上有输入电压,这使两个晶体管都处于打开状态。开关门时,这可能会在短时间内造成这种状态。很多标准输入端口都采用与这种门类似的设计,并会以相同的方式消耗电源。主要区别在于,输入电压不是由芯片电源而是由外部电压提供,因此不受MCU的控制。因此,我们可以为输入线路接通中等电压,使门将电流直接从VDD电线传导到VSS线路。因此,对任何数字输入针脚来说,只接通数字电压电平非常重要。 输入针脚的另一个特点是输入电阻通常非常高。这样就会导致小电荷在输入线路上累积并影响门的行为。实际上,这些电荷有可能会进入稳态,使门电压处于中等范围内,这样门又会消耗电流。因此,我们应对输入针脚进行认真分析,并在必要时强制它们进入已知状态。 该建议还适用于不允许所有I/O针脚连接到外面的封包中的MCU。在这种情况下,输入针脚仍然存在,但不会在物理上连接到任何其他硬件上。这些针脚必须通过采用内部牵引设备或修改为输出的方法设置为已知状态。如果不能正确处理这种浮动输入针脚,可能会导致数百毫安的功耗。 注意,尽管这些建议会对低功耗模式产生最大影响,但它们同样适用于运行模式。在运行模式下,功率也可能以这种方式被浪费。 5. S12XE系列产品上的具体微控制器特性 除了上述通用建议外,飞思卡尔还在S12XE系列设备中设计了多种节能特性。利用这些特性和通用建议,我们就可以大大优化应用的功耗。S12XE有三种主要的低功耗模式,它们是: 待机模式:完全关闭CPU,从而节约运行CPU所需的功率。其他模块也受不同级别的控制,但通常都可以选择继续运行或停止。由于整个时钟链都持续运行,因此这种模式下的功耗节约很有限。 停止模式:这种模式下,晶体振荡器停止运行,从而将主时钟从设备上断开,从而有效地使MCU停止所有操作。这是设备的最低功率配置。MCU上的几个模块提供重启振荡器和重启代码执行的方式,因为大多数情况下应用程序仍需要对系统事件作出响应。此外,S12XE系列MCU包括还有一种选项,可以在一定时间过后唤醒设备。对必须定期检查应用内传感器状态的系统而言,这是一种很有用的功能。这一时间段由嵌入到芯片电压调整器(叫作自动定期中断,API)中的一个计时器决定。API从内部RC振荡器中运行。这个内部RC振荡器在水晶振荡器停止时可以继续运行。由于这种计时器具有根据时钟进行逻辑切换的功能,因此会增加设备需要的总电流。然而,总电流仍然低于振荡器继续运行的模式下的总电流。 伪停止模式:顾名思义,这种模式具有停止模式的许多特征。二者时间的区别在于震荡器继续以更小的振幅运行,从而使某些芯片系统可以继续运行。特别值得一提的是,这种模式下可使用实时中断(RTI)和看门狗(COP)来提供精确的定时参考和系统保护。与停止模式相比,伪停止模式还能够大大缩短重启时间,因为水晶启动所花的时间减少。在所有模式下,外围设备的配置和RAM内容都会保存下来。 6. 低功率响应 如果能够对系统中的事件作出响应,应用就能够从微控制器的低功耗功能中受益。S12XE可以响应多种不同类型的系统事件,每一种事件详细说明如下。 数字输入事件 这种系统事件的例子包括用户发起的开关操作或来自外部模块或传感器的简单逻辑电平变化。 S12XE包括专用IRQ或XIRQ中断针脚和专门为检测这种事件设计的广泛键盘唤醒功能。这种输入通常包括高电位或低电位事件的触发选项,包括下拉(pull-down)或上拉(pull-up)设备。 在这种配置中,MCU可以置于停止模式,而不需要其他功能,然后在发生外部逻辑变化时会重新启动。这样就可以确保只有在系统需要时MCU才能使用操作电流。 模拟输入事件 这种事件发生在相连传感器上检测到特定的模拟值时。例子包括温度传感器和电池电量。 设计外部电路以在发生特定模拟事件时触发非常简单。这种情况下很可能需要使用模拟比较仪来将模拟事件转化为数字事件,还需要使用数字输入事件技术进行处理。 S12XE系列产品可使用芯片ATD转换器提供更先进的解决方案。这种转换器有两种功能可一同用于检测模拟事件。首先,每个转换信道上有一个数字比较仪,能够进行大于、小于或等于比较。正的比较结果可能会导致ATD发起中断。其次,ATD模块包含它自己的时钟源(采用RC震荡器形式)。这种内部时钟允许ATD进行转换,即使在MCU处于停止模式时也可以如此。通过结合这种自我时钟模式和比较仪功能,用户可以配置ATD来检测特定模拟事件并触发中断,从停止模式中重启MCU。 当模拟电压下降到特定值以下或超过某数值时,这种结合也允许MCU重启。 |
微控制器应用中的功耗优化技术
发布: 2007-11-29 11:39 | 作者: 当当 | 来源: Internet | 查看: 22次
最新更新
- 用超低功耗MSP430单片机设计数... 11-29
- 具有优异功耗性能比的DSP 11-29
- 低功耗MSP430F413实现智能遥控... 11-29
- P87LPC764 单片机的低功耗设计 11-29
- 基于C8051F系列单片机的低功耗... 11-29
- 低功耗MSP430单片机在3V与5V混... 11-29
- NEC新32位闪存MCU功耗降低50% 11-29
- 低功耗MCU系统软硬件设计考虑 11-29
- 基于M-BUS的超低功耗数据采集... 11-29
- 功耗测量辅助微控制器的选择 11-29



