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.

[参考译文] MSP430FR2676:FLL 初始化周期

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1058242/msp430fr2676-fll-initialization-period

器件型号:MSP430FR2676

您好!

我的客户正在评估 FR2676、发现 FLL 初始化需要很长时间(~200msec)。
准确的代码位于 CAPT_BSP.c 内

    // Tune the DCO parameters
    MAP_CS_initFLL((MCLK_FREQ/1000), FLL_RATIO);
    MAP_CS_clearAllOscFlagsWithTimeout(1000);


MAP_CS_initFLL()始终花费~200ms。 该周期通过在函数开始和结束时切换 GPIO 来测量。
另一个电路板显示的时间始终为~160msec。 因此、它看起来与硬件相关。

其他信息:
- REFO 用作 FLL 基准时钟。 (在 CAPT_BSP.h 中、DEFAULT_OSC_SELECTION 为 CS_REFOCLK_SELECT)
MAP_CS_initFLL() 返回值为"True"

这是预期的吗?
该周期是否有任何参数影响?
有什么方法可以缩短该周期?

谢谢、此致、
田志郎一郎

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

    有一个校正。
    该函数花费的时间不是  MAP_CS_initFLL(),而 是 MAP_CS_clearAllOscFlagsWithTimeout()。

    谢谢、此致、
    田志郎一郎

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

    您好、Koichiro、

    我认为这段时间过长、也许您可以尝试我们的 FLL 示例代码来检查是否存在一些硬件问题:

    这是我们的示例代码(REFO 和 FLL):
    https://dev.ti.com/tirex/explore/node?node=AFru4MkAi9iD8OwLf0nivA__IOGqZri__LATEST

    您可以使用相同的方法来测量 FLL 锁定时间、

    谢谢!

    此致

    Johnson

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

    尊敬的 Johnson:

    您能否更详细地解释一下如何用示例代码替换当前函数?

    [引用 userid="404787" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/MSP-low-power-microcontroller-forum/1058242/msp430fr2676-fll-initializing-period/3915375#3915375"]您可以使用相同的方法来测量时间锁定、引用 FLL[]

    关于以下功能、

      MAP_CS_initFLL ((MCLK_FREQ/1000)、FLL_Ratio);

    我理解以下示例代码中的定义应进行更改。
    "#define MCLK_FREQ_MHz 8 // MCLK = 8MHz"
    更改为
    "#define MCLK_FREQ_MHz 16 //在原始代码中 MCLK_FREQ 为16MHz "
    其他器件似乎按原样使用。

    但在示例中、没有与以下函数相对应的代码。
    MAP_CS_clearAllOscFlagsWithTimeout (1000);
    它可以保留原样、还是应该删除?

    谢谢、此致、
    田志郎一郎

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

    您好、Koichiro、

    您需要更改 CSCTLx 配置以达到16MHz、而不仅仅是更改 Macron 定义。  

    请参阅示例代码。 您可以找到函数 software_trim ()。 它是为了修整 CSCTL0和 CSCTL1中的最佳值。 它们用于锁定 FLL。 缩短时间的最佳方法是记录这些寄存器的值、并在初始化时写入寄存器。 我认为在这种情况下,时间 会缩短。 相同。 我想您可以删除  MAP_CS_clearAllOscFlagsWithTimeout (1000);如果您使用示例代码初始化 FLL 以初始化时钟

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

    您好、Allen、

    感谢您的回复。
    我了解了使用修整后的值会缩短 FLL 锁定时间。
    根据数据表表表表5-5、FLL 锁定时间为200msec (典型值)。

    这意味着我们无法在首次加电时缩短 FLL 锁定时间、对吧?
    我们只能减少重新启动或重新初始化的 FLL 锁定时间。

    谢谢、此致、
    田志郎一郎

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

     您好、Koichiro、

    每次 POR 复位或加电时、我们都需要初始化时钟。 因为初始函数位于主函数的开头{.}   

    数据表中的时间在默认设置(CSCTL0/1)下锁定为16M。 不能减小。 如果我们不配置这些寄存 器、并且希望将寄存器默认值锁定为16、则将其从寄存器默认值锁定为正确的值。 它将需要大约200ms 的时间。 如果我们已经知道 CSCTL0/1的正确值、我们可以减少时间。 我们可以在初始化时编写它。 不从0开始、将缩短锁定时间。  

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

    您好、Allen、

    [引用 userid="415886" URL"~/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/MSP-low-power-microcontroller-forum/1058242/msp430fr2676-fll-initializing-period/3922625#3922625"]如果 我们已经知道要缩短 TLC0的时间、我们该怎么办? 我们可以在初始化时编写它。 [/报价]

    我觉得上述方法在用户指南第3.2.11.1节中被称为"DCO Factory Trim "。
    我发现器件描述符在30°C 时配置为16MHz。
    数据表表6-30.

    因此、客户可以将上述值用于 CSCTL0/1、对吧?
    如果是、您能否告诉我 CSCTL0的值是哪个地址、另一个地址是 CSCTL1的值?

    谢谢、此致、
    田志郎一郎

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

    你(们)好  

    两个地址是一个16位数据。 将这两个字节组合在一起以写入 CSCTL0。

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

    您好、Allen、

    哪个地址是高字节? 1A2Eh?
    它不会清除出厂修整序列。
    用户指南第3.2.11.1节提供了以下步骤、但似乎未使用 TLV 中的 CSCTL0值。
    CSCTL0值为0。

    您是否有工厂修整示例?

    谢谢、此致、
    田志郎一郎

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

    你(们)好

    它是低端 高字节存储在1A2F 中、低字节存储在1A2E 中。  

    《MSP430FR2xx 和 MSP430FR4xx DCO+FLL 应用指南》

    说明了快速锁定 FLL。 清除 CSCTL0并设置 DCO 范围后、有一个步骤来加载 TLV 值。

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

    您好、Allen、

    客户遵循应用指南中的顺序。
    现在、FLL 锁定时间显著缩短(~200msec 至~750usec)。
    感谢您对此的支持。 此项目现已关闭。

    谢谢、此致、
    田志郎一郎

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

    ,一郎一郎

    不用客气。