msp430f5529时钟源

发布者:不见南师久最新更新时间:2020-02-19 来源: eefocus关键字:msp430f5529  时钟源 手机看文章 扫描二维码
随时随地手机看文章

***************************************************************还有一个模块时钟源:MODOSC,产生MODCLK时钟源信号,一般只为闪存控制模块和ADC12模块提供服务。

该模块不被使用时自动关闭,任何模块对该时钟源提出使用要求时,MODOSC无需被使能即可响应该请求。430F5529中MODCLK为5MHZ。

***************************************************************

MSP430F5529有多个时钟源,而且很多模块其时钟源都是可以自由选择的。此外,由于一般情况下,系统功耗是和工作频率成正比的,因此有些时候通过选择较低频率的时钟源,在满足正常工作条件下,是可以有效降低功耗的。虽然函数库HAL_UCS.c/h,有完整的各个控制函数,但我觉得对于这一章还是对寄存器直接操作比较简单,因为函数太短、太多了。


 根据需求设置,如果要求系统跑得快些,时钟精准些,就设置成XT2一般是8MHz;如果没什么特别的要求,就用系统DCO提供的1M的频率,如果是要求低功耗或时间相关的时钟源,最好用32768Hz的外部晶振。还有关于其他的就参照楼上说的:
ACLK是辅助时钟,一般是低频的时钟,使用32768Hz的低频振荡或者12KHz的VLO。
MCLK是主时钟,给CPU提供,这个需要根据实际情况来,可以是DCO或者是HF的振荡器。
SMCLK是外设时钟,常用的是从DCO获取时钟源。 

 

3.1统一时钟系统(UCS)的简介

Unified Clock System,UCS。合理的配置时钟,可以达到平衡系统且降低功耗的目的。

MSPF5529时钟系统包含5个时钟源:

①LFXT1 外部低频振荡源,32.768KHZ,可以用作FLL的参照源;

②XT2 外部高频振荡源,4MHZ;

③VLO (Internal very low)内部低耗低频振荡源,典型为10KHZ,精度一般;

④REFO 内部低频参照源,32.768KHZ,常被用作锁相环FLL的基准频率,精度很高,不使用时不消耗电源,其设置往往要参考LPM模式的的设置;

⑤DCO (Internal digitally-controlled)内部数字控制振荡源,一般通过FLL来设置;(很有用,很重要,之后会详细讲)

 

通常使用3种时钟信号,它们都来自于上述5个信号源:

①ACLK (Auxiliary clock)辅助时钟,其时钟源可由软件控制从XT1、REFOC、VLO、DCO、DCOCLKDIV、XT2里面选取。其中DCOCLKDIV是由DCO经1、2、4、8、16或者32分频得到。注意,ACLK同样可以再次被1、2、4、8、16或者32分频。

②MCLK (Master clock)主时钟,其特性与ACLK一模一样。

③SMCLK (Subsystem master clock)子系统时钟,其特性与ACLK一模一样。

 

3.2 UCS的操作说明

开机上电时默认的时钟情况为(必须记清楚!!!!):

ACLK:XT1(无效时,低频模式切换为REFO,其他情况切换为DCO)

MCLK:DCOCLKDIV

SMCLK:DCOCLKDIV

此外,FLL的参照源默认XT1;

如果连接XT1和XT2的引脚不进行PXSEL的设置,那么这两个时钟源都是无效的;

REFOCLK、VLOCLK、DCOCLK默认状态下是可用的;

系统稳定后,DCOCLK默认为2.097152MHZ,FLL默认2分频,则MCLK和SMCLK的频率都为1.048576MHZ。(实验三会提到如何计算)

 

另外,系统复位、系统工作模式LPM的选择都会对UCS有一定影响,这里限制太多,具体可参考TI官方资料UCS部分。LPM以及系统复位下章将会讲到。

 

关于操作说明的简单总结:(下面基本都是废话,了解即可)

①VLO的选择是最简单的,不需要顾及其它情况;

②REFO的选用,需要参考不同的工作模式,有多种限制;

③XT1和XT2特点相同。使用的时候,不仅要配置与其相连的引脚,还要配置电容,还要注意其本身工作在低频还是高频模式。而且,在不同工作模式下也有不同的要求;

