在嵌入式應(yīng)用中,系統(tǒng)的功耗越來越受到人們的正視,這一點(diǎn)對于需要電池供電的便攜式系統(tǒng)尤其顯著。降低系統(tǒng)功耗,延長電池的壽命,就是降低系統(tǒng)的運(yùn)行本錢。對于以單片機(jī)為核心的嵌入式應(yīng)用,系統(tǒng)功耗的最小化需要從軟、硬件設(shè)計(jì)兩方面入手。
跟著越來越多的嵌入式應(yīng)用使用了實(shí)時(shí)操縱系統(tǒng),如何在操縱系統(tǒng)層面上降低系統(tǒng)功耗也成為一個(gè)值得關(guān)注的題目。限于篇幅,本文僅從硬件設(shè)計(jì)和應(yīng)用軟件設(shè)計(jì)兩個(gè)方面討論。
1 硬件設(shè)計(jì)
選器具有低功耗特性的單片機(jī)可以大大降低系統(tǒng)功耗。可以從供電電壓、單片機(jī)內(nèi)部結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)時(shí)鐘設(shè)計(jì)和低功耗模式等幾方面考察一款單片機(jī)的低功耗特性。
1.1 選用盡量簡樸的CPU內(nèi)核
在選擇CPU內(nèi)核時(shí)切忌一味追求機(jī)能。8位機(jī)夠用,就沒有必要選用16位機(jī),選擇的原則應(yīng)該是“夠用就好”?,F(xiàn)在單片機(jī)的運(yùn)行速度越來越快,但機(jī)能的晉升往往帶來功耗的增加。一個(gè)復(fù)雜的CPU集成度高、功能強(qiáng),但片內(nèi)晶體管多,總漏電流大,即使進(jìn)入STOP狀態(tài),漏電流也變得不可忽視;而簡樸的CPU內(nèi)核不僅功耗低,本錢也低。
1.2 選擇低電壓供電的系統(tǒng)
降低單片機(jī)的供電電壓可以有效地降低其功耗。當(dāng)前,單片機(jī)從與TTL兼容的5 V供電降低到3.3 V、3 V、2 V乃至1.8 V供電。供電電壓降下來,要?dú)w功于半導(dǎo)體工藝的發(fā)展。從原來的3 μm工藝到現(xiàn)在的0.25、0.18、0.13 μm工藝, CMOS電路的門限電平閾值不斷降低。低電壓供電可以大大降低系統(tǒng)的工作電流,但是因?yàn)榫w管的尺寸不斷減小,管子的漏電流有增大的趨勢,這也是對降低功耗不利的一個(gè)方面。
目前,單片機(jī)系統(tǒng)的電源電壓仍以5 V為主,而過去5年中,3 V供電的單片機(jī)系統(tǒng)數(shù)目增加了1倍,2 V供電的系統(tǒng)也在不斷增加。再過五年,低電壓供電的單片機(jī)數(shù)目可能會超過5 V電壓供電的單片機(jī)。如斯看來,供電電壓降低將是未來單片機(jī)發(fā)展的一個(gè)重要趨勢。
1.3 選擇帶有低功耗模式的系統(tǒng)
低功耗模式指的是系統(tǒng)的等待和休止模式。處于這類模式下的單片機(jī)功耗將大大小于運(yùn)行模式下的功耗。過去傳統(tǒng)的單片機(jī),在運(yùn)行模式下有wait和stop兩條指令,可以使單片機(jī)進(jìn)入等待或休止?fàn)顟B(tài),以達(dá)到省電的目的。
等待模式下,CPU休止工作,但系統(tǒng)時(shí)鐘并不休止,單片機(jī)的外圍I/O模塊也不休止工作;系統(tǒng)功耗一般降低有限,相稱于工作模式的50%~70%。
休止模式下,系統(tǒng)時(shí)鐘也將休止,由外部事件間斷重新啟動時(shí)鐘系統(tǒng)時(shí)鐘,進(jìn)而喚醒CPU繼承工作,CPU消耗電流可降到μA級。在休止模式下,CPU本身實(shí)際上已經(jīng)不消耗什么電流,要想進(jìn)一步減小系統(tǒng)功耗,就要盡量將單片機(jī)的各個(gè)I/O模塊關(guān)掉。跟著I/O模塊的逐個(gè)封閉,系統(tǒng)的功耗越來越小,進(jìn)入休止模式的深度也越來越深。進(jìn)入深度休止模式無異于關(guān)機(jī),這時(shí)的單片機(jī)耗電可以小于20 nA。其中特別要提示的是,片內(nèi)RAM休止供電后,RAM中存儲的數(shù)據(jù)會丟失,也就是說,喚醒CPU后要重新對系統(tǒng)作初始化。因此在讓系統(tǒng)進(jìn)入深度休止?fàn)顟B(tài)前,要將重要系統(tǒng)參數(shù)保留在非易失性存儲器中,如EEPROM中。深度休止模式關(guān)掉了所有的I/O,可能的喚醒方式也很有限,一般只能是復(fù)位或IRQ間斷等。
留存的I/O模塊越多,系統(tǒng)答應(yīng)的喚醒間斷源也就越多。單片機(jī)的功耗將根據(jù)留存喚醒方式的不同,降至1μA至幾十μA之間。例如,用戶可以留存外部鍵盤間斷,留存異步串行口(SCI)接收數(shù)據(jù)間斷等來喚醒CPU。留存的喚醒方式越多,系統(tǒng)耗電也就會多一些。其他可能的喚醒方式還有實(shí)時(shí)鐘喚醒、看門狗喚醒等。停機(jī)狀態(tài)較淺的情況下,外部晶振電路仍是工作的。
圖1以Freescale的HCS08單片機(jī)為例,給出不同運(yùn)行模式下的系統(tǒng)功耗。HCS08是8位單片機(jī),有多個(gè)系列,各系列I/O模塊數(shù)量有所不同,但低功耗模式下的電流消耗大致相同。
圖1HCS08單片機(jī)各模式下的耗電
以R系列單片機(jī)為例:在室溫(25℃)下,不包括I/O口的負(fù)載,以2 V供電,將可編程鎖相環(huán)時(shí)鐘設(shè)為16 MHz(總線時(shí)鐘8 MHz),典型電流值為2.6 mA,當(dāng)溫度升高到85℃時(shí),供電電流也升高到3.6 mA;而采用3 V供電,這一組數(shù)據(jù)升高至3.8 mA和4.8 mA。用2 V供電,直接使用外部晶振2 MHz(總線時(shí)鐘1 MHz)時(shí),典型運(yùn)行電流降至450 μA。在等待狀態(tài)下,因時(shí)鐘并沒有休止,耗電情況和時(shí)鐘頻率有很大關(guān)系,節(jié)省的功耗有限;而進(jìn)入輕度休止(stop3),以外部間斷喚醒,電流消耗在0. 5 μA左右。在中度休止態(tài)(stop2),功耗可進(jìn)一步降低。使用內(nèi)部1 kHz的時(shí)鐘,保持1個(gè)運(yùn)行的時(shí)鐘,周期性喚醒CPU,所增加的電流約為0.3 μA。在深度休止態(tài)(stop1),RAM的數(shù)據(jù)也不再留存,只能通過外部復(fù)位重啟系統(tǒng),此時(shí)的電流消耗可降到20 nA。以上數(shù)據(jù)都是在室溫下丈量所得。當(dāng)環(huán)境溫度升高到85℃時(shí),電流消耗可能增加3~5倍。
1.4選擇合適的時(shí)鐘方案
時(shí)鐘的選擇對于系統(tǒng)功耗相稱敏感,設(shè)計(jì)者需要留意兩個(gè)方面的題目:
第一是系統(tǒng)總線頻率應(yīng)當(dāng)盡量低。單片機(jī)內(nèi)部的總電流消耗可分為兩部門——運(yùn)行電流和漏電流。理想的CMOS開關(guān)電路,在保持輸出狀態(tài)不變時(shí),是不消耗功率的。例如,典型的CMOS反相器電路,如圖2所示,當(dāng)輸入端為零時(shí),輸出端為1,P晶體管導(dǎo)通,N晶體管截止,沒有電流流過。而實(shí)際上,因?yàn)镹晶體管存在一定漏電流,且隨集成度進(jìn)步,管基越薄,漏電流會加大。溫度升高,CMOS翻轉(zhuǎn)閾電壓會降低,而漏電流則隨環(huán)境溫度的增高變大。在單片機(jī)運(yùn)行時(shí),開關(guān)電路不斷由“1”變“0”、由“0”變“1”,消耗的功率是由單片機(jī)運(yùn)行引起的,我們稱之為“運(yùn)行電流”。如圖2所示,在兩只晶體管互相變換導(dǎo)通、截止?fàn)顟B(tài)時(shí),因?yàn)閮芍还茏拥拈_關(guān)延遲時(shí)間不可能完全一致,在某一瞬間會有兩只管子同時(shí)導(dǎo)通的情況,此時(shí)電源到地之間會有一個(gè)瞬間較大的電流,這是單片機(jī)運(yùn)行電流的主要來源??梢钥闯觯\(yùn)行電流幾乎是和單片機(jī)的時(shí)鐘頻率成正比的,因此盡量降低系統(tǒng)時(shí)鐘的運(yùn)行頻率可以有效地降低系統(tǒng)功耗?! ?nbsp;
第二是時(shí)鐘方案,也就是是否使用鎖相環(huán)、使用外部晶振仍是內(nèi)部晶振等題目。新一代的單片機(jī),如飛思卡爾的HCS08系列單片機(jī),片內(nèi)帶有內(nèi)部晶振,可以直接作為時(shí)鐘源。使用片內(nèi)晶振的長處是可以省掉片外晶振,降低系統(tǒng)的硬件本錢;缺點(diǎn)是片內(nèi)晶振的精度不高(誤差一般在25%左右,即使校準(zhǔn)之后也可能有2%的相對誤差),而且會增加系統(tǒng)的功耗。
現(xiàn)代單片機(jī)普遍采用鎖相環(huán)技術(shù),使單片機(jī)的時(shí)鐘頻率可由程序控制。鎖相環(huán)答應(yīng)用戶在片外使用頻率較低的晶振,可以很大地減小板級噪聲;而且,因?yàn)闀r(shí)鐘頻率可由程序控制,系統(tǒng)時(shí)鐘可以在一個(gè)很寬的范圍內(nèi)調(diào)整,總線頻率往往能升得很高。但是,使用鎖相環(huán)也會帶來額外的功率消耗。
單就時(shí)鐘方案來講,使用外部晶振且不使用鎖相環(huán)是功率消耗最小的一種。
2 應(yīng)用軟件方面的考慮
之所以使用“應(yīng)用軟件”的說法,是為了區(qū)分于“系統(tǒng)軟件”或者“實(shí)時(shí)操縱系統(tǒng)”。軟件對于一個(gè)低功耗系統(tǒng)的重要性經(jīng)常被人們忽略。一個(gè)重要的原因是,軟件上的缺陷并不像硬件那樣輕易發(fā)現(xiàn),同時(shí)也沒有一個(gè)嚴(yán)格的尺度來判定一個(gè)軟件的低功耗特性。盡管如斯,設(shè)計(jì)者仍需盡量將應(yīng)用的低功耗特性反映在軟件中,以避免那些“看不見”的功耗損失。
2.1 用“間斷”代替“查詢”
一個(gè)程序使用間斷方式仍是查詢方式對于一些簡樸的應(yīng)用并不那么重要,但在其低功耗特性上卻相去甚遠(yuǎn)。使用間斷方式,CPU可以什么都不做,甚至可以進(jìn)入等待模式或休止模式;而查詢方式下,CPU必需不停地訪問I/O寄存器,這會帶來良多額外的功耗。
2.2 用“宏”代替“子程序”
程序員必需清晰,讀RAM會比讀Flash帶來更大的功耗。恰是由于如斯,低功耗機(jī)能凸起的ARM在CPU設(shè)計(jì)上僅答應(yīng)一次子程序調(diào)用。由于CPU進(jìn)入子程序時(shí),會首先將當(dāng)前CPU寄存器推入堆棧(RAM),在離開時(shí)又將CPU寄存器彈出堆棧,這樣至少帶來兩次對RAM的操縱。因此,程序員可以考慮用宏定義來代替子程序調(diào)用。對于程序員,調(diào)用一個(gè)子程序仍是一個(gè)宏在程序?qū)懛ㄉ喜]有什么不同,但宏會在編譯時(shí)展開,CPU只是順序執(zhí)行指令,避免了調(diào)用子程序。獨(dú)一的題目好像是代碼量的增加。目前,單片機(jī)的片內(nèi)Flash越來越大,對于一些不在乎程序代碼量大一些的應(yīng)用,這種做法無疑會降低系統(tǒng)的功耗。
2.3 盡量減少CPU的運(yùn)算量
減少CPU運(yùn)算的工作可以從良多方面入手:將一些運(yùn)算的結(jié)果預(yù)先算好,放在Flash中,用查表的方法替換實(shí)時(shí)的計(jì)算,減少CPU的運(yùn)算工作量,可以有效地降低CPU的功耗(良多單片機(jī)都有快速有效的查表指令和尋址方式,用以優(yōu)化查表算法);不可避免的實(shí)時(shí)計(jì)算,算到精度夠了就結(jié)束,避免“過度”的計(jì)算;盡量使用短的數(shù)據(jù)類型,例如,盡量使用字符型的8位數(shù)據(jù)替換16位的整型數(shù)據(jù),盡量使用分?jǐn)?shù)運(yùn)算而避免浮點(diǎn)數(shù)運(yùn)算等。
2.4 讓I/O模塊間歇運(yùn)行
不用的I/O模塊或間歇使用的I/O模塊要及時(shí)關(guān)掉,以節(jié)省電能。RS232的驅(qū)動需要相稱的功率,可以用單片機(jī)的一個(gè)I/O引腳來控制,在不需要通訊時(shí),將驅(qū)動關(guān)掉。不用的I/O引腳要設(shè)置成輸出或設(shè)置成輸入,用上拉電阻拉高。由于假如引腳沒有初始化,可能會增大單片機(jī)的漏電流。特別要留意有些簡樸封裝的單片機(jī)沒有把個(gè)別I/O引腳引出來,對這些看不見的I/O引腳也不應(yīng)健忘初始化。
3 結(jié)論
一個(gè)成功的低功耗設(shè)計(jì)應(yīng)該是硬件設(shè)計(jì)和軟件設(shè)計(jì)的結(jié)合。從硬件設(shè)計(jì)開始,就應(yīng)該充分意識到一個(gè)低功耗應(yīng)用的特性,選擇一款合適的單片機(jī),通過對其特性的了解,設(shè)計(jì)系統(tǒng)方案;在軟件設(shè)計(jì)上,要考慮到低功耗編程的特殊性,并盡量使用單片機(jī)的低功耗模式。
限于篇幅,僅僅討論了低功耗設(shè)計(jì)中的一些常見題目,更多的題目只能靠設(shè)計(jì)者去實(shí)際分析和解決了。
單片機(jī)為核心的嵌入式系統(tǒng)低功耗設(shè)計(jì)
相關(guān)文章
-
電纜橋架,橋架,線槽切割機(jī),線槽,線槽規(guī)格,線槽價(jià)格
電纜橋架,橋架,線槽切割機(jī),線槽,線槽規(guī)格,線槽價(jià)格
-
2009第四屆中國(上海)國際母線線槽及橋架工業(yè)展覽會
金屬線槽、鍍錫母線槽、鋁合金母線槽、鋼外殼母線槽、組合式線槽、防碾壓踩踏線槽 、機(jī)械設(shè)備配電線槽、電話線槽、PVC線槽、地板線槽、插接母線線槽、微動力及照明母線槽、高中低壓電流空氣式絕緣插接母線槽、帶散熱片密集型絕緣插接式線槽、全封閉樹脂澆注母線槽(防水、防火、防腐母線槽)、共箱高低壓母線槽及軌道交通專用線槽等周邊相關(guān)加工配套產(chǎn)品。
-
中國品牌日:比起督促更是號角
根據(jù)企業(yè)經(jīng)營規(guī)模,每年全球約有3份“世界500強(qiáng)”報(bào)告發(fā)布。其中《財(cái)富》雜志公布的排名,被視為最有普遍意義的榜單之一。不僅因?yàn)槠鋻伻チ恕皟H對發(fā)達(dá)國家企業(yè)排名”的有色眼鏡,也基于其將收入作為依據(jù),視為衡量企業(yè)最可靠、最具證明力、也最有意義的指標(biāo)。在2016年的該份榜單中,汽車行業(yè)共計(jì)22家企業(yè)入圍,其中上汽、東風(fēng)、一汽、北汽、廣汽與吉利6家中國車企入選。2016年《財(cái)富》雜志世界500強(qiáng)中國入圍車企
-
線槽規(guī)格和品種以及線纜的敷設(shè)
線槽規(guī)格和品種以及線纜的敷設(shè)
-
低煙無鹵阻燃型走線槽
低煙無鹵阻燃型走線槽
-
PVC線槽的安裝-綜合布線
線槽安裝時(shí),應(yīng)注意與強(qiáng)電線槽的隔離。布線系統(tǒng)應(yīng)避免與強(qiáng)電線路在無屏蔽、距離小于20cm情況下平行走3米以上。如果無法避免,該段線槽需采取屏蔽隔離措施。進(jìn)入家具的電纜管線由最近的吊頂線槽沿隔墻下到地面,并從地面鏜槽埋管到家具隔斷下。
-
線槽用PVC是什么材料
在塑料制品中,線槽的主要原料是PVC.
-
線槽規(guī)格
線槽規(guī)格,上海日成-RCCN,專業(yè)制造線槽,技術(shù)團(tuán)隊(duì)及豐富經(jīng)驗(yàn),提供PVC線槽、行線槽、配線槽在工業(yè)設(shè)計(jì)、機(jī)械設(shè)計(jì)等配電柜綜合布線解決方案.專業(yè)服務(wù)于外資及國內(nèi)品牌有線槽需求的企業(yè),產(chǎn)品通過UL,CE,ROHS國際認(rèn)證.