超低功耗嵌入式系統(tǒng)設(shè)計技巧_第1頁
超低功耗嵌入式系統(tǒng)設(shè)計技巧_第2頁
超低功耗嵌入式系統(tǒng)設(shè)計技巧_第3頁
超低功耗嵌入式系統(tǒng)設(shè)計技巧_第4頁
超低功耗嵌入式系統(tǒng)設(shè)計技巧_第5頁
免費預(yù)覽已結(jié)束,剩余3頁可下載查看

下載本文檔

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

文檔簡介

1、超低功耗嵌入式系統(tǒng)設(shè)計技巧孟海斌張紅雨摘要:對影響嵌入式系統(tǒng)功耗的因素進行了分析,指出了一些降低系統(tǒng)功耗的途徑,從硬件設(shè)計和軟件設(shè)計兩個方面,闡述了超低功耗嵌入式系統(tǒng)設(shè)計的技巧。關(guān)鍵詞:超低功耗,嵌入式系統(tǒng),硬件設(shè)計,軟件設(shè)計,技巧中圖分類號:TP3文獻標識碼:ATacticsforUltra-lowPowerEmbeddedSystemDesignMengHaibinhangHongyu(DepartmentofElectronicEngineering,UniversityofElectronicScienceandTechnologyofChina,Chengdu611731,China

2、)Abstract:Thepaperanalyzesthefactorsaffectingpowerconsumptionofembeddedsystem,proposessomewaystoreducesystempowerconsumption,describesthetacticsforultra-lowpowerembeddedsystemdesignfrombothhardwareandsoftwaredesign.Keywords:Ultra-lowpower;Embeddedsystem;Hardwaredesign;Softwaredesign;Tactics引言無論是是在軍事

3、還是在商業(yè)上的應(yīng)用,相當數(shù)量的便攜式嵌入式系統(tǒng)一般是由可充電電池來供電的,因此,采用有效的節(jié)能技巧來改進系統(tǒng)的軟硬件設(shè)計,降低系統(tǒng)的功耗以增加電池供電設(shè)備的使用時間,是便攜式嵌入式系統(tǒng)設(shè)計中需要研究和解決的關(guān)鍵問題。此外,低功耗設(shè)計不僅能延長電池的使用時間和壽命,還可以帶來降低系統(tǒng)開銷、減少電磁干擾問題、節(jié)能環(huán)保等好處12。1影響嵌入式系統(tǒng)功耗的因素分析集成電路功耗CMO斜相器在集成電路分析中具有非常重要的意義,常用CMO制相器來進行集成電路延遲時間和功耗的分析。CMO斜相器的典型電路結(jié)構(gòu)如圖1所示,圖2是倒相器的直流傳輸特性曲線。若電路處在靜態(tài)(不發(fā)生狀態(tài)翻轉(zhuǎn))并忽略漏電流的前提下,反相器的

4、功耗幾乎為零,如圖2中的AB段和CD段。當電路發(fā)生狀態(tài)翻轉(zhuǎn)時,N管和P管具有同時導(dǎo)通的一段時間,此時從電源通過兩個管子流向地的電流iD達到一個很高的峰值,如圖2對應(yīng)于BC段的電流。很大的電流意味著較高的功率消耗和熱能的損失,這在時鐘頻率較高時尤為突出,時鐘速度越高意味著每秒鐘狀態(tài)的切換次數(shù)就越多,也意味著更多的電能損耗。CMOS倒相器直流傳輸特性曲線中由BC段電流產(chǎn)生的功耗,稱為動態(tài)功耗。除此之外,管子在工作時還存在著靜態(tài)漏電功耗,下面對這兩類功耗分別進行分析。a.動態(tài)功耗,當CMOS倒相器從一種穩(wěn)定工作狀態(tài)突然轉(zhuǎn)變到另一種穩(wěn)定狀態(tài)的過程中,將產(chǎn)生附加的功耗,稱之為動態(tài)功耗。這一功耗是由兩部分

5、組成的,一部分是瞬時導(dǎo)通功耗R;另一部分是對對負載電容充放電所消耗的功率PC,其表達式為:一一一一2一PlynarmicP+tP=cVtD討TC,C*V.蹴式1)公式1中,Vdd為電源電壓;Itc為兩管子同時導(dǎo)通所產(chǎn)生的瞬時電流,不是一個固定的數(shù)值,如圖2所示;口為活動因子,表示電容充放電的平均次數(shù)相對于開關(guān)頻率的比值;CL為進行充放電的等效負載電容,包括柵電容、節(jié)點電容、互連電容等;f為開關(guān)頻率,即電路的工作頻率。VDD圖1CMOS倒相器電路結(jié)構(gòu)圖2CMOS直流傳輸特性曲線b.靜態(tài)漏電功耗,是由亞閾值電流和反向偏壓電流造成的。在集成電路中,動態(tài)功耗是整個CMOS集成電路功耗的主要組成部分。一

