Silabs MCU低功耗優(yōu)勢(shì)及其實(shí)現(xiàn)方法-技術(shù)方案_第1頁(yè)
Silabs MCU低功耗優(yōu)勢(shì)及其實(shí)現(xiàn)方法-技術(shù)方案_第2頁(yè)
Silabs MCU低功耗優(yōu)勢(shì)及其實(shí)現(xiàn)方法-技術(shù)方案_第3頁(yè)
Silabs MCU低功耗優(yōu)勢(shì)及其實(shí)現(xiàn)方法-技術(shù)方案_第4頁(yè)
Silabs MCU低功耗優(yōu)勢(shì)及其實(shí)現(xiàn)方法-技術(shù)方案_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

精品文檔-下載后可編輯SilabsMCU低功耗優(yōu)勢(shì)及其實(shí)現(xiàn)方法-技術(shù)方案引言

現(xiàn)在的電子產(chǎn)品,對(duì)低功耗的要求越來(lái)越高。產(chǎn)品功耗的問(wèn)題是經(jīng)常讓產(chǎn)品設(shè)計(jì)者頭痛而又不得不面對(duì)的一個(gè)問(wèn)題。以單片機(jī)為的系統(tǒng),其功耗主要由單片機(jī)功耗和單片機(jī)外圍電路功耗組成。

要降低單片機(jī)系統(tǒng)的功耗,需要從硬件和軟件兩方面入手。美國(guó)SiliconLaboratories公司(Silabs)設(shè)計(jì)的高速C8051F系列單片機(jī)是一種高度集成的SoC型芯片,兼容傳統(tǒng)的8051單片機(jī)內(nèi)核和指令系統(tǒng),但其各方面的性能都遠(yuǎn)遠(yuǎn)超越了傳統(tǒng)的8051單片機(jī)。C8051F系列單片機(jī)中增加的外設(shè)或功能部件有:模擬多路選擇器、可編程增益放大器、ADC、DAC、電壓比較器、電壓基準(zhǔn)、溫度傳感器、SMBus(I2C)、增強(qiáng)型UART、SPI、可編程計(jì)數(shù)/定時(shí)器陣列(PCA)、電源監(jiān)視器、看門(mén)狗定時(shí)器(WDT)和時(shí)鐘振蕩器等。另外還有片上的FLASH程序存儲(chǔ)器和RAM。特別是在低功耗設(shè)計(jì)方面,提供了多種低功耗模式供用戶(hù)選擇,方便客戶(hù)設(shè)計(jì)出不同低功耗要求的產(chǎn)品。

本文將從以下三個(gè)方面來(lái)談SilabsMCU低功耗優(yōu)勢(shì)及其實(shí)現(xiàn)方法:

·如何設(shè)計(jì)低功耗單片機(jī)系統(tǒng);

·SilabsMCU在低功耗方面的優(yōu)勢(shì);

·SilabsMCU低功耗實(shí)現(xiàn)方法。

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

低功耗單片機(jī)系統(tǒng)設(shè)計(jì),需要從硬件設(shè)計(jì)和應(yīng)用軟件設(shè)計(jì)兩方面入手。

硬件設(shè)計(jì)

要滿(mǎn)足單片機(jī)系統(tǒng)的低功耗要求,選用具有低功耗特性的單片機(jī)可以很容易實(shí)現(xiàn)。因?yàn)榫哂械凸奶匦缘膯纹瑱C(jī)可以大大降低系統(tǒng)功耗,這可以從單片機(jī)的供電電壓、內(nèi)部結(jié)構(gòu)、系統(tǒng)時(shí)鐘和低功耗模式等幾方面來(lái)考察一款單片機(jī)的低功耗特性。

·選擇簡(jiǎn)單的CPU內(nèi)核

