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

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 微控制器省電管理方法

          微控制器省電管理方法

          作者: 時間:2010-05-20 來源:網(wǎng)絡(luò) 收藏

          新唐科技的NUC1xx包含NUC101、NUC100、NUC120、NUC130和NUC140,是以ARM Cortex-M0為核心的32位微(MCU),經(jīng)由不同時鐘的設(shè)定,最高可以達(dá)到50MHz的運作頻率。然而在一般簡單控制或系統(tǒng)負(fù)載較低時,CPU并不需要執(zhí)行在最高的運行時鐘下即可應(yīng)付所需要的計算量。這時候,便可以利用系統(tǒng)時鐘的控制來降低時鐘,以達(dá)到省電的目的。

          本文引用地址:http://www.ex-cimer.com/article/180829.htm

          另一種情況是CPU因為等待下一個工作或只需要久久工作一次時,就可以先將CPU進(jìn)入Idle或Power Down模式,等到一定的時間之后或是有特定的事件發(fā)生時,才被喚醒過來進(jìn)行相關(guān)事件的處理。同時,如果系統(tǒng)內(nèi)沒有用到的系統(tǒng)模塊,也可以將其關(guān)閉以節(jié)省不必要的耗電。本文介紹各種不同的省電的原理,并提供相關(guān)的范例說明。

          開關(guān)系統(tǒng)模塊

          在新唐科技NUC1xx中,為了省電的需求,當(dāng)某個系統(tǒng)模塊不使用時,可以將其輸入時鐘關(guān)閉,使其進(jìn)入關(guān)閉的模式,依此來達(dá)到省電的效果。在NUC1xx中,幾乎所有的系統(tǒng)模塊都可以各別被關(guān)閉,這些模塊包括:Watch Dog Timer、RTC、Timer0~3、I2C0~1、SPI0~3、UART0~2、PWM0~7、CAN、USB、ADC、ACMP、PS2、PDMA、 Flash ISP。不過,并非每顆芯片都包含了所有模塊功能,例如CAN模塊只在NUC130和NUC140才有此功能,詳細(xì)說明請參考各芯片的相關(guān)文件。

          各模塊的相關(guān)耗電如表1所示。

          微控制器的省電管理

          新唐科技NUC1xx藉由關(guān)閉各模塊時鐘的方式來達(dá)到關(guān)閉各模塊的目的,所以要關(guān)閉模塊就必須設(shè)定相關(guān)的時鐘控制緩存器。NUX1xx提供AHBCLK Register與APBCLK Register,來控制上文所列出各模塊的開關(guān)。

          系統(tǒng)時鐘設(shè)定

          新唐科技NUC1xx本身的耗電量和它的運行時鐘有很大關(guān)系。如果運行的時鐘高,則耗電高,反之則比較省電,但同時CPU就可能無法負(fù)荷大量的運算。因此,如果要同時兼顧大量運算跟省電,就必須能夠根據(jù)實際上的需求來調(diào)整CPU的工作時鐘,以求達(dá)到最佳的運作效率。

          NUC1xx內(nèi)建了PLL,能使用外部12MHz的晶振或是內(nèi)部22M振蕩器產(chǎn)生系統(tǒng)所需的時鐘,由PLL所產(chǎn)生的時鐘再經(jīng)過適當(dāng)除頻,即可作為CPU的工作頻率。另外NUC1xx也提供經(jīng)由外部32KHz的晶振或是內(nèi)部10KHz 振蕩器直接供給作為CPU工作頻率的方式。因此,NUC1xx對于工作時鐘的設(shè)定,提供了很大的靈活性。

          微控制器的省電管理


          上一頁 1 2 下一頁

          關(guān)鍵詞: 方法 管理 控制器

          評論


          相關(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); })();