MSP430 系统时钟 ACLK、MCLK、SMCLK

合集下载

MSP430系统时钟与低功耗讲义

MSP430系统时钟与低功耗讲义
MSP430系统时钟与低功耗
低频振荡器VLO
内部集成了一个低频振荡器VLO,值是12kHz,频率受温度和 供电电压影响(范围4kHz~20kHz)。 一般用于对频率精度要求不高的场合。
MSP430系统时钟与低功耗
MSP430G2553引脚图
MSP430系统时钟与低功耗
举例
例1:将MSP430G2553的时钟设置为MCLK和SMCLK,且均为8MHz ,ACLK设为32.768kHz。(芯片外接32.768kHz手表晶振) DCOCTL=CALDCO_8MHZ; BCSCTL1=CALBC1_8MHZ;
void main(void) {
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗定时器
GPIO_Init();
//初始化GPIO
_enable_interrupts();
//等同_EINT,使能总中断
while(1)
{
__delay_cycles(1000000); //与CPU时钟相关的长延时
例4:将MSP430G2553的时钟设置:MCLK为4MHZ,SMCLK为2MHZ, ACLK设为32.768kHz.(芯片外接32.768kHz手表晶振) DCOCTL=CALDCO_8MHZ; BCSCTL1=CALBC1_8MHZ; BCSCTL2|=DIVM_1+DIVS_2;
MSP430系统时钟与低功耗
MSP430系统时钟与低功耗
P1OUT ^= BIT0;
//LED亮灭状态改变
P1OUT ^= BIT6;
//LED亮灭状态改变
}
}
MSP430系统时钟与低功耗
void GPIO_Init()

MSP430 CLK配置说明(十分详细)

MSP430 CLK配置说明(十分详细)
BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器XT2
do
{
IFG1 &= ~OFIFG; //清除晶振失败标志
BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振
ACLK MCLK SMCLK
(手表) (三种) (两种)
第二步相当于把所有系统所有时钟全部都配置好了,ACLK配置为XT1;MCLK(三种可选);SMCLK(两种---------------------- SMCLK(来源有两个,一个8M,一个OSC)
ACLK上电默认为XT1。MCLK,SMCLK上电默认为OSC
配置时钟过程:
第一步:
for (i = 0xFF; i > 0; i--); //等待8MHz晶体起振
}
while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?
第二步:
for (i = 0xFF; i > 0; i--); //等待8MHz晶体起振
}
while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?
BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振
对应最简程序:(直接复制粘贴)
BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器
do
{
IFG1 &= ~OFIFG; //清除晶振失败标志
|
XT2 8M HZ ------------------------------ MCLK(来源有三个,两个晶振,一个0SC)

MSP430的时钟设置

MSP430的时钟设置

MSP430的时钟设置MSP430大部分都有三时钟脉冲可供运行时选择,这三个时钟是,1)辅助时钟ACLK;2)系统主时钟MCLK;3)子系统时钟SMCLK。

这三种时钟脉冲的选择主要靠下面三个控制寄存器来完成,这三个控制寄存器是1)控制寄存器DCOCT其存储单元地址是56h;2) 基本始终控制寄存器1,BCSCTL1,地址57h;3) 基本始终控制寄存器2,BCSCTL2,地址58h。

下面对这三个寄存器的控制的软件状态状态进行介绍。

1)控制寄存器DCOCTLDCO2;DCO1;DCO0这三位共八个状态,控制时钟脉冲的8个频段。

000~111对应0~7;频率由低到高8个频段。

MOD.4~MOD.0这5为共32种状态,定义在32个周期中插入插入其他频率。

DCO2=0x80;DCO1=0x40;DCO0=0x20;MOD4=0x10;MOD3=0x08;MOD2=0x04;MOD1=0x02;MOD0=0x01其中TX2OFF为0,开启TX2振荡器,为1关闭;XTS=0开启低频模式,1开启高频模式;DIVA1和DIVA0控制分频模式0 0 不分频0 1 2分频1 0 4分频1 1 8分频TX5V一般设置为0RSEL2~RSEL0三位决定八个频段的不同频率,这样,RSEL2~RSEL0和DCO2~DCO0共可实现8*8=64个不同的频率。

