工具与软件:
大家好!
目前、我即将启用 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