新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)系統(tǒng)的低功耗設(shè)計(jì)的策略

單片機(jī)系統(tǒng)的低功耗設(shè)計(jì)的策略

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏


1.4選擇合適的時(shí)鐘方案

時(shí)鐘的選擇對(duì)于系統(tǒng)功耗相當(dāng)敏感,設(shè)計(jì)者需要注意兩個(gè)方面的問(wèn)題:

第一是系統(tǒng)總線頻率應(yīng)當(dāng)盡量低。單片機(jī)內(nèi)部的總電流消耗可分為兩部分——運(yùn)行電流和漏電流。理想的CMOS開(kāi)關(guān)電路,在保持輸出狀態(tài)不變時(shí),是不消耗功率的。例如,典型的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)行引起的,我們稱之為“運(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)行電流幾乎是和單片機(jī)的時(shí)鐘頻率成正比的,因此盡量降低系統(tǒng)時(shí)鐘的運(yùn)行頻率可以有效地降低系統(tǒng)功耗。




圖2 典型的CMOS反相器

第二是時(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)允許用戶在片外使用頻率較低的晶振,可以很大地減小板級(jí)噪聲;而且,由于時(shí)鐘頻率可由程序控制,系統(tǒng)時(shí)鐘可以在一個(gè)很寬的范圍內(nèi)調(diào)整,總線頻率往往能升得很高。但是,使用鎖相環(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)的重要性常常被人們忽略。一個(gè)重要的原因是,軟件上的缺陷并不像硬件那樣容易發(fā)現(xiàn),同時(shí)也沒(méi)有一個(gè)嚴(yán)格的標(biāo)準(zhǔn)來(lái)判斷一個(gè)軟件的低功耗特性。盡管如此,設(shè)計(jì)者仍需盡量將應(yīng)用的低功耗特性反映在軟件中,以避免那些“看不見(jiàn)”的功耗損失。

2.1 用“中斷”代替“查詢”

一個(gè)程序使用中斷方式還是查詢方式對(duì)于一些簡(jiǎn)單的應(yīng)用并不那么重要,但在其低功耗特性上卻相去甚遠(yuǎn)。使用中斷方式,CPU可以什么都不做,甚至可以進(jìn)入等待模式或停止模式;而查詢方式下,CPU必須不停地訪問(wèn)I/O寄存器,這會(huì)帶來(lái)很多額外的功耗。

2.2 用“宏”代替“子程序”

程序員必須清楚,讀RAM會(huì)比讀Flash帶來(lái)更大的功耗。正是因?yàn)槿绱耍凸男阅芡怀龅腁RM在CPU設(shè)計(jì)上僅允許一次子程序調(diào)用。因?yàn)镃PU進(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í)行指令,避免了調(diào)用子程序。唯一的問(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ī)都有快速有效的查表指令和尋址方式,用以優(yōu)化查表算法);不可避免的實(shí)時(shí)計(jì)算,算到精度夠了就結(jié)束,避免“過(guò)度”的計(jì)算;盡量使用短的數(shù)據(jù)類(lèi)型,例如,盡量使用字符型的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ū)動(dòng)需要相當(dāng)?shù)墓β?,可以用單片機(jī)的一個(gè)I/O引腳來(lái)控制,在不需要通信時(shí),將驅(qū)動(dòng)關(guān)掉。不用的
I/O引腳要設(shè)置成輸出或設(shè)置成輸入,用上拉電阻拉高。因?yàn)槿绻_沒(méi)有初始化,可能會(huì)增大單片機(jī)的漏電流。特別要注意有些簡(jiǎn)單封裝的單片機(jī)沒(méi)有把個(gè)別I/O引腳引出來(lái),對(duì)這些看不見(jiàn)的I/O引腳也不應(yīng)忘記初始化。

3 結(jié)論

一個(gè)成功的低功耗設(shè)計(jì)應(yīng)該是硬件設(shè)計(jì)和軟件設(shè)計(jì)的結(jié)合。從硬件設(shè)計(jì)開(kāi)始,就應(yīng)該充分意識(shí)到一個(gè)低功耗應(yīng)用的特性,選擇一款合適的單片機(jī),通過(guò)對(duì)其特性的了解,設(shè)計(jì)系統(tǒng)方案;在軟件設(shè)計(jì)上,要考慮到低功耗編程的特殊性,并盡量使用單片機(jī)的低功耗模式。

限于篇幅,僅僅討論了低功耗設(shè)計(jì)中的一些常見(jiàn)問(wèn)題,更多的問(wèn)題只能靠設(shè)計(jì)者去實(shí)際分析和解決了。


參考文獻(xiàn)
1 劉慧銀,等. Motorola微控制器MC68HC08原理及其嵌入式應(yīng)用,北京:清華大學(xué)出版社,2001
2 邵貝貝. 單片機(jī)嵌入式應(yīng)用的在線開(kāi)發(fā)方法. 北京:清華大學(xué)出版社,2004
3 Donnie Garcia, Scott Pape. MC9S08GB/GT Low?Power Modes. Freescale Semiconductor, Rev2. 2004
4 MC9S08GB/GT Data Sheet. Freescale Semiconductor, Rev.2.2, 2004
5 HCS08 Family Reference Manual. Freescale Semiconductor, 2003
6 Scott Pape. HC08 to HCS08 Transition. Freescale Semiconductor, 2004
7 Bill Lucas, Scott Pape. Configuring the System and Peripheral Clocks in the MC9S08GB/GT. Freescale Semiconductor, 2003
8 Scott Pape. S08 in Low Power Devices. Freescale Technology Forum, 2005

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


技術(shù)專區(qū)

關(guān)閉