由于430没有位操作,所以定义了每一位状态对应的名称:TX2OFF=0x80TXS=0x40DIVA1=0x20DIVA0=0x10TX5V=0x08RSEL2=0x04RSEL1=0x02RSEL0=0x01也就是每位所在的位置为1,其余位为0,这样,要对某一位操作,就可通过运算,在不改变其他位的情况下,对某一位进行置1或清0(如何做后面讲)。

SELM.1- SELM.0DIVM.1- DIVM.0SELS时钟源选择DIVS.1-DIVS.0 DCOR0 0 默认DCOCLK0 0默认MCLK=DCOCLK00 默认SMCLK=MCLK选择电阻0 1选择DCOCLK0 1 2分频选择SMCLK01 MCLK 2分频内电阻1 0 选择XT2CLK1 0 4分频默认选择DCOCLK10 MCLK 4分频或外电阻1 1 选择LFXTICLK1 18分频11 MCLK 8分频SELM1=0x80;SELM0=0x40;DIVM1=0x20;DIVM0=0x10;SELS=0x08;DIVS1=0x04;DIVS0=0x02;DCOR=0x01;下面看如何让在保证其他位不变的情况下给某一位清0或置1.例1要给BCSCTL2的bit3清0。

MSP430时钟MCLK SMCLK ACLK

MSP430时钟MCLK SMCLK ACLK

摘要:本文详细讲述了如何查看MSP430G2231MCLK、SMCLK、ACLK默认时钟频率,最后给出FLASH时序控制发生器频率设置例子。

注:本文是基于开发板MSP-EXP430G2 LaunchPad,其MCU型号是MSP430G2231。

一、MCLK、SMCLK、ACLK默认时钟频率1.1 POR与PUCPOR指Power-On Reset,即上电复位(硬件),PUC指Power-Up Clear,即上电清除(软件复位),这是MSP430两种分离的复位信号。

POR总会引起PUC,关于POR与PUC的触发条件见用户指南,如下:图1 POR与PUC触发条件1.2 默认时钟频率有两种方法(甚至更多)可以得知MCLK、SMCLK、ACLK默认的时钟频率。

(1)通过用户指南描述查阅用户指南可得到系统复位后,时钟信号MCLK、SMCLK、ACLK的时钟源分别是DCOCLK(数控震荡器)、DCOCLK、LFXT1CLK(低速晶体震荡器)。

如下:图2 复位后默认时钟频率(2)通过寄存器初始值判定用户指南会给出每个寄存器的初始值,通过分析初始值各位的含义,并对照数据手机,也可得到其默认频率。

定位到用户指南基本时钟模块(Basic Clock Model),其寄存器描述如下:结合图5分析,可知RSELx为7(BCSCTL1低3位),DCOx为3,MODx为0,再对照图4可知系统复位后MCLK 和SMCLK的频率在0.8MHz~1.5MHz,即819.2KHz~1536KHz。

再结合图3基本时钟系统控制寄存器2(BCSCTL2),可知MCLK默认时钟源是DCOCLK,SMCLK默认时钟源也是DCOCLK。

BCSCTL2示意图如下:图3 BCSCTL2示意图1.2.1 MCLK和SMCLK时钟频率在数据手册可以找到DCO频率表(搜索关键词DCOCLK可快速找到),如下:图4 DCO时钟频率由上图可知,系统复位后MCLK和SMCLK的频率在0.8MHz~1.5MHz,即819.2KHz~1536KHz。

基于MSP430的三种主时钟

基于MSP430的三种主时钟

基于MSP430的三种主时钟
 与51、AVR等单片机不同msp430的时钟信号源有LFXT1,XT2,DCO 三种。

 1、LFXT1:可接高速和低速晶振,在低速模式下,它可以外接32k的晶振而不需要负载电容,这种方式较为常见主要用来为ACLK提供低速的时钟信号,以供低速外设使用。

 2、XT2:高速振荡器,它可以接一个0.4~16M的晶振,它相当于高速模式下的LFXT1。

通常将它配置成一个高速的振荡源,为MCLK何SMCLK提供高速时钟信号。

 3、DCO:内部数字控制振荡器,它的频率可以通过DCOCLK进行配置。

在系统PUC之后,DCOx=7,MODx=3,表示选择了最高的频率。

 前面介绍了MSP430中有三个个时钟信号源,MSP430的时钟信号也有三种主时钟MCLK,子系统时钟SMCLK,辅助时钟ACLK。

