×
嵌入式 > 技术百科 > 详情

最详尽32位MCU低功耗设计考量与经典范例参考(三)

发布时间:2020-06-13 发布时间:
|

电源系统的考量

  在多电源系统的应用上,必须考虑低功耗 MCU 的内部电源规划或自动切换,以下以市电/备用电池双电源系统及内建 USB 介面,但平常由电池供电的行动装置来举例说明。

  市电/备用电池双电源系统:MCU 平常由市电经由交直流转换电路供电,当市电断电时,经由连接在备用电源的独立供电管脚进行供电,同时在 MCU 内部进行电源切割,并提供一个可靠的备用电源自动切换开关,确保市电正常供电时备用电池不会持续被消耗。但仔细考虑,其实有两种状况可能发生,一种是备用电池仅供电给部分低耗电的周边电路,例如 32.768K 晶振、RTC 时钟电路、资料备份寄存器等。当市电来时 MCU 将重新启动。另外一种状况是当市电断电时,有可能 MCU 及部分周边电路会被唤醒工作,然后再次进入待机模式。智慧型电表就是此类应用的典型代表。在此种应用中,备用电池需要供电给整颗 MCU,所以电源自动切换开关必须能承受更高的电流,相对成本也较高。

  内建 USB 介面行动装置:此类装置平时由两节电池供电或锂电池供电,工作电压可能为 2.2V 到 3V,当连接到 USB 时,USB介面转由 VBUS 供电。此类低功耗 MCU 如果没有内建 5V 转 3V 的 USB 介面 LDO将会产生下列问题,当连接 USB 时必须由外挂的 LDO 将 USB VBUS 的 5V 电源转换为 3V 电源同时提供给 MCU VDD及 USB 介面电路,但又必须避免 LDO 输出的 3V 电源与离线操作时的电池电源发生冲突,将会需要外加电源管理电路,增加系统成本及复杂度。

  丰富的唤醒机制及快速唤醒时间

  有许多的系统应用场合,需要由外部的单一讯号、键盘或甚至串列通讯信号来激发 MCU 启动整体系统的运作。在未被激发的时候,微控器或甚至大部分的整机需要处于最低耗电的待机状态,以延长电池的寿命。能够在各式需求下被唤醒,也成为微控器的重要特征。MCU 能拥有各式不同的唤醒方式,包括各I/O 可作为激发唤醒的通道,或是由I2C、UART、SPI的通道作为被外界元件触发唤醒,或使用内、外部的超低耗电时钟源,透过 Timer 来计时唤醒。诸多的唤醒机制,只要运用得当,并配合微控器的低耗电操作切换模式,可以使 MCU 几乎时时处于极低功耗的状况。

  配有快速、高效率内核的 MCU,可以在每次唤醒的当下短暂时间里,完成应有的运作与反应,并再次进入深层的低待机模式,以此达到平均耗能下降的目的。但是,如果唤醒后开始执行微指令的时间因为某些因素而拖延的很长,将会使降低总体耗电的目标大打折扣,甚至达不到系统反应的要求。因此,有些 MCU,配合起振时间的改进,逻辑设计的配合,使得唤醒后执行指令的时间至少降到数个微秒之内。

  低功耗类比周边及存储器

  低功耗 MCU 在运行时除了 CPU 内核及被致能的数字周边电路在工作外,越来越多被整合到内部的类比周边电路也是耗电的主要来源。以最简单的 while (1); 执行序来分析运行功耗,共包含下列耗电来源: CPU 内核、时钟振荡器、嵌入式闪存、及LDO 本身的消耗电流。代入以下典型值数据将会更清楚显示各个部分对耗电的影响:

  运行频率 12MHz,MCU 电压 3V,LDO 输出 1.8V 供给 CPU 内核、记忆体及其他数字电路

  低功耗Cortex-M0内核:600 μA

  嵌入式闪存:1.5 mA

  低功耗12MHz 晶震电路:230 μA

  LDO本身的静态消耗电流:70 μA

  总和=0.6+2+0.23+0.07=2.4 mA,平均功耗约 200μA/MHz

  其中耗电比例最高的是嵌入式闪存。如果要运行在更高频率,通常会启动内建的 PLL 提供更高频率的时钟源,在 1.8V 供电的典型 PLL,12MHz 输入输出 48 MHz工作电流约为 1 ~ 2mA,如果不能有效降低 PLL 耗电,对高频工作的低功耗 MCU 将是一大电流负担。

  LDO 的最低静态功耗、32.768 kHz 晶振电路、BOD 及 TN LCD 驱动电路的工作电流,都会大大影响到待机或 RTC 模式的功耗指标。以低功耗应用的热能表为例,RTC 加 LCD 显示的功耗要求在 3V/8μA 以下,这代表可以预估分配给下列电路的电流预算为:LDO静态功耗 0.5μA + 32.768 kHz 晶振及RTC电路 1μA + BOD 1μA + TN LCD 驱动 4μA + LCD 玻璃 1μA + 所有数位电路及类比周边漏电流 0.5μA。这些类比周边除了低耗电要求,同时必须兼具要求批量生产及温度变化时的一致性,这对类比设计人员将是一大挑战。

  快速唤醒这个性能指标也会影响到下列类比周边的稳定时间。当 MCU 从低耗电的待机模式唤醒时,首先要将 LDO 快速切换到高供电模式,启动内部高速 RC 震荡器,使能嵌入式快闪记忆体及 CPU,以上所有电路的稳定时间总和必须在数个微秒内完成,才能符合快速唤醒的需求。

  另外一个容易被忽略的设计是周边电路启动电流,因为相当多的可携式装置采用 CR2032 小型锂电池,瞬间推动力仅有数 mA,尤其使用一段时间瞬间推动力会更低,当 MCU 被唤醒时果周边电路启动电流总和太大时,将会导致 CR2032 输出电压骤降而导致 MCU 重置 (Reset) 或工作不正常。为了避免此问题,除了降低周边电路的启动电流,另一种方法是分时分段启动周边电路,不要集中开启太多耗电的电路。

