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.

[参考译文] CCS/CC1350:使用 LF_RCOSC 时校准不起作用

Guru**** 2595805 points
Other Parts Discussed in Thread: CC1350, CC2650, CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/612860/ccs-cc1350-calibration-does-not-work-while-using-lf_rcosc

器件型号:CC1350
Thread 中讨论的其他器件: CC2650CC2640

工具/软件:Code Composer Studio

您好!

我正在测试 内部 LF_RCOSC 的漂移、然后决定校准间隔。

我正在使用 CC1350 (修订版2.1) Launchpad。

我使用 SDK 中的空示例、并进行以下修改。

(1)。 更改 ccfg.c 中的设置以使用 Lf_RCOSC、如下所示。

#ifndef SET_CCFG_MODE_CONF_SCLK_LF_OPTION
//#define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x0 //来自高频 XOSC 的 LF 时钟
//#define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x1 //外部 LF 时钟
//#define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x2 // LF XOSC
#define SET_CCFG_MODE_CONF_SCLK_LF_OPTION 0x3 // LF RCOSC
#endif

(2)。 按如下方式向 IO 输出32k 信号。

IOCPortConfigureSet (IOID_6、IOC_PORT_AON_CLK32K、IOC_STD_OUTPUT);
AONIOC32kHzOutputEnable();

(3)。 使用自动和手动校准

除了自动校准之外、我 还通过每500ms 调用一次 PowerCC26XX_注入 校准()来明确地触发 RC 振荡器校准。

最后、我使用频谱图测试输出信号。

我在两个 launchpad 上进行测试、输出信号的频率分别为32.693kHz 和32.678kHz。

频率漂移大于2000ppm。

在另一个测试中,我禁用自动校准并注释掉 显式触发 PowerCC26XX_C注入 校准()。  输出信号的频率保持不变。 校准似乎不起作用。

您能不能帮助解释这一点、也可以 指出我的测试中的错误。

谢谢。

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

    严格地说、仅 CC2640和 CC2650支持32k RC 振荡器校准。 我相信它仍应适用于 CC1350、但它尚未经过测试。

    您使用的是哪种 BLE 堆栈? 您是否遵循了应用手册中的确切步骤: www.ti.com/.../swra499b.pdf

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

    您好、Fredrik、

    我没有使用 BLE 堆栈、只是根据 SDK 中的空示例进行了测试。

    我已经阅读了您提到的应用手册并浏览了配置一章。

    虽然我在测试中没有运行 BLE 堆栈、但我通过设置 PowerCC26XX_Config PowerCC26XX_CONFIG 中的".calibrateRCOSC_LF = true "来自动启用校准、并通过调用 PowerCC26XX_注入 校准()来手动触发校准。 我认为这应该使校准工作正常。

    请发表您的评论、谢谢。