关于单片机msp430的时钟资料.docx

上传人:b****5 文档编号:8790138 上传时间:2023-05-15 格式:DOCX 页数:28 大小:394.35KB
下载 相关 举报
关于单片机msp430的时钟资料.docx_第1页
第1页 / 共28页
关于单片机msp430的时钟资料.docx_第2页
第2页 / 共28页
关于单片机msp430的时钟资料.docx_第3页
第3页 / 共28页
关于单片机msp430的时钟资料.docx_第4页
第4页 / 共28页
关于单片机msp430的时钟资料.docx_第5页
第5页 / 共28页
关于单片机msp430的时钟资料.docx_第6页
第6页 / 共28页
关于单片机msp430的时钟资料.docx_第7页
第7页 / 共28页
关于单片机msp430的时钟资料.docx_第8页
第8页 / 共28页
关于单片机msp430的时钟资料.docx_第9页
第9页 / 共28页
关于单片机msp430的时钟资料.docx_第10页
第10页 / 共28页
关于单片机msp430的时钟资料.docx_第11页
第11页 / 共28页
关于单片机msp430的时钟资料.docx_第12页
第12页 / 共28页
关于单片机msp430的时钟资料.docx_第13页
第13页 / 共28页
关于单片机msp430的时钟资料.docx_第14页
第14页 / 共28页
关于单片机msp430的时钟资料.docx_第15页
第15页 / 共28页
关于单片机msp430的时钟资料.docx_第16页
第16页 / 共28页
关于单片机msp430的时钟资料.docx_第17页
第17页 / 共28页
关于单片机msp430的时钟资料.docx_第18页
第18页 / 共28页
关于单片机msp430的时钟资料.docx_第19页
第19页 / 共28页
关于单片机msp430的时钟资料.docx_第20页
第20页 / 共28页
亲,该文档总共28页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

关于单片机msp430的时钟资料.docx

《关于单片机msp430的时钟资料.docx》由会员分享,可在线阅读,更多相关《关于单片机msp430的时钟资料.docx(28页珍藏版)》请在冰点文库上搜索。

关于单片机msp430的时钟资料.docx

关于单片机msp430的时钟资料

msp430f5419/38学习笔记之时钟系统

(2011-11-3010:

41:

30)

标签:

msp430f541x

msp430f543x

ucs

分类:

msp430

时钟系统注:

msp5419/38中,如果你使用SMCLK做TIMER_A的时钟,那么进入低功耗3或低功耗4是不会把SMCLK关       掉的,这点5系列和其他系列的不一样。

  UCS模块是一个低成本超低功耗系统,通过选择使用3个内部时钟信号,用户可以得到性能和功耗的

最佳平衡点。

UCS可以由软件配置其工作模式,如配置成:

不需要任何外部器件、使用1或2个外部晶振等。

 一、时钟系统

     UCS模块具有5个时钟源:

XT1CLK:

低频/高频振荡器,既可以与低频32768HZ钟振、标准晶振、外部振荡器,又可以与外部4M-32MHZ时钟源一起使用,XT1CLK可以作为FLL模块内部的参考时钟。

有些芯片XT1CLK只允许使用外部的低频晶振,具体可参考数据手册;

XT2CLK:

可选高频振荡器,可与标准晶振,振荡器或者4MHZ~32MHZ外部时钟源一起使用;

VLOCLK:

内部低功耗、低频振荡器,频率典型值为10KHZ;

REFOCLK:

内部低频振荡器,典型值为32768HZ,可作为FLL基准时钟源;

DCOCLK:

可以通过FLL来稳定的内部数字控制振荡器(DCO);DCOCLK经过FLL分频后可得DCOCLKDIV。

    UCS模块可以提供3种时钟信号:

ACLK:

辅时钟;

MCLK:

系统主时钟;

SMCLK:

子系统主时钟。

 二、UCS操作

     PUC之后,UCS的默认配置模式如下:

XT1CLK选择LF模式下的XT1作为时钟源,ACLK选择XT1CLK作为时钟源;

MCLK选择DCOCLKDIV作为时钟源;

SMCLK选择DCOCLKDIV作为时钟源;

