×
嵌入式 > 技术百科 > 详情

Msp430时钟设计与寄存器说明

发布时间:2020-06-15 发布时间:
|

4.1基础时钟模块+介绍

基础时钟模块+支持低系统消耗和超低功耗。采用三种片内时钟信号,用户可以选择合适

的性能和低功耗。基础时钟模块只需接一个外部电阻、一个或两个外部晶体、或者用振荡器,

通过软件控制。

基础时钟模块+有4 个时钟源:

LFXT1CLK:由低频时钟晶体或外接32768Hz 时钟源产生的低频/高频振荡器或由标准晶

体、振荡器,或外部400KHz~16MHz的外部时钟源提供。

XT2CLK:可供选择的高频振荡器,由标准晶体、振荡器,或外部400KHz~16MHz 的外

部时钟源提供。

DCOCLK:片内可数字控制的振荡器。

VLOCLK:片内超低功耗、12KHz 的低频振荡器。

基础时钟模块可提供的三种时钟信号:

ACLK:辅助时钟。ACLK 由软件选择来自LFXT1CLK 和VLOCLK 之一的时钟信号。ACLK

经1,2,4,8分频后得到。ACLK可由软件选作各个外围模块。

MCLK:主时钟。MCLK由软件选择来自LFXT1CLK,VLOCLK,XT2CLK(如果片内提

供),DCOCLK之一的时钟信号。MCLK由1,2,4,8分频得到。MCLK用于CPU和系统。

SMCLK:子系统时钟。SMCLK由软件选择来自LFXT1CLK,VLOCLK,XT2CLK(片内

提供),DCOCLK 之一的时钟信号。SMCLK 由1,2,4,8 分频得到。SMCLK 可由软件选作

各个外围模块。

基础时钟模块的方框图如图所示。

注:个别特殊的时钟并不是所有的MSP430x2xx系列器件都具有一样的时钟特性。如

MSP430x20xx:LFXT1不支持高频模式,没有XT2,不支持晶体振荡器。MSP430x21xx:

没有内部低功耗/低频振荡器,没有XT2,不支持晶体振荡器。MSP430x22xx:没有XT2。

4.1 基础时钟模块+寄存器

基础始终模块+的寄存器列于表 中。

DCO控制寄存器-DCOCTL

DCOX位DCO频率选择。这几位选择由RSELX设置定义的八个7-5 离散频率中的一个。

MODX位调节器选择。这几位决定在32个DCOCLK周期内

4-0 fDCO+1频率被用的次数。在持续的时钟周期以内(32-MOD)fDCO频率被采用。

当DCOX=7时不被采用。

基础时钟系统控制寄存器1 —BCSCTL1

XT2OFF 7 位关闭XT2。该位关闭XT2振荡器

0 XT2打开

1 XT2不用于SMCLK 或MCLK则关闭

XTS 6 位LFXT1模式选择

0 低频率模式

1 高频率模式

DIVAX 5-4位ACLK分频

00 /1

01 /2

10 /4

11 /8

RSELX 3-0位范围选择。十六种频率范围可供选择。通过设置RSELX=0

来选择最低频率。当DCOR=1时,RSEL3 无效。

基础时钟系统控制寄存器2 —BCSCTL2

注"+"的不使用于MSP430X20XX 或MSP430X21XX 系列器件

SELMX 7-6位选择 SMCLK。这两位选择MCLK的时钟源

00 DCOCLK

01 DCOCLK

10 当XT2振荡器在片内时采用XT2CLK。当XT2振荡器不在

片内时采用LFXT1CLK或VLOCLK

11 LFXT1CLK或VLOCLK

DIVMX 5-4位MCLK分频

00 /1

01 /2

10 /4

11 /8

SELS 3 位选择 SMCLK。该位选择SMCLK的时钟源

0 DCOCLK

1 当XT2振荡器存在时选用XT2CLK,当XT2振荡器不存在

时采用LFXT1CLK或VLOCLK

DIVSX 2-1位SMCLK分频

00 /1

01 /2

10 /4

11 /8

DCOR 0 位DCO寄存器选择

0 内部寄存器

1 外部寄存器

基础时钟系统控制寄存器3 —BCSCTL3

注"+"的不使用于MSP430X2XX,MSP430X21XX或MSP430X22XX系列器件。

XT2SX 7-6位XT2范围选择。这些位选择XT2的频率范围。

00 0.4-1MHz晶体或振荡器

01 1-3MHz晶体或振荡器

10 3-16MHz晶体或振荡器

11 0.4-16MHz外部数字时钟源

LFXT1SX 5-4位低频时钟选择和LFXT1范围选择。当XTS=0时在LFXT1 和VLO

之间选择。当XTS=1 时选择LFXT1的频率范围。

当 XTS=0时:

00 LFXT1上的32768Hz晶体

01 保留

10 VLOCLK(MSP430X21X1器件上保留)

11 外部数字时钟信源

XCAPX 3-2位振荡器电容选择。这些位选择当XTS=0时用于LFXT1的有效电容。

00 1Pf

01 6 Pf

10 10 Pf

11 12.5 Pf

XT2OF 1 位XT2振荡器失效

0 不存在失效条件

1 存在失效条件

LFXT1OF 0 位LFXT1振荡器失效

不存在失效条件

存在失效条件

应用源程序的部分代码:

 

BCSCTL1= CALBC1_1MHZ;//关闭振动器 内部最高 定义内部时钟频率 1、8、12、16

DCOCTL|= CALDCO_1MHZ; //定义最高频率 在31次中两种频率

BCSCTL2|=0x30+SELM0;

 

BCSCTL1&=~XT2OFF;

BCSCTL3|=XCAP1;

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
德州仪器推出稳压误差仅为1%的无电容LDO产品