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.

[参考译文] MSP-EXP430FR2433:时序精度

Guru**** 670100 points
Other Parts Discussed in Thread: MSP-EXP430FR2433, MSP430FR2433
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/994900/msp-exp430fr2433-timing-accuracy

器件型号:MSP-EXP430FR2433
主题中讨论的其他器件: MSP430FR2433

您好!

我必须设计一个小信号处理板、它必须从外部信号生成时钟信号。

如果缺少该外部信号、则电路板 必须生成固定频率方波信号(50Hz)。

我购买了开发板 MSP-EXP430FR2433并编写了一些代码。

它按预期工作、但生成信号的时序精度除外。

我使用出现在电路板上的外部晶振、其频率为32.768kHz、精度为20PPM。

我已经设置了时钟系统、从这个时钟生成一个8MHz 主时钟、然后将这个8MHz 时钟分频、生成一个1ms 中断、这是我所有时序的基础。

因此、我期望以晶振精度(20PPM)生成50Hz 信号。

但我在示波器上测量 一个50、05Hz 时钟、 对应 于频率上0.1%的相对误差。 这个01%为1000PPM、远高于20PPM。

为了进行诊断、我已将晶振时钟(标称值为32.768kHz)路由到引脚、在该引脚上、我测量32、8kHz、给出相同的相对误差(0、1%)。

我已经查看 了器件文档的"时钟"部分、 并提到了 FLL 的一些校正参数。

我有点惊讶:在我的(旧的)关于 PLL 的记忆中,输出频率应为 Fout = Fin * N1 / N2,没有任何校正参数。

是否有任何解释和解决方法?

感谢你的任何帮助。

克劳德

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

    您好、Claude、

    如果我理解正确、您将使用基于板上32.768kHz 晶体的 DCO。  以8MHz 的频率运行 DCO、然后将其除以1MHz 作为计时器的基础、并看到.1%的误差。  老实说、我认为这可能是相当合理的。   根据数据表的 DCO FLL 表5-05、在器件的温度范围内使用晶振基准时、DCO 频率精度为+-.5%。   这似乎是匹配的。   

    现在、如果晶体频率本身也是如此、也可能会导致额外的 DCO 误差、但我不确定为什么32.768晶体的运行速度会比预期的快。  您是如何输出32kHz 时钟的?   

    谢谢、

    JD

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

    JD、您好!

    嗯、也许我不明白什么是 FLL。 对我来说、它就像一个 PLL。 DCO 精度(+-0.5%)似乎是我们在开环中所能期望的。

    对于 PLL,当 PLL 锁存时,输出频率没有“错误”:这个输出频率是 INPUBL_FREQUENCY * N1/N2,N1和 N2是分频比。

    因此、输出频率的相对精度与输入频率相同(在我的例子中为32.768晶振)。
    因此、我期望输出频率出现相对误差、类似于输入频率(晶振)、该误差应为20PPM (0.002%)。

    我原本希望从晶振频率生成主时钟、例如主时钟500 * 32768 = 16384000 Hz、这对我来说是可以的。

    不管怎样,是否有办法使主时钟与晶体时钟一样稳定?
    理想情况下,该主时钟是否可以是1kHz 的倍数,因为我的应用需要一个内部1ms 时钟?

    如果需要、我可以添加一个外部晶振并将其用于主时钟(例如16.000MHz)。

    感谢您的任何建议。

    克劳德

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="484373" URL"~/support/microcontrollers/msp430/f/msp-low-power-microcontroller-forum/994900/msp-exp430fr2433-timing-accuracy/3680919 #3680919">嗯、我可能不明白什么是 FLL。 对我来说、它就像一个 PLL。

    MSP430 - FLL 中的说明 是否有帮助?

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

    您好、Claude、

    《MSP430FR2433用户指南》的第3.2.6节介绍了 FLL 行为。  切斯特的链接也提供了很好的解释。  简单地说、FLL 对 DCO 的时钟周期进行计数、然后将计数与参考时钟进行比较、在本例中为32kHz 晶体。  FLL 告诉 DCO 根据基准时钟生成更高或更低的频率。  FLL 的功耗通常也比 PLL 低得多。   

    因此、在最佳情况下、精度受晶体精度的限制。  但是、DCO 产生的时钟也会产生误差、这不是基准时钟的完美倍数。  然后、您还需要在电压和温度范围内(对于基准晶体和 DCO 频率)进行频率漂移处理。  

    MSP430FR2433不支持 HF 晶振、而仅支持您当前拥有的32kHz 晶振。  我可能要做的是、通过 ACLK 直接从晶体上运行计时器。  从 XT1获取 ACLK、然后将其馈送到计时器。  

    您仍然需要弄清楚晶体频率漂移的原因、但至少您的计时器不应具有来自 DCO+FLL 的额外误差。   

    希望这对您有所帮助。

    JD

      

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

    JD、您好!

    感谢您的解释和解决方案。 我的问题是 FLL 和 PLL 之间的混淆。

    现在我很清楚;我将在没有 DCO+FLL 的情况下使用我的计时器。

    谢谢。

     克劳德