【导读】统的低功耗MCU设计都是以8位MCU为主,因为8位内核阈门相对较少,运行或泄露电流低,售价也相对低廉。然而近年来随着物联网、智能家庭和车联网等新兴产业的崛起,智能产品功能越来越强大,对处理器的性能和功耗要求越来越高。8位/16位构架的MCU随着潮流的发展将逐渐退出舞台,下一阶段32位构架的高性能MCU为王,那么未来拼的就是成本、功耗和性能。
在2014的慕尼黑电子展中,飞思卡尔发布了Kinetis E0x系列处理器,可见飞思卡尔在32位低功耗MCU市场上下了重注,将全面紧逼8位/16位MCU在家电和工业等传统应用市场。继飞思卡尔后,国外如爱特梅尔、恩智浦、微芯科技和德州仪器,国内如新唐、合泰半导体等知名MCU厂商,纷纷在导入基于ARM Cortex-M0+架构的32位MCU,并透过提高ROM容量和RAM读写速度、高度整合外设接口资源与相对高性能低BOM价格等优势,全力抢攻现今8位/16位MCU既有的家电和工业市场商机。

32位MCU市占将从2010年的10%翻番到2014年的20%,成倍增长
值得注意的是,在兼顾整体性能与良好技术服务支持前提下,飞思卡尔 Kinetis E0x系列MCU订货量超过10000,单芯片价格将低于0.45美元。
我们听了很多低成本、低功耗和高性能之类的产品设计原则,那么对于低功耗的概念想必大家都有点模糊,我们一起来探究下这个问题。
MCU功耗来自何处?
在开始讨论低功耗 MCU 设计前,必须先探讨 MCU功耗的来源,其主要由静态功耗及运行功耗两部分组成。考虑实际的应用,最后决定系统功耗性能指标则必须计算平均功耗。
运行功耗
现代 MCU 已整合相当多的的类比周边,不能单纯考量数字电路的动态功耗。MCU运行时的总功耗由类比周边功耗和数字周边的动态功耗相加而得。类比电路的功耗通常由工作电压及其性能要求指标来决定,例如 100 ns传递延迟 (Propogation Delay)的比较器工作电流可能约为 40 微安,当允许传递延迟规格为 1 μs时,工作电流有机会降到个位数微安。
数字电路的动态功耗主要来自开关频率、电压及等效负载电容,其计算公式如下:
PDynamic (动态功耗) ~ f (工作频率) x CL (等效负载电容) x VDD 2 (工作电压)
静态功耗
传统静态功耗的定义是指系统时钟源关闭时数字电路的漏电流。但是在混合信号低功耗 MCU 的设计中要同时考虑下列多种漏电流来源,包含数字电路漏电流、SRAM 漏电流、待机时已关闭的模拟电路漏电流 (例如 ADC,嵌入式快闪记忆体)、待机时不关闭的模拟电路工作电流 (例如 LDO、BOD) 及 IO 管脚的漏电流。
平均功耗计算范例
为了让读者更具体了解平均功耗的计算,以新唐科技的低功耗 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 设计考量
制程选择
为了达到低功耗的运作,并能有效地在低耗电待机模式下,达到极低的待机功耗,可以透过对制程的选择而站上基本的要求门槛。在不强调速度极致的某些制程分类,选择极低元件截止电流制程(如下图)进行逻辑闸制作,并进行数位设计是方法之一。选择这种策略的额外效益是,通常也能在降低动态操作电流上,达到较佳的表现.另外,由于高温大幅增加静态电流,当温度由摄氏25度增加到摄氏 85度时,一个典型比例约增加 10 倍的静态电流,以非低功耗 0.18 微米制程开发的 32 位元 MCU,逻辑阀门数 200K、4KB SRAM 在核心电压 1.8V、摄氏25度的静态耗电约为 5 ~ 10 微安,当温度升高到摄氏 85度时,静待电流将会飙高到 50 ~100 微安。而低功耗制程在摄氏85度仅约 10微安静态电流。
低功耗高效能的 CPU内核
早期低功耗 MCU 受限于成本及制程技术,大都选择 8 位元 CPU 内核,但随着工业上的智能化也在展开,如远端监控,数位化、网路化等。简单说来,就是人物之连结(云端应用)、物物之连结(物联网) 需求越来越多,导致产品功能越来越复杂,运算量越来越高,8 位元 MCU 已逐渐无法满足效能需求. 为了兼顾低功耗高效能,选择适用的 32 位元 CPU 内核乃大势所趋。
选择低功耗CPU 内核,除了单位频率耗电流外,还需要综合考量紧凑的低记忆体代码,相同功能所需的代码越长,除了增加记忆体成本,也代表更长的运行时间及功耗。另外,由于软件开发成本在后期将会越来越高,大量的参考代码及更多的第三方开发商的支持,都可以有效降低软件的开发时间及成本。所以选择一款更多人使用的 CPU 内核也是重要的考量之一ARM Cortex-M0阀门数仅 27K,使用的电量在 1.8V,超低泄漏 180ULL (Ultra LowLeakage) 仅约50μA/MHz。M0 内核采用Thumb2指令集架构,产生出非常紧凑的低记忆体代码,进一步降低了电源需求。ARM自 2009 年发表了32位元Cortex-M0内核以来,包括 NXP、新唐科技、ST、Freescale等多家国内外 MCU 大厂相继投入Cortex-M0 MCU 开发,不论供货或者品种的齐全度都已十分成熟,投入Cortex-M0的 MCU 开发商也在持续增加中。
电源系统的考量
在多电源系统的应用上,必须考虑低功耗 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产品时,不只要挑战电路设计的高困难度,更要由客户应用的角度考虑性价比,功能最强的不一定是最好的。往往性价比最适合的才能在市场上取得成功。由于智能电网、物联网、远端控制、自动化管理等低功耗高效能应用需求量持续增加,在可以预见的未来,32位元低功耗MCU将逐渐取代8/16位元低功耗MCU,成为市场主流。