平均功耗计算范例

  为了让读者更具体了解平均功耗的计算,以新唐科技的低功耗 32位元 MCU Nano 系列及血糖计应用为例,进行使用年限的预估。新唐的 Nano 系列低功耗 32位元 MCU 的 CPU 内核为Cortex-M0,具有200uA/MHz低运行功耗、待机电流仅需1uA、7uS快速唤醒、多重时钟讯号来源及多种工作模式,多达 128KB Flash、16K SRAM 及 12位元 ADC、12位元 DAC、SPI、I2C、I2S、UART、LCD、Touch Key 等丰富周边,符合低功耗、高性能 MCU 应用需求。

  此血糖计范例采用CR2032 230 mAh电池,使用方式、运行功耗及静态功耗如下表所示。

  

  使用年限的计算方式请参考下表。量测时间比例、显示时间比例及待机时间比例可由上表求得。例如,量测时间比例为“6 次 x 0.25 分钟 / (60 x 24) 分钟 = 0.1%”。其余时间比例依此类推。量测平均电流为“量测时间比例 x (MCU运行耗电流 +外部量测电路耗电流 +待机(含RTC)耗电流 + LCD 耗电流 + CR2032 自放电)”。显示平均电流为“显示时间比例 x (待机(含RTC)耗电流 + LCD 耗电流 + CR2032 自放电)”。待机平均电流为“待机时间比例 x (待机(含RTC)耗电流 + CR2032 自放电)”。最后计算出使用年限约为 2.77年。由于待机时间比例高达 99%,故血糖计应用待机电流为延长使用年限最重要的参数。

  

  结论

  低功耗MCU设计是一个需要多面向考虑的复杂工作,本文仅阐述基本设计理念。开发低功耗MCU产品时,不只要挑战电路设计的高困难度,更要由客户应用的角度考虑性价比,功能最强的不一定是最好的。往往性价比最适合的才能在市场上取得成功。由于智能电网、物联网、远端控制、自动化管理等低功耗高效能应用需求量持续增加,在可以预见的未来,32位元低功耗MCU将逐渐取代8/16位元低功耗MCU,成为市场主流。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
德州仪器推出稳压误差仅为1%的无电容LDO产品