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.

[参考译文] MSP430F5438A:XT2上的外部时钟源不稳定

Guru**** 2586265 points
Other Parts Discussed in Thread: MSP430F5438A

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/998326/msp430f5438a-external-clock-source-on-xt2-does-not-stabilize

器件型号:MSP430F5438A

您好!

在我的项目中、我将使用 MSP430F5438A、其中 MEMS 振荡器(8MHz)连接到 P5.2 (XT2IN)。

我可以在 P5.2下测量8MHz 的频率、振荡器正在工作。

我尝试设置时钟寄存器、但 XT2OFFG 和 DCOFFG 位始终存在故障。

     SetVcoreUp(PMMCOREV_1);
    SetVcoreUp(PMMCOREV_2);                   // Set VCore to 1.8MHz for 20MHz

    P5SEL |= BIT2;                            // Port select p5.2 XT2 IN

    UCSCTL6 |= XT2BYPASS;                     // XT2 sourced from external clock signal 8MHz
    UCSCTL6 &= ~XT2OFF;                       // Enable XT2
    UCSCTL3 |= SELREF_5;                     

    UCSCTL4 |= SELS_5 + SELM_5 + SELA_5;      // ACLK=SMCLK=MCLK=XT2
    // Loop until XT1,XT2 & DCO
    do
    {
      UCSCTL7 &= ~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);
                                              // Clear XT2,XT1,DCO fault flags
      SFRIFG1 &= ~OFIFG;                      // Clear fault flags
    }while (SFRIFG1&OFIFG);                   // Test oscillator fault flag
    UCSCTL4 |= SELS_5 + SELM_5 + SELA_5;      // ACLK=SMCLK=MCLK=XT2

我出了什么问题?

Kind regards,

阿恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的阿恩:

    您的设置似乎正确。  让我四处看看是否有遗漏。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的阿恩:

    如果您使用8MHz 信号驱动 X2IN 引脚、则需要将 XT2设置为旁路模式(您已经完成了)、并希望禁用 XT2振荡器(USCCTL6 |= XT2OFF)。  您似乎已启用 XT2。  尝试设置 XT2OFF 位、并让我知道这是否会产生影响。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Dennis、  

    昨天下午晚些时候、我发现了两个问题:

    首先我实现 了激活 XT2的代码(UCSCTL6 &=~XT2OFF;)并将其删除。

    第二、我在评估板上发现了一个薄弱的焊接点。 我每次 检查时

    使用探针获得的振荡器信号稳定且正确、但如果我消除了压力

    它似乎变得不稳定。

    我已解析该点、现在我的振荡器信号是稳定的。

    所有时钟都以预期的速度运行、我的软件运行稳定。

    感谢你的帮助、  

    此致、

    阿恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的阿恩:

    很高兴为您提供帮助。

    我将此帖子标记为已解决,但如果不是这种情况,请单击“这不能解决我的问题”按钮,并使用更多信息回复此主题。
    如果此主题已锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。