6、般約占電路總功耗的90%以上,靜態(tài)漏電功耗占電路總功耗的1%以下,因而在大多數(shù)情況下可以忽略3。 純電阻元件上消耗的功率,電阻為耗能元件,只要電路中使用電阻,就存在著能量消耗。 有源開關(guān)器件在狀態(tài)轉(zhuǎn)換時,電流和電壓比較大,將引起功率消耗。 非理想元件由于等效電阻的存在消耗的功率,如電路中的儲能元件電感和電容,理想情況下他們是不消耗能量的,但是實際使用的電感和電容都存在著等效串聯(lián)電阻(ESR),等效電阻存在就意味著能量的消耗。 印制電路板中的走線上消耗的功率,如電源線由于電阻的存在會造成電能的損耗,實際中地線上也存在著電流的流動,由于導(dǎo)線阻抗的存在,串聯(lián)單點接地的不同接地點之間會存在著電位差,因

7、此,在這些地線上也存在著能量的消耗。2降低系統(tǒng)功耗的途徑針對以上對影響系統(tǒng)功耗因素的分析,理論上可以通過以下途徑來降低系統(tǒng)功耗(第、兩點是任何系統(tǒng)都不可避免的,不在本文的討論范圍之內(nèi)):降低集成電路的動態(tài)功耗。根據(jù)動態(tài)功耗的公式1:Rvnamic=",C%:,f可知,要降低集成電路的動態(tài)uynaiiiicuu功耗,有如下途徑:a.降低活動因子,也就是降低電容充放電的平均次數(shù)。b.降低電源電壓,因為動態(tài)功耗與電壓的平方成正比,瞬時導(dǎo)通功耗與電壓成正比,因此,在滿足電路速度的前提之下,降低電源電壓是降低電路功耗的最有效的辦法。c.降低負載電容,負載電容是由兩部分組成的,一部分是器件的柵電

8、容和節(jié)點電容,和器件的工藝有關(guān);另一部分是連線電容。為了減小負載電容,在工藝方面可以選擇小的器件,物理實現(xiàn)時減小連線的長度4d.降低開關(guān)頻率,在動態(tài)功耗公式1中,電路的功耗與工作頻率成正比,因此降低時鐘頻率可以直接降低動態(tài)功耗。盡可能選用靜態(tài)功耗小的CMOS集成芯片,以降低系統(tǒng)的靜態(tài)漏電功耗。盡可能地減少純電阻的使用,純電阻是耗能元件,電能直接轉(zhuǎn)化為熱能消耗掉了,所以要盡可能的避免電阻的使用。減少有源開關(guān)器件的使用。有源開關(guān)器件如晶體管在狀態(tài)轉(zhuǎn)換期間將會有比較大的電流消耗,減少這樣器件的使用有助于減小功耗。3超低功耗嵌入式系統(tǒng)設(shè)計的技巧嵌入式系統(tǒng)的功耗是由多方面因素決定的,但它主要取決于系統(tǒng)所

9、用芯片和器件的選擇、系統(tǒng)的工作方式、電源管理策略以及所采取算法的效率。要設(shè)計一個低功耗性能突出的嵌入式系統(tǒng),不外乎在硬件設(shè)計和軟件設(shè)計兩個方面來想方設(shè)法降低系統(tǒng)的功耗。超低功耗系統(tǒng)設(shè)計的總體要求是在所有可能的環(huán)節(jié)上都要采取措施,積少成多,以最大限度地降低系統(tǒng)功耗。3.1 硬件超低功耗設(shè)計技巧在器件選擇上,要盡量實現(xiàn)全CMOS化的硬件設(shè)計。在設(shè)計超低功耗系統(tǒng)時,要對電源電壓、時鐘頻率以及靜態(tài)功耗進行控制,并形成了系統(tǒng)硬件設(shè)計要遵循的四項基本原則:即電壓能低就不高、頻率能慢就不快、系統(tǒng)能靜(態(tài))就不動(態(tài))、電源能斷就不通5。3.1.1 選擇低功耗性能優(yōu)異的微處理器隨著低功耗系統(tǒng)需求的增加,很多單