FLL操作使能,FLL基准时钟(FLLREFCLK)选择XT1CLK;

XIN和XOUT作普通IO口使用,禁止了XT1功能,直到I/O口重新配置为XT1模式;

如果有XT2IN和XT2OUT,则一并配置为普通IO口,禁止XT2功能。

   如上所述:

   默认状态下:

XIN/XOUT(P7.0/1)、XT2IN/XT2OUT(P5.2/3)为普通IO口,振荡功能禁止;FLL基准源、ACLK时钟源是XT1CLK,晶振失效逻辑控制位作用下均切换到REFOCLK,ACLK=32768Hz;默认下FLL倍频为:

31(FLLN值),DCOCLKDIV=(32+1)*32768=1.047856MHz;默认下分频值D=2(FLLD值),DCOCLK=2*DCOCLKDIV=2.097152MHz。

   默认选择了使用XT1的FLL操作,为了启用XT1功能,必须将与XT1引脚对应的PSEL置位。

当XT1CLK使用32768Hz晶振时,由于XT1不会立即稳定,失效逻辑控制位会立即选择REFOCLK作为ACLK时钟源。

一旦晶体振荡稳定后,由于FLL的作用,MCLK和SMCLK都将稳定在1.047586MHz,Fdco稳定在2.097152MHz。

   状态寄存器(SCG0,SCG1,OSCOFF和CPUOFF)用于配置MSP430的工作模式,使能和禁止UCS模块中的部分功能(参考系统复位、中断和操作模式)。

UCS模块可以在程序运行中的任何时候进行配置和修改配置,配置使用寄存器UCSCTL0~UCSCTL8。

 2.1UCS模块在超低功耗方面的特性

   为了保持长时间工作或降低功耗而采用低时钟频率;

   快速响应时间和快速数据处理能力需要高时钟频率;

   适应各种工作温度和供电电压的稳定时钟;

   低成本应用中使用准确度要求较少器件的时钟。

 2.2VLO内部低功耗低频振荡器

   内部VLO能够在不需要任何外接晶振的情况下,提供10KHz的时钟,在对时钟精度不敏感而对成本又非常敏感的场合,使用VLO是一个非常好的选择。

当VLO作为ACLK、MCLK、SMCLK(SELA=1、SELM=1、SELS=1)中的任何一个时钟源时,开始启动振荡。

 2.3REFO内部低频参考时钟

   在对成本非常敏感时,通常不需要使用外部晶振,此时可以使用内部低频参考时钟。

该时钟的典型频率值为32768Hz,并可以作为用于稳定时钟模块FLL所需要的参考时钟源FLLREFCLK。

REFO和FLL在不需要外接晶振的情况下,给了系统时钟设置一定的灵活性。

REFO不使用时,不存在电流消耗。

 REFO在下面任何一种情况下,是处于工作允许状态的:

  在活动模式到LPM3模式下,REFO作为ACLK的时钟源(SELA=2OSCOFF=0);

  在活动模式下,REFO作为MCLK的时钟源(SELM=2CPUOFF=0);

  在活动模式到LPM1模式下时,REFO作为SMCLK的时钟源(SELS=2SMCLKOFF=0);

活动模式到LPM3模式下,REFO作为FLLREFCLK(SELREF=2)时钟源,DCO作为ACLK的时钟源(SELA=3,4OSCOFF=0)

在活动模式下,REFO作为FLLREFCLK(SELREF=2)时钟源,DCO作为MCLK的时钟源(SELA=3,4CPUOFF=0);

活动模式到LPM1模式,REFO作为FLLREFCLK(SELREF=2)时钟源,DCO作为SMCLK时钟源(SELA=3,4SMCLKOFF=0)

   对于ACLK、MCLK、SMCLK的时钟源的选择由UCSCTL4控制寄存器决定:

   SELA Bits10-8 选择ACLK的时钟源

                   000    XT1CLK

                   001    VLOCLK

                   010    REFOCLK

                   011    DCOCLK 

                   100    DCOCLKDIV

                   101    XT2CLK(可用),否则是DCOCLKDIV

                   110    保留,XT2CLK(可用),否则是DCOCLKDIV

                   111   保留,XT2CLK(可用),否则是DCOCLKDIV

   SELS Bits6-4   选择SMCLK的时钟源

                   000    XT1CLK

                   001    VLOCLK

                   010    REFOCLK

                   011    DCOCLK 

                   100    DCOCLKDIV

                   101    XT2CLK(可用),否则是DCOCLKDIV

                   110   保留。

