新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > MSP430F149的時鐘系統(tǒng)

MSP430F149的時鐘系統(tǒng)

作者: 時間:2016-11-27 來源:網(wǎng)絡 收藏
1、概述

MSP430F149有三個時鐘源:外部LF(XT1一般為32.768K),HF(XT2一般為8M),內(nèi)部DCO。從時鐘系統(tǒng)模塊可得到三種時鐘信號:MCLK,SMCLK,ACLK。

本文引用地址:http://www.2s4d.com/article/201611/322340.htm

上電默認狀況下MCLK,SMCLK信號來自DCO,ACLK來自LF。根據(jù)官方PDF說法默認狀況下DCO模塊配置為RSELX=4,DCO=3,因此DCO應為1M,但示波器實測MCLK/SMCLK為680K,測試溫度約25攝氏度。

標注:MCLK主時鐘、SMCLK子時鐘、ACLK活動時鐘。

P5.4,P5.5,P5.6的第二功能分別對應MCLK,SMCLK,ACLK時鐘信號,可用示波器測量。測試時發(fā)現(xiàn)頻率后兩位一直在跳動,頻率穩(wěn)定度很差。

MSP430系列單片機選擇晶振為時鐘源時,時鐘周期就是晶振周期。一個機器周期 =一個時鐘周期,即430每個動作都能完成一個基本操作; 一個指令周期 = 1~6個機器周期,具體根據(jù)具體指令而定。 如果選擇8M晶振,則一個機器周期為125ns。51單片機選擇12M晶振,它的機器周期是時鐘周期/12,一個機器周期為1us,可見 MSP430的的速度是51的8倍。

2、使用方法概述

2.1 程序架構

一般在系統(tǒng)初始化關閉看門狗后要配置系統(tǒng)時鐘,配置步驟為:

1、打開晶振;

2、等待晶振起振。清除OFIFG,延時,判斷OFIFG是否為0,為0則晶振正常起振,退出判斷;

3、選擇MCLK/SMCLK時鐘源;

uchar iq0;

BCSCTL1&=~XT2OFF; //打開XT2振蕩器

do

{

IFG1 &= ~OFIFG; // 清除振蕩器失效標志

for (iq0 = 0xFF; iq0 > 0; iq0--); // 延時,等待XT2起振

}

while ((IFG1 & OFIFG) != 0); // 判斷XT2是否起振

BCSCTL2 =SELM_2+SELS; //選擇MCLK、SMCLK為XT2

2.2 細節(jié)描述

對于DCO可以通過配置電阻和DCO得到不同的頻率。電阻可配置片內(nèi)或片外(DCOR一般片內(nèi)),片內(nèi)電阻有8中選擇(RSELX),DCO有8中選擇(DCOX)。

3、相關寄存器

1、DCOCTL

DCOx Bits

7-5

DCO frequency select. These bits select which of the eight discrete DCO

frequencies of the RSELx setting is selected.

2、BCSCTL0

XT2OFF Bit 7 XT2 off. This bit turns off the XT2 oscillator

0 XT2 is on

1 XT2 is off if it is not used for MCLK or SMCLK.

RSELx Bits

2-0

Resistor Select. The internal resistor is selected in eight different steps.

The value of the resistor defines the nominal frequency. The lowest

nominal frequency is selected by setting RSELx=0.

3、BCSCTL0

SELMx Bits

7-6

Select MCLK. These bits select the MCLK source.

00 DCOCLK

01 DCOCLK

10 XT2CLK when XT2 oscillator present on-chip. LFXT1CLK when XT2

oscillator not present on-chip.

11 LFXT1CLK

SELS Bit 3 Select SMCLK. This bit selects the SMCLK source.

0 DCOCLK

1 XT2CLK when XT2 oscillator present on-chip. LFXT1CLK when XT2

oscillator not present on-chip.

DCOR Bit 0 DCO resistor select

0 Internal resistor

1 External resistor

4、實例

4.1 配置MCLK/SMCLK

見本節(jié)2.1。

4.2配置DCO

void main(void)

{

WDTCTL = WDTPW +WDTHOLD; // Stop Watchdog Timer

DCOCTL = DCO0 + DCO1 + DCO2; // Max DCO

BCSCTL1 = RSEL0 + RSEL1 + RSEL2; // XT2on, max RSEL

BCSCTL2 |= SELS; // SMCLK = XT2

P5DIR |= 0x70; // P5.6,5,4 outputs

P5SEL |= 0x70; // P5.6,5,5 options

while(1)

{

}

}

實測DCO最低128K,最高4.58M。



關鍵詞: MSP430F149時鐘系

評論


技術專區(qū)

關閉