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.

[参考译文] MSP430F6775A:DCO

Guru**** 2457760 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1436541/msp430f6775a-dco

器件型号:MSP430F6775A

工具与软件:

您好!

我想问一下我正在进行的计划。 在调试过程中、一个 DCOFFG 标志被置1。 我已经注意到、在 发生 POR 和操作 SEL 位时、默认会设置此标志、勘误表中也对此进行了介绍。 不过、当我在程序末尾设置一个断点时、可以看到该特定位会再次设置、无论频率如何都是如此。 我已根据公式 fDCO (n、0)、max≤fDCO≤fDCO (n、31)、min 选择了频率范围、 但问题仍然存在。 当前对于8MHz、范围设置为 DCORSEL4、对于 FLL_N、计算值为243、以 RFFCLK 作为基准。 我还注意到、当 DCO 值处于最低或最高时可以设置标志。 尽管有频率范围、情况是否如此、或者我是否应该以某种方式为此模型设置 PMM? 此外、如果我选择了外部晶体、但它缺失了、那么它是否应该自动将 FLLREF 切换到 RFFCLK、并同时将 ACLK、SMCLK 和 MCLK 切换到 REFCLK? 我不需要手动检查故障、然后将设置更改为正确的 refclock?

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

    您好!

    DCOFFG 是设置为自由运行模式还是仅在调试模式下观察到此问题?

    如果缺少外部晶振、则不更改参考时钟中的设置。  更多详细信息、请参阅 UG 中的 UCS 模块失效防护操作一章。  

    此致、

    Cash Hao

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

    您好!

    我已经调试 UCS 设置、然后将其设置为自由运行模式、在最后一个函数的断点处停止。 在初始化函数中的标志复位后、没有任何东西。 该器件经过逐步调试、但最终在最后的断点处、在通信结束且自由运行模式停止后、再次设置标志。 然而、正如我提到过的、仅设置了 DCOFFG 标志。

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

    您好!

    这是有线连接的。 您能在此处分享您的测试代码吗? 我们可以先看一下。  

    此致、

    Cash Hao

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

    您好!

    它太大了、我有点讨厌、但我可以共享 UCS 配置。 我也在项目中使用 UART。

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

    您好!

    UCS 配置应该没有问题。 以及如何 在应用程序中检查 DCOFFG 标志的代码。

    此致、

    Cash Hao

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

    void initClk()

    UCSCTL3 |= SELREF__REFOCLK;
    UCSCTL4 = SELA__REFOCLK | SELM__DCOCLK | SELS__DCOCLK;

    ___ bis_SR_register (SCG0);

    UCSCTL0=0x0000;
    UCSCTL1=DCORSEL_4;
    UCSCTL2 = FLLD_0 | 243;

    _BIC_SR_register (SCG0);

    // DCO 的稳定时间
    // 32 x 32 x 8000000Hz / 32,768Hz = 250 000 = MCLK 周期
    __delay_cycles (250000);

    UCSCTL6 &=~(XT1OFF);
    UCSCTL6 |= XCAP_0;


    //重置标志的超时
    INT timeToReset = 30;

    //清除故障标志
    应执行的操作

    UCSCTL7 &=~(XT2OFFG | XT1LFOFFG | DCOFFG);//清除 XT2、XT1、DCO 故障标志

    //清除故障标志的 SFR
    SFRIFG1 &=~OFIFG;

    } while ((SFRIFG1 & OFIFG)&&--timeToReset);


    //减少强度
    UCSCTL6 &=~(XT1DRIVE_3);

    }

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

    我还获得了带引脚配置的 eusci。

    void initeUASCI()

    P3SEL0 |= BIT0 | BIT1;
    P3DIR |=位0 |位1;

    UCA0CTLW0 = UCSWRST;

    UCA0CTLW0 |= UCSSEL__SMCLK;

    UCA0CTLW0 |= UCPEN | UCPAR;

    UCA0BRW = 52;
    UCA0MCTLW = 0x4900 | UCBRF_1 | UCOS16;

    UCA0CTLW0 &=~μ s UCSWRST;

    }

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

    我在寄存器视图中检查 DCO 故障标志。 我先启动程序、然后再执行通信操作、最后在 Brakepoint 重新检查寄存器。

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

    FLL 参考时钟应该是  UCSCTL3 |= SELREF_XT1CLK; 而 SELA__XT1CLK 有时也是我使用参考时钟的晶体进行了一些测试、这就是为什么 xDrive 和 xcap 仍在配置中的原因。

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

    您好!

    以我这边为例、时钟配置看起来不错。  

    来检查 DCO 故障标志。 请尝试使用下面的代码来检查 DCOFFG。 您可以在 IF 环路中切换 IO 引脚。 让 MCU 自由运行而不是在调试模式下运行。 检查它在自由运行时是否达到此 IF 条件。

    if (  DCOFFG ==( UCSCTL7&DCOFFG  )){};

    此致、

    Cash Hao

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

    感谢您的回答我做了它,不幸的是灯泡闪烁明亮。 所以可能在自由运行模式下满足了这一条件。 我现在应该考虑什么?

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

    你(们)好

    EMM、最后要检查的是。 您是否仅在一个芯片上进行了测试。 或者您有其他几个板、但它们的行为仍然存在同样的问题? 如果是、我可以尝试在我这边使用代码、然后检查是否可以观察到同样的问题。  

    此致、

    Cash Hao

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

    您好!

    我还尝试了另一个 bord 与777a 模型它是这个代码。

    if ( DCOFFG ==( UCSCTL7&DCOFFG )){

    P11DIR |=位1;  
    P11SEL0 |=位1;  


    }

    并且问题仍然存在。  

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

    明白。 我下周将尝试找出一个用代码测试的板。

    此致、

    Cash Hao

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

    好的、谢谢。