XT2CLK(可用),否则是DCOCLKDIV

                   111   保留。

XT2CLK(可用),否则是DCOCLKDIV

   SELM Bits2-0  选择MCLK的时钟源

                   000    XT1CLK

                   001    VLOCLK 

                    010    REFOCLK

                   011    DCOCLK 

                   100    DCOCLKDIV

                   101    XT2CLK(可用),否则是DCOCLKDIV

                   110   保留,XT2CLK(可用),否则是DCOCLKDIV 

                   111   保留,XT2CLK(可用),否则是DCOCLKDIV

 

   ACLK、MCLK、SMCLK时钟的输出(对应P11.0/1/2)UCSCTL5控制寄存器决定:

  DIVPA Bits14-12 外部引脚上可用的ACLK时钟源分频。

对ACLK进行分频,外部引脚(P11.0)上输出。

               000 fACLK/1

               001 fACLK/2

              010 fACLK/4

              011 fACLK/8

              100 fACLK/16 

               101 fACLK/32

               110 保留。

默认是fACLK/32

               111 保留。

默认是fACLK/32

   DIVA Bits10-8 ACLK时钟源分频。

对ACLK时钟源进行分频。

               000 fACLK/1

               001 fACLK/2 

                010 fACLK/4

               011 fACLK/8

               100 fACLK/16

               101 fACLK/32

               110 保留。

默认是fACLK/32

               111 保留。

默认是fACLK/32

               DIVS Bits6-4 SMCLK时钟源分频

               000  fSMCLK/1

               001  fSMCLK/2

               010  fSMCLK/4

               011  fSMCLK/8

               100  fSMCLK/16

               101  fSMCLK/32

               110  保留。

fSMCLK/32

               111  保留。

fSMCLK/32

      DIVM Bits2-0 MCLK时钟源分频

               000  fMCLK/1

               001  fMCLK/2

               010  fMCLK/4

               011  fMCLK/8

               100  fMCLK/16

               101  fMCLK/32

               110 保留。

默认是fMCLK/32 

                111 保留。

默认是fMCLK/32

 2.4XT1振荡器

   XT1为了支持低功耗模式,而支持在低频模式下(XTS=0)使用32768Hz时钟。

晶振连接到XIN和XOUT,此时不需要任何其他外围器件,软件可以通过XCAP位来设置LF模式下XT1晶振的内部负载电容,负载电容可以由软件选择为2pF,6pF,9pF,12pF(典型值),也可以根据需要增加外接电容。

   一些芯片在HF模式时(XTS=1)也支持高速晶振或者振荡器,高频晶振或振荡器连接到XIN和XOUT引脚时,两端口都需要接外部电容,电容的大小需要根据晶振或者振荡器的规格来选择。

   LF模式下,可以通过XT1DRIVE位来提高XT1驱动能力。

在上电时,为快速可靠启动可以设置XT1DRIVE位来快速启动。

如果用户为了降低功耗,可以在需要时降低其驱动能力。

在HF模式时,可以通过选择适当的XT1DRIVE值来满足不同范围的晶振或振荡器。

 

   无论是在LF还是HF模式下,都可以通过配置XT1BYPASS位,XT1可以使用加载在XIN脚上的外部时钟信号。

当使用外部时钟信号时,外部信号的频率和选择的工作模式必须与数据手册上的参数相符合,当在BYPASS模式时,将关闭XT1的振荡器电源。

   上电时,默认操作是XT1,LF模式,但是XT1将保持禁止状态,直到与XT1复用的端口设置成XT1模式。

复用IO口的配置由XIN和XT1BYPASS相关的PSEL决定。

PSEL置位,X1IN和X1OUT端口将配置成XT1模式。

