zoukankan      html  css  js  c++  java
  • MSP430 G2553 基本时钟模块+ (Basic Clock Module+)

    一、时钟源

    MSP430的Basic Clock Module+支持的时钟源有:

    • DCOCLK:内部数字控制振荡器,Internal digitally contrlled oscillator。所有MSP430芯片都有。
      MSP430G2553的DCO支持的最大频率一般为16MHz,且保存了1MHz、8MHz、12MHz、16MHz四个频率的校正信息。

    • VLOCLK:内部超低功耗、低频振荡器,Internal very low power, low frequency oscillator,典型频率12kHz。所有MSP430芯片都有。使用方便,但精准性不是太高。
      MSP430G2553的VLO频率在4kHz到20kHz之间,且受温度、供电电压影响较大。

    • LFXT1CLK:低频/高频晶体振荡器,Low-frequency/high-frequency oscillator。可以是32.768kHz的晶体或外部时钟(LF模式时),或者是400kHz到16MHz的晶体/晶振/外部时钟源(HF模式时)。不是所有MSP430芯片都支持。
      MSP430G2553支持的低频晶体(LFXT1)的典型频率是32.768kHz,且不支持HF模式。

    • XT2CLK:高频振荡器,high-frequency oscillator,频率范围最多支持400kHz到16MHz,可以是晶体/晶振/外部时钟源。不是所有的MSP430芯片都支持。
      MSP430G2553不支持XT2。

    二、时钟信号

    MSP430的Basic Clock Module+包含了三个时钟信号:

    • MCLK:主时钟,Master clock。可以从以上四个时钟源中选择其一作为MCLK来源,并支持1/2/4/8分频。用于CPU和系统。

    • SMCLK:子主时钟,Sub-main clock,可以从以上四个时钟源中选择其一作为SMCLK来源,并支持1/2/4/8分频。用于特定的外设。

    • ACLK:辅助时钟,Auxiliary clock,可选择LFXT1CLK或VLOCLK作为ACLK来源,并支持1/2/4/8分频。用于特定的外设,特别是低功耗待机时。

    典型的时钟系统框图如下图:

    留意只有DCO和VLO是所有MSP430的标配,其他的要看具体型号:

     

    三、DCO频率设置

    调整DCO频率可以通过修改BCSCTL1寄存器中的RESELx位段、DCOCTL寄存器的DCOx、MODx位段来实现。如,若要设置DCO频率为1MHz左右,通过查数据手册中“DCO Frequency”表可得0.8MHz~1.5MHz频率对应设置参数为(7,3),即RSELx=7, DCOx=3, MODx=0。但这样做误差很大。

    BCSCTL1 &= ~BIT3;  // set to DCO(7,3)
    BCSCTL1 |= BIT0 + BIT1 + BIT2;
    DCOCTL &= ~BIT7;
    DCOCTL |= BIT5 + BIT6;

    更好的方法是直接将BCSCTL1和DCOCTL寄存器设置成已校准好的值。

    BCSCTL1 = CALBC1_1MHZ;
    DCOCTL = CALDCO_1MHZ;

    这样做的频率误差如下图所示。

    四、ACLK时钟源设置

    ACLK时钟来源由BCSCTL3寄存器中的LFXT1Sx位段设置,可以切换为LFXT1、VLOCLK或外部时钟源;由BCSCTL1寄存器中的DIVAx位段设置分频比。当设置为LFXT1时,还需要根据板子情况设置effective capacitance。

    如设置ACLK来源为VLOCLK、四分频:

    BCSCTL3 |= LFXT1S_2; //VLO mode
    BCSCTL1 |= DIVA_2;   //ACLK divided by 4

    设置ACLK来源为LFXT1、八分频:

    BCSCTL3 |= LFXT1S_0; //32k crystal selected
    BCSCTL3 |= XCAP_2;   //~8.5pF effective capacitance (for G2553)
    BCSCTL1 |= DIVA_3;   //ACLK divided by 8
  • 相关阅读:
    Oracle(日期函数)
    Oracle(数值函数)
    Oracle(字符函数)
    Oracle(order by)
    Oracle(限定查询2)
    Oracle(限定查询1)
    Oracle其他简单查询
    Oracle简单语句查询
    SQLPlus
    解决方案
  • 原文地址:https://www.cnblogs.com/zlbg/p/4728461.html
Copyright © 2011-2022 走看看