④DCO作为数控振荡器,其频率的调节不仅可以通过自身设定,也可以通过FLL锁相环设定;

⑤FLL锁相环,是变换频率的灵活选择。它既可以设置基准频率,也可以选择分频数,还可以被直接关闭来实现降低功耗等目的;

⑥UCS系统带有时钟信号错误保护机制;

⑦对有严格时序要求的地方,要选择精度高的时钟源,并且做好FLL和DCO部分的调制设置;

⑧不同模式下(有些时钟源是禁止的)的时钟控制图:(只需用到的时候注意一下即可,查表)

 

3.3 UCS寄存器控制操作

共有10组16位读写寄存器,为UCSCTL0-UCSCTL9。同样支持字和字节操作,即UCSCTL0包括UCSCTL0_H和UCSCTL0_L。


注:凡是标记“Reserved”的位,如果没有特意声明,则读回时都按0处理。

UCSCTL0:

DCO  :DCO频拍选择。选择DCO的频拍并在FLL运行期间(因MOD位的变化)自动调整。。DCO 的5个控制位把由DCORSELx选择的DCO频率分为32等份,间隔大约8% 。

MOD:调制位计数器。选择调制类型,所有的MOD位在FLL运行期间自动调整,无需用户干预。

 

UCSCTL1:

DCORSEL:DCO频率范围选择

DISMOD:调制器禁止使能位。0—使能调制器;1—禁止调制器。


UCSCTL2:

FLLD:预分频器(即fDCO分频)。000-1分频,001-2分频,010-4分频,

011-8分频,100-16分频,101-32分频,

110以及111都是备用的,默认为32分频。

FLLN:倍频系数。设置倍频值N,N必须大于0,如果FLLN=0,则N被自动设置为1。

 

UCSCTL3:

SELREF:FLL参考时钟选择。

000-XT1,001-待用,默认为XT1,010-REFO,

101-XT2,其余均为待用,默认为REFO。

FLLREFDIV:FLL参考时钟分频器。000-1分频,001-2分频,010-4分频,

011-8分频,100-12分频,101-16分频,

110以及111都是备用的,默认为16分频。

 

UCSCTL4:

SELA:ACLK时钟源选择。

000-XT1,001-VLO,010-REFO,011-DCO,

100-DCOCLKDIV,101 -XT2有效时为XT2,否则为DCOCLKDIV 

110 、111保留以备后来使用。当XT2有效时默认为XT2CLK,否则默认

为DCOCLKDIV 

SELS:SMCLK时钟源选择。设置同SELA

SELM:MCLK时钟源选择。设置同SELA

 

UCSCTL5:

DIVPA:ACLK外部有效输出分频000-1分频,001-2分频,010-4分频,

011-8分频,100-16分频,101-32分频,

110以及111都是备用的,默认为32分频。

DIVA:ACLK时钟源分频,设置同DIVPA

DIVS:SMCLK时钟源分频,设置同DIVPA

DIVM:MCLK时钟源分频,设置同DIVPA

 

       UCSCTL6:

XT2DRIVE:XT2振荡器电流驱动能力调整 

00 最低电流消耗。XT2振荡器工作在4MHz到8MHz …

XT2BYPASS:XT2旁路选择          0-XT2来源于内部时钟(使用外部晶振)         

  1-XT2来源于外部引脚输入(旁路模式)

 

XT2OFF:关闭XT2振荡器        

0 -当XT2引脚被设置为XT2功能且没有被设置位旁路模式时,XT2被打开; 

1 -当XT2没有被用作时钟源以及没有用作FLL参考时钟时,XT2被关闭。

XTS:XT1工作模式选择

0-低频模式(XCAP定义XIN和XOUT引脚间的电容)

1-高频模式(XCAP位没有被使用)

XCAP:振荡器负载电容选择

SMCLKOFF:SMCLK关闭控制位  0-SMCLK开           1-SMCLK关闭 

XT1OFF:同XT2OFF

 

     UCSCTL7:

XT2OFFG:XT2出错时置位,同时OFFIFG也会置位,需要软件清零。

XT1HFOFFG:高频工作模式下XT1出错时置位,同时OFFIFG也会置位,需要软件清零。

