最详尽32位MCU低功耗设计考量与经典范例参考(二)
低功耗 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通常配备丰富的时钟控制单元,可对各别的数位周边单元,依照需求做降频或升频的操作调整,在达到运作能力的同时,用最低的频率来运行。但为了达到更弹性的时钟源配置,可能导致 CPU 内核和周边电路时钟不同步的现象,此时必须仔细考虑电路设计,保证跨时钟领域资料存取的正确性。
另外为了尽量降低 CPU介入处理时间或降低 CPU 工作频率而节省下来的功耗,可以提供 DMA 或周边电路相互触发电路进行资料的传递,例如Timer 定时自动触发 ADC 或 DAC,并透过 DMA 进行资料由 ADC 到 RAM 或者 RAM 到 DAC 的搬移,同时在 ADC 的输入可以增加简单的数字绿波及平滑化电路,如此不须要 CPU 经常介入处理,也不会因为需要即时处理 ADC 或 DAC 事件导致中断程序占用太多时间,降低系统的实时性及稳定性。
支援多种工作模式
为了配合不同的应用需求,并达到系统平均功耗的最小化,低功耗 MCU需要提供多种操作模式,让使用者灵活调配应用,常见的操作模式有下列数种:
正常运行模式:CPU 内核及周边正常工作,能即时改变 CPU 及周边的工作频率 (On the Fly) 或关闭不需要的时钟源以获得最佳的工作效能。
低频工作模式:CPU 内核及周边工作于低频的时钟源,例如 32.768K 晶震或内部低频 10K RC 震荡器。通常此时最大的耗电来源为嵌入式闪存及 LDO 本身的耗电流。如果此时的执行程序不大,可以考虑将程序运作于 RAM 以降低平均功耗。请注意并不是所有 MCU 都能支援在RAM 执行程序。
Idle 模式:CPU 内核停止,时钟源和被致能的周边电路持续工作,直到周边电路符合设定条件唤醒 CPU 进行资料处理或控制执行流程。通常高频的运行模式,CPU 及嵌入式快闪记忆体消耗相当大比例的电流,故 Idle 模式能有效降低平均功耗。
待机RAM 保持模式:CPU 内核及所有时钟源关闭,内建LDO 切换到低耗电模式,但是RAM 及 IO 管脚持续供电,维持进入待机之前的状态。
RTC 模式:CPU 内核及高频时钟源关闭,内建LDO 切换到低耗电模式,由于此时 LDO 供电能力降低,仅能提供低耗电的周边电路运行,例如 32.768K 晶振、RTC (实时时钟计数器)、BOD (降压侦测或重置电路)、TN 单色LCD 直接驱动电路等。
深层待机模式:CP
- 8位MCU如何升级至32位MCU (10-07)
- 最详尽32位MCU低功耗设计考量与经典范例参考(三)(12-14)
- 最详尽32位MCU低功耗设计考量与经典范例参考(一)(12-14)
- 低价32位MCU大军压境,8位ASIC MCU看涨(12-14)
- 32位元MCU功耗再降(09-28)
- 32位单片机知识讲解:Microchip PIC32系列(二)(05-20)
- 妤傛ḿ楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閸忋劍鏌熸担宥咁劅娑旂姴鐨犳0鎴滅瑩娑撴氨鐓$拠鍡礉閹绘劕宕岄惍鏂垮絺瀹搞儰缍旈懗钘夊閿涘苯濮幃銊ユ彥闁喐鍨氶梹澶歌礋娴兼ḿ顫呴惃鍕殸妫版垵浼愮粙瀣瑎...
- 娑擃厾楠囩亸鍕暥瀹搞儳鈻肩敮鍫濆悋閹存劕鐓跨拋顓熸殌缁嬪顨滅憗锟�
缁箖鈧拷30婢舵岸妫亸鍕暥閸╃顔勭拠鍓р柤閿涘奔绗撶€硅埖宸跨拠鎾呯礉閸斺晛顒熼崨妯烘彥闁喕鎻崚棰佺娑擃亜鎮庨弽鐓庣殸妫版垵浼愮粙瀣瑎閻ㄥ嫯顩﹀Ч锟�...
- Agilent ADS 閺佹瑥顒熼崺纭咁唲鐠囧墽鈻兼總妤勵棅
娑撴挸顔嶉幒鍫n嚦閿涘苯鍙忛棃銏n唹鐟欘枃DS閸氬嫮顫掗崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱遍崝鈺傚亶閻€劍娓堕惌顓犳畱閺冨爼妫跨€涳缚绱癆DS...
- HFSS鐎涳缚绡勯崺纭咁唲鐠囧墽鈻兼總妤勵棅
鐠у嫭绻佹稉鎾愁啀閹哄牐顕抽敍灞藉弿闂堛垼顔夐幒鍦欶SS閻ㄥ嫬濮涢懗钘夋嫲鎼存梻鏁ら敍灞藉簻閸斺晜鍋嶉崗銊╂桨缁崵绮洪崷鏉款劅娑旂姵甯夐幓顡嶧SS...
- CST瀵邦喗灏濆銉ょ稊鐎广倕鐓跨拋顓熸殌缁嬪顨滅憗锟�
閺夊孩妲戝ú瀣╁瘜鐠佽绱濋崗銊╂桨鐠佸弶宸緾ST閸氬嫰銆嶉崝鐔诲厴閸滃苯浼愮粙瀣安閻㈩煉绱濋崝鈺傚亶韫囶偊鈧喕鍤滅€涳附甯夐幓顡塖T鐠佹崘顓告惔鏃傛暏...
- 鐏忓嫰顣堕崺铏诡攨閸╃顔勭拠鍓р柤
娑撳洣绗€妤傛ɑ銈奸獮鍐叉勾鐠у嚖绱濇潻娆庣昂鐠囧墽鈻兼稉杞扮稑閸︺劌鐨犳0鎴炲Η閺堫垶顣崺鐔枫亣鐏炴洘瀚甸懘姘剧礉閹垫挷绗呴崸姘杽閻ㄥ嫪绗撴稉姘唨绾偓...
- 瀵邦喗灏濈亸鍕暥濞村鍣洪幙宥勭稊閸╃顔勭拠鍓р柤閸氬牓娉�
鐠愵厺鎷遍崥鍫ユ肠閺囨潙鐤勯幆鐙呯礉缂冩垵鍨庨妴渚€顣剁拫鍙樺崕閵嗕胶銇氬▔銏犳珤閵嗕椒淇婇崣閿嬬爱閿涘本鍨滅憰浣圭壉閺嶉绨块柅锟�...