威海職業(yè)學院 孔憲青
產品設計的重要一環(huán)就是單片機的低功耗模式,是可穿戴設備、醫(yī)療設備、手持設備等電池供電的產品中的重要性能指標。現(xiàn)階段,很多廠商提供了多樣的MCU低功耗處理方法。本文以低功耗為切入,闡述對MCU的選擇。
低功耗模式是指設備正常工作的前提下,通過關閉外設和內核部分,使MCU在總體電量不變的條件下能更長時間的工作。1996年出現(xiàn)的16位MSP430系列通過關閉CPU、倍頻環(huán)、數(shù)字時鐘發(fā)生器、振蕩器而組合出五種低功耗模式,LPM4模式下供電電流可以低到0.1uA。但隨著產品性能的日益要求,32位MCU出現(xiàn)并進入低功耗領域,出現(xiàn)了ARM架構的Cortex-M0的低功耗內核。圖1是MSP30G2553和STM32F011的部分時鐘樹的對比。
圖1 MSP430G2553和STM32L011的部分時鐘樹
可以看出,后者對外設的頻率控制更精細,既能獲得32位性能又能獲得更好的功耗控制。其Cortex-M0+系列的外部高速時鐘晶振預分頻為AHB,然后再分解為APBx,對于外設的控制比MSP430系列有更多選擇。時鐘是啟動外設和給電的源頭,因此通過APBx有更多不同分頻以供不同外設而達到最優(yōu)的功耗。而MSP430G2553只有MCLK分解的SMCLK和ACLK可用,也就是達不到精準控制外設時鐘的目的,也不能精準控制外設功耗??傊?,低功耗模式就是精準的控制時鐘及其分頻,以達到降低外設功耗的目的。
現(xiàn)階段,低功耗 MCU百花齊放。TI、ST、NXP、Atmel等公司都提供了大量的可供選擇的芯片。從低功耗方面,通過幾種類型的芯片進行對比,部分參數(shù)見表1。
對比發(fā)現(xiàn),ARM架構三內核性能的排序為CM3>CM0+>CM0,運行功耗的排序為CM3>CM0>CM0+,即CM0+內核的能效高于CM0,運算性能僅次于CM3,但CM0+比CM3價格低,中斷響應卻更快,故CM0+更適合應用于低成本低功耗的產品。那些對功耗要求苛刻、運算處理復雜、且需控制成本的設備選擇Cortex-M0+內核的MCU最為合適。這樣的主流芯片有ST公司的L0系列,NXP公司的LPC800系列,Atmel公司的SAML2系列等。其中STM32L0系列有三條主要的產品線,差異在于不同的外設模塊,如USB控制器、LCD控制器和DAC。恰當?shù)剡x用有助于減少外部芯片的數(shù)量,降低系統(tǒng)成本和功耗。因此,片上集成資源的數(shù)量、種類、性能和功耗,也是決定MCU選型的重要參考因素。
除了選擇合適的低功耗MCU之外,還要考慮影響功耗的其他方面:(1)盡量選擇32位高線寬MCU,高密度指令可能是低位寬的幾條指令之和,可有效降低指令能耗;(2)隨時關頻及時掐死外設,這是低功耗實現(xiàn)主要方式;(3)時鐘不要倍頻,盡管高頻運行可降低任務執(zhí)行時間,但頻率越高能耗越高;(4)針對特定的任務合理搭配時鐘頻率,迅速完成以爭取更多的休眠時間;(5)恰當?shù)男菝吣J胶托菝邥r間;(6)中斷的喚醒和低功耗的回歸都應迅速,休眠保證了低功耗,但也務求迅速喚醒,以最低功耗完成工作后,再以最快速度回歸休眠狀態(tài);(7)優(yōu)化任務的時間片,將平均功耗降到最低,使用事件觸發(fā)狀態(tài)機模式編程;(8)內外部上下拉IO口可能造成涓涓細流,仔細檢查IO口高阻態(tài)以避免能耗浪費;(9)如果不能避免IO設置為上下拉,就要避免IO與外設形成持續(xù)的電流回環(huán),最差也在進入MCU睡眠模式之前,根據外設情況設置最小電流回路。
表1 典型低功耗MCU的指標對比
總之,考慮以上的注意事項并選擇具有Cortex-M0+內核的MCU是現(xiàn)階段低功耗的保證。低功耗MCU也將在手持設備、可穿戴設備和醫(yī)療設備的應用中具有廣闊前景。
[1]佚名.智能硬件開發(fā)如何選擇低功耗MCU[J].電子產品世界.