單片機(jī)為核心的嵌入式系統(tǒng)低功耗設(shè)計(jì)_第1頁(yè)
單片機(jī)為核心的嵌入式系統(tǒng)低功耗設(shè)計(jì)_第2頁(yè)
單片機(jī)為核心的嵌入式系統(tǒng)低功耗設(shè)計(jì)_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、本文格式為Word版,下載可任意編輯單片機(jī)為核心的嵌入式系統(tǒng)低功耗設(shè)計(jì) 在嵌入式應(yīng)用中,系統(tǒng)的功耗越來(lái)越受到人們的重視,這一點(diǎn)對(duì)于需要電池供電的便攜式系統(tǒng)尤其明顯。降低系統(tǒng)功耗,延長(zhǎng)電池的壽命,就是降低系統(tǒng)的運(yùn)行成本。對(duì)于以單片機(jī)為核心的嵌入式應(yīng)用,系統(tǒng)功耗的最小化需要從軟、硬件設(shè)計(jì)兩方面入手。隨著越來(lái)越多的嵌入式應(yīng)用使用了實(shí)時(shí)操作系統(tǒng),如何在操作系統(tǒng)層面上降低系統(tǒng)功耗也成為一個(gè)值得關(guān)注的問(wèn)題。限于篇幅,本文僅從硬件設(shè)計(jì)和應(yīng)用軟件設(shè)計(jì)兩個(gè)方面爭(zhēng)論。1硬件設(shè)計(jì)選用具有低功耗特性的單片機(jī)可以大大降低系統(tǒng)功耗。可以從供電電壓、單片機(jī)內(nèi)部結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)時(shí)鐘設(shè)計(jì)和低功耗模式等幾方面考察一款單片機(jī)的低功耗

2、特性。1.1選用完量簡(jiǎn)潔的CPU內(nèi)核在選擇CPU內(nèi)核時(shí)切忌一味追求性能。8位機(jī)夠用,就沒(méi)有必要選用16位機(jī),選擇的原則應(yīng)當(dāng)是“夠用就好”。現(xiàn)在單片機(jī)的運(yùn)行速度越來(lái)越快,但性能的提升往往帶來(lái)功耗的增加。一個(gè)簡(jiǎn)單的CPU集成度高、功能強(qiáng),但片內(nèi)晶體管多,總漏電流大,即使進(jìn)入STOP狀態(tài),漏電流也變得不行忽視;而簡(jiǎn)潔的CPU內(nèi)核不僅功耗低,成本也低。1.2選擇低電壓供電的系統(tǒng)降低單片機(jī)的供電電壓可以有效地降低其功耗。當(dāng)前,單片機(jī)從與TTL兼容的5V供電降低到3.3V、3V、2V乃至1.8V供電。供電電壓降下來(lái),要?dú)w功于半導(dǎo)體工藝的進(jìn)展。從原來(lái)的3m工藝到現(xiàn)在的0.25、0.18、0.13m工藝,CM

3、OS電路的門(mén)限電平閾值不斷降低。低電壓供電可以大大降低系統(tǒng)的工作電流,但是由于晶體管的尺寸不斷減小,管子的漏電流有增大的趨勢(shì),這也是對(duì)降低功耗不利的一個(gè)方面。目前,單片機(jī)系統(tǒng)的電源電壓仍以5V為主,而過(guò)去5年中,3V供電的單片機(jī)系統(tǒng)數(shù)量增加了1倍,2V供電的系統(tǒng)也在不斷增加。再過(guò)五年,低電壓供電的單片機(jī)數(shù)量可能會(huì)超過(guò)5V電壓供電的單片機(jī)。如此看來(lái),供電電壓降低將是將來(lái)單片機(jī)進(jìn)展的一個(gè)重要趨勢(shì)。1.3選擇帶有低功耗模式的系統(tǒng)低功耗模式指的是系統(tǒng)的等待和停止模式。處于這類(lèi)模式下的單片機(jī)功耗將大大小于運(yùn)行模式下的功耗。過(guò)去傳統(tǒng)的單片機(jī),在運(yùn)行模式下有wait和stop兩條指令,可以使單片機(jī)進(jìn)入等待或

