This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430g2553 8M时钟

Other Parts Discussed in Thread: MSP430G2553

怎样把msp430g2553配置成稳定的8M频率的时钟

最好发一个例子程序

  • 具体的时钟源来自哪里?外部时钟源还是内部的DCO

  • 你所指的稳定的8M时钟,有什么具体指标要求吗?

    如果没有,就用内部DCO,配置到8M工作。

    一下内容节选自TI官方例程,更多详细内容请到TI网站直接下载相关器件型号的例程:

    #include  <msp430g2553.h>

    void main(void)

    {

     WDTCTL = WDTPW +WDTHOLD;                  // Stop Watchdog Timer

     if (CALBC1_1MHZ ==0xFF || CALDCO_1MHZ == 0xFF)                                    

     {  

       while(1);                               // If calibration constants erased

                                               // do not load, trap CPU!!

     }

    //1Mhz

     BCSCTL1 = CALBC1_1MHZ;                    // Set range

     DCOCTL = CALDCO_1MHZ;                     // Set DCO step + modulation */

    /* //8Mhz

     BCSCTL1 = CALBC1_8MHZ;                    // Set range

     DCOCTL = CALDCO_8MHZ;                     // Set DCO step + modulation */

    /* //12Mhz

     BCSCTL1 = CALBC1_12MHZ;                   // Set range

     DCOCTL = CALDCO_12MHZ;                    // Set DCO step + modulation*/

    /* //16Mhz

     BCSCTL1 = CALBC1_16MHZ;                   // Set range

     DCOCTL = CALDCO_16MHZ;                    // Set DCO step + modulation*/

     P1DIR |= 0x13;                            // P1.0,1 and P1.4 outputs

     P1SEL |= 0x11;                            // P1.0,4 ACLK, SMCLK output

     while(1)

     {

       P1OUT |= 0x02;                        // P1.1 = 1

       P1OUT &= ~0x02;                         // P1.1 = 0

     }

    }

  • 内部DCO不稳定,怎么通过外接32768 HZ配置到8M,最好发个例程,现在急用......

  • 是啊 大家很多都是外接的32.768khz的晶振 但是需要的是具体的能够实现较为稳定的8M频率的方法 具体的方法

  • 在G2系列中只能通过内部DCO实现8MHz的频率,代码如下所示。这个方法应该是最稳定的一种了。

    if (CALBC1_8MHZ ==0xFF || CALDCO_8MHZ == 0xFF)                                    

     {  

       while(1);                               // If calibration constants erased

                                               // do not load, trap CPU!!

     }

    //8Mhz

     BCSCTL1 = CALBC1_8MHZ;                    // Set range

     DCOCTL = CALDCO_8MHZ;                     // Set DCO step + modulation */

  • 不行啊,用SMCLK输出DCO,输出的没有信号!

  • tu yanhua,你好! 你查查你输出SMCLK时,对应的寄存器配置对不对。此时按照G2553 Datasheet,应该

    P1DIR |=BIT4;

    P1SEL |=BIT4;

    你再试试看。记得此时要把SMCLK的时钟源配成 DCO。

  • 注意书册中那个系统框图,以及时钟部分的架构框图,系统对所有的时钟源都只能进行“分频”处理而不能进行“倍频”处理,所以你无法将外部32.768KHz倍到8MHz去!建议如下设置:

    1)首先,在外部接晶体的端口接一个8MHz的晶体。但要注意选温度稳定度比较好的,现在垃圾晶体较多。

    2)在msp430gx5xx user guide手册(注意不是2553的手册)中找到关于寄存器BCSCTL1的配置,将它的XTS位(好像是Bit6)设成“1”,即将外部晶体设成高频模式。

    3)再配置寄存器BCSCTL2中的相关位(好像是Bit6和Bit6),选MCLK的来源为“外部XT2”,这样你的DCO就是外部的8MHz晶体频率了!

    4)当然,如果你对这个8MHz主时钟的频率稳定度要不高,比如误差在正负3%都行,那厂家已经为你弄好了一系列的出厂校准频率,这些特殊点会随外界温度的变化而自动补偿校准,你可以参考2553手册第31页,在系统时钟初始化中仅需以下俩语句就妥了:

    BCSCTL1 = CALBC1_8MHZ;

    DCOCTL = CALDCO_8MHZ;

  • 请问YM lee是说G2系列尽管手册上说不支持高频晶体,但是其实也可以接的?

    请专家确定一下

  • 复Fuchong Wang

    我也是新手,我在用的MSP430Gx2xx系列中好像是没有XT2即外部第二晶振的,但楼主问的msp430g2553是否有这个选项就必须去看该MCU的具体手册了。

    如果有XT2(单从芯片引脚定义上就可看出是否有它),那按我上述设置就肯定可以。

  • G2系列有带XT2的么?

  • G2系列应该不带XT2,请参照“MSP430x2xx Family User's Guide” P279如下内容,

    “ MSP430F20xx, MSP430G2xx1, MSP430G2xx2, MSP430G2xx3: LFXT1 does not support

    HF mode, XT2 is not present, ROSC is not supported.”

  • 外部32768HZ不能配置成8MHz,G2553只能使用DCO配置成高频模式

  • 内部负载电容和起振环路参数比较适合32768HZ及其附近的crystal起振,datasheet给出的参数是10000HZ-50000HZ,但是最好使用32768HZ的,偏太远很有可能不能起振。这是外面不用再加负载电容了