選擇CPU內(nèi)核時(shí)切忌一味追求性能,以“夠用就好”為原則。8位機(jī)夠用,就沒(méi)有必要選用16位機(jī)、32位機(jī);單片機(jī)的運(yùn)行速度越快,往往其功耗也越大。一個(gè)CPU越復(fù)雜、集成度越高、功能越強(qiáng),片內(nèi)晶體管越多,總漏電流也越大,即使進(jìn)入STOP狀態(tài),漏電流也會(huì)變得不可忽視;而簡(jiǎn)單的CPU內(nèi)核不僅功耗低,成本也低。

·選擇低電壓供電的單片機(jī)系統(tǒng)

單片機(jī)系統(tǒng)的供電電壓低,可以有效的降低其系統(tǒng)功耗。由于半導(dǎo)體制造工藝的發(fā)展,現(xiàn)在單片機(jī)的供電電壓從5V供電降低到3.3V、3V、2V乃至1.8V。供電電壓低,不緊可以降低單片機(jī)的功耗,還可以降低單片機(jī)外圍電路的功耗。

·選擇帶有低功耗模式的單片機(jī)系統(tǒng)

低功耗模式指的是系統(tǒng)的Idle、Stop和Suspend等模式。處于這些模式下的功耗將遠(yuǎn)遠(yuǎn)小于正常運(yùn)行下的功耗。

Idle模式下,CPU停止工作,但內(nèi)部系統(tǒng)時(shí)鐘并不停止,單片機(jī)的外圍I/O模塊也不停止工作;系統(tǒng)功耗一般降低有限,相當(dāng)于工作模式功耗的50%左右。

Stop模式下,CPU和內(nèi)部系統(tǒng)時(shí)鐘停止工作,所有的數(shù)字外設(shè)也自動(dòng)停止工作,內(nèi)部RAM的信息以功耗被保持,CPU消耗電流可降到μA級(jí),由外部或內(nèi)部的復(fù)位使系統(tǒng)退出Stop模式,進(jìn)而喚醒CPU繼續(xù)工作。如果在CPU進(jìn)入Stop模式時(shí),將各個(gè)模擬外設(shè)關(guān)掉,這時(shí)的功耗可以降低到nA級(jí)。但是在Stop模式下,CPU被喚醒后要重新對(duì)系統(tǒng)作初始化,所有特殊功能寄存器的內(nèi)容將被重新初始化。這在某些低功耗應(yīng)用場(chǎng)合需要注意。

Suspend模式下,CPU、內(nèi)部系統(tǒng)時(shí)鐘停止工作,I/O模塊等被懸掛起來(lái),片內(nèi)RAM中存儲(chǔ)的數(shù)據(jù)將被保持,CPU的功耗可以降低到nA級(jí),由喚醒事件喚醒。當(dāng)CPU被喚醒后,系統(tǒng)不會(huì)被CPU復(fù)位,繼續(xù)從進(jìn)入Suspend模式的地方開(kāi)始執(zhí)行程序。這是一種非常理想的低功耗模式。

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

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

A)系統(tǒng)總線頻率應(yīng)當(dāng)盡量低

單片機(jī)內(nèi)部的總電流消耗可分為運(yùn)行電流和漏電流兩部份。單片機(jī)集成度越高,環(huán)境溫度越高,漏電流也越大。在單片機(jī)運(yùn)行時(shí),開(kāi)關(guān)電路不斷地由“1”變“0”、由“0”變“1”,內(nèi)部電容不停地充放電,這些都是單片機(jī)運(yùn)行時(shí)電流的主要。要實(shí)現(xiàn)開(kāi)關(guān)電路快速關(guān)斷和電容的快速充放電,需要比較大的電流。運(yùn)行電流幾乎是和單片機(jī)的時(shí)鐘頻率成正比的,因此盡量降低系統(tǒng)時(shí)鐘的運(yùn)行頻率可以有效地降低系統(tǒng)功耗。

B)選擇適合低功耗的單時(shí)鐘方案

