物联网与智慧生活风潮兴起,带动市场对高效能且低功耗的32位元微控制器(MCU)需求增温,因此微控制器业者已积极从制程和中央处理器(CPU)核心选择,以及电路设计等层面着手,以降低动态与静态功耗,并兼顾整体运算效能。
传统的低功耗微控制器(MCU)设计都是以8位元MCU为主,因为8位元内核阈门相对较少,运行或泄露的电流低,售价也相对低廉。然而,许多新兴的应用皆需要比8位元内核更大的处理效率。
近年智慧生活的抬头、物联网的兴起,手持式消费性电子产品与无线功能需求愈来愈高、设计愈来愈复杂,要提高性能的同时又要兼顾低功耗,需要有一高性能、低功耗的主控MCU做为平台。此外,工业上的智慧化也在展开,如远端监控、数位化、网路化等。简言之,云端应用和物联网需求越来越多,已导致产品功能愈来愈复杂,运算需求愈来愈高。
2009年安谋国际(ARM)发表32位元Cortex-M0内核,提供MCU厂商一个强而有力的平台,加上制程微缩技术的进步,嵌入式快闪记忆体制程普及化及降价,主要成本来自记忆体大小及类比周边和输入输出(I/O)接脚数量,中央处理器(CPU)内核的成本差异已大幅缩短,更促进高性价比32位元低功耗MCU的快速发展。
运行与静态耗电量组成MCU功耗
在开始讨论低功耗MCU设计前,必须先探讨MCU功耗的来源,其主要由静态功耗及运行功耗两部分组成。实际的应用,须藉由计算平均功耗,决定最后系统功耗性能指标。
动态功耗与工作电压和频率相关
现代MCU已整合相当多的类比周边,不能单纯考量数位电路的动态功耗。MCU运行时的总功耗,由类比周边功耗和数位周边的动态功耗相加而得。类比电路的功耗通常由工作电压及其性能要求指标来决定,如100奈秒传递延迟(Propagation Delay)的比较器工作电流可能约为40微安培;当允许传递延迟规格为1微秒时,工作电流有机会降到个位数微安培。
数位电路的动态功耗主要来自开关频率、电压及等效负载电容,其计算公式如下:
PDynamic(动态功耗)~f(工作频率)xCL(等效负载电容)xVDD2(工作电压)
由以上公式可以理解到降低动态功耗最直接的方式,为降低工作电压及工作频率,但MCU实际应用面通常要求更宽广的工作电压及更高的效能。在降低工作电压方面,可以选择更先进的制程,并透过线性稳压器(LDO)让CPU内核、数位电路及与接脚输出入电压无关的类比周边在低压操作;I/O接脚及须与其他外部电路连接的类比周边,则在较高的系统电压操作,如此可以兼顾低功耗及宽工作电压的需求。
在降低工作频率这项参数上,一个设计优良的32位元MCU更能突显其效能优势,除了直觉的每秒可执行多少百万指令(MIPS)比较之外,32位元汇流排也代表更高的资料存取频宽,能以更低的工作频率达到相同的效能,进而降低整体功耗。另外,若MCU内建与操作频率相关的类比周边,例如石英晶体振荡电路、嵌入式快闪记忆体或电流式数位类比转换器(DAC),其电流消耗与转换频率成正比,也要纳入低功耗MCU的动态功耗设计考量。
静态功耗缩减挑战重重
传统静态功耗的定义是指系统时脉源关闭时,数位电路的漏电流,但是在混合讯号低功耗MCU的设计中,要同时考虑下列多种漏电流来源,包含数位电路漏电流、静态随机存取记忆体(SRAM)漏电流、待机时已关闭的模拟电路漏电流(例如ADC、嵌入式快闪记忆体)、待机时不关闭的模拟电路工作电流(如LDO、电压不足侦测(BOD))及I/O接脚的漏电流。
由于时脉源已关闭,影响静态功耗的主要参数为制程、电压及温度。也因此,降低静态功耗必须选择超低功耗制程,但是低功耗制程通常伴随较高的Vt,导致低电压类比周边设计困难。另外,以MCU待机电流1微安培的规格,代表数位电路漏电+随机存取记忆体(RAM)保持电流+LDO工作电流+降压侦测或重置电路(BOD)工作电流总和必须小于1微安培,对于快闪记忆体、RAM越来越大,及功能越来越多的低功耗MCU设计厂商而言,是十分艰钜的挑战。
运行、待机和唤醒时间不容忽视
在系统级要兼顾低功耗及高效能,必须考虑实际应用面的需求,如无线环境感测器可能让MCU主时脉及CPU关闭,只开启低频时脉,定时唤醒周边电路进行侦测;当符合设定条件的事件发生时,快速启动CPU进行处理;即使没有任何事件发生,也必须定时唤醒CPU,维持无线感测器网路的连线。
在遥控器的应用中,则可能完全将所有时脉源都关闭,当使用者按键时,快速唤醒时脉源及CPU进行处理。另外,许多应用都会加入一个MCU做为主处理器的辅助处理器,用于监控键盘或红外线输入、刷新显示器、控制主处理器电源及智慧电池管理等任务。此时,平均功耗比单纯的运行功耗或待机功耗,更具指标性意义。
平均功耗由运行功耗和运行时间、静态功耗和待机时间,以及不同运行模式之间的切换时间等主要参数组合而成。兹以图1进行说明。
图1 不同运行时间电流大小的变化
平均电流(IAVG)=(I1xT1+I2xT2+I3xT3+I4xT4+I5xT5+I6xT6)/(T1+T2+T3+T4+T5+T6)
因为进入待机模式时间很短,忽略此段时间的电流消耗,公式可以简化为:
平均电流(IAVG)=(I1xT1+I3x 3+I4xT4+I5xT5+I6xT6)/(T1+T3+T4+T5+T6)
由以上公式观察到,除了降低运行电流及静态待机电流外,降低运行时间、唤醒时间及高低速运行模式切换时间,亦为降低整机功耗的重要手段。另外,图1同时指出,低功耗MCU支援动态切换运行时脉频率是必要的功能。
实现低功耗MCU设计 开发商考量须面面俱到
低功耗MCU设计考量包括制程选择、低功耗/高效能CPU核心、低功耗数位电路、支援多种工作模式、电源系统、丰富的唤醒机制/快速唤醒时间、低功耗类比周边与记忆体等,以下将进一步说明之。
制程选择至关重要
为了达到低功耗的运作,并能有效地在低耗电待机模式下,达到极低的待机功耗,制程的选择极为重要。在不强调速度极致的某些制程分类,选择极低元件截止电流制程(图2)进行逻辑闸制作,并进行数位设计是方法之一。
图2 不同制程元件截止和晶片待机电流变化
选择这种策略的额外效益是,通常也能降低动态操作电流,达到较佳的表现。另外,由于高温大幅增加静态电流,当温度由摄氏25度增加到摄氏85度时,一个典型比例约增加十倍的静态电流。以非低功耗0.18微米制程,开发逻辑阀门数200K、4KB SRAM的32位元MCU为例,在核心电压1.8伏特、摄氏25度的静态耗电约为5?10微安培;当温度升高到摄氏85度时,静待电流将会飙高到50~100微安培;而若采用低功耗制程,在摄氏85度时,静态电流仅约10微安培。
选用低功耗/高效能的CPU内核
早期低功耗MCU受限于成本及制程技术,大都选择8位元CPU内核,但随着工业智慧化的发展,导致产品功能更加复杂,运算量更高,8位元MCU已逐渐无法满足效能需求;为了兼顾低功耗高效能,选择适用的32位元CPU内核乃大势所趋。
选择低功耗CPU内核,除了单位频率耗电流外,还须要综合考量小容量的低记忆体代码,相同功能所需的代码越长,除了增加记忆体成本,也代表更长的运行时间及功耗。另外,由于软体开发成本在后期将会越来越高,大量的参考代码及更多的第三方开发商的支持,均可有效降低软体的开发时间及成本。也因此,选择一款更多人使用的CPU内核也是重要的考量之一。
控制数位电路时脉
对于一般的同步数位电路设计,要使数位单元有效降低操作电流,透过控制时脉的频率或截止不需要的时脉跳动,也是重要的方法。低功耗MCU通常配备丰富的时脉控制单元,可对个别的数位周边单元,依照需求做降频或升频的操作调整,在达到运作能力的同时,用最低的频率来运行。但为了达到更弹性的时脉配置,可能导致CPU内核和周边电路时脉不同步的现象,此时必须仔细考虑电路设计,保证跨时脉领域资料存取的正确性。
另外,为了尽量降低CPU介入处理时间或降低CPU工作频率而节省下来的功耗,可提供直接记忆体存取(DMA)或周边电路相互触发电路进行资料的传递,如定时器(Timer)定时自动触发ADC或DAC,并透过DMA进行资料由ADC到RAM,或者RAM到DAC的搬移,同时在ADC的输入可以增加简单的数位滤波及平滑化电路,如此不须要CPU经常介入处理,也不会因为须要即时处理ADC或DAC事件,导致中断程序占用太多时间,降低系统的即时性及稳定性。
支援多种工作模式
为了配合不同的应用需求,并达到系统平均功耗的最小化,低功耗MCU须要提供多种操作模式,让使用者灵活调配应用,常见的操作模式有下列数种:
.正常运行模式
CPU内核及周边正常工作,能即时改变CPU及周边的工作频率(On the Fly)或关闭不需要的时脉源,以获得最佳的工作效能。
.低频工作模式
CPU内核及周边工作于低频的时脉源,如32.768kHz晶振或内部低频10K电阻电容(RC)振荡器,通常最大的耗电来源,为嵌入式快闪记忆体及LDO本身的耗电流。若此时的执行程序不大,可以考虑将程序运作于RAM,以降低平均功耗。请注意并不是所有MCU都能支援在RAM执行程序。
.Idle模式
CPU内核停止,时脉源和被启动的周边电路持续工作,直到周边电路符合设定条件,唤醒CPU进行资料处理或控制执行流程。通常高频的运行模式,CPU及嵌入式快闪记忆体消耗相当大比例的电流,故闲置(Idle)模式能有效降低平均功耗。
.待机RAM保持模式
CPU内核及所有时脉源关闭,内建LDO切换到低耗电模式,但是RAM及I/O接脚持续供电,维持进入待机之前的状态。
.RTC模式
CPU内核及高频时脉源关闭,内建LDO切换到低耗电模式,由于此时LDO供电能力降低,仅能提供低耗电的周边电路运行,如32.768kHz晶振、即时时脉计数器(RTC)、BOD、TN单色LCD直接驱动电路等。
.深层待机模式
CPU内核及所有时脉源关闭,关闭RAM及LDO、BOD等所有周边电路的电源,仅I/O接脚(或部分I/O接脚)持续供电,由I/O接脚或重置(Reset)接脚唤醒CPU。因为此模式下,RAM的资料已丢失,通常会进行内部电源切割,提供数十个状态记录暂存器,做为系统重启时的初始状态参考源。此模式的优点是更低的静态电流,通常仅需100?500奈安培,其缺点是并非所有的应用都可以忍受RAM资料丢失及系统重启。
电源系统的考量
在多电源系统的应用上,必须考虑低功耗MCU的内部电源规画或自动切换,以下以市电/备用电池双电源系统及内建通用序列汇流排(USB)介面,但平常由电池供电的行动装置来举例说明。
.市电/备用电池双电源系统
MCU平常由市电经由交直流转换电路供电,当市电断电时,经由连接在备用电源的独立供电接脚进行供电,同时在MCU内部进行电源切割,并提供一个可靠的备用电源自动切换开关,确保市电正常供电时备用电池不会持续被消耗。
但仔细考虑,其实有两种状况可能发生,一种是备用电池仅供电给部分低耗电的周边电路,如32.768kHz晶振、RTC时脉电路、资料备份暂存器等。当市电来时,MCU将重新启动;另外一种状况是当市电断电时,有可能MCU及部分周边电路会被唤醒工作,然后再次进入待机模式。智慧型电表就是此类应用的典型代表。在此种应用中,备用电池须要供电给整颗MCU,所以电源自动切换开关必须能承受更高的电流,相对成本也较高。
.内建USB介面行动装置
此类装置平时由两节电池供电或锂电池供电,工作电压可能为2.2?3伏特,当连接到USB时,USB介面转由VBUS供电。此类低功耗MCU如果没有内建5伏特转3伏特的USB介面,LDO将会产生下列问题,当连接USB时,必须由外挂的LDO将USB VBUS的5伏特电源转换为3伏特电源,同时提供给MCU VDD及USB介面电路,但又必须避免LDO输出的3伏特电源,与离线操作时的电池电源发生冲突,将会须要外加电源管理电路,增加系统成本及复杂度。
丰富的唤醒机制及快速唤醒时间
有许多的系统应用场合,须由外部的单一讯号、键盘或甚至串列通讯讯号,激发MCU启动整体系统的运作。在未被激发的时候,MCU或甚至大部分的整机须处于最低耗电的待机状态,以延长电池的寿命。
能够在各式需求下被唤醒,也成为MCU的重要特征。MCU能拥有各式不同的唤醒方式,包括各I/O可做为激发唤醒的通道,或是由内部整合电路(I2C)、通用异步收发器(UART)、串列周边介面(SPI)的通道做为被外界元件触发唤醒,或使用内、外部的超低耗电时脉源,透过计时器来计时唤醒。诸多的唤醒机制,只要运用得当,并配合MCU的低耗电操作切换模式,可使MCU几乎时时处于极低功耗的状况。
配有快速、高效率内核的MCU,可以在每次唤醒的当下短暂时间里,完成应有的运作与反应,并再次进入深层的低待机模式,以此达到平均耗能下降的目的。但是,若唤醒后开始执行微指令的时间因为某些因素而拖延得很长,将会使降低总体耗电的目标大打折扣,甚至达不到系统反应的要求。因此,有些MCU配合起振时间的改进,及逻辑设计的配合,使得唤醒后执行指令的时间至少降到数个微秒之内。
低功耗类比周边及记忆体e#
低功耗类比周边及记忆体
低功耗MCU在运行时,除了CPU内核及被启动的数位周边电路在工作外,愈来愈多被整合到内部的类比周边电路亦是耗电的主要来源。以最简单的执行序来分析运行功耗,共包含下列耗电来源:CPU内核、时脉振荡器、嵌入式闪存记忆体及LDO本身的消耗电流。代入以下典型值数据将会更清楚显示各个部分对耗电的影响:
运行频率12MHz,MCU电压3伏特,LDO输出1.8伏特供给CPU内核、记忆体及其他数位电路;低功耗Cortex-M0内核:600微安培;嵌入式快闪记忆体:1.5毫安培;低功耗12MHz晶振电路:230微安培;LDO本身的静态消耗电流:70微安培。
总和=0.6+2+0.23+0.07=2.4毫安培,平均功耗约200μA/MHz。其中耗电比例最高的是嵌入式快闪记忆体。若要运行在更高频率,通常会启动内建的锁相回路(PLL)提供更高频率的时脉源,在1.8伏特供电的典型PLL,12MHz输入输出、48MHz工作电流约为1?2毫安培,若不能有效降低PLL耗电,对高频工作的低功耗MCU将是一大电流负担。
LDO的最低静态功耗、32.768kHz晶振电路、BOD及扭转向列型液晶显示器(TN LCD)驱动电路的工作电流,都会大大影响到待机或RTC模式的功耗指标。以低功耗应用的热能表为例,RTC加LCD显示的功耗要求在3V/8微安培以下,这代表可以预估分配给下列电路的电流预算为:LDO静态功耗0.5微安培+32.768kHz晶振及RTC电路1微安培+BOD1微安培+TN LCD驱动4微安培+LCD玻璃1微安培+所有数位电路及类比周边漏电流0.5微安培。这些类比周边除了低耗电要求,同时必须兼具要求批量生产及温度变化时的一致性,这对类比设计人员将是一大挑战。
快速唤醒这个性能指标也会影响到下列类比周边的稳定时间。当MCU从低耗电的待机模式唤醒时,首先要将LDO快速切换到高供电模式,启动内部高速RC振荡器,使能嵌入式快闪记忆体及CPU,以上所有电路的稳定时间总和必须在数个微秒内完成,才能符合快速唤醒的需求。
另外一个容易被忽略的设计是周边电路启动电流,因为相当多的可携式装置采用CR2032小型锂电池,瞬间推动力仅有数毫安培,尤其使用一段时间瞬间推动力会更低,当MCU被唤醒时,若周边电路启动电流总和太大时,将会导致CR2032输出电压骤降,致使MCU重置(Reset)或工作不正常。为了避免此问题,除了降低周边电路的启动电流,另一种方法是分时分段启动周边电路,不要集中开启太多耗电的电路。
平均功耗计算范例
为了让读者更具体了解平均功耗的计算,以新唐科技的低功耗32位元MCU Nano系列及血糖计应用为例,进行使用年限的预估。
此血糖计范例采用CR2032 230mAh电池,使用方式、运行功耗及静态功耗如表1所示。
使用年限的计算方式请参考表2。量测时间比例、显示时间比例及待机时间比例可由表2求得。例如,量测时间比例为六次×0.25分钟/(60×24)分钟=0.1%。其余时间比例依此类推。量测平均电流为量测时间比例×(MCU运行耗电流+外部量测电路耗电流+待机(含RTC)耗电流+LCD耗电流+CR2032自放电)。显示平均电流为显示时间比例×(待机(含RTC)耗电流+LCD耗电流+CR2032自放电)。待机平均电流为待机时间比例×(待机(含RTC)耗电流+CR2032自放电)。最后计算出使用年限约为2.77年。由于待机时间比例高达99%,故血糖计应用待机电流为延长使用年限最重要的参数。
低功耗MCU开发须兼顾性价比要求
低功耗MCU设计是一个须多面向考虑的复杂工作,本文仅阐述基本设计理念。开发低功耗MCU产品时,不只要挑战电路设计的高困难度,更要由客户应用的角度考虑性价比,功能最强的不一定是最好的,往往性价比最适合的产品,才能在市场上取得成功。由于智慧电网、物联网、远端控制、自动化管理等低功耗、高效能应用需求量持续增加,在可预见的未来,32位元低功耗MCU将逐渐取代8、16位元低功耗MCU,成为市场主流。
上一篇:可穿戴设备商机涌现 Cortex-M4 MCU需求激增
下一篇:如何使创新的MCU实现高效节能电机控制
推荐阅读最新更新时间:2023-10-12 20:54