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.

[参考译文] MSPM0G1519:带有内部或外部电阻器的 FCL

Guru**** 2457760 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1486970/mspm0g1519-fcl-with-internal-or-external-resistor

器件型号:MSPM0G1519

工具与软件:

大家好!

目前、我即将启用 FCL、实现更高的时钟精度。 根据数据表、我知道内部或外部基准电阻器均可用于此目的。

在最新的 TI driverlib 2.04.00.06中、我可以在"dl_sysctl_mspm0gx51x.h"头文件中看到内部和外部电阻器的两个函数:

/**
 *  @brief  Enable Frequency Correction Loop (FCL) in Internal Resistor Mode
 *
 *  Once FCL is enable, it cannot be disabled by software. A BOOTRST is required.
 */
__STATIC_INLINE void DL_SYSCTL_enableSYSOSCFCL(void)
{
    SYSCTL->SOCLOCK.SYSOSCFCLCTL =
        (SYSCTL_SYSOSCFCLCTL_KEY_VALUE | SYSCTL_SYSOSCFCLCTL_SETUSEFCL_TRUE);
}

/**
 *  @brief  Enable Frequency Correction Loop (FCL) in External Resistor Mode
 *
 *  Used to increase SYSOSC accuracy. An ROSC reference resistor which is suitable
 *  to meet application accuracy reqiurements must be placed between ROSC pin and
 *  device ground (VSS).
 *
 *  Once FCL is enable, it cannot be disabled by software. A BOOTRST is required.
 *
 *  Power consumption of SYSOSC will be marginally higher with FCL enabled due to
 *  reference current which flows through ROSC.
 *  Settling time from startup to specified accuracy may also be longer.
 *  See device-specific datasheet for startup times.
 */
__STATIC_INLINE void DL_SYSCTL_enableSYSOSCFCLExternalResistor(void)
{
    SYSCTL->SOCLOCK.SYSOSCFCLCTL =
        (SYSCTL_SYSOSCFCLCTL_KEY_VALUE | SYSCTL_SYSOSCFCLCTL_SETUSEFCL_TRUE);
}

但是、这两个函数的功能完全相同。 根据参考手册、如果应使用外部基准电阻、则 必须设置位 SETUSEEXRES。

我们首选的解决方案是将 FCL 与内部基准电阻结合使用。 因此、我有两个问题:

1.为什么 TI driverlib 中的函数是相同的?

n´t、 当使用外部基准电阻器时、是否需要设置位 SETUSEEXRES? 如果不是、如何在内部和外部之间进行选择?

提前感谢您!

此致、

Holger

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

    Holger、

    我正在向我们的团队寻求解决方案、并将在星期五(3/14)之前向您提供最新消息。

    -Matthew

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

    Holger、

    我们的软件团队目前正在评估此问题、一旦我们为您制定了解决方案、我将与您联系。 感谢您的耐心!

    -Matthew

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

    您好、Matthew:

    感谢您的反馈。

    但从硬件的角度来看、该器件通常支持数据表中所述的内部和外部基准电阻器?

    此致、

    Holger

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

    Holger、

    正确--该器件支持内部和外部基准电阻。 我们的软件团队正在调查 SYSCFG 中未正确配置 FCL 的错误。

    -Matthew

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

    您好、Matthew:

    感谢您的回答。

    直到我们可以预期软件团队的调查结果?

    提前感谢您。

    此致、

    Holger

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

    您好、Holger、

    您最初的帖子建议您首选使用内部电阻器。 我建议使用以下示例手动设置此配置、直到我们可以更新工具:

    SYSCTL->SOCLOCK.SYSOSCFCLCTL = (SYSCTL_SYSOSCFCLCTL_KEY_VALUE | SYSCTL_SYSOSCFCLCTL_SETUSEFCL_TRUE);

    如果您想使用外部电阻器、则必须手动设置  SETUSEEXRES 位、如下例所示。

    SYSCTL->SOCLOCK.SYSOSCFCLCTL = (SYSCTL_SYSOSCFCLCTL_KEY_VALUE | SYSCTL_SYSOSCFCLCTL_SETUSEFCL_TRUE | SYSCTL_SYSOSCFCLCTL_SETUSEEXRES_TRUE);

    -Matthew