MSP430F5438時(shí)鐘系統(tǒng)
1、概述
Unified clock system(ucs)統(tǒng)一時(shí)鐘系統(tǒng)。MSP430F5438有5個(gè)時(shí)鐘源:XT1,XT2,REFCLO,VLCLO,DCO.
外部LF(XT1一般為32.768K),可以接時(shí)鐘晶振,也可接4M-32M的外部時(shí)鐘源。XT1可作為鎖頻環(huán)的參考時(shí)鐘源。
HF(XT2一般為8M),晶振連接引腳為P5.2,P5.3,使用此晶振時(shí)要打開這兩個(gè)引腳的第二功能。XT2可作為鎖頻環(huán)的參考時(shí)鐘源。
從時(shí)鐘系統(tǒng)模塊可得到三種時(shí)鐘信號:MCLK,SMCLK,ACLK。P11.0-P11.2第二功能對于時(shí)鐘輸出。
2、使用方法概述
1、設(shè)置接晶振的引腳為第二功能。
2、設(shè)置寄存器打開寄存器,配置匹配電容
3、檢測晶振起振
4、配置分頻系數(shù),配置驅(qū)動(dòng)電流。
3、實(shí)例
1 void MCU_Init(void)
2 {
3 WDTCTL = WDTPW+WDTHOLD; // Stop WDT
4 P11DIR |= 0x07; // ACLK, MCLK, SMCLK set out to pins
5 P11SEL |= 0x07; // P11.0,1,2 for debugging purposes.
6 __bis_SR_register(SCG0); // Disable the FLL control loop +OSCOFF
7
8 // Initialize LFXT1 ,XT2
9 P5SEL |= 0x0C; // Port select XT2
10 P7SEL |= 0x03; // Port select XT1
11
12 UCSCTL6 &= ~(XT1OFF + XT2OFF); // Set XT1 & XT2 On
13 UCSCTL6 |= XCAP_3; // Internal load cap
14
15 // Loop until XT1,XT2 & DCO fault flag is cleared
16 do
17 {
18 UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
19 // Clear XT2,XT1,DCO fault flags
20 SFRIFG1 &= ~OFIFG; // Clear fault flags
21 }while (SFRIFG1&OFIFG); // Test oscillator fault flag
22
23 UCSCTL6 &= ~XT2DRIVE1; // Decrease XT2 Drive according to
24 // expected frequency
25 UCSCTL5 |= DIVS_1; // SMCLK/2=8Mhz
26 UCSCTL4 |= SELS_5 + SELM_5; // SMCLK=MCLK=XT2=16Mhz
27 }