如果XT1BYPASS也置位,XT1将配置成BYPASS模式,XT1相对应的振荡器将断电。

在BYPASS模式下,XIN可以接收外部时钟信号的输入,XOUT配置成普通IO口模式,这时与X1OUT相对应的PxSEL位可以不用关心。

如果与XT1IN对应的PSEL位清零,XT1IN和XT1OUT均被配置为普通IO口模式,XT1将禁止。

  2.5 XT2振荡器 

   某些芯片有第二个晶振XT2,XT2CLK源自XT2,且在高频模式下,XT2的特性和XT1相同,XT2DRIVE位用来选择XT2的频率范围。

通过配置XT1BYPASS位,可以使XT2可以使用加载在XIN脚的外部时钟信号,当使用外部时钟信号时,外部信号的频率必须和选择的工作模式在数据手册上的参数相符合。

   XT2管脚和普通I/O口复用。

上电后,默认为XT2模式,但是XT2会一直保持禁止状态,直到与XT2复用的端口通过PSEL设置成XT2模式。

复用IO口的配置由XIN和XT2BYPASS相关的PSEL决定,PSEL置位,X2IN和X2OUT端口将配置成XT2模式、如果XT2BYPASS也置位,XT2将配置成BYPASS模式,XT2相对应的振荡电路将停止工作,在BYPASS模式下,XIN可以接收外部时钟信号输入,X2OUT配置成普通IO口模式,这时与XOUT相对应的PSEL位可以不用关心。

如果与XT2IN对应的PSEL位清零,XT2IN和XT2OUT均被配置为普通IO口模式。

   

  关于XT1、XT2振荡器的配置由UCSCTL6控制寄存器决定:

     XT2DRIVE Bits15-14 XT2的振荡电流可以调到需要的值。

最初为了快速稳定起振,以最大电流开始。

                          需要时,用户软件可减小驱动。

                      00 最低电流消耗。

XT2的晶振频率范围在4MHz到8MHz。

   

                      01 驱动力稍增大。

XT2的晶振频率范围在8MHz到6MHz。

   

                      10 驱动力增大。

XT2的晶振频率范围在16MHz到24MHz。

 

                      11  驱动力和电流消耗均达到最大。

XT2的晶振频率范围在24MHz到32MHz。

 

         XT2BYPASS Bit12 XT2旁路模式选择 

                       0    XT2由内部晶振提供。

                      1    XT2由外部引脚输入。

            XT2OFF Bit8 关闭XT2晶振。

                      0  如果XT2通过端口选择,并且非旁路模式,那么XT2被打开。

                      1  如果XT2没有被用作ACLK、MCLK、以及SMCLK的时钟源或者没有用作FLL的基

                          准源,XT2关闭。

 

        XT1DRIVE Bits7-6 XT1的振荡电流可以调到需要的值。

最初为了快速稳定起振,以最大电流开始。

                          要时,用户软件可减小驱动。

                     00  XT1低频模式下,最低电流消耗XT1在高频模式下晶振频率范围在4MHz-8MHz  

                     01  XT1低频模式下,驱动力稍增大XT1在高频模式下的晶振频率范围在8MHz-16MHz

                     10   XT1低频模式下,驱动力增大XT1在高频模式下晶振频率范围在16-24MHz 

                     11  驱动力和电流消耗均达到最大。

XT1在高频模式下晶振频率范围在24MHz-32MHz

               XTS Bit5 XT1模式选择

                      0 低频模式。

XCAP定义XIN和XOUT两个引脚的电容。

                      1 高频模式。

该位没有使用。

 

         XT1BYPASS Bit4 XT1旁路模式

                      0  XT1有内部晶振提供。

                      1  XT1由外部引脚输入。

 

             XCAP Bit3-2 振荡电容选择,这些位选择LF模式下用于LF振荡器的电容。

等效电容Ceff=

                         (Cxin+2pF)/2。

前提是假定Cxin=Cout,并且由于封装以及布板的原因产生2pF左

                         右的寄生电容。

关于典型内部及有效电容的细节,参见数据手册的相关章节。

 

          SMCLKOFF Bit1 SMCLK关闭。