10、片機廠商都推出了自己的低功耗產(chǎn)品,如Philips公司的P8XLPC系列,TI的MSP430系列,Microchip公司的PIC單片機以及NXP的ARMCortex-M0系列。如果處理器本身具有超低功耗特性,首先必須能在低電壓和低頻率工作。其次還要看單片機自身的特性,看是否是面向超低功耗應(yīng)用而設(shè)計的單片機,需要對處理器的工作模式、工作電流、休眠電流、掉電電流做一個詳細的統(tǒng)計。Microchip公司采用nanoWattXLP(eXtremeLowPower)極低功耗技術(shù)的MCU的典型電流消耗為:掉電電流小于100nA;看門狗電流消耗小于800nA;實時時鐘和日歷電流消耗小于800nA。該公司的P

11、IC24F16KA系列的MCU,典型休眠電流可以低至20nA,實時時鐘電流低至490nA,看門狗定時器電流低至370nA,該系列的MCU可使應(yīng)用連續(xù)運行20年以上而無需更換電池,成為業(yè)界8位和16位MCU中低功耗性能最突出的MCU。NXP公司采用ARMCortex-M0內(nèi)核的LPC11xx系列32位處理器的能耗僅為85pW/MHz,采用這種內(nèi)核架構(gòu)的處理器是32位微處理器中低功耗性能較突出的處理器,此系列處理器的功耗統(tǒng)計如表1所示。工作模式功耗(W)睡眠模式(12MHz)6600深度睡眠模式19.8深度掉電模式0.726表1LPC11xx系列處理器工作模式與功耗測試條件處理器功耗(mW)系統(tǒng)時

12、鐘為12MHz9.9系統(tǒng)時鐘為50MHz29.7表2LPC11xx系統(tǒng)時鐘頻率與功耗3.1.2 選用低功耗的外圍集成電路與TTL數(shù)字集成電路相比,CMOS數(shù)字集成電路在低功耗特性上具有無可比擬的優(yōu)越性能。拿74系列的門電路來說,單個高速CMOS門電路的功耗是普通TTL門電路的1/1000,是單個低功耗TTL門電路的1/100,整片超低功耗CMOS小規(guī)模集成電路的靜態(tài)功耗可低于1W此外,CMOS集成電路還具有工作溫度穩(wěn)定性好,輸出電平擺幅大抗干擾能力強的特點,因此,選擇數(shù)字集成電路,首選CMOS數(shù)字集成電路。在存儲容量需求較小的條件下,采用FRAM代替一般的Flash或E2PROM,將會帶來很多

13、電能的節(jié)省,因為FRAM的寫入功耗是Flash和E2PROM的1/1000-1/100000。3.1.3 采用低電壓供電目前許多芯片的電源電壓范圍都比較寬,系統(tǒng)的功耗和系統(tǒng)的供電電壓存在著一定的函數(shù)關(guān)系。對于純電阻電路,功耗的公式為P=V2/r;對于容性負載電路,動態(tài)功耗的公式為Pdvnamic=U,CVd2f,見公式1。ynaiiic從以上兩公式可以看出,系統(tǒng)的功耗與系統(tǒng)供電電壓的平方成正比,當供電電壓由5V降到3.3V時,功率將減少50蛆上;當電壓降到1.8V時,功耗將減少80%±,如圖3所示。由此可見,降低電源電壓是構(gòu)建超低功耗嵌入式系統(tǒng)最有效的途徑。當然供電電壓的下降也不是無

14、限的,必須要滿足芯片手冊中規(guī)定的電壓范圍。此外,電壓的降低也會帶來延遲時間增加和驅(qū)動能力下降等新問題。電源電壓(V)圖3以5V供電電壓消耗功率為參考的低壓供電消耗功率的百分比3.1.4 分區(qū)供電降低功耗分區(qū)供電就是要控制電源供電部分,現(xiàn)其可控設(shè)計,便于獨立供電和動態(tài)管理;或掉電工作時關(guān)掉外圍電路的電源,僅僅保留需要對電源進行分割,使系統(tǒng)功能模塊的電源相對獨立供電,同時實在閑置時利用開關(guān)控制各個部分的關(guān)斷,CPU和定時器電路的電源。如下圖電控制端3K3以節(jié)省電能。在系統(tǒng)休眠4所示。VCC分區(qū)供電部分(a)PNP管控制分區(qū)供電(b)NPN管控制分區(qū)供電圖4分區(qū)控制電源電路示意圖圖4(a)、(b)中

