珠海天威技術開發(fā)有限公司 林東寧 張 強
微控制器的嵌入式低功耗應用
珠海天威技術開發(fā)有限公司 林東寧 張 強
微控制器Micro Controller Unit(簡寫MCU),也叫單片機,在現(xiàn)場實時數(shù)據(jù)采集及自動控制系統(tǒng)中發(fā)揮重要的作用,提高了相關行業(yè)的生產(chǎn)效率。在工業(yè)4.0的發(fā)展趨勢下,嵌入式系統(tǒng)的低功耗設計要求越來越高,需要在系統(tǒng)設計過程中,注重微控制器的有效使用,降低嵌入式系統(tǒng)能耗的同時擴大其實際的服務范圍,優(yōu)化系統(tǒng)的服務功能。本文將對微控制器的嵌入式低功耗應用進行必要地探討。
微控制器;嵌入式系統(tǒng);低功耗;單片機;服務功能
隨著嵌入式系統(tǒng)應用范圍的不斷擴大,其中電池供電的穩(wěn)定性及有效性越來越受到重視,需要技術人員能夠結合專業(yè)技術手段及相關器件性能的同時,加強嵌入式系統(tǒng)低功耗的優(yōu)化設計,延長系統(tǒng)運行中電池的使用壽命,降低系統(tǒng)的運行成本,為應用范圍的擴大打下堅實的基礎。實現(xiàn)這樣的發(fā)展目標,需要注重微控制器的合理運用,結合單片機的功能特性,實現(xiàn)嵌入式系統(tǒng)低功耗設計,促使微控制器作用的充分發(fā)揮。
嵌入式系統(tǒng)低功耗設計的要求,首先要對微控制器的體系結構進行必要地優(yōu)化,確保微控制器在實際的應用中能夠達到預期的低功耗效果。構建這種微控制器的要點主要包括:(1)構建完善的指令體系,優(yōu)化嵌入式系統(tǒng)的硬件設計及軟件設計,包含的運算指令可以在嵌入式系統(tǒng)運行中實現(xiàn)對存儲器的直接訪問,保持代碼密度的良好性;(2)嵌入式低功耗微控制器中為了保持高效的解碼效率及控制電路工作的良好性,應確保指令體系中所有指令的有效性、規(guī)整性和兼容性,實現(xiàn)系統(tǒng)的低功耗設計,充分發(fā)揮微控制器的實際作用;(3)注重數(shù)據(jù)空間獨立編址、哈佛結構的合理運用,簡化微控制器作用下控制電路結構,將整體的電路規(guī)??刂圃诤侠淼姆秶鷥?nèi),不斷提高相關數(shù)據(jù)的吞吐量。
(一)硬件設計中選擇較為簡單的CPU內(nèi)核
微控制器在嵌入式系統(tǒng)低功耗應用中實際作用的充分發(fā)揮,需要保證CPU內(nèi)核使用過程中的良好性,保證系統(tǒng)資源充足性的同時提高系統(tǒng)的運行效率。現(xiàn)階段以單片機為核心的嵌入式系統(tǒng)服務范圍不斷擴大,其中的功耗問題也越來越突出。因此,嵌入式系統(tǒng)低功耗目標的實現(xiàn),需要在硬件設計中盡量選擇較為簡單的CPU內(nèi)核:8位機夠用的,就不必要選擇16位甚至32位的微控制器。一個集成度高、功能強的CPU,由于片內(nèi)MOS管多,總漏電電流大,即使進入休眠模式,漏電流仍不可忽略。而簡單內(nèi)核的CPU不僅功耗低,成本也低,將系統(tǒng)運行中的能耗控制在合理的范圍內(nèi),保持系統(tǒng)構建成本的經(jīng)濟性。
(二)注重低壓供電系統(tǒng)及存儲器能耗控制
嵌入式系統(tǒng)運行中,采取必要的技術措施降低單片機能耗及存儲器能耗,有利于優(yōu)化系統(tǒng)的服務功能,增強微控制器的實際應用效果。實現(xiàn)這樣的發(fā)展目標,需要從這些方面入手:(1)隨著半導體光刻技術的發(fā)展,微控制器的工藝已經(jīng)由0.5um逐步降低到0.35um、0.18um甚至90nm,工作電壓由5V降到3.3V,當前1.8V的也非常普遍。低電壓供電系統(tǒng),能有效降低功耗;(2)注重低電壓單片機的有效選擇,實現(xiàn)嵌入式系統(tǒng)低功耗設計目標,提高系統(tǒng)運行中電能的利用效率;(3)結合類似于門控技術的分頁訪問及塊尋址技術,選擇可靠的微控制器,確保嵌入式系統(tǒng)中的存儲器能耗可以控制在一定的范圍內(nèi),降低系統(tǒng)運行中的能源消耗率。
(三)選擇有效的休眠模式及帶低功耗模式
不同的休眠模式與微控制單元的工作狀態(tài)密切相關,進而會影響嵌入式系統(tǒng)運行的能耗。因此,需要選擇合理的休眠模式,促使嵌入式系統(tǒng)的能耗可以控制在合理的范圍內(nèi)。要達到這樣的設計需求,應加強主時鐘切換及同步電路選擇,確保系統(tǒng)系統(tǒng)運行中可以實現(xiàn)對低時鐘頻率的有效選擇,保持嵌入式系統(tǒng)正常工作的同時充分發(fā)揮微控制器的實際作用,降低系統(tǒng)能耗。例如,Microchip的納瓦XLP技術,可以讓微處理器分別工作在“運行”、“打盹”、“空閑”、“休眠”和“深度休眠”模式,其中“深度休眠”模式功耗低于50nA。同時應減少I/O模塊數(shù)量,將系統(tǒng)允許的喚醒方式控制在一定的范圍內(nèi),促使這些喚醒方式作用下的系統(tǒng)能耗能夠保持在使用最少的工作模式中。
(四)選擇最佳的時鐘方案,加強時鐘網(wǎng)絡的綜合管理
結合嵌入式系統(tǒng)的組成結構,可知時鐘的有效選擇與系統(tǒng)能耗有著較強的關聯(lián)性。因此,為了實現(xiàn)嵌入式低功耗微控制器的合理運用,需要從這些方面入手:(1)選擇頻率較低的系統(tǒng)總線,結合單片機工作過程的總電流能耗組成部分,將其中的運行電流及漏電流控制在合理的范圍內(nèi),促使開關電流作用下的電流損耗可以達到最少,降低嵌入式系統(tǒng)能耗;(2)選擇可靠的時鐘方案。時鐘方案選擇的過程中應重點考慮鎖相環(huán)、外部晶振、內(nèi)部晶振的使用狀況。例如,TI的MSP430系列單片機的時鐘模塊主要包括四個振蕩源,分別是:(a)LFXT1CLK:外部低頻時鐘源,通常接一個32.768KHz的低頻時鐘晶體(b)XT2CLK:外部高頻時鐘源,通常接400K~16M晶振;(c)DCOCLK:片內(nèi)可數(shù)字控制的振蕩器DCOCLK,在軟件的調(diào)節(jié)下該時鐘的輸出范圍為0.6MHz到26MHz。(d)VLOCLK:片內(nèi)超低功耗12KHz的內(nèi)部振蕩器。以上振蕩源可根據(jù)應用需求,接入三個時鐘系統(tǒng):主時鐘MCLK 、輔助時鐘ACLK、子系統(tǒng)時鐘SMCLK。通過時鐘網(wǎng)絡的綜合管理,實現(xiàn)嵌入式系統(tǒng)的低功耗目標。
(五)注重程序的優(yōu)化和合理編寫
(1)使用“中斷”功能代替查詢,能有效減少CPU的運行,甚至可進入休眠模式等待中斷觸發(fā)。(2)使用“宏”代替子程序,雖然一定程度增加了程序空間代碼量,但能免去子程序調(diào)用時對堆棧的壓入與彈出,有效降低功耗。(3)利用“查表”代替運算,降低CPU的運算工作量,不但能加快處理速度,同時可以節(jié)省電流消耗;(4)注重I/O模塊間歇方式的合理運用,促使驅動程序運行過程中可以利用I/O程序的控制作用,不使用的I/O要關閉或上拉,降低系統(tǒng)功耗。
微控制器常用的外接RC振蕩電路,由于電阻值R1和電容值C1是固定的,充放電時間也就固定,工作頻率不能調(diào)整,也就無法切換工作時的功耗狀態(tài)。專利200620060165.9 提供了一種巧妙的設計方案(圖1)。通過增加晶體管Q1和R2,與R1組成電阻的并聯(lián)電路,穩(wěn)壓二極管D1和 R3控制Q1的基極。當外部電源供電緩慢上升時或變低時,即供電電壓低于穩(wěn)壓二極管D1的擊穿電壓和晶體管Q1的基極與發(fā)射極的電壓之和時,穩(wěn)壓二極管D1工作在反向狀態(tài),晶體管Q1工作在截止狀態(tài),此時,僅振蕩電阻R1、振蕩電容C1與MCU2的內(nèi)部振蕩電路一起產(chǎn)生工作頻率,阻值較大產(chǎn)生的工作頻率較小,使MCU自動切換到低速低功耗狀態(tài);當外部電源上升到較高電壓時,高于穩(wěn)壓二極管D1的擊穿電壓和晶體管Q1的基極與發(fā)射極的電壓之和時,穩(wěn)壓二極管D1反向擊穿,晶體管Q1工作在導通狀態(tài),此時,振蕩電阻R1、振蕩電阻R2、振蕩電容Cl與MCU2的內(nèi)部振蕩電路一起產(chǎn)生工作頻率,由于振蕩電阻R1與振蕩電阻R2并聯(lián)阻值較小,從而使得產(chǎn)生的工作頻率較高,并且使MCU自動切換到高速高功耗狀態(tài)。
利用晶體管Q1、限流電阻R3、穩(wěn)壓二極管D1等構件的作用,實現(xiàn)對振蕩電路作用下工作頻率的變化:當系統(tǒng)供電電壓高時,穩(wěn)壓二極管被反向擊穿,晶體管導通,振蕩電路產(chǎn)生的工作頻率提高,MCU切換到高速工作狀態(tài);當系統(tǒng)供電電壓變低時,晶體管截止,頻率變低,將MCU切換到低功耗狀態(tài),加強了對功耗的有效控制。