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.

请问,MPS430F5171可以接外部时钟源吗?

Other Parts Discussed in Thread: MSP430F5171

我测试发现内部的REFO和采用外部32.768KHz晶振时,产生的振荡信号都不稳定,有0.04%的跳变。跳变的测量方法为在PJ.3输出ACLK信号,ACLK信号是由XT1或DCO为输入。

因些,决定采用外部时钟信号给F5171。

目前将外部的920KHz时钟信号输入到F5171的PJ5,但工作不正常。

不知MPS430F5171可以接外部时钟源吗?如果可以,帮忙给个例子(相关配置)。

非常感谢!!!

  • Ping Li1,

    msp430f5171的时钟系统UCS是支持外部时钟信号的输入的,需要讲XT1设置为BYPASS模式,按照其datasheet, 其支持的输入频率范围如下图所示。

  • Hi Lina,

    非常感谢您的回复!

    我也注意到了这个参数,所以也认为能连接外部的时钟。

    此外,在Low-Frequency Mode下,可以输入10~50KHz的时钟信号。

    但我目前的系统一直没能正常工作,XT1也设置为BYPASS模式了,所以很疑惑是否能用外部时钟源。

     顺便说一下,我用外部的32.768KHz和0.9MHz的时钟源都试过,未能工作正常。

    下面是我的配置代码:

    // Begin.  使用外部0.9MHz时钟源。

     PJSEL |= BIT4+BIT5;                 // Port select XT1 
     PJDIR &= ~(0x20);                     // PJ.5 as input.  
     PJDIR |= 0x10;                           // PJ.4 as output.  我也试过将PJ.4设置为GPIO,但情况一样。
     
     UCSCTL6 |= 0x30;     // Hig-frequency mode; XT1 sourced externally from pin.
    // UCSCTL6 &= ~(XT1OFF);         // XT1 On 使用外部时钟源应该不需要打开XT1;打开的设置我也试过,情况一样。
       
     do         // Loop until XT1 fault flag is cleared
      {
       UCSCTL7 &= ~(XT1HFOFFG);        // Clear XT1 fault flags
       }while (UCSCTL7 & XT1HFOFFG);       // Test XT1 fault flag
       
     __bis_SR_register(SCG0);           // Disable the FLL control loop
     
     UCSCTL0 = 0x0000;
     UCSCTL1 = 0x0000;
     UCSCTL2 = 0x0000;
     UCSCTL3 = 0x0000;
     
     UCSCTL4 = 0x0000;     // ACLK  -> XT1;
                                               // SMCLK -> XT1;
                                              // MCLK  -> XT1
     UCSCTL5 = 0x0000;

      PJSEL |= 0x08;  // PJ.3作为ACLK输出,频率为0.9MHz。

     PJDIR |= 0x08;  // PJ.3 设置为输出。
    */ 
     // End.  使用外部0.9MHz时钟源。

    此时,PJ.3输出110KHz左右的信号,估计是内部的DCO输出。

    谢谢!!!