基于C8051F系列單片機(jī)的低功耗技術(shù)分析與設(shè)計(jì)
1.2 數(shù)字設(shè)備的功耗分析
數(shù)字設(shè)備的能量淌耗主要是由CPU電流的大小來衡量的。CPU的電源模式是決定CPU電流大小、工作電壓及系統(tǒng)時(shí)鐘頻率的關(guān)鍵因素。通常,溫度和數(shù)字外圍設(shè)備對數(shù)字設(shè)備的功耗只有很小的影響。
?。?)OPU電源管理模式
CPU有3種操作模式:正常狀態(tài),空閑狀態(tài)與停止?fàn)顟B(tài)。通常,空閑狀態(tài)的平均電流值受控于內(nèi)部振蕩器。正常模式時(shí)的電流值減去空閑模式時(shí)的電流值即為CPU正常運(yùn)行的工作電流值。被喚醒后,CPU開始從設(shè)置空閑方式選擇位指令的下一條指令開始執(zhí)行。當(dāng)寫1到STOP位時(shí),CPU進(jìn)入停機(jī)模式。設(shè)置停機(jī)模式后,當(dāng)前指令被執(zhí)行完畢,內(nèi)部振蕩器及所有的數(shù)字外圍設(shè)備全部停止工作。模擬外設(shè)(如比較器與外部振蕩器)保留其當(dāng)前的狀態(tài)。在停止?fàn)顟B(tài),mcu消耗最少的電流。
?。?)OPU工作電壓、頻率及溫度對功耗的影響
工作電壓:CPU的工作電流會(huì)隨著供電電壓的升高而增大。這種關(guān)系存在于任意一種工作頻率下,尤其在高頻運(yùn)行時(shí)表現(xiàn)得更為明顯。理論上供電電壓最小可達(dá)到2.7 V,但由于電壓調(diào)整本身有±10%的誤差率,因此系統(tǒng)通常供電電壓不會(huì)低于3V。
溫度:溫度對系統(tǒng)的功耗無影響。
工作頻率:CPU工作頻率對系統(tǒng)功耗有主要影響。在CMOS數(shù)字邏輯器件中,功耗與系統(tǒng)時(shí)鐘SYSCLK頻率成正比:
功耗=CV2f 式中:C是CMOS的負(fù)載電容;V是電源電壓;f是SYSCLK的頻率。
因此,為了降低功耗,設(shè)計(jì)者必須知道給定系統(tǒng)所需的最高SYSCLK頻率和精度。某些設(shè)計(jì)口可能需要其系統(tǒng)時(shí)鐘頻率在全部工作時(shí)間內(nèi)保持不變。在這種情況下,設(shè)計(jì)者將選擇滿足要求的最低頻率。并采用消耗最低功率的振蕩器配置。
l.3 數(shù)字外圍設(shè)備與I/0接口的功耗分析
數(shù)字外圍設(shè)備(計(jì)數(shù)器、UART、PCA、SPl)的損耗占系統(tǒng)總功耗的比例很小。舉個(gè)例子,當(dāng)C8051F單片機(jī)工作在3.06MHz(內(nèi)部振蕩器8分頻),3 V電壓時(shí),沒有一個(gè)數(shù)字外圍設(shè)備端口的工作電流超過700μA;而在啟動(dòng)計(jì)數(shù)器作為UARTO數(shù)據(jù)傳輸時(shí)鐘后,系統(tǒng)的工作電流會(huì)增加18μA。這里,計(jì)數(shù)器與UART的功率損耗主要由其時(shí)鐘頻率及工作電壓來決定。利用交叉開關(guān)配置通用I/O口為推挽模式,也能夠影響功耗的大小。在上述例子中,如果利用交叉開關(guān)將UARTO的TX端分配到P0.4口,則配置端口為推挽模式將令系統(tǒng)的工作電流再增加82μA。輸出引腳的功耗由連接在該引腳的外部電路頻率決定。
1.4 模擬外圍設(shè)備的功耗
模擬外圍設(shè)備功耗是ADC、溫度傳感器、內(nèi)部偏置電壓產(chǎn)生器及內(nèi)部振蕩器的功耗和。通常,只要ADC、內(nèi)部振蕩器或溫度傳感器被激活,內(nèi)部偏置電壓產(chǎn)生器就會(huì)自動(dòng)被使能,ADC在轉(zhuǎn)換期間的工作電流比ADC沒有轉(zhuǎn)換時(shí)的工作電流大30%~50%。SAR轉(zhuǎn)換時(shí)鐘頻率與采樣頻率也影響了功耗的大小。由于增加SAR轉(zhuǎn)換時(shí)鐘頻率或降低采樣率會(huì)縮短每次A/D轉(zhuǎn)換的時(shí)間,使系統(tǒng)在轉(zhuǎn)換間隙有更多的時(shí)間處于空閑狀態(tài),因此會(huì)大大降低系統(tǒng)功耗。
2 降低功耗的幾點(diǎn)考慮
要降低系統(tǒng)的平均功耗,需要從兩個(gè)方面考慮:首先是適當(dāng)調(diào)整在所有時(shí)間一直影響系統(tǒng)工作的參數(shù)。通常工作電壓是重點(diǎn)考慮的參數(shù)。工作電壓決定了系統(tǒng)是否能夠處于正常運(yùn)作狀態(tài),它可以由電壓調(diào)整器或一個(gè)電池來提供。對于一個(gè)節(jié)能系統(tǒng),工作電壓應(yīng)該被最小化,以節(jié)約能量。第二點(diǎn)就是構(gòu)建合理的固件結(jié)構(gòu)降低以功耗。要為系統(tǒng)設(shè)計(jì)兩個(gè)工作模式:一個(gè)為高效的運(yùn)作模式;另一個(gè)則是以降低功耗為日地的睡眠模式。兩個(gè)模式的設(shè)計(jì)標(biāo)準(zhǔn)不同,但應(yīng)盡量讓系統(tǒng)在大部分時(shí)間內(nèi)處于睡眠模式,以降低系統(tǒng)的總功耗。下面詳細(xì)討論這兩個(gè)方面的設(shè)計(jì)。
2.1 降低工作電壓、減小工作電流
工作電壓對系統(tǒng)的總功耗起著舉足輕重的作用。對于節(jié)能系統(tǒng)。應(yīng)該盡量在保證系統(tǒng)安全可靠的前提下采用最低的工作電壓。通常電壓調(diào)整器會(huì)有土10%的誤差率,因此在設(shè)計(jì)工作電壓時(shí),最低的工作電壓應(yīng)該為3V,此時(shí)電壓調(diào)整器的輸出電壓在2.7V與3.3V之間。也可以選擇用電池。無須擔(dān)心電池耗盡時(shí)會(huì)對系統(tǒng)工作有不良的影響,因?yàn)樵?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/C8051F系列">C8051F系列單片機(jī)中,片上電源監(jiān)控器能夠確保在電池耗盡后系統(tǒng)自動(dòng)復(fù)位。
由于工作電壓通常是恒定的,因此經(jīng)常通過減小平均電流來降低系統(tǒng)的總功耗。平均工作電流是系統(tǒng)在單位時(shí)間內(nèi)消耗的電荷量。對一個(gè)系統(tǒng)來說,其總的運(yùn)行時(shí)間應(yīng)該被分為兩個(gè)部分——高效工作期與低功耗體眠期,如圖l所示。設(shè)計(jì)者應(yīng)該盡量從這兩方面著手設(shè)計(jì)系統(tǒng),以達(dá)到降低總功耗的目的。
2.2 設(shè)計(jì)一個(gè)低功耗的休眠模式
可以通過設(shè)計(jì)低功耗休眠模式,令系統(tǒng)在非工作期一直處于低消耗狀態(tài),從而達(dá)到減小整個(gè)系統(tǒng)工作電流的目的。休眠模式可以通過將電源管理模式設(shè)定為空閑或停機(jī)狀態(tài)來實(shí)現(xiàn)。通常會(huì)設(shè)定空閑模式,因?yàn)樵撃J礁菀妆换謴?fù)。需要注意的是,在休眠模式下應(yīng)該關(guān)閉所有不需要的外圍設(shè)備,并配置體眠模式的時(shí)鐘為外部振蕩器。因?yàn)橥獠空袷幤髂軌蚪箖?nèi)部振蕩器的振蕩,并能以非常低的時(shí)鐘基準(zhǔn)進(jìn)行振蕩。這里有兩個(gè)可選的振蕩器:36.728kHz晶振與單電容模式外部振蕩器。
2.3 設(shè)計(jì)一個(gè)高效運(yùn)作模式
高效運(yùn)作模式的設(shè)計(jì)應(yīng)該以盡可能縮短完成作業(yè)所需時(shí)間為標(biāo)準(zhǔn),使得系統(tǒng)能夠盡快地恢復(fù)到休眠模式。模式的設(shè)計(jì)包括調(diào)整工作電流的峰值以及時(shí)鐘頻率,以減小高效工作期問的總電荷量。通常在高效工作模式下使用內(nèi)部振蕩器,更有益于系統(tǒng)總功耗的降低。
下面以ADC采樣為例,比較、分析兩種設(shè)計(jì)中系統(tǒng)功耗的消耗率情況。
片上溫度傳感器以10Hz速率采樣,系統(tǒng)的外部晶振連接到XTAL1與XTAL2之間。定時(shí)器2每100ms溢出產(chǎn)生一個(gè)中斷,將系統(tǒng)從空閑模式喚醒。當(dāng)系統(tǒng)被激活后,系統(tǒng)捕捉ADC采樣數(shù)據(jù),然后重新返回空閑模式,直到下一個(gè)中斷發(fā)生。
由于該系統(tǒng)是電池供電,因此系統(tǒng)應(yīng)盡量減少每次A/D采樣所消耗的電荷。由于電荷量是一段時(shí)間內(nèi)電流的總量,因此可以通過縮短采樣時(shí)間或減小采樣時(shí)的峰值電流來節(jié)約能量。也就是說,在捕捉ADC采樣數(shù)據(jù)時(shí),系統(tǒng)可以選擇轉(zhuǎn)換到3MHz的內(nèi)部振蕩器,在短時(shí)間內(nèi)使用大的電流;或是用外部32kHz晶振作為系統(tǒng)振蕩器,使單片機(jī)在長時(shí)間內(nèi)使用較小的電流值。
第1個(gè)系統(tǒng)從空閉模式被喚醒后,系統(tǒng)直接啟動(dòng)了ADC設(shè)備開始采樣。系統(tǒng)沒有轉(zhuǎn)換到內(nèi)部振蕩器,而是仍采用原來的32kHz晶振作為系統(tǒng)的時(shí)鐘基準(zhǔn)。A/D轉(zhuǎn)換結(jié)束后,系統(tǒng)讀取采樣值,關(guān)閉ADC并重新進(jìn)入空閑模式。為了捕捉采樣數(shù)據(jù),系統(tǒng)在峰值工作電流O.65mA上持續(xù)了1.5ms。轉(zhuǎn)換完成后,讀ADC數(shù)據(jù),而后停止ADC及內(nèi)部振蕩器并令CPU回到空閑模式。為了捕捉ADC采樣數(shù)據(jù),系統(tǒng)在峰值工作電流2.2 mA上持續(xù)了400μs。利用公式:
為確保系統(tǒng)處理結(jié)果的精確度,A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器必須具有足夠的轉(zhuǎn)換精度;如果要實(shí)現(xiàn)快速變化信號的實(shí)時(shí)控制與檢測,A/D與D/A轉(zhuǎn)換器還要求具有較高的轉(zhuǎn)換速度。轉(zhuǎn)換精度與轉(zhuǎn)換速度是衡量A/D與D/A轉(zhuǎn)換器的重要技術(shù)指標(biāo)。隨著集成技術(shù)的發(fā)展,現(xiàn)已研制和生產(chǎn)出許多單片的和混合集成型的A/D和D/A轉(zhuǎn)換器,它們具有愈來愈先進(jìn)的技術(shù)指標(biāo)。
計(jì)算可得,第1種設(shè)計(jì)系統(tǒng)的平均電流為15μA;而第2種設(shè)計(jì)系統(tǒng)的平均工作電流為14μA。在3V鋰電池供電的情況下。第1種設(shè)計(jì)電池的壽命為4000h;而第2種設(shè)計(jì)電池的壽命為42000h。
從這個(gè)例子可以看出,在系統(tǒng)高效工作時(shí)提高系統(tǒng)的叫鐘頻率能夠減小系統(tǒng)的平均工作電流,從而降低系統(tǒng)的總功耗。
評論