<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > MCU省電模式幫助降低整體功耗

          MCU省電模式幫助降低整體功耗

          作者: 時(shí)間:2011-03-12 來源:網(wǎng)絡(luò) 收藏
          現(xiàn)代()擁有豐富的外設(shè)和功能,極大地方便了設(shè)計(jì)的功耗預(yù)算。全面了解器件的相關(guān)知識對于嵌入式設(shè)計(jì)人員非常重要,只有這樣,設(shè)計(jì)人員才能充分利用可用的模式和外設(shè)來降低設(shè)計(jì)功耗。

            充分利用省電模式和功能

            大多數(shù)都設(shè)有多種模式,可提供各種省電選項(xiàng)。盡管模式的名稱可能各不相同,但是幾乎所有都會(huì)提供“運(yùn)行”、“空閑”和“休眠”三種典型模式。圖1給出了許多上可用模式的匯總。在一些情況下,何時(shí)使用哪種模式是顯而易見的;例如,對于主要的處理工作,只能使用運(yùn)行模式。在處理工作完成后,如果需要長時(shí)間等候外部事件,顯然應(yīng)該選擇休眠模式。何時(shí)適合選擇空閑模式并不容易判定,但是在發(fā)送或接收大批量的數(shù)據(jù)時(shí)最常選擇該模式。在保留其他功能的同時(shí)等候較短時(shí)間延遲來關(guān)閉CPU,也會(huì)使用空閑模式。

            

          《電子系統(tǒng)設(shè)計(jì)》

            對于特定架構(gòu)的多種其它模式和功能的熟悉程度非常重要。雖然僅使用上述一些熟悉的模式也可以使設(shè)計(jì)功耗達(dá)到可接受的水平,但是要使應(yīng)用的電流消耗達(dá)到絕對的最低水平,最好是利用器件的獨(dú)特功能。例如,某些采用了一種新型斷電模式,該模式取消對MCU的內(nèi)核供電以最大程度地降低功耗,從而使功耗低于常規(guī)斷電模式下的功耗。這種模式通常被稱為“深度休眠”。圖2中顯示的PIC24F16KA 16位MCU便是深度休眠器件的一個(gè)實(shí)例。

            

          《電子系統(tǒng)設(shè)計(jì)》

            MCU內(nèi)核斷電時(shí)RAM也將斷電,這樣會(huì)導(dǎo)致其它低功耗模式(如休眠)下仍然可以保留的某些信息丟失。既然代價(jià)如此高昂,那么什么情況下才適合使用深度休眠模式呢?使用深度休眠模式的好處是取消器件的大部分供電時(shí)產(chǎn)生的漏電流很小,這可以顯著降低掉電電流——某些情況下可以降到50 nA以下,如圖1所示。小漏電流還使得深度休眠模式在高溫或高壓應(yīng)用中的表現(xiàn)更好,高溫和高壓常常導(dǎo)致休眠模式電流增加。深度休眠模式的另一個(gè)主要優(yōu)點(diǎn)是可以實(shí)現(xiàn)設(shè)計(jì)尺寸更小且性能更佳的芯片,同時(shí)不用放棄低功耗目標(biāo)。這種模式最適用于掉電時(shí)間較長的應(yīng)用,這些應(yīng)用中減小掉電電流的重要性遠(yuǎn)遠(yuǎn)超過使應(yīng)用重新初始化的成本。

            設(shè)計(jì)人員對器件的熟悉度變得重要的另一個(gè)原因是,不僅只有低功耗模式才能降低功耗,很多用于提升性能的功能也有利于降低功耗。例如,如果某個(gè)器件有內(nèi)部振蕩器,則用戶可以在主晶振開始運(yùn)行初始化代碼的同時(shí)使用該內(nèi)部振蕩器,這樣便可以縮短器件喚醒所需的總時(shí)間。

            數(shù)字外設(shè)的功耗

            集成外設(shè)有助于顯著提升MCU的性能并允許移除外部元件,這兩點(diǎn)都有利于降低功耗。但是,如果使用不當(dāng),運(yùn)行外設(shè)的成本會(huì)高過所節(jié)省的功耗??梢酝ㄟ^幾種簡單的技巧使外設(shè)自身的供電成本最小化,以維持低功耗應(yīng)用。

            一般來說,單片機(jī)中使用的最耗電的外設(shè)是串行通信總線。I2C和SPI通信均使用多條高速線路。驅(qū)動(dòng)這些線路的供電成本非常高。SPI在高速運(yùn)行時(shí)消耗的電流會(huì)達(dá)到毫安級,因?yàn)樗枰?qū)動(dòng)三條高速I/O總線。驅(qū)動(dòng)這些總線時(shí)的開關(guān)損耗會(huì)導(dǎo)致極大的電流消耗。相比而言,I2C運(yùn)行速度較慢,但是因?yàn)樗褂昧松侠娮?,而?dāng)?shù)碗娮枭侠糜趯?shí)現(xiàn)高速時(shí)會(huì)造成相當(dāng)大的電流,因此電流消耗會(huì)更大。

            降低這些串行通信外設(shè)功耗的最簡單的方法是降低速度;但是,并不是所有情況下都可以這樣做。既然運(yùn)行串行通信的大部分成本來自于驅(qū)動(dòng)總線,那么我們就應(yīng)該將焦點(diǎn)放在驅(qū)動(dòng)總線上。對于SPI而言,采用走線較短的簡潔電路板布局來最小化線路阻抗很重要。而I2C則相反——在總線上采用值較高的上拉電阻可以降低電流消耗,并且在某些情況下并不會(huì)減慢最大速度。要最小化這兩種情況下的功耗,可以減少總線上的器件數(shù)量或關(guān)閉未使用的器件的電源,而不是在選擇芯片上費(fèi)腦筋。在軟件中,如果某個(gè)應(yīng)用正在等候串行數(shù)據(jù),可以通過禁止CPU來降低這些外設(shè)的功耗。另外,也可以將串行傳輸數(shù)據(jù)組合成集群,而不是持續(xù)傳輸,這樣應(yīng)用就可以更長時(shí)間保持在省電模式,而在更少時(shí)間處于喚醒狀態(tài)以發(fā)送和接收數(shù)據(jù)。

            模擬外設(shè)的功耗

            MCU上的模擬外設(shè)會(huì)對電流消耗產(chǎn)生很大的影響。BOR、比較器和ADC等模擬功能需要消耗足夠的功率才能產(chǎn)生準(zhǔn)確的結(jié)果。因此,當(dāng)這些功能部件在低功耗模式下運(yùn)行時(shí),無法總是像對數(shù)字功能那樣對其進(jìn)行功耗優(yōu)化。正因?yàn)槿绱?,確保應(yīng)用僅在需要時(shí)使能模擬功能(而不是始終使能)就變得非常重要。若要降低ADC的采樣速率,往往使用盡可能快的時(shí)鐘和盡可能短的采樣時(shí)間而不是延長采樣時(shí)間或放慢ADC時(shí)鐘。而且,在采樣完成后,應(yīng)該禁止ADC。對于很多MCU而言,這樣做可以用更低的功耗產(chǎn)生相同的結(jié)果。類似地,在器件運(yùn)行過程中使用BOR功能來檢測會(huì)導(dǎo)致錯(cuò)誤執(zhí)行的小幅壓降,比在器件處于省電模式時(shí)使用該功能更重要,因?yàn)樵谑‰娔J较?,僅要求檢測大到足以造成RAM崩潰的壓降。因此,將BOR配置成采用功耗更低的休眠模式比配置成運(yùn)行模式更加有用,這樣的話,可以利用在休眠時(shí)較低的功耗強(qiáng)度要求并達(dá)到低至50nA或更低的電流消耗,同時(shí)還能在運(yùn)行時(shí)維持高性能。

            本文小結(jié)

            所有MCU都有一系列可用于降低設(shè)計(jì)功耗的功能。但是,這些功能中只有一小部分應(yīng)用到了所有器件中。因此,熟悉所使用的單片機(jī)的所有外設(shè)和獨(dú)特功能非常重要,只有這樣才能真正實(shí)現(xiàn)功耗得到優(yōu)化的設(shè)計(jì)。



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();