《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 低功耗MCU動態(tài)時鐘分析與應(yīng)用
低功耗MCU動態(tài)時鐘分析與應(yīng)用
張志永
摘要: 以MSP430系列MCU為例,介紹了通過改變MCU的時鐘頻率實現(xiàn)低功耗的設(shè)計方法。
Abstract:
Key words :

   摘 要:MSP430系列MCU為例,介紹了通過改變MCU的時鐘頻率實現(xiàn)低功耗" title="低功耗">低功耗的設(shè)計方法。
   關(guān)鍵詞: 動態(tài)時鐘  低功耗  MCU  CPU

 

   隨著IC技術(shù)的迅速發(fā)展和對消費電子產(chǎn)品需求的不斷增長,大量的便攜式設(shè)備被廣泛應(yīng)用于各種領(lǐng)域,從而使低功耗成為系統(tǒng)設(shè)計中越來越被關(guān)注的問題。功耗不但直接決定通??侩姵毓╇姷囊苿釉O(shè)備的使用時間,而且極大地影響著芯片的尺寸、成本和性能。本文結(jié)合MSP430系列微處理器,詳細(xì)論述了通過控制改變MCU的時鐘頻率來降低功耗的設(shè)計方法。
1 功耗產(chǎn)生的原因

   在CMOS電路中,功耗損失主要包括靜態(tài)功耗損失和動態(tài)功耗損失兩部分。其中靜態(tài)功耗主要是由反偏PN結(jié)的漏電流和晶體管的亞閾值電流引起的,其最主要的形式就是漏電損失。其實CMOS電路理論上不會有靜電功耗損失,因為從供應(yīng)電源到地面沒有直接的路徑,但實際上晶體管總會有漏電電流的出現(xiàn),從而出現(xiàn)漏電損失。在0.18μm工藝水平之下,其在功耗中所占比重大約為5%~10%,一般可以忽略(但是隨著工藝的提高,供電電壓的降低,又使其所占比重逐漸上升)。這樣,在CMOS電路中,動態(tài)功耗就成了這個系統(tǒng)功耗的主要組成部分,約占整體功耗的90%以上。定量地分析電路的動態(tài)功耗,可用以下公式表示:


  其中:C為負(fù)載電容;VDD為電源電壓;?琢為翻轉(zhuǎn)幾率,即每個時鐘周期中發(fā)生的充放電周期個數(shù);fCLK為時鐘頻率。從這個公式可以看到如何降低動態(tài)功耗從而降低整個CMOS電路的功耗。即可以減小翻轉(zhuǎn)的負(fù)載電容,降低電源電壓,減小節(jié)點的翻轉(zhuǎn)幾率,或者降低時鐘頻率。本文將主要圍繞如何動態(tài)降低時鐘頻率實現(xiàn)低功耗設(shè)計。
2 動態(tài)時鐘低功耗管理原理
  MCU系統(tǒng)設(shè)計是個很復(fù)雜的過程,在一些條件下可能會用到整個系統(tǒng)的所有硬件資源,但是在一些應(yīng)用中可能只需要其中很少的一部分硬件資源;在某些應(yīng)用中可能需要很高的時鐘頻率,而在其他應(yīng)用中卻可以工作在很低的工作頻率中。例如:當(dāng)任務(wù)量很大時,MCU滿負(fù)荷工作,則需要較高的時鐘頻率,功耗較大;當(dāng)任務(wù)量很小時,MCU負(fù)荷較輕,所需時鐘頻率較低,功耗就可以相應(yīng)降低。動態(tài)配置系統(tǒng)的時鐘頻率就是以不犧牲系統(tǒng)的性能為前提,動態(tài)地管理系統(tǒng)的工作頻率來降低MCU的功耗。