單片機(jī)時(shí)鐘是使用鎖相環(huán)、外部振蕩器,還是內(nèi)部振蕩器,這與單片機(jī)的功耗有很大關(guān)系。現(xiàn)代單片機(jī)普遍采用鎖相環(huán)技術(shù),允許用戶(hù)在片外使用頻率較低的振蕩器,通過(guò)程序控制,系統(tǒng)時(shí)鐘可以在一個(gè)很寬的范圍內(nèi)調(diào)整,總線頻率往往能升得很高,但是會(huì)帶來(lái)額外的功率消耗。僅僅就時(shí)鐘方案來(lái)講,使用外部振蕩器且不使用鎖相環(huán)是功率消耗的一種。

C)選擇適合低功耗的雙時(shí)鐘方案

有些場(chǎng)合的應(yīng)用比較復(fù)雜,對(duì)MCU的速度要求也很高。盡管采用新的半導(dǎo)體工藝,但MCU速度越高,一般來(lái)說(shuō)功耗也越大。因此很多高速M(fèi)CU提供了雙時(shí)鐘系統(tǒng),并允許MCU在運(yùn)行中實(shí)時(shí)快速的進(jìn)行時(shí)鐘切換,以達(dá)到降低功耗的目的。

SilabsMCU帶有內(nèi)部高速振蕩器,又可以使用外部振蕩器,并且可以在CPU運(yùn)行中實(shí)時(shí)高速地進(jìn)行內(nèi)、外振蕩器切換。這對(duì)于間歇工作的系統(tǒng)是一種非常好的低功耗方式。當(dāng)要處理數(shù)據(jù)時(shí),使用內(nèi)部高速振蕩器;當(dāng)CPU空閑時(shí),切換到外部低速振蕩器,以降低功耗。

·使用每MIPS功耗來(lái)衡量MCU的低功耗性能是相對(duì)比較準(zhǔn)確

盡管我們強(qiáng)調(diào)要降低單片機(jī)系統(tǒng)的功耗,必須盡量降低單片機(jī)的系統(tǒng)時(shí)鐘。但使用每MIPS功耗來(lái)衡量MCU的功耗與之并不矛盾。這是相對(duì)的,要具體問(wèn)題具體分析。

例如,執(zhí)行一個(gè)需要10K條指令的任務(wù),甲MCU的工作電流為3mA,速度為10MIPS,則甲MCU需要工作1mS完成該任務(wù),消耗3mA×1ms×Vcc,然后甲MCU就可以進(jìn)入低功耗模式了。

而乙MCU的工作電流為1mA,速度為2MIPS,則乙MCU需要工作5ms完成,這樣乙MCU完成該任務(wù)的消耗為1mA×5ms×Vcc。從上面的例子我們可以得出結(jié)論:電流大但速度快的MCU可能更省電。

應(yīng)用軟件設(shè)計(jì)

應(yīng)用軟件設(shè)計(jì)對(duì)于一個(gè)低功耗系統(tǒng)的重要性常常被人們忽略。一個(gè)重要的原因是,軟件設(shè)計(jì)上的缺陷并不像硬件那樣容易發(fā)現(xiàn),同時(shí)也沒(méi)有一個(gè)嚴(yán)格的標(biāo)準(zhǔn)來(lái)判斷一個(gè)軟件的低功耗特性。但是設(shè)計(jì)者如果能盡量將應(yīng)用的低功耗特性反映在軟件中,就可以避免那些“看不見(jiàn)”的功耗損失。

·用“中斷”代替“查詢(xún)”

在沒(méi)有要求低功耗的場(chǎng)合,程序使用中斷方式還是查詢(xún)方式并不重要。但在要求低功耗場(chǎng)合,這兩種方式相差甚遠(yuǎn)。使用中斷方式,CPU可以什么都不做,甚至可以進(jìn)入等待模式或停止模式;而查詢(xún)方式下,CPU必須不停地訪問(wèn)I/O寄存器,這會(huì)帶來(lái)很多額外的功耗。

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

子程序調(diào)用的入棧出棧操作,要對(duì)RAM進(jìn)行兩次操作,會(huì)帶來(lái)更大的功耗。宏在編譯時(shí)展開(kāi),CPU按順序執(zhí)行指令。使用宏,會(huì)增加程序的代碼量,但對(duì)不在乎程序代碼量大的應(yīng)用,使用宏無(wú)疑會(huì)降低系統(tǒng)的功耗。

