最详尽32位MCU低功耗设计考量与经典范例参考(一)
传统的低功耗MCU设计都是以8位MCU为主,因为8位内核阈门相对较少,运行或泄露电流低,售价也相对低廉。但是,许多新兴的应用都需要比8 位元内核更大的处理效率。近年智能生活的抬头、物联网的建立,手持式消费性电子产品与无线功能需求越来越高、设计越来越复杂,要提高性能的同时又要兼顾低功耗,需要有一高性能低功耗的主控MCU来作为平台。另一方面,工业上的智能化也在展开,如远端监控、数位化、网路化等。简单说来,就是人物之连结(云端应用)、物物之连结(物联网) 需求越来越多,导致产品功能越来越复杂,运算量越来越高,2009年ARM发表了32位Cortex-M0内核,提供 MCU 厂商一个强而有力的平台,加上制程微缩技术的进步,嵌入式快闪记忆体制程普及化及降价,主要成本来自记忆体大小及类比周边和 IO 管脚数量,CPU内核的成本差异已大幅缩短,更促进了高性价比32位元低功耗MCU的快速发展。
MCU功耗来自何处?
在开始讨论低功耗 MCU 设计前,必须先探讨 MCU功耗的来源,其主要由静态功耗及运行功耗两部分组成。考虑实际的应用,最后决定系统功耗性能指标则必须计算平均功耗。
运行功耗
现代 MCU 已整合相当多的的类比周边,不能单纯考量数字电路的动态功耗。MCU运行时的总功耗由类比周边功耗和数字周边的动态功耗相加而得。类比电路的功耗通常由工作电压及其性能要求指标来决定,例如 100 ns传递延迟 (Propogation Delay)的比较器工作电流可能约为 40 微安,当允许传递延迟规格为 1 μs时,工作电流有机会降到个位数微安。
数字电路的动态功耗主要来自开关频率、电压及等效负载电容,其计算公式如下:
PDynamic (动态功耗) ~ f (工作频率) x CL (等效负载电容) x VDD 2 (工作电压)
由以上公式可以理解到降低动态功耗最直接的方式为降低工作电压及工作频率。但MCU实际应用面通常要求更宽广的工作电压及更高的效能。在降低工作电压方面,可以选择更新近的制程,并透过 LDO 让 CPU 内核、数字电路及与管脚输出入电压无关的类比周边在低压操作,IO 管脚及需要与其他外部电路连接的类比周边则在较高的系统电压操作。如此可以兼顾低功耗及宽工作电压的需求。在降低工作频率这项参数上,一个设计优良的32位MCU更能突显其效能优势,除了直觉的 MIPS 比较之外,32 位元汇流排也代表更高的资料存取频宽,能以更低的工作频率达到相同的效能,进而降低整体功耗。另外,如果 MCU 内建与操作频率相关的类比周边,例如石英晶体震荡电路、嵌入式快闪记忆体或电流式 DAC,其电流消耗与转换频率成正比,也要纳入低功耗 MCU 的动态功耗设计考量。
静态功耗
传统静态功耗的定义是指系统时钟源关闭时数字电路的漏电流。但是在混合信号低功耗 MCU 的设计中要同时考虑下列多种漏电流来源,包含数字电路漏电流、SRAM 漏电流、待机时已关闭的模拟电路漏电流 (例如 ADC,嵌入式快闪记忆体)、待机时不关闭的模拟电路工作电流 (例如 LDO、BOD) 及 IO 管脚的漏电流。因为时钟源已关闭,影响静态功耗的主要参数为制程、电压及温度。所以降低静态功耗必须选择超低功耗制程,但是低功耗制程通常伴随较高的 Vt,导致低电压类比周边设计困难。另外,以MCU待机电流 1微安的规格,代表数字电路漏电 + RAM 保持电流 + LDO 工作电流 + BOD (降压侦测或重置电路) 工作电流总和必须小于 1微安,对于 Flash,RAM 越来越大及功能越来越多的低功耗 MCU 设计厂商而言,是十分艰巨的挑战。
平均功耗
在系统级要兼顾低功耗及高效能,必须考虑实际应用面的需求,例如无线环境感测器可能让 MCU 主时钟及 CPU 关闭,只开启低频时钟,定时唤醒周边电路进行侦测,当符合设定条件的事件发生时快速启动 CPU 进行处理,即使没有任何事件发生,也必须定时激活 CPU 维持无线感测器网路的连线。在遥控器的应用中,则可能完全将所有时钟源都关闭,当使用者按键时快速唤醒时钟源及 CPU 进行处理。另外,许多应用都会加入一个MCU作为主机处理器的辅助处理器,用于监控键盘或红外线输入、刷新显示器、控制主处理器电源以及智慧电池管理等任务。此时平均功耗比单纯的运行功耗或待机功耗更具指标性意义。
评论