MSP430低功耗模式初识

MSP430低功耗模式初识

MSP430低功耗模式:工作频率越低,工作电压越低,工作模块越少MCU功耗越少MCLK:系统主时钟一般为8MHz,供CPU和系统使用;SMCLK:子系统时钟32—768KHz,供外围模块使用;ACLK:辅助子时钟,由LFXT1CLK产生,提供外围模块使用DCO:整合的高速数控振荡器,用于CPU和高速外围设备的主时钟源状态寄存器SR的低功耗控制位:SCG1:系统时钟发生器控制位1(System clock generator 1)置1时关闭SMCLKSCG0:系统时钟发生器控制位0(System clock generator 0)置1时关闭DC发生器OSCOff:晶振控制位(Oscillator Off Bit)置1时关闭LFXT1振荡器CPUOff:CPU控制位(CPU Off Bit)置1时关闭MCLK,此时除了RAM内容、端口、寄存器保持外,CPU处于停止状态,由中断将CPU从此状态唤醒。

1.MSP430内部各模块运行是完全独立的:TA、TB、I/O端口、A/D、WDT等均可在CPU休眠的状态下独立运行,各个片内模块也可通过禁止相应寄存器中的控制位关闭。

2.只要改变了SR中的模式控制位,工作模式也立即改变;有关的模块也因为相应的时钟源禁止而被关闭。

3.改变模式不影响所有的I/O引脚及RAM/寄存器的值。

低功耗模式的进入与退出:在AM模式下。

按低功耗模式设定SR中的控制位,MSP430就进入设定的低功耗模式。

任意中断均可以唤醒处于低功耗模式的MSP430,即切换到AM活动模式。

低功耗退出过程:当处于低功耗模式下的MSP430,有N类型号的非屏蔽或可屏蔽中断源产生,满足响应条件,CPU由硬件完成下面的操作:1.入栈保护当前PC2.入栈保护当前SR3.清零SR(置GIE=0,屏蔽可屏蔽中断,并结束低功耗模式,切换到活动模式)4.从中断向量表取中断向量至PC5.转去执行中断服务程序同样的,中断程序执行完毕,执行到RETI返回指令时:1.出栈恢复SR和PC的值2.因为回复了SR的值,使MSP430回到原来的低功耗模式!如果希望改变MSP430返回的低功耗模式时,需要在中断响应程序中修改堆栈中的SR控制位的值,使MSP430进入活动模式或其它低功耗模式进入低功耗模式:汇编语言:BIS.W #LPMn,SRC语言:_BIS_SR(LPMn_bits); 或者LPMn。

MSP430单片机的时钟周期和机器周期与指令周期之间的关系解析