·盡量減少CPU的運(yùn)算量

減少CPU的運(yùn)算工作量,可以有效地降低CPU的功耗。減少CPU運(yùn)算的工作可以從很多方面入手:

A)用查表的方法替代實(shí)時(shí)的計(jì)算;

B)不可避免的實(shí)時(shí)計(jì)算,算到精度夠了就結(jié)束,避免“過(guò)度”的計(jì)算;

C)盡量使用短的數(shù)據(jù)類(lèi)型,例如,盡量使用字符型的8位數(shù)據(jù)替代16位的整型數(shù)據(jù),盡量使用分?jǐn)?shù)運(yùn)算而避免浮點(diǎn)數(shù)運(yùn)算等。

·讓I/O模塊間歇運(yùn)行

A)不用的I/O模塊要關(guān)掉,間歇使用的I/O模塊要及時(shí)關(guān)掉,以節(jié)省電能。

B)不用的I/O引腳要設(shè)置成輸出或設(shè)置成輸入,用上拉電阻拉高。

總之,在單片機(jī)系統(tǒng)設(shè)計(jì)過(guò)程中,深入理解單片機(jī)低功耗的特性,并在硬件和應(yīng)用軟件的設(shè)計(jì)過(guò)程中充分利用單片機(jī)的低功耗特性,來(lái)設(shè)計(jì)出符合低功耗要求的產(chǎn)品。

SilabsMCU在低功耗方面的優(yōu)勢(shì)

Silabs的C8051F系列單片機(jī)是從傳統(tǒng)的8051單片機(jī)衍生出來(lái)的一種新型高速單片機(jī)。它屬于CISC指令系統(tǒng),但由于采用“流水線”結(jié)構(gòu)方式處理指令,70%的指令的執(zhí)行時(shí)間為1個(gè)或2個(gè)系統(tǒng)時(shí)鐘,指令執(zhí)行的峰值速度為MIPS級(jí)別。雖然它的運(yùn)行速度很高,但是在低功耗設(shè)計(jì)方面具有獨(dú)特的優(yōu)勢(shì)。這主要體現(xiàn)在:

供電電壓范圍寬

SilabsMCU的供電電壓范圍為2~5.25V。寬的供電電壓范圍不僅為單片機(jī)系統(tǒng)設(shè)計(jì)帶來(lái)方便,而且低的供電電壓可以有效地降低整個(gè)單片機(jī)系統(tǒng)的功耗。有多種低功耗模式

SilabsMCU有Idle、Stop和Suspend三種低功耗模式。各種模式下片上資源狀態(tài)、功耗及喚醒的情況如表1所示。在Stop和Suspend模式下,MCU的功耗可以降低到nA級(jí)。在Suspend模式下,有多種喚醒源,當(dāng)被喚醒時(shí)(非復(fù)位源喚醒),CPU不會(huì)對(duì)系統(tǒng)復(fù)位。在Stop模式下,SilabsMCU有豐富的復(fù)位源使CPU被喚醒,如圖1所示。

有多種時(shí)鐘方案供選擇

SilabsMCU都設(shè)計(jì)有兩套時(shí)鐘方案供選擇。用戶(hù)可以根據(jù)實(shí)際需要選擇內(nèi)部振蕩器或外部振蕩器,或者同時(shí)選擇內(nèi)、外振蕩器。內(nèi)部振蕩器可以通過(guò)相關(guān)寄存器設(shè)置來(lái)選擇不同的頻率。其頻率范圍為:80KHz~100MHz。更為重要的是在MCU運(yùn)行中,可以實(shí)時(shí)高速地進(jìn)行內(nèi)、外時(shí)鐘切換。時(shí)鐘切換速度快,切換產(chǎn)生的功耗小。這種特性,對(duì)于間歇工作的單片機(jī)系統(tǒng)低功耗設(shè)計(jì),特別有幫助。

靈活的I/O設(shè)計(jì)