该位用来关闭SMCLK。

                      0  SMCLK 开启

                      1  SMCLK关闭

           XT1OFF Bit0 关闭XT1晶振

                      0  如果XT1已经通过端口选择,并且非旁路模式,那么XT1被打开。

                      1  如果XT1没有用作ACLK、MCLK以及SMCLK的时钟源或没有用作FLL的校准源,XT1关闭

 

  2.6DCO数字控制振荡器

   DCO是内部集成的数字频率振荡器。

DCO频率可以通过软件配置DCORSEL、DCO和MOD位来调整,DCO频率可以经过FLL得到稳定的多种频率(FLLREFCLK/n),这点是可以通过软件选择的。

FLL可以通过SELREF位来选择的不同参考时钟源。

参考时钟源包含XT1、REFOCLK或者XT2CLK(如果可用)。

n的值由FLLREFDIV(n=1,2,4,8,12,16)定义,默认n=1。

在不需要FLL的场合,也就不需要FLLREFCLK了,这时可以通过设置SELREF={7}来实现。

   FLLD可将FLL分频器的值D配置为1、2、4、8、16、32,默认情况下D=2;FLLN位决定分频因子(N+1),默认下N=31。

分频因子(N+1)和分频值D定义了N>0时的DCOCLK和DCOCLKDIV,N值必须大于0,对FLLN写0将使N置1。

          fDCOCLK=D×(N+1)×(fFLLREFCLK÷n)

          fDCOCLKDIV=(N+1)×(fFLLREFCLK÷n)

 2.6.1DCO频率调整

   默认情况下,FLL功能是允许的,可以通过置位SCG0或SCG1来禁止FLL。

一旦FLL被禁止,DCO将在寄存器UCSCTL0和UCSCTL1定义的当前设置下继续工作;DCO频率也可以在需要的时候手动调整,否则,DCO的频率将由FLL来稳定。

 PUC后,DCORSELx={2}、DCOx={0}。

DCOCLKDIV为MCLK和SMCLK提供时钟源。

由于CPU执行代码的时钟来自MCLK,而MCLK由DCO提供,所以从上电复位到执行代码的时间小于5us。

   DCOCLK的频率由以下方式设置:

 

    1)DCORSEL位为3时,从8个频率范围中选择1个频率。

具体可查看数据手册。

 

   2)DCORSEL选择5,将DCO分成32个频率级别,相邻两个级大约相差8%。

   3)MOD为5,将在DCO选择的频率和{DCO+1}设置的下一更高频率中转换。

如果DCO=31,MOD位不起作用,因为DCO频率已经是由DCORSEL选择的频率范围的最大值。

 2.6.2DCO调制器

   调制器混合两个DCO的频率:

fDCO和fDCO+1,来产生一个有效的中间频率,提高时钟驱动,减少电磁干扰。

调制器通过配置MOD位,在32个DCOLK时钟周期中混合fDCO和fDCO+1。

当MOD={0}时调制器关闭。

   调制器混频公式如下:

   T=(32-MOD)×tDCO+MOD×tDCO+1

   调制器操作如图所示:

   当FLL模块允许时下,DCO调制器是由FLL硬件控制。

如果不希望FLL工作,DCO调制器设置需由软件来配置。

  2.7FLL锁频环 

    锁频环可以对频率积分器进行连续加或减。

用于驱动DCO的频率积分器的值可以从寄存器UCSCTL0,UCSCTL1(MODx和DCOx位)中读出。

计数器的值可以用fFLLREFCLK/n(n=1,2,4,8,12,or16)加一调整或者用fDCOCLK/(D*(N+1))减一调整。

   积分器中的5位(UCSCTL0 8~12位)用于设置DCO频率,DCO设置了32节拍,每一频率大约比前面的高出约8%,调制器混合两个相邻的DCO频率产生1个小数节拍。

对于给定DCO偏差范围设定,为了使DCO正常操作,要给DCO一段时间来稳定,一般需要 (n×32)fFLLREFCLK个周期,在最坏情况下需要(n×32×32)fFLLREFCLK周期。

其中的n值由FLLREFDIVX(1、2、4、8、12、16)来定义。

 

   DCO 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2