MSP430单片机的时钟周期和机器周期与指令周期之间的关系解析时钟简介:时钟周期也称为振荡周期:定义为时钟脉冲的倒数(时钟周期就是直接供内部CPU使用的晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。

在一个时钟周期内,CPU仅完成一个最基本的动作。

时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。

时钟频率越高,工作速度就越快。

机器周期:在计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。

每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。

8051系列单片机的一个机器周期由6个S周期(状态周期)组成。

一个S周期=2个时钟周期,所以8051单片机的一个机器周期=6个状态周期=12个时钟周期。

指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。

指令不同,所需的机器周期也不同。

MSP430单片机上电后,如果不对时钟系统进行设置,默认800 kHz的DCOCLK为MCLK和SMCLK 的时钟源,LFXTl接32768 Hz晶体,工作在低频模式(XTS=O)作为ACLK的时钟源。

CPU的指令周期由MCLK决定,所以默认的指令周期就是1/800 kHz=“1”.25μs。

要得到lμs的指令周期需要调整DCO频率,即MCLK=1 MHz,只需进行如下设置:BCSCTLl=XT20FF+RSEL2;//关闭XT2振荡器,设定DCO频率为1 MHz。

DCOCTL=DCO2//使得单指令周期为lμsMSP430的时钟周期(振荡周期)、机器周期、指令周期之间的关系在430中,一个时钟周期= MCLK晶振的倒数。

如果MCLK是8M,则一个时钟周期为1/8us;一个机器周期= 一个时钟周期,即430每个动作都能完成一个基本操作;一个指令周期= 1~6个机器周期,具体根据具体指令而定。

另:指令长度,只是一个存储单位与时间没有必然关系。

MSP430时钟分析

MSP430时钟分析最近开始学习MSP430,在所有单片机学习中,时钟的设置无疑是最基本的一项工作!尤其对于现在的单片机,外部有低速,高速两种晶振,内部还有PLL 的内部时钟源,设置好系统工作的时钟则是工作完美开始的表现。

我一共用了两种系列的430 单片机,MSP430F149 和MSP430F437,系列的不同,时钟的设置也略有不同,下面从149 的时钟一步一步来说吧!在f149 中,基础时钟是被叫做basic clock module,其一共有三个时钟源:一个LFXT1CLK,为低速/高速晶振源,通常接32.768khz,也可以接(400khz~8Mhz)一个为XT2CLK,外接标准高速晶振,通常是接8Mhz,也可以接(400khz~8Mhz)还有一个叫DCOCLK,为内部晶振,有RC震荡回路构成。

在430 内部一共有三个时钟系统一个为ACLK,通常由LFXT1CLK 作为时钟源,可以通过软件控制改时钟的分频系树。

一个为MCLK,即Main CLK,一听就知道是主时钟单元,为系统内核提供时钟,它可以通过软件从三个时钟源选择,一个为SMCLK,称作辅助主时钟,也是可以由软件选择时钟源。

Basic Clock Module Registers(基础时钟寄存器)DCO control register DCOCTLBasic clock system control 1 BCSCTL1Basic clock system control 2 BCSCTL2SFR interrupt enable register 1 IE1SFR interrupt flag register 1 IFG1DCOCTL 寄存器是用来配置DCOCLK 的,这里暂且不提BCSCTL1 与BCSCTL2 寄存器则显得比较重要,这两个寄存器控制了你整个系统中430 的工作时钟系统。

BCSCTL1 寄存器:7 654 3 210XT2OFF XTS DIVAx XT5V RSELxXT20FF:用来控制XT2 晶振的开启和关闭,置1 时关闭,置0 时,开启XTS:用来选择低速晶体的工作模式(可忽略)DIVAx:用来选择ACLK 的分频系数XT5V: 无用。

msp430有几种时钟源

MSP430单片机的时钟模块主要包括:
三个时钟:辅助时钟ACLK、主时钟MCLK、子系统时钟SMCLK
三个振荡器:低频时钟源LFXT1、高频时钟源XT2、数字控制RC
振荡器DCO
而MSP430单片机工作所需时钟就是由这些振荡器振荡后经处理产生
的。
a、ACLK:是LFXT1CLK信号经1/2/4/8分频后得到的,主要用作低
1、MCLK
主时钟(MainsystemClock),专为CPU运行提供的时钟。MCLK频
率配置的越高,CPU执行的速度越快。虽然CPU速度越快功耗也越高,但
高频率的MCLK可以让CPU工作时间更短。所以正确的低功耗设计并不是
要尽量降低MCLK,而是在不用CPU时立刻关闭MCLK。在大部分应用
中,需要CPU运算的时间都非常短,所以,间歇开启MCLK(唤醒CPU)mspFra bibliotek30有几种时钟源
msp430时钟基础
在MSP430单片机中,一个时钟周期=MCLK晶振的倒数。如果
MCLK是8MHz,则一个时钟周期为1/8us。
一个机器周期=一个时钟周期,即430每个动作都能完成一个基本操
作。
一个指令周期=1~6个机器周期,具体根据具体指令而定。
另外,指令长度只是一个存储单位,与时间没有必然的关系。
启功耗也不大,当然关掉也是可以的。辅助时钟可以供给那些只需低频时钟
的片内外设,比如LCD控制器,还可用于产生节拍时基,与定时器配合间歇
唤醒CPU。
速外围的时钟;
b、MCLK:是LFXT1CLK,XT2CLK,DCOCLK的三者之一决定,
由软件选择,然后经1/2/4/8分频后得到,主要用于CPU和系统;
c、SMCLK:可由LFXT1CLK和DCOCLK,或者XT2CLK与

MSP430程序指南

MSP4301.时钟控制:430三个时钟源:LFXT1CLK低频时钟源,XT2CLK,高频时钟源,DCOCLK数控RC 振荡器。

2.三种时钟源可提供三种时钟信号:1.ACLK辅助时钟:ACLK是LFXT1CLK信号经过1、2、4、8分频得到的。

ACLK可由软件选作外围器件的时钟信号。

2.MCLK系统主时钟:可由软件来设置来源于低频时钟源,高频,数控。

之后可再经过1、2、4、8分频得到。

MCLK主要用于CPU和系统。

3.SMCLK:可有软件选这高频时钟来源,用于高速外围设备。

其中P1.4/SMCLK, P2.0/ACLK, P5.5/SMCLK, P5.6/ACLK。

时钟信号输出,可由PnSEL|=0xXX,l来设置特殊功能端口。

4.三个振荡器的控制位:1.低频LFXT1:OscOff;2.高频XT2CLK:XT2OFF;3.DCO:SCG0;5.一、时钟模块主要由三个寄存器来进行控制。

1.DCOCTL DCO控制器高三位:DCO.2、DCO.1 DCO.0定义8种频率之一,相邻两位相差10%,第五位详细调整频率。

其中DCO为7时表示选择最高频率。

2.BCSCTL1基本时钟控制器1位数7(最高)---XT2OFF:控制XT2的开启与关闭,0:开启;1:关闭。

6---------XTS:控制LFXT1工作模式:0:低频工作模式32768HZ;1:高频工作模式(前提接了相应的高频晶振)。

5,4--------DIV.1、DIV.0:控制ACLK分频(ACLK时钟来源于LFXT1)0:不分;1: 2分;2: 4分;3:8分;3-------XT5V:此位设置为0;2,1,0-----Rsel.0~Rsel.2 :0~7:最低标频~最高标频。

3.BCSCTL27,6-------SELM.1,SELM.0:选择MCLK时钟源(系统主时钟)0,1:DCOCLK为时钟源2:XT2CLK为时钟源3:时钟源为LFXT1CLK5,4-------DIVM.0,DIVM.1 选择MCLK分频。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MSP430 系统时钟ACLK、MCLK、SMCLK
MSP430 基础时钟模块包含以下3 个时钟输入源。

一、4 个时钟振荡源1、LFXT1CLK:外部晶振或时钟1 低频时钟源低频模式:32768Hz 高频模式:(400KHz-16MHz)2、XT2CLK:外部晶振或时钟2 高频时钟源(400KHz-16MHz) 3、DCOCLK:内部数字RC 振荡器,复位值1.1MHz4、VLOCLK:内部低功耗振荡器12KHz 注:MSP430x20xx:LFXT1 不支持HF 模式,XT2 不支持,ROSC 不支持.
(1)LFXT1CLK 低频时钟源:由LFXT1 振荡器产生(如图2 所示)。

通过软件将
状态寄存器中OSCOff 复位后,LFXT1 开始工作,即系统采用低频工作。

如果LFXT1CLK 没有用作SMCLK 或MCLK 信号,则可以用软件将OSCOff 置位,
禁止LFXT1 工作。

(2)XT2CLK 高频时钟源:由XT2 振荡器产生。

它产生时
钟信号XT2CLK,其工作特性与LFXT1 振荡器工作在高频模式时类似。

可简
单地通过软件设置XT2 振荡器是否工作,当XT2CLK 没有用作SMCLK 或MCLK 信号时,关闭XT2,选择其他时钟源。

3)DCOCLK 数字控制RC 振荡器。

由集成在时钟模块中的DCO 振荡器产生。

DCO 振荡器是一个RC 振荡器,频率可以通过软件调节,其控制逻辑如图3 所示。

当振荡器LFXT1、XT2 被禁
止或失效时,DCO 振荡器被自动选作MCLK 的时钟源。

因此由振荡器失效引
起的系统中断请求可以得到响应,甚至在CPU 关闭的情况下也能得到处理。

由基础时钟模块可以提供系统所需的3 种时钟信号,即:
ACLK、MCLK、SMCLK。

其中辅助时钟ACLK 是LFXT1CLK 信号经
1、2、4、8 分频后得到的。

ACLK 可由软件选作各个外围模块的时钟信号,一
般用于低速外设;系统主时钟MCLK 可由软件选择来自
LFXT1CLK、XT2CLK、DCOCLK 三者之一,然后经1、2、4、8 分频得到。

MCLK 主要用于CPU 和系统。

子系统时钟SMCLK 可由软件选择来自。

相关文档
最新文档