XT1LFOFFG:低频工作模式下XT1出错时置位,同时OFFIFG也会置位,需要软件清零。

DCOOFFG:DCO出错时置位,但当DCO=1或31时,也会置位,同时OFFIFG也会置位,需要软件清零。

 

 

实验一:将MCLK和SMCLK配置为REFOCLK、VLOCLK(需要示波器测量)

/* REFOCLK和VLOCLK是芯片默认提供的,只要芯片正常工作,这两个时钟就会正常工作,因此,该时钟配置非常简单,只需要修改UCSCTL4,将SELS和SELM配置为对应的选项VLOCLK或者REFOCLK即可*/

#include  

void main(void){

    WDTCTL = WDTPW+WDTHOLD;

    P1SEL |= BIT0;//声明有特殊功能,将不被用作普通I/O

    P1DIR |= BIT0;//ACLK输出端,用来测量ACLK频率,外接频率计测

    P2SEL |= BIT2;P2DIR |= BIT2;//SMCLK输出端

    P7SEL |= BIT7;P7DIR |= BIT7;//MCLK用输出端

    //UCSCTL4 = UCSCTL4&(~(SELS_7|SELM_7))|SELS_1|SELM_1; //将SMCLK和MCLK配置为VLOCLK

    UCSCTL4 = UCSCTL4&(~(SELS_7|SELM_7))|SELS_2|SELM_2; //将SMCLK和MCLK配置为REFOCLK

/* UCSCTL4&(~(SELS_7|SELM_7))这一语句相当于先把SELS和SELM清零*/

while(1);

关键字:msp430f5529  时钟源 引用地址:msp430f5529时钟源

上一篇:msp430f5529中断笔记(二)--中断嵌套
下一篇:MSP430F5529 默认时钟频率(1.05MHz)的来源探究

推荐阅读最新更新时间:2024-11-12 16:17

MSP430F5529火箭板 ---> 控制时钟系统输出频率实验
实验内容:上电控制MSP430F5529 Launch Pad上的主时钟系统达到25Mhz 实验准备: 1、硬件:MSP430F5529 Launch Pad 2、软件:Code Composer Studio集成开发工具(CCS) 3、提升MSP430F5529核心电压的办法及介绍请参考《MSP430F5529火箭板 ----> 关于核心电压提升实验(含电源管理模块和供电监控系统介绍)》文章链接 link 一、时钟系统 1、MSP430F5529 Lanuch Pad晶振的物理层分析   在进入时钟系统之前我们先对MSP430F5529的时钟晶振做一个介绍。    MSP430F5529 Launch Pad 板载了1
[单片机]
<font color='red'>MSP430F5529</font>火箭板 ---> 控制时钟系统输出频率实验
STM32普通定时器(TIM2-7)的时钟源疑问
【问题】 STM32F103的APB1最大总线时钟是AHB总线时钟的1/2,最大为36MHz,在用ST的库函数(v2.0)的时候,TIM2(普通定时器)的时钟频率为72MHz,不知道原因何在? 【问题分析】 STM32中有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它6个为普通定时器,时钟由APB1的输出产生。 下图是STM32参考手册上时钟分配图中,有关定时器时钟部分的截图: 从图中可以看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器,图中的蓝色部分。 下面以定时器2~7的时钟说明这
[单片机]
STM32普通定时器(TIM2-7)的<font color='red'>时钟源</font>疑问
MSP430F5438A中断问题
MSP430F5438A中断问题 写一个简单程序进入中断,首先进入中断的条件: 1.时钟源配置好 2.中断的寄存器配置好 3.中断向量表配置好 以上三点都配置好是不是就应该进入中断了?帮忙看看下面的程序进不去中断,我用的是捕获模式,捕获引脚1.4有捕获信号。 #include “msp430.h” void Init_MCLK(void); int main( void ) { // Stop watchdog timer to prevent time out reset WDTCTL = WDTPW + WDTHOLD; P5DIR |= BIT4; P5OUT |= BIT4; Init_MCLK()
[单片机]
MSP430F5529学习笔记(二)
学习MSP430单片机一定要努力克服心里因素,试着去阅读TI官方的英文文档。这款单片机并没有同32一样的丰富中文资料和中文社区支持,养成自我学习和探索答案的习惯很重要。 相关寄存器配置 通用I/O简介 *一般情况下,P1和 P2都是具有中断能力的。*从 P1和 P2接口的各个I/O 管脚引入的中断可以独立的被使能并且设置为上升沿或者下降沿触发。对应的中断向量表分别为 P1IV 和 P2IV,它们只能进行字操作,并且 PAIV 这个寄存器根本不存在。 P1、P2可合为 PA,P3、P4可合为 PB,…PC、PD。所以 P1为8位BCD 0x00,PA 为16位 BCD 0x0000。当进行字操作写入 PA 口时,所有的16位
[单片机]
<font color='red'>MSP430F5529</font>学习笔记(二)
MSP430F5529 DriverLib 库函数学习笔记(一)时钟配置和闪烁LED
平台:Code Composer Studio 10.3.1 MSP430F5529 LaunchPad™ Development Kit (MSP‑EXP430F5529LP) 一、新建工程 二、时钟树 时钟系统结构 (1)5个时钟来源 时钟系统模块具有5个时钟来源。 ① XT1CLK:低频/高频振荡器,可以使用32768Hz的手表晶振、标准晶体、谐振器或4~32MHz的外部时钟源; ② VLOCLK:内部超低功耗低频振荡器,典型频率12kHz; ③ REFOCLK:内部调整低频参考振荡器,典型值为32768Hz; ④ DCOCLK:内部数字时钟振荡器,可由FLL稳定后得到; ⑤ XT2CLK:高频振荡器,
[单片机]
<font color='red'>MSP430F5529</font> DriverLib 库函数学习笔记(一)时钟配置和闪烁LED
ATmega48 时钟源
ATmega48芯片有如下几种通过Flash熔丝位进行选择的时钟源。时钟输入到AVR时钟发生器,再分配到相应的模块。 不同的时钟选项将在后续部分进行介绍。任何时钟源都需要足够高的Vcc来启动振荡器,并且还要有一个最小振荡周期以保证在开 始正常工作之前电源达到稳定电平 。 为保证有足够高的 Vcc,在其它复位源释放之后,器件在一个超时延迟时间 (tTOUT) 之内保持内部复位状态。 P37”系统控制和复位” 描述了内部复位的开始条件。这个延时(tTOUT)由看门狗振荡器定时,而延时的周期数通过熔丝位 SUTx 与 CKSELx 来设定。 Table5 列 出了可选的延迟。看门狗振荡器的频率由工作电压决定,详见 P283”ATme
[单片机]
ATmega48 <font color='red'>时钟源</font>
MSP430F5529学习笔记(一)
MSP430F5529作为一款TI公司推出的16位嵌入式控制芯片,相比于传统的51单片机,有着更加丰富外设资源。但是他不具有32等ARM-M架构嵌入式芯片的强大计算能力。 MSP430系列的单片机主张的是超低功耗,例如在使用电池长期供电的设备中,430的超低功耗可以有效延长产品的使用时间。 在学习430之前建议先学习8051系列的单片机,对51有一个充分的认识之后在进一步学习430。这两款处理器都有相似的地方,从最简单的编程开始,他们都是直接操作寄存器,完成各种外设的配置。 一、430与51做一个简单的对比 指令集不同 51内核单片机是8 位单片机。其指令是采用的被称为“ CISC ”的复杂指令集,共具有111 条指令
[单片机]
<font color='red'>MSP430F5529</font>学习笔记(一)
msp430的基本时钟源
msp430的基本时钟源有3个:LFXT1CLK,  XT2CLK,   DCOCLK ; 其中:LFXT1CLK:可以用低频钟表晶体、标准晶体、陶瓷谐振器或外接时钟源工作。 XT2CLK:可以用标准晶体、陶瓷谐振器或外接450khz~8mhz的时钟源工作。 DCOCLK:它是内部数字控制RC振荡器,可以调节。 msp430的3种时钟信号是:ACLK,MCLK,SMCLK; 其中:ACLK(辅助系统时钟):可选时钟源LFXT1CLK(只能是外部时钟源),且一般为32768hz手表晶体)。 用于外围器件。 MCLK(主时钟):可选LFXT1CLK,XT2CLK, DCOCLK 三种时钟源。用于CPU和系统
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved