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