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-EP:MSP @ 20MHz

Guru**** 2540720 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/874463/msp430f5438a-ep-msp-20-mhz

器件型号:MSP430F5438A-EP
主题中讨论的其他器件:MSP430F5438A

我尝试使 MSP430F5438A 在没有任何振荡器的情况下以20MHz 运行、只使用 REFO 和 DCO。 我尝试按如下方式配置 DCO:

DCORSELx=4、DCOx=31、MODx=0 (对于12.3-28.2MHz 范围)(从数据表中的第5.20秒)

空 InitClock (空)

//统一时钟系统初始化

UCSCTL6 |= XT1OFF;    //关闭 XT1

UCSCTL6 |= XT2OFF;    //关闭 XT2

P11DIR |= 0x07;                          // ACLK、MCLK、SMCLK 设置为引脚

P11SEL |= 0x07;                          // P11.0、1、2用于调试。

UCSCTL3 = SELREF_2;                    //设置 DCO FLL 基准= REFO   

UCSCTL4 = SELA_2 + SELM_4 + SELESS_3;                      //设置 ACLK = REFO   

_bis_SR_register (SCG0);                //禁用 FLL 控制循环

SetVcoreUp (PMMCOREV_3);                    //针对20MHz 时钟设置 VCORE = 1.85V

UCSCTL0 =(0x1000 + 0x0800 + 0x0400 + 0x0200 + 0x0100);//选择 DCOx = 31、MODx = 0

UCSCTL1 = DCORSEL_4;                    //选择 DCO 范围12.3 - 28.2MHz 运行

UCSCTL2 = 609;                  //将 DCO 乘法器设置为20MHz

_DELAY_CYCLES (625000);

//循环直到 XT1、XT2和 DCO 故障标志被清除

操作

  UCSCTL7 &=~(XT2OFFG + XT1LFOFFG + XT1HFOFFG + DCOFFG);

                                          //清除 XT2、XT1、DCO 故障标志

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

} while (SFRIFG1&OFIFG);                  //测试振荡器故障标志

 

然而、无论 DCO 乘法器被设定为什么、输出频率最高可达18.5MHz 左右。 但是、我可以通过在550附近放置一个较小的乘法器来使它小于18 .5 MHz。 此外、OSC 故障标志永远不会清除、并且我永远不会从 DO while 循环结束

出于好奇、我更改了 UCSCTL1 = DCORSEL_7、并注释了 UCSCTL0 = DCO_31;以使其保持加电值。 然后 MCLK 以20MHz 的频率运行、但故障标志问题仍未解决。

是否有一个代码示例说明如何设置 MSP 以实现更快的速度、或者有人能不能建议我做了些什么?

 

工具:使用了 TI SDK (MSP-TS430PZ25x100)和具有 TI FET + IAR 编译器版本7.12.1的 MSP430F5438AEP。

 

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

    您好、Fred、

    请查看此链接

    在这里、您可以下载 MSP430F5438A 的代码示例、从功能角度来看、该代码示例与-EP 版本相同。

    msp430x54xA_UCS_7.c 是代码示例、可提供最接近的设置。 主要区别在于 FLL 使用外部32kHz 晶体。 这需要改变。

    msp430x54xA_UCS_3.c 显示了如何将 REFO 用于 FLL、而不是32kHz。 请坚持代码示例的指令序列、尤其是在处理 PMMVCORE 设置时、该设置需要针对20MHz 运行进行调整、否则您将面临故障风险。

    另请记住、在更改 VCORE 电平时、您需要逐步执行此操作。 有关更多详细信息、请参阅器件用户指南。

    此致

    Peter

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

    您好、Fred、

    请告诉我、您是否需要有关此方面的进一步支持。 非常感谢。

    此致

    Peter

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

    尊敬的 Peter:

    感谢您的建议。 我没有单步提出 VCORE、而是一次跳转。 这解决了我的问题。

    弗雷德