SilabsMCU的I/O口資源豐富,配置靈活。有三種配置方式:漏極開(kāi)路、推挽輸出和弱上拉方式。用戶(hù)可以根據(jù)實(shí)際需要通過(guò)相關(guān)寄存器的設(shè)置來(lái)禁止或使能這些方式。其中將端口配置成漏極開(kāi)路方式是省電的方式。

高速實(shí)時(shí)的中斷響應(yīng)

SilabsMCU響應(yīng)中斷的時(shí)間非???,一般只需要5個(gè)系統(tǒng)時(shí)鐘周期。中斷響應(yīng)速度快,CPU花費(fèi)在等待方面的時(shí)間少,這可以節(jié)省不少的等待功耗。

運(yùn)算速度快,處理數(shù)據(jù)能力強(qiáng)

雖然Silabs的C8051F系列單片機(jī)屬于CISC指令系統(tǒng),但由于它采用了“流水線”結(jié)構(gòu)方式處理指令,70%的指令的執(zhí)行時(shí)間為1個(gè)或2個(gè)系統(tǒng)時(shí)鐘,突破了傳統(tǒng)的8051單片機(jī)運(yùn)行效率低的弱點(diǎn),特別是它執(zhí)行乘法指令只要4個(gè)系統(tǒng)時(shí)鐘,執(zhí)行除法指令只要8個(gè)系統(tǒng)時(shí)鐘。與那些RISC指令系統(tǒng)的單片機(jī)和那些速度低的CISC單片機(jī)相比,這不僅僅帶來(lái)了數(shù)據(jù)運(yùn)算的高效率,同時(shí)也極大地降低了系統(tǒng)的功耗。因此,使用每MIPS功耗來(lái)衡量Silabs的C8051F系列單片機(jī)的功耗,無(wú)論是處理一般事件,還是做數(shù)據(jù)運(yùn)算,它都是非常低的,具有明顯的優(yōu)勢(shì)。圖2是和其他MCU做除法運(yùn)算的速度對(duì)比。從對(duì)比中我們可以看出SilabsMCU具有高速處理數(shù)據(jù)能力的同時(shí)也帶來(lái)了更低的功耗。

總之,深入理解SilabsMCU低功耗的特性,根據(jù)實(shí)際情況,靈活運(yùn)用,就可以設(shè)計(jì)出滿(mǎn)足要求的低功耗產(chǎn)品。

SilabsMCU低功耗實(shí)現(xiàn)方法

這里舉一個(gè)運(yùn)動(dòng)裝置的應(yīng)用,采用3V電池供電,間歇工作,要求平均功耗不大于200mA。使用SilabsMCUC8051F333成功地實(shí)現(xiàn)了低功耗的應(yīng)用。選擇雙時(shí)鐘系統(tǒng),即處理數(shù)據(jù)時(shí)使用內(nèi)部高速振蕩器25MHz,空閑時(shí)使用外部晶振32.768KHz(如圖3所示),并進(jìn)入Idle模式。

沒(méi)有使用到的片上模擬和數(shù)字外設(shè)全部關(guān)閉,沒(méi)有用到的I/O全部設(shè)置成漏極開(kāi)路方式。

下面我們分析一下在不同情況下,CPU的功耗情況。

在溫度-40℃~85℃范圍內(nèi),工作電壓3V,系統(tǒng)時(shí)鐘25MHz的情況下,CPU的功耗典型值是7.8mA。其電氣特性參數(shù)表如表2所示。

我們還可以大概估算出在不同頻率下CPU的功耗。當(dāng)F15MHz時(shí),可以用下面的公式來(lái)估算:

IDD=IDD1-(F1-F)×IDD2(1)

其中IDD1是在不同電壓、頻率下正常工作時(shí)的功耗,F(xiàn)1是工作頻率,IDD2是F15MHz,不同電壓下的IDD頻率敏感度。例如,VDD=3.0V;F=20MHz時(shí),根據(jù)圖2可以算出:

IDD=7.8mA-(25MHz-20MHz)×0.21mA/MHz=6.75mA

溫馨提示

  • 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)論