MSP430(F5529)學(xué)習(xí)筆記——UCS配置詳解
(3)將SMCLK和MCLK配置XT2
將SMCLK和MCLK配置為XT2跟配置為XT1的過程基本相同,唯一不同的是,在配置SMCLK和MCLK為XT2之前,需要將ACLK和REFCLK的時鐘源,因為ACLK和REFCLK的默認(rèn)時鐘源是XT1,而我們這里并沒有配置啟動XT1CLK,所以會產(chǎn)生XT1時鐘錯誤,即XT1LFFG,因此,我們先將ACLK和REFCLK配置為芯片自帶的時鐘(REFOCLK或VLOCLK)或者即將啟動的時鐘(XT2),此外,XT2配置時不需要配置電容,故將SMCLK和MCLK配置為XT2的代碼如下:
[cpp]view plaincopy
- #include
- voidmain(void){
- WDTCTL=WDTPW+WDTHOLD;
- P1SEL|=BIT0;
- P1DIR|=BIT0;//測量ACLK用
- P2SEL|=BIT2;
- P2DIR|=BIT2;//測量SMCLK用
- P7SEL|=BIT7;
- P7DIR|=BIT7;//測量MCLK用
- P5SEL|=BIT2|BIT3;//將IO配置為XT2功能
- UCSCTL6&=~XT2OFF;//使能XT2
- UCSCTL4=UCSCTL4&(~(SELA_7))|SELA_1;//先將ACLK配置為VLOCLK
- UCSCTL3|=SELREF_2;//將REFCLK配置為REFCLK
- while(SFRIFG1&OFIFG){
- UCSCTL7&=~(XT2OFFG+XT1LFOFFG+DCOFFG);//清除三類時鐘標(biāo)志位
- //這里需要清除三種標(biāo)志位,因為任何一種
- //標(biāo)志位都會將OFIFG置位
- SFRIFG1&=~OFIFG;//清除時鐘錯誤標(biāo)志位
- }
- UCSCTL4=UCSCTL4&(~(SELS_7|SELM_7))|SELS_5|SELM_5;//將SMCLK和MCLK時鐘源配置為XT2
- while(1);
- }
DCO模塊詳解
DCO模塊在MSP430F5XX系列芯片中非常重要,因為從MSP430F4XX開始,MSP430引用了FLL模塊,F(xiàn)LL即鎖相環(huán),可以通過倍頻的方式提高系統(tǒng)時鐘頻率,進(jìn)而提高系統(tǒng)的運行速度。
DCO模塊運行需要參考時鐘REFCLK,REFCLK可以來自REFOCLK、XT1CLK和XT2CLK,通過UCSCTL3的SELREF選擇,默認(rèn)使用的XT1CLK,但如果XT1CLK不可用則使用REFOCLK。
DCO模塊有兩個輸出時鐘信號,級DCOCLK和DCOCLKDIV,其中,倍頻計算公式如下:
[cpp]view plaincopy
- DCOCLK=D*(N+1)*(REFCLK/n)
- DCOCLKDIV=(N+1)*(REFCLK/n)
其中:
n即REFCLK輸入時鐘分頻,可以通過UCSCTL3中的FLLCLKDIV設(shè)定,默認(rèn)為0,也就是不分頻;
D可以通過UCSCTL2中的FLLD來設(shè)定,默認(rèn)為1,也就是2分頻;
N可以通過UCSCTL2中的FLLN來設(shè)定,默認(rèn)值為32。
所以,系統(tǒng)上電后如果不做任何設(shè)置,DCOCLK的實際值為2097152,DCOCLKDIV的實際值為1048576。
另外,配置芯片工作頻率還需要配置DCORSEL和DCOx,DCORSEL和DCOx的具體作用如下:
DCORSEL位于UCSCTL1控制寄存器中的4到6位,共3位,將DCO分為8個頻率段。
DCOx位于UCSCTL0中的8到12位,共5位,將DCORSEL選擇的頻率段分為32個頻率階,每階比前一階高出約8%,該寄存器系統(tǒng)可以自動調(diào)整,通常配置為0。
DCORSEL和DCOx值的具體作用可以參考MSP430F5529的數(shù)據(jù)手冊,閱讀該手冊相關(guān)部分可以找到如下表格:
本文引用地址:http://butianyuan.cn/article/201611/322859.htm
可以見,DCORESL的頻率調(diào)節(jié)范圍大致如下:
[cpp]view plaincopy
- DCORSEL=0的調(diào)節(jié)范圍約為0.20~0.70MHZ;
- DCORSEL=1的調(diào)節(jié)范圍約為0.36~1.47MHZ;
- DCORSEL=2的調(diào)節(jié)范圍約為0.75~3.17MHZ;
- DCORSEL=3的調(diào)節(jié)范圍約為1.51~6.07MHZ;
- DCORSEL=4的調(diào)節(jié)范圍約為3.2~12.3MHZ;
- DCORSEL=5的調(diào)節(jié)范圍約為6.0~23.7MHZ;
- DCORSEL=6的調(diào)節(jié)范圍約為10.7~39.7MHZ;
- DCORSEL=7的調(diào)節(jié)范圍約為19.6~60MHZ。
評論