(5)MSP430F5529 统一时钟系统UCS

之前有一点漏说明了,先补充上:还有一个模块时钟源:MODOSC,产生MODCLK时钟源信号,一般只为闪存控制模块和ADC12模块提供服务

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

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

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

  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(低频模式被选择为XT1CLK时钟振荡器,XT1CLK被选择为ACLK的时钟源32.768KHZ)

            MCLK:DCOCLKDIV(为1.048576MHZ,DCOCLK=2.097152MHZ

            SMCLK:DCOCLKDIV为1.048576MHZ

            此外,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

          DCORSELDCO频率范围选择

  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

  SELREFFLL参考时钟选择。000-XT1,001-待用,默认为XT1,010-REFO,101-XT2,其余均为待用,默认为REFO

  FLLREFDIVFLL参考时钟分频器。000-1分频,001-2分频,010-4分频,011-8分频,100-12分频,101-16分频,110以及111都是备用的,默认为16分频

  UCSCTL4

  SELAACLK时钟源选择。 000-XT1,001-VLO,010-REFO,011-DCO,100-DCOCLKDIV,101 -XT2有效时为XT2,否则为DCOCLKDIV 110 、111保留以备后来使用。当XT2有效时默认为XT2CLK,否则默认为DCOCLKDIV

  SELSSMCLK时钟源选择。设置同SELA

  SELMMCLK时钟源选择。设置同SELA

  UCSCTL5

  DIVPAACLK外部有效输出分频000-1分频,001-2分频,010-4分频,011-8分频,100-16分频,101-32分频,110以及111都是备用的,默认为32分频

          DIVAACLK时钟源分频,设置同DIVPA

DIVSSMCLK时钟源分频,设置同DIVPA

          DIVMMCLK时钟源分频,设置同DIVPA

          UCSCTL6

  XT2DRIVEXT2振荡器电流驱动能力调整 ,00 最低电流消耗。XT2振荡器工作在4MHz到8MHz …

  XT2BYPASSXT2旁路选择          0-XT2来源于内部时钟(使用外部晶振)         1-XT2来源于外部引脚输入(旁路模式)

  XT2OFF关闭XT2振荡器        0 -当XT2引脚被设置为XT2功能且没有被设置位旁路模式时,XT2被打开;  1 -当XT2没有被用作时钟源以及没有用作FLL参考时钟时,XT2被关闭。

  XTSXT1工作模式选择  0-低频模式(XCAP定义XIN和XOUT引脚间的电容) 1-高频模式(XCAP位没有被使用)

  XCAP振荡器负载电容选择

  SMCLKOFFSMCLK关闭控制位  0-SMCLK开           1-SMCLK关闭

  XT1OFF同XT2OFF

         UCSCTL7

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

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

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

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

  UCSCTL8

  信号请求使能:0-相应的信号请求禁止      1-相应的信号请求允许

        UCSCTL9

   XT1、XT2旁路模式输入摇摆电平(范围)必须被设置 0-输入范围0~DVCC  1-输入范围0~DVIO

       3.4实验总结

 实验一:将MCLKSMCLK配置为REFOCLKVLOCLK(需要示波器测量)

/* 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);

}

文章摘录于:http://blog.lehu.shu.edu.cn/879836630/A449184.html

时间: 2024-11-05 11:33:00

(5)MSP430F5529 统一时钟系统UCS的相关文章

(6)MSP430F5529 统一时钟系统UCS

实验二:将MCLK和SMCLK配置为XT1(F5529的XT1为32.768KHZ) /*1.配置IO口5.4和5.5为XT1功能.*/ /*2.配置XCAP为XCAP_3,即12PF的电容.*/ /*3.清除XT1OFF标志位.*/ /*4.等待XT1起振.*/ #include <msp430.h>  void main(void){ P1SEL |= BIT0;P1DIR |= BIT0;//测量ACLK用 P2SEL |= BIT2;P2DIR |= BIT2;//测量SMCLK用 P

MSP430F5529时钟系统深究

1.为什么要进行时钟管理? 时钟系统是一个数字器件的命脉,对于普通的51单片机来说,它的时钟来源只有外部晶振,然后每12个振荡周期完成一个基本操作,所以也叫做12T单片机,但对于当前高级一点的单片机来说,比如MSP430F5529有5个时钟来源,经过UCS(Unified Clock System,通用时钟系统)模块之后,产生MCLK(Master Clock),SMCLK(Subsystem master clock ),ACLK(Auxiliary clock)三个时钟:对于更高端的单片机,

统一时钟在电厂的应用

统一时钟在电厂的应用SYN4505型统一时钟在电力系统中,利用GPS的精确定位,可以为电站和线路走廊的设计和施工提供帮助;在配电网管理系统中,如果将GPS定位信息与AM / FM(自动监测/灵活管理)相结合,则会使确定故障设备和组织现场检修工作大为改观.目前在电力系统中研究最多的是将GPS的精确授时作为电力系统的统一时钟系统.当全网的测量,保护,控制和故障录波系统的采样都实现同步之后,不仅将使过去许多难以实现的工作,如相量测量,自适应保护等易于实现,而且会使人们对电网的分析.控制能力发生质的变化

体育馆时钟系统的功能特点

体育馆配置一套可靠.精准.稳定,统一的GPS子母钟系统,对提升体育馆的数字化.智能化管理有着重要的意义. 时钟同步系统主要是为体育场馆提供统一标准的时间信息,由高精度母钟及由它控制并与其时间相一致的若干子钟所组成的一套时钟系统. 体育馆时钟系统主母钟通过连线向各子钟提供统一的时间,子钟是数字时钟系统的主要终端,直接面向人们显示标准时间信息,各子钟在不同的地点显示相同的时间. 母钟是接收GPS北斗提供的标准的UTC时间信号或外参考信号具有较高的精度,一般定时精度是优于30ns的,经过运算转换能发出

总结:S5PV210时钟系统

在数据手册<S5PV210_UM_REV1.1>中的section 02_system/3 CLOCK CONTROLLER(354页) 一.时钟域 在S5PV210的SoC中,时钟系统分为三个区域:MSYS.DSYS.PSYS. (1)MSYS:CPU(Cortex-A8内核).DRAM控制器(DMC0和DMC1).IRAM.IROM等 (2)DSYS:主要是视频图像解码相关的时钟 (3)PSYS:内部外设相关(串口.SD.USB.GPIO.IIC.SPI等) 二.时钟源 可以通过四个晶振作

SoC时钟系统简介

1.SoC的时钟获得一般有: * 外部直接输入时钟信号,SoC有个引脚用来输入外部时钟信号,用的很少. * 外部晶振+内部时钟发生器产生时钟,大部分低频单片机都是这么工作的. * 外部晶振+内部时钟发生器+内部PLL产生高频时钟+内部分频器分频得到各种频率的时钟,210属于这种. 2.时钟启动过程 在初始化PLL前为晶振的24m主频,然后设定锁相周期,初始化pll,进行倍频.输出信号通过输出到各总线上,不同设备需要不同的分频. 3.PLL:APLL.MPLL.EPLL.VPLL APLL:Cor

关于STM32时钟系统

初学STM32,感觉最蛋疼的是它的时钟系统,每次看到它的那个时钟树就有点晕,虽然看了很多这方面的资料,甚至也已经写过很多STM32的模块代码,做过一些小项目,但一直还是对这一块模模糊糊,似懂非懂,所以想把自己对它的一点点认识写出来,一步一步,直到完全搞通的那一天,(这些内容并非自己原创,只是想帮助自己理解) 在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. HSI是高速内部时钟,RC振荡器,频率为8MHz. HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频

STM32时钟系统

一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz.一般接8MHZ. ③LSI是低速内部时钟,RC振荡器,频率为40kHz. ④LSE是低速外部时钟,接频率为32.768kHz的石英晶体. ⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2.HSE或者HSE/2.倍频可选择为2~16倍,但是其输出频率最大不得超过72

iOS8统一的系统提示控件——UIAlertController

iOS8统一的系统提示控件——UIAlertController 一.引言 相信在iOS开发中,大家对UIAlertView和UIActionSheet一定不陌生,这两个控件在UI设计中发挥了很大的作用.然而如果你用过,你会发现这两个控件的设计思路有些繁琐,通过创建设置代理来进行界面的交互,将代码逻辑分割了,并且很容易形成冗余代码.在iOS8之后,系统吸引了UIAlertController这个类,整理了UIAlertView和UIActionSheet这两个控件,在iOS中,如果你扔使用UIA