4、停止?fàn)顟B(tài),以達(dá)到省電的目的。等待模式下,CPU停止工作,但系統(tǒng)時(shí)鐘并不停止,單片機(jī)的外圍I/O模塊也不停止工作;系統(tǒng)功耗一般降低有限,相當(dāng)于工作模式的50%70%。停止模式下,系統(tǒng)時(shí)鐘也將停止,由外部大事中斷重新啟動(dòng)時(shí)鐘系統(tǒng)時(shí)鐘,進(jìn)而喚醒CPU連續(xù)工作,CPU消耗電流可降到A級(jí)。在停止模式下,CPU本身實(shí)際上已經(jīng)不消耗什么電流,要想進(jìn)一步減小系統(tǒng)功耗,就要盡量將單片機(jī)的各個(gè)I/O模塊關(guān)掉。隨著I/O模塊的逐個(gè)關(guān)閉,系統(tǒng)的功耗越來(lái)越小,進(jìn)入停止模式的深度也越來(lái)越深。進(jìn)入深度停止模式無(wú)異于關(guān)機(jī),這時(shí)的單片機(jī)耗電可以小于20nA。其中特殊要提示的是,片內(nèi)RAM停止供電后,RAM中存儲(chǔ)的數(shù)據(jù)會(huì)丟失,也

5、就是說(shuō),喚醒CPU后要重新對(duì)系統(tǒng)作初始化。因此在讓系統(tǒng)進(jìn)入深度停止?fàn)顟B(tài)前,要將重要系統(tǒng)參數(shù)保存在非易失性存儲(chǔ)器中,如EEPROM中。深度停止模式關(guān)掉了全部的I/O,可能的喚醒方式也很有限,一般只能是復(fù)位或IRQ中斷等。保留的I/O模塊越多,系統(tǒng)允許的喚醒中斷源也就越多。單片機(jī)的功耗將依據(jù)保留喚醒方式的不同,降至1A至幾十A之間。例如,用戶(hù)可以保留外部鍵盤(pán)中斷,保留異步串行口(SCI)接收數(shù)據(jù)中斷等來(lái)喚醒CPU。保留的喚醒方式越多,系統(tǒng)耗電也就會(huì)多一些。其他可能的喚醒方式還有實(shí)時(shí)鐘喚醒、看門(mén)狗喚醒等。停機(jī)狀態(tài)較淺的狀況下,外部晶振電路還是工作的。圖1以Freescale的HCS08單片機(jī)為例,給

6、出不同運(yùn)行模式下的系統(tǒng)功耗。HCS08是8位單片機(jī),有多個(gè)系列,各系列I/O模塊數(shù)目有所不同,但低功耗模式下的電流消耗大致相同。圖1HCS08單片機(jī)各模式下的耗電以R系列單片機(jī)為例:在室溫(25)下,不包括I/O口的負(fù)載,以2V供電,將可編程鎖相環(huán)時(shí)鐘設(shè)為16MHz(總線(xiàn)時(shí)鐘8MHz),典型電流值為2.6mA,當(dāng)溫度上升到85時(shí),供電電流也上升到3.6mA;而采納3V供電,這一組數(shù)據(jù)上升至3.8mA和4.8mA。用2V供電,直接使用外部晶振2MHz(總線(xiàn)時(shí)鐘1MHz)時(shí),典型運(yùn)行電流降至450A。在等待狀態(tài)下,因時(shí)鐘并沒(méi)有停止,耗電狀況和時(shí)鐘頻率有很大關(guān)系,節(jié)約的功耗有限;而進(jìn)入輕度停止(st

7、op3),以外部中斷喚醒,電流消耗在0.5A左右。在中度停止態(tài)(stop2),功耗可進(jìn)一步降低。使用內(nèi)部1kHz的時(shí)鐘,保持1個(gè)運(yùn)行的時(shí)鐘,周期性喚醒CPU,所增加的電流約為0.3A。在深度停止態(tài)(stop1),RAM的數(shù)據(jù)也不再保留,只能通過(guò)外部復(fù)位重啟系統(tǒng),此時(shí)的電流消耗可降到20nA。以上數(shù)據(jù)都是在室溫下測(cè)量所得。當(dāng)環(huán)境溫度上升到85時(shí),電流消耗可能增加35倍。1.4選擇合適的時(shí)鐘方案時(shí)鐘的選擇對(duì)于系統(tǒng)功耗相當(dāng)敏感,設(shè)計(jì)者需要留意兩個(gè)方面的問(wèn)題:第一是系統(tǒng)總線(xiàn)頻率應(yīng)當(dāng)盡量低。單片機(jī)內(nèi)部的總電流消耗可分為兩部分運(yùn)行電流和漏電流。抱負(fù)的CMOS開(kāi)關(guān)電路,在保持輸出狀態(tài)不變時(shí),是不消耗功率的。

8、例如,典型的CMOS反相器電路,如圖2所示,當(dāng)輸入端為零時(shí),輸出端為1,P晶體管導(dǎo)通,N晶體管截止,沒(méi)有電流流過(guò)。而實(shí)際上,由于N晶體管存在肯定漏電流,且隨集成度提高,管基越薄,漏電流會(huì)加大。溫度上升,CMOS翻轉(zhuǎn)閾電壓會(huì)降低,而漏電流則隨環(huán)境溫度的增高變大。在單片機(jī)運(yùn)行時(shí),開(kāi)關(guān)電路不斷由“1”變“0”、由“0”變“1”,消耗的功率是由單片機(jī)運(yùn)行引起的,我們稱(chēng)之為“運(yùn)行電流”。如圖2所示,在兩只晶體管相互變換導(dǎo)通、截止?fàn)顟B(tài)時(shí),由于兩只管子的開(kāi)關(guān)延遲時(shí)間不行能完全全都,在某一瞬間會(huì)有兩只管子同時(shí)導(dǎo)通的狀況,此時(shí)電源到地之間會(huì)有一個(gè)瞬間較大的電流,這是單片機(jī)運(yùn)行電流的主要來(lái)源。可以看出,運(yùn)行電流幾

9、乎是和單片機(jī)的時(shí)鐘頻率成正比的,因此盡量降低系統(tǒng)時(shí)鐘的運(yùn)行頻率可以有效地降低系統(tǒng)功耗。其次是時(shí)鐘方案,也就是是否使用鎖相環(huán)、使用外部晶振還是內(nèi)部晶振等問(wèn)題。新一代的單片機(jī),如飛思卡爾的HCS08系列單片機(jī),片內(nèi)帶有內(nèi)部晶振,可以直接作為時(shí)鐘源。使用片內(nèi)晶振的優(yōu)點(diǎn)是可以省掉片外晶振,降低系統(tǒng)的硬件成本;缺點(diǎn)是片內(nèi)晶振的精度不高(誤差一般在25%左右,即使校準(zhǔn)之后也可能有2%的相對(duì)誤差),而且會(huì)增加系統(tǒng)的功耗。現(xiàn)代單片機(jī)普遍采納鎖相環(huán)技術(shù),使單片機(jī)的時(shí)鐘頻率可由程序掌握。鎖相環(huán)允許用戶(hù)在片外使用頻率較低的晶振,可以很大地減小板級(jí)噪聲;而且,由于時(shí)鐘頻率可由程序掌握,系統(tǒng)時(shí)鐘可以在一個(gè)很寬的范圍內(nèi)調(diào)

10、整,總線(xiàn)頻率往往能升得很高。但是,使用鎖相環(huán)也會(huì)帶來(lái)額外的功率消耗。單就時(shí)鐘方案來(lái)講,使用外部晶振且不使用鎖相環(huán)是功率消耗最小的一種。2應(yīng)用軟件方面的考慮之所以使用“應(yīng)用軟件”的說(shuō)法,是為了區(qū)分于“系統(tǒng)軟件”或者“實(shí)時(shí)操作系統(tǒng)”。軟件對(duì)于一個(gè)低功耗系統(tǒng)的重要性經(jīng)常被人們忽視。一個(gè)重要的緣由是,軟件上的缺陷并不像硬件那樣簡(jiǎn)單發(fā)覺(jué),同時(shí)也沒(méi)有一個(gè)嚴(yán)格的標(biāo)準(zhǔn)來(lái)推斷一個(gè)軟件的低功耗特性。盡管如此,設(shè)計(jì)者仍需盡量將應(yīng)用的低功耗特性反映在軟件中,以避開(kāi)那些“看不見(jiàn)”的功耗損失。2.1用“中斷”代替“查詢(xún)”一個(gè)程序使用中斷方式還是查詢(xún)方式對(duì)于一些簡(jiǎn)潔的應(yīng)用并不那么重要,但在其低功耗特性上卻相去甚遠(yuǎn)。使用中斷

11、方式,CPU可以什么都不做,甚至可以進(jìn)入等待模式或停止模式;而查詢(xún)方式下,CPU必需不停地訪(fǎng)問(wèn)I/O寄存器,這會(huì)帶來(lái)許多額外的功耗。2.2用“宏”代替“子程序”程序員必需清晰,讀RAM會(huì)比讀Flash帶來(lái)更大的功耗。正是由于如此,低功耗性能突出的ARM在CPU設(shè)計(jì)上僅允許一次子程序調(diào)用。由于CPU進(jìn)入子程序時(shí),會(huì)首先將當(dāng)前CPU寄存器推入堆棧(RAM),在離開(kāi)時(shí)又將CPU寄存器彈出堆棧,這樣至少帶來(lái)兩次對(duì)RAM的操作。因此,程序員可以考慮用宏定義來(lái)代替子程序調(diào)用。對(duì)于程序員,調(diào)用一個(gè)子程序還是一個(gè)宏在程序?qū)懛ㄉ喜](méi)有什么不同,但宏會(huì)在編譯時(shí)綻開(kāi),CPU只是挨次執(zhí)行指令,避開(kāi)了調(diào)用子程序。唯一的

12、問(wèn)題好像是代碼量的增加。目前,單片機(jī)的片內(nèi)Flash越來(lái)越大,對(duì)于一些不在乎程序代碼量大一些的應(yīng)用,這種做法無(wú)疑會(huì)降低系統(tǒng)的功耗。2.3盡量削減CPU的運(yùn)算量削減CPU運(yùn)算的工作可以從許多方面入手:將一些運(yùn)算的結(jié)果預(yù)先算好,放在Flash中,用查表的方法替代實(shí)時(shí)的計(jì)算,削減CPU的運(yùn)算工作量,可以有效地降低CPU的功耗(許多單片機(jī)都有快速有效的查表指令和尋址方式,用以?xún)?yōu)化查表算法);不行避開(kāi)的實(shí)時(shí)計(jì)算,算到精度夠了就結(jié)束,避開(kāi)“過(guò)度”的計(jì)算;盡量使用短的數(shù)據(jù)類(lèi)型,例如,盡量使用字符型的8位數(shù)據(jù)替代16位的整型數(shù)據(jù),盡量使用分?jǐn)?shù)運(yùn)算而避開(kāi)浮點(diǎn)數(shù)運(yùn)算等。2.4讓I/O模塊間歇運(yùn)行不用的I/O模塊或間歇使用的I/O模塊要準(zhǔn)時(shí)關(guān)掉,以節(jié)約電能。RS232的驅(qū)動(dòng)需要相當(dāng)?shù)墓β剩梢杂脝纹瑱C(jī)的一個(gè)I/O引腳來(lái)掌握,在不需要通信時(shí),將驅(qū)動(dòng)關(guān)掉。不用的I/O引腳要設(shè)置成輸出或設(shè)置成輸入,用上拉電阻拉高。由于假如引腳沒(méi)有初始化,可能會(huì)增大單片機(jī)的漏電流。特殊要留意有些簡(jiǎn)潔封裝的單片機(jī)沒(méi)有把個(gè)別I/O引腳引出來(lái),對(duì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論