15、的晶體管用作電源開關(guān),控制電源VCC向“分區(qū)供電部分”的供電,“供電控制端”接到處理器的輸出管腳上,對于圖(a)中PNP管,高電平切斷分區(qū)供電部分的電源,低電平使PNP晶體管導(dǎo)通,此時VCC向分區(qū)供電部分供電;對于圖(b)的NPN管,供電情形則恰巧相反。需要注意的是,處理器的供電電壓與VCC的壓差必須小于所選擇三極管發(fā)射結(jié)的結(jié)壓。盡量使用低頻工作方式低功耗微處理器中幾乎全部采用CMOS器件,而CMOS集成電路的結(jié)構(gòu)決定了它的靜態(tài)功耗幾乎為零,僅在邏輯狀態(tài)發(fā)生翻轉(zhuǎn)的過程中,電路中有電流流過。所以它的動態(tài)功耗和它的邏輯轉(zhuǎn)換頻率成正比,和電路的邏輯狀態(tài)轉(zhuǎn)換時間成正比。所以CMOS集成電路從降低功耗的

16、角度上來說應(yīng)當快速轉(zhuǎn)換,低頻工作。當程序在flash中運行,VDD=3.3V時,LPC11xx處理器功耗如表2所示(3.1.1中)。選用靜態(tài)電流小、效率高、有使能端的電源轉(zhuǎn)換芯片手持設(shè)備一般是由電池供電,為獲得一個較長的電池使用時間,一般采用DC/DC開關(guān)電源或LDO(LowDropOutregulator,低壓差線性穩(wěn)壓器),在價格允許的前提下,最好選擇那些效率高、靜態(tài)電流小并且有使能端的芯片。首先,效率高是為了減少電池能量在轉(zhuǎn)化的過程中造成的損失。其次,靜態(tài)電流小可以減小芯片在待機狀態(tài)的漏電流功耗。再次,選擇具有使能端的芯片可以利用微處理器進行關(guān)斷控制,有利于獨立供電支路功耗的管理。凌力爾

17、特公司的DC/DCLTC3417具有高達95%的效率和低于1心的靜態(tài)電流,已經(jīng)在作者的有源手持機項目中得到了應(yīng)用,取得了顯著的低功耗效果。利用I/O引腳為外圍器件供電可以直接利用嵌入式微處理器的I/O引腳直接為外部設(shè)備提供電源,只要這些I/O接口的驅(qū)動能力足以驅(qū)動外部設(shè)備。有的微控制器如PIC系列的微控制器的I/O引腳可以提供20mA的驅(qū)動能力,可以為某些器件供電。使用時只需要把這些器件的電源端接到微控制器的I/O引腳上即可。圖5利用CPU的I/O管腳為外部器件供電圖6動態(tài)改變時鐘動態(tài)改變MCU勺時鐘單片機的工作頻率和功耗的關(guān)系很大,頻率越高,功耗越大。處理器動態(tài)改變CPU時鐘的具體做法是:在

18、CPU等事件發(fā)生時,管腳輸出低電平,增大電阻將會降低內(nèi)部的時鐘的頻率;當需要處理事務(wù)時,輸出高電平減小電阻,增加時鐘頻率。實現(xiàn)這一技術(shù)的方法如圖6所示。當CPU處于等待狀態(tài)下可以將I/O引腳輸出低電平,此時內(nèi)部時鐘頻率降低;當CPU需要處理事務(wù)的時候,通過將I/O引腳設(shè)定為輸出高電平,電阻R1的加入將增加時鐘頻率。未用引腳的處理處理好處理器和CMOS芯片未用的輸入引腳。若未用的處理器引腳不加以處理,很容易造成電荷積累,根據(jù)電量與電容C和電壓U的關(guān)系Q=CU可知,當電荷的累積Q與電容C可比的情況下,就會產(chǎn)生影響引腳電平狀態(tài)的U,這個電平會隨著電荷的累積而導(dǎo)致數(shù)字邏輯狀態(tài)在“0”和“1”之間變化,

19、當輸入引腳電平處于0、1之間的過渡區(qū)時,會使電路中反相器的P管和N管都處于導(dǎo)通狀態(tài),導(dǎo)致功耗大大增加。CMOS電路未用的管腳,一般采取加上拉電阻(110K?)的方法處理,為節(jié)能起見,阻值要取大一些。局部電路的節(jié)電技巧采用RC振蕩器一般比晶體振蕩器或鎖相環(huán)更省電。接口電平要盡量匹配,以減少電平匹配電路帶來的額外功耗。在保證驅(qū)動能力的前提下,電路中應(yīng)盡可能采用較大阻值的上拉/下拉電阻,以減小在電阻上的能量消耗。如果允許,適當降低外部驅(qū)動引腳的電壓。選擇合適的驅(qū)動接口參數(shù),以減小緩沖器的使用量。少用驅(qū)動電阻或雙極晶體管,這些器件需維持一個恒定電流,從而增加了電能消耗。3.2超低功耗軟件設(shè)計技巧嵌入式

