低功耗MCU動態時鐘分析
由基礎時鐘模塊可以提供系統所需的3種時鐘信號,即:ACLK、MCLK、SMCLK。其中輔助時鐘ACLK是LFXT1CLK信號經1、2、4、8分頻后得到的。ACLK可由軟件選作各個外圍模塊的時鐘信號,一般用于低速外設;系統主時鐘MCLK可由軟件選擇來自LFXT1CLK、XT2CLK、DCOCLK三者之一,然后經1、2、4、8分頻得到。MCLK主要用于CPU和系統。子系統時鐘SMCLK可由軟件選擇來自LFXT1CLK和DCOCLK,或者XT2CLK和DCOCLK,然后經1、2、4、8分頻得到,主要用于高速外設模塊。系統可以根據實際需要通過軟件來選擇合適的系統時鐘頻率,這三種不同頻率的時鐘輸出給不同的模塊,從而合理利用系統的電源,實現整個系統的超低功耗,這一點對于電池供電的系統來講至關重要。在具體應用中,CPU及各個時鐘源的工作狀態如表1。
4 動態時鐘應用實例
通過MSP430外接32768Hz晶體構建超低功耗實時時鐘,結構如圖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工作在突發狀態,大部分時間處于LMP3狀態,只有程序代碼中單位時間到之后,才出發一個極短暫的運行,運行期間電流消耗250?滋A左右。經計算指令執行時間得到,在1s時間段內程序運行時間僅為100μs,系統平均電流約為0.83μA,可見其工作功耗相當低。
本文通過分析MSP430系列MCU的動態時鐘配置,介紹了通過動態改變MCU系統時鐘來達到低功耗設計。在實際應用中,通過軟件設置合理地使用時鐘源,可以有效實現低功耗設計。
評論