3 低功耗動態(tài)時鐘實現(xiàn)
  圖1為MSP430系列MCU基礎(chǔ)時鐘模塊。

              
  MSP430基礎(chǔ)時鐘模塊包含以下3個時鐘輸入源。
  (1)LFXT1CLK 低頻時鐘源:由LFXT1振蕩器產(chǎn)生(如圖2所示)。通過軟件將狀態(tài)寄存器中OSCOff復(fù)位后,LFXT1開始工作,即系統(tǒng)采用低頻工作。如果LFXT1CLK沒有用作SMCLK或MCLK信號,則可以用軟件將OSCOff置位,禁止LFXT1工作。

                      
  (2)XT2CLK高頻時鐘源:由XT2振蕩器產(chǎn)生。它產(chǎn)生時鐘信號XT2CLK,其工作特性與LFXT1振蕩器工作在高頻模式時類似??珊唵蔚赝ㄟ^軟件設(shè)置XT2振蕩器是否工作,當(dāng)XT2CLK沒有用作SMCLK或MCLK信號時,關(guān)閉XT2,選擇其他時鐘源。
  (3)DCOCLK 數(shù)字控制RC振蕩器。由集成在時鐘模塊中的DCO振蕩器產(chǎn)生。DCO振蕩器是一個RC振蕩器,頻率可以通過軟件調(diào)節(jié),其控制邏輯如圖3所示。當(dāng)振蕩器LFXT1、XT2被禁止或失效時,DCO振蕩器被自動選作MCLK的時鐘源。因此由振蕩器失效引起的系統(tǒng)中斷請求可以得到響應(yīng),甚至在CPU關(guān)閉的情況下也能得到處理。

                      
  由基礎(chǔ)時鐘模塊可以提供系統(tǒng)所需的3種時鐘信號,即:ACLK、MCLK、SMCLK。其中輔助時鐘ACLK是LFXT1CLK信號經(jīng)1、2、4、8分頻后得到的。ACLK可由軟件選作各個外圍模塊的時鐘信號,一般用于低速外設(shè);系統(tǒng)主時鐘MCLK可由軟件選擇來自LFXT1CLK、XT2CLK、DCOCLK三者之一,然后經(jīng)1、2、4、8分頻得到。MCLK主要用于CPU和系統(tǒng)。子系統(tǒng)時鐘SMCLK可由軟件選擇來自LFXT1CLK和DCOCLK,或者XT2CLK和DCOCLK,然后經(jīng)1、2、4、8分頻得到,主要用于高速外設(shè)模塊。系統(tǒng)可以根據(jù)實際需要通過軟件來選擇合適的系統(tǒng)時鐘頻率,這三種不同頻率的時鐘輸出給不同的模塊,從而合理利用系統(tǒng)的電源,實現(xiàn)整個系統(tǒng)的超低功耗,這一點對于電池供電的系統(tǒng)來講至關(guān)重要。在具體應(yīng)用中,CPU及各個時鐘源的工作狀態(tài)如表1。

                                                      
4 動態(tài)時鐘應(yīng)用實例
  通過MSP430外接32768Hz晶體構(gòu)建超低功耗實時時鐘,結(jié)構(gòu)如圖4。

               
部分代碼如下:
  setc
  Dadc.b SEC
  cmp.b #060h,SEC
  jlo CLKend
  clr.b    SEC
  dadc.b MIN
  cmp.b #060h,MIN
  jlo CLKend
  clr.b    MIN
  CLKend;
  令MSP430 CPU工作在突發(fā)狀態(tài),大部分時間處于LMP3狀態(tài),只有程序代碼中單位時間到之后,才出發(fā)一個極短暫的運行,運行期間電流消耗250?滋A左右。經(jīng)計算指令執(zhí)行時間得到,在1s時間段內(nèi)程序運行時間僅為100μs,系統(tǒng)平均電流約為0.83μA,可見其工作功耗相當(dāng)?shù)汀?br />   本文通過分析MSP430系列MCU的動態(tài)時鐘配置,介紹了通過動態(tài)改變MCU系統(tǒng)時鐘來達到低功耗設(shè)計。在實際應(yīng)用中,通過軟件設(shè)置合理地使用時鐘源,可以有效實現(xiàn)低功耗設(shè)計。
參考文獻
[1] DICK R P.LAKSHMINARYANA G,RAGHUNATHAN A.Power Analysis of embedded Operating System.ACM Press,New York,USA,2000:312-315.
[2] 沈建華,楊艷琴.MSP430系列16位超低功耗單片機原理與應(yīng)用.北京:清華大學(xué)出版社,2004.
[3] 胡大可.MSP430系列FLASH型超低功耗16位單片機.北京:北京航空航天大學(xué)出版社,2001.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。