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.

[参考译文] MSP430F5529:通过FLLD和FLLN计算DCO

Guru**** 2538955 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/574581/msp430f5529-calculating-dco-by-flld-and-flln

部件号:MSP430F5529

您好,请解释一下如何正确计算DCOCLK。 在参考手册中,DCOCLK =(FLLREFCLK/FLLREFDIV)* FLLD *(FLLN + 1)。 但在TI的例子中,我看到:

//将DCO乘数设置为25MHz
//(N + 1)* FLLRef = Fdco
//(762 + 1)* 3.2768万 = 25MHz

因此DCOCLK = (FLLREFCLK/FLLREFDIV)*(FLLN + 1)且FLLD被忽略。 TI的所有示例都使用此公式。  

第二项质询。

如果我需要DCOCLK 24 MHz (根据数据表),我应该设置DCORSEL = 5或6或7,而UCSCTL0_MOD = 31。 但在TI UCSCTL0_MOD的示例中,未设置31,但所有功能都运行良好。 这是怎么做的?

最后一个问题。

其中,代码中应该有循环,直到XT1,XT2和DCO稳定。 在某些示例中,它从__bis_sr_register(SCG0);//(禁用FLL控制循环)开始 ,而在其它示例中,它从__bis_sr_register(SCG0);//(禁用FLL控制循环)开始。

谢谢你。  

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    MCLK和SMCLK的默认时钟源不是DCOCLK,而是DCOCLKDIV,该值在FLLD除法后输出。

    实际使用的DCO时钟输出并不总是很清楚。

    DCO和MOD寄存器由FLL调整;设置它们将毫无意义。 (除非您实际知道设备的特性,并设置一些校准值以加快稳定时间。)

    更改时钟可能会设置一些振荡器故障标志。 等待错误计数器清除仅取决于一系列有效的时钟脉冲;FLL是否运行对其影响不大。