MSP430X5XX的時鐘系統(tǒng)與低功耗模式
430系列單片機中有各種時鐘信號,第一次接觸免不了一頭霧水。而且如果想發(fā)揮430低功耗的優(yōu)勢,就不得不對它的時鐘系統(tǒng)(Unified Clock System)有所了解。
1. 時鐘模塊總覽

這是MSP430X5XX的時鐘系統(tǒng)框圖。乍一看很復雜,不過簡化之后就清楚多了

左邊的模塊——XT1、內建時鐘(DCO)、XT2用來產生時鐘源,也就是右邊最終輸出的時鐘信號的基準信號。
而時鐘調整模塊負責將源時鐘信號選通、分頻輸出成系統(tǒng)使用的三大時鐘信號——MCLK,ACLK和SMCLK,分別是系統(tǒng)的主時鐘(供CPU使用),輔助時鐘(可給外設模塊使用,也可以從管腳引出),子系統(tǒng)時鐘(外設模塊時鐘,可從管教引出)。
2. 調整模塊
調整模塊的主要工作分為兩步:選通、分頻。ACLK調整模塊如下圖所示

左端進線是源時鐘信號。紅色標出來的是XT1CLK信號。由圖易知,XT1CLK要變成ACLK信號,需要經過兩次選通,一次分頻,也就是我紅色標出來的路徑。第一個選通器可通過設置SELA來控制,分頻器可以通過設置DIVA來控制,正常工作的時候,最后一個選通器總是打開的,這里不討論。換言之,要想設置ACLK,我們只需要配置SELA和DIVA。例如,如果我們希望ACLK是XT1CLK的2分頻的話,需要設置SELA={0},DIVA={1}。再給一個來自TI的例子
SELA具體的含義如下圖所示:
順便說一句,TI的這個例子沒有設置DIVA,用了默認值。
3.REFO、VLO和DCO
有了上述的理解,再參照slau208e,我相信不難寫出我們想要的代碼。不過整個UCS中最有特色的部分還沒有介紹,那就是REFO、VLO和DCO。
REFO是內建的參考時鐘,它很穩(wěn)定,可以作為FLL的時鐘基準(FLL是什么待會再說)。MSP430F5418上的REFOCLK是32.768kHz的。
VLO是一個內建的低頻時鐘。在5418上,它的頻率是8.6kHz。
DCO是Digitally-Controlled Oscillator,數(shù)控晶振。它可以產生頻率很高的時鐘。通過配置,它可以產生百兆以上的時鐘信號。在5418上,電壓等級1的時候,不用XT2,有FLL(這個FLL到底是什么呢?),我調出的最高頻率是26MHz。
UCSCTL4 |= SELA_2;這句話將ACLK的源設置為REFO。// Set ACLK = REFO
SELA具體的含義如下圖所示:

3.REFO、VLO和DCO
有了上述的理解,再參照slau208e,我相信不難寫出我們想要的代碼。不過整個UCS中最有特色的部分還沒有介紹,那就是REFO、VLO和DCO。
REFO是內建的參考時鐘,它很穩(wěn)定,可以作為FLL的時鐘基準(FLL是什么待會再說)。MSP430F5418上的REFOCLK是32.768kHz的。
VLO是一個內建的低頻時鐘。在5418上,它的頻率是8.6kHz。
DCO是Digitally-Controlled Oscillator,數(shù)控晶振。它可以產生頻率很高的時鐘。通過配置,它可以產生百兆以上的時鐘信號。在5418上,電壓等級1的時候,不用XT2,有FLL(這個FLL到底是什么呢?),我調出的最高頻率是26MHz。
評論