嵌入式系統的低功耗設計需要全面分析各方面因素,統籌規劃。在設計之初,各個因素往往是相互制約、相互影響的,乙個降低系統功耗的措施有時會帶來其他方面的「負效應」。因此,降低系統整體功耗,需要仔細分析和計算。本文從硬體和應用軟體設計兩個方面,闡述乙個以
微控制器為核心的嵌入式系統低功耗設計時所需考慮的一些問題。 在嵌入式應用中,系統的功耗越來越受到人們的重視,這一點對於需要電池供電的可攜式系統尤其明顯。降低系統功耗,延長電池的壽命,就是降低系統的執行成本。
選用具有低功耗特性的微控制器可以大大降低系統功耗。可以從供電電壓、微控制器內部結構設計、系統時鐘設計和低功耗模式等幾方面考察一款微控制器的低功耗特性。
1.選用盡量簡單的cpu核心
在選擇cpu核心時切忌一味追求效能。8位機夠用,就沒有必要選用16位機,選擇的原則應該是「夠用就好」。現在微控制器的執行速度越來越快,但效能的提公升往往帶來功耗的增加。乙個複雜的cpu整合度高、功能強,但片內電晶體多,總漏電流大,即使進入stop狀態,漏電流也變得不可忽視;而簡單的cpu核心不僅功耗低,成本也低。
2.選擇低電壓供電的系統
降低微控制器的供電電壓可以有效地降低其功耗。當前,微控制器從與ttl相容的5v供電降低到3.3v、3v、2v乃至1.8v供電。供電電壓降下來,要歸功於
半導體工藝的發展。從原來的3μm工藝到現在的0.25、0.18、0.13μm工藝,cmos
電路的門限電平閾值不斷降低。低電壓供電可以大大降低系統的工作電流,但是由於電晶體的尺寸不斷減小,管子的漏電流有增大的趨勢,這也是對降低功耗不利的乙個方面。
目前,微控制器系統的電源電壓仍以5v為主,而過去5年中,3v供電的微控制器系統數量增加了1倍,2v供電的系統也在不斷增加。再過五年,低電壓供電的微控制器數量可能會超過5v電壓供電的微控制器。如此看來,供電電壓降低將是未來微控制器發展的乙個重要趨勢。
3.選擇帶有低功耗模式的系統
低功耗模式指的是系統的等待和停止模式。處於這類模式下的微控制器功耗將大大小於執行模式下的功耗。過去傳統的微控制器,在執行模式下有wait和stop兩條指令,可以使微控制器進入等待或停止狀態,以達到省電的目的。
等待模式下,cpu停止工作,但系統時鐘並不停止,微控制器的外圍i/o模組也不停止工作;系統功耗一般降低有限,相當於工作模式的50%~70%。
停止模式下,系統時鐘也將停止,由外部事件中斷重新啟動時鐘系統時鐘,進而喚醒cpu繼續工作,cpu消耗電流可降到μa級。在停止模式下,cpu本身實際上已經不消耗什麼電流,要想進一步減小系統功耗,就要盡量將微控制器的各個i/o模組關掉。隨著i/o模組的逐個關閉,系統的功耗越來越小,進入停止模式的深度也越來越深。進入深度停止模式無異於關機,這時的微控制器耗電可以小於20na。其中特別要提示的是,片內ram停止供電後,ram中儲存的資料會丟失,也就是說,喚醒cpu後要重新對系統作初始化。因此在讓系統進入深度停止狀態前,要將重要系統引數儲存在非易失性儲存器中,如eeprom中。深度停止模式關掉了所有的i/o,可能的喚醒方式也很有限,一般只能是復位或irq中斷等。
保留的i/o模組越多,系統允許的喚醒中斷源也就越多。微控制器的功耗將根據保留喚醒方式的不同,降至1μa至幾十μa之間。例如,使用者可以保留外部鍵盤中斷,保留非同步序列口(sci)接收資料中斷等來喚醒cpu。保留的喚醒方式越多,系統耗電也就會多一些。其他可能的喚醒方式還有實時鐘喚醒、看門狗喚醒等。停機狀態較淺的情況下,外部晶振電路還是工作的。
以r系列微控制器為例:在室溫(25℃)下,不包括i/o口的負載,以2v供電,將可程式設計鎖相環時鐘設為16mhz(匯流排時鐘8mhz),典型電流值為2.6ma,當溫度公升高到85℃時,供電電流也公升高到3.6ma;而採用3v供電,這一組資料公升高至3.8ma和4.8ma。用2v供電,直接使用外部晶振2mhz(匯流排時鐘1mhz)時,典型執行電流降至450μa。在等待狀態下,因時鐘並沒有停止,耗電情況和時鐘頻率有很大關係,節省的功耗有限;而進入輕度停止(stop3),以外部中斷喚醒,電流消耗在0.5μa左右。在中度停止態(stop2),功耗可進一步降低。使用內部1khz的時鐘,保持1個執行的時鐘,週期性喚醒cpu,所增加的電流約為0.3μa。在深度停止態(stop1),ram的資料也不再保留,只能通過外部復位重啟系統,此時的電流消耗可降到20na。以上資料都是在室溫下測量所得。當環境溫度公升高到85℃時,電流消耗可能增加3~5倍。
4.選擇合適的時鐘方案
時鐘的選擇對於系統功耗相當敏感,設計者需要注意兩個方面的問題:
第一是系統匯流排頻率應當盡量低。微控制器內部的總電流消耗可分為兩部分——執行電流和漏電流。理想的cmos開關電路,在保持輸出狀態不變時,是不消耗功率的。例如,典型的cmos反相器電路,當輸入端為零時,輸出端為1,p電晶體導通,n電晶體截止,沒有電流流過。而實際上,由於n電晶體存在一定漏電流,且隨整合度提高,管基越薄,漏電流會加大。溫度公升高,cmos翻轉閾電壓會降低,而漏電流則隨環境溫度的增高變大。在微控制器執行時,開關電路不斷由「1」變「0」、由「0」變「1」,消耗的功率是由微控制器執行引起的,我們稱之為「執行電流」。在兩隻電晶體互相變換導通、截止狀態時,由於兩隻管子的開關延遲時間不可能完全一致,在某一瞬間會有兩隻管子同時導通的情況,此時電源到地之間會有乙個瞬間較大的電流,這是微控制器執行電流的主要**。可以看出,執行電流幾乎是和微控制器的時鐘頻率成正比的,因此盡量降低系統時鐘的執行頻率可以有效地降低系統功耗。
微控制器系統ram的低功耗測試方法
在各種微控制器應用系統中,儲存器的正常與否,直接關係到該系統的正常工作。為了提高系統的可靠性,對系統的可靠性進行測試是十分必要的。通過測試可以有效地發現並解決因儲存器發生故障對系統帶來的破壞問題。常用的微控制器系統ram測試方法,並在march g演算法的基礎上提出了一種低功耗的改進方法。它具有測試...
MSP430微控制器低功耗結構
各控制位的作用如下 scg1 復位,使能smclk 置位,禁止smclk。scg0 復位,啟用直流發生器,只有scg0置位,並且dcoclk沒有被用作mclk或smclk時,直流發生器才能被禁止。oscoff 復位,啟用lfxt1,只有當oscoff被置位並且lfxt1clk不用於mclk或smcl...
STC8微控制器的低功耗詳解
上圖是我採用的型號 stc8f2k08s2 我們開發產品要求如下 1.兩節1號電池供電半年。2.紅外傳送接收資料。上位機傳送指令和讀取資料 3.自帶時間。4.eeprom,掉電儲存資料。5.成本低 在這個專案中,主要問題是成本和功耗。之前採用的是stm8l系列功耗的確很低,但是今年 飛漲,實在傷不起...