20、系統(tǒng)中,CPU和外圍器件運行時間越長,功耗就越大,做一在軟件設(shè)計時,要考慮盡量縮短CPU和外圍器件的運行時間,讓CPU大部分時間處于待機或者掉電工作方式,這樣可以大大降低系統(tǒng)的功耗。3.2.1避免查詢方式和延時A/D轉(zhuǎn)換器在采集少量的數(shù)據(jù)時,MCU讀取A/D轉(zhuǎn)換數(shù)據(jù)的方式有兩種:查詢方式和中斷方式。但是查詢方式和中斷方式的低功耗特性相差甚遠,使用中斷方式,MCU可以什么都不做,甚至可以進入待機或者停止模式;而查詢方式下,MCU必須不停地讀取I/O端口寄存器,這樣會消耗很多額外的功耗6。如果系統(tǒng)的定時器資源充裕,在需要定時的場合,最好采用硬件定時器,當定時器到了定時時間后,向MCU發(fā)出中斷請求信

21、號,這樣可以減少MCU的工作時間,進而可以把功耗節(jié)省下來。軟件低功耗的運行管理動態(tài)電源管理動態(tài)電源管理(DynamicPowerManagement,DPM)技術(shù)的思想是有選擇地把閑置的系統(tǒng)部分置于低功耗狀態(tài),從而有效地利用電能2。充分利用處理器和外圍電路的低功耗工作模式,當系統(tǒng)和外圍電路不工作的時候,軟件設(shè)計時應(yīng)該使處理器和外圍電路及時地進入待機或者休眠模式。可選擇關(guān)斷CPU時鐘或系統(tǒng)時鐘,對時鐘的控制要做到忙時多用、閑時少用、不用關(guān)斷的原則。間歇性使用電路的控制對于間歇性使用的外圍電路,在軟件控制中通過片選使能端控制其工作時間。在某些功能沒有使用到時,適時地將嵌入式處理內(nèi)部電路的全部或部分

22、關(guān)斷或者讓進入睡眠或待機狀態(tài),同時關(guān)閉不用的外圍接口電路,如串口、ADC/DAC、I2C、SPI、PWM等電路。未用I/O引腳的軟件處理對于未用的處理器I/O弓I腳,軟件中也要進行初始化,若不進行初始化,將有可能會增加單片機的漏電流,最好將其設(shè)置為輸入或者輸出,且接一個固定的電平。用宏代替子程序宏與子程序的在于宏是在編譯器預(yù)處理階段進行替代,而子程序調(diào)用中,MCU需要進行現(xiàn)場保護,進入子程序之前要將當前的MCU寄存器壓入RAM中分配的棧(即常說的堆棧,為區(qū)別堆,這里采取棧的說法),在離開的時候,要把棧中的內(nèi)容彈出來恢復(fù)MCU的寄存器,這樣至少會帶來兩次對RAM的操作。盡管用宏MCU來說,代碼的

23、flash空間根本不是大增加了代碼的長度,但是加快了代碼執(zhí)行的速度,對于目前很多的問題,這種做法將會在一定程度上降低系統(tǒng)功耗。采用高效率算法高效率算法可以從以下幾個方面著手:用查表的方法代替實時的計算。特別是在沒有硬件浮點處理單元的MCU進行浮點處理的時候,直接用MCU進行浮點處理將會消耗大量的時間,如果將一些運算的結(jié)果事先計算好,存儲在程序存儲器的代碼段中,在需要某個數(shù)據(jù)時用查表的辦法把數(shù)據(jù)取出來做運算,這樣可以減少MCU的運算量,有效地降低MCU的功耗。這種處理方法在離散余弦變換和A/D數(shù)據(jù)采集中能夠帶來可觀的效率提升。用移位運算代替乘除法運算用MCU計算乘除法也是非常耗時的事情,如果盡可能避免直接的乘除運算,采用左移和右移的辦法來實現(xiàn)乘除運算,將會減少運算時間,進而節(jié)省功耗。如要進行y=x15的運算,可以轉(zhuǎn)化為:x«4-x,對于特殊的除法,要采取右移的辦法,如3000256可以直接轉(zhuǎn)化為:3000»8,當然,除法的移位計算只能針對除數(shù)比較特殊的時候,一般除法的高效算法見文獻7。采用快速的算法在搜索算法中,使用二分搜索算法和分段

溫馨提示

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

評論

0/150

提交評論