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.

[参考译文] CC2640R2F:使用24MHz 晶体和32.768kHz 晶体问题

Guru**** 2563960 points
Other Parts Discussed in Thread: CC2640R2F, CC2640, CC2650

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/587863/cc2640r2f-using-the-24-mhz-crystal-and-the-32-768-khz-crystal-problem

器件型号:CC2640R2F
Thread 中讨论的其他器件: CC2640CC2650

在4.2蓝牙规范中、它指出

"链路层应使用两种可能的时钟精度之一。 在连接事件或广播事件期间、链路层应使用活动时钟精度;否则应使用睡眠时钟精度。"

广播时、我假设 CC2640R2F 使用24MHz 晶体工作正常。 建立连接后 、如果我没有安装32.768kHz 晶体、CC2640R2F 将不会输出信号。

为什么如果我没有安装32.768kHz 晶体、CC2640R2F 将不会输出信号?

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

    我不确定 CC2640R2F 的含义是什么、它不会输出信号。 您能更详细地阐述一下吗(您谈论的是什么信号?)


    CC26240R2F (CC2640/CC2650)有多个 CAN 睡眠时钟源。
    这些选项在我们的 ccfg.c 文件中列出
    //##############################
    //时钟设置
    //##############################

    #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


    如您所见、如果您没有32k xtal、您仍然可以使用 RFOSC LF 作为低频系统时钟源(用于睡眠时钟)。 这意味着 CC2640仍可作为外设运行。

    以下是有关在没有32k xtal 的 CC2640/CC2650/CC2640R2F 上运行 BLE 的应用手册
    www.ti.com/.../swra499
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Christin
    感谢你的答复。
    我想澄清我的发言。
    当我说没有可用的输出信号时、我意味着在主器件连接到从器件之后、如果主器件向从器件发出命令、则从器件没有响应。
    侧注:我已确认广告按预期运作。

    这是因为连接时使用的是有源时钟(24MHz 晶振)、而睡眠时钟(我没有安装32.768kHz 晶振)则是使用的?
    我不理解的是、如果我们只能使用 XOSC_HF、为什么要使用 RCOSC_LF?
    从我从 TI 阅读的文档中可以看出、强烈建议使用 RCOSC_LF、但从您上面提供的应用手册(swra499)中可以看出、我不需要它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Kota、

    由于 BLE 是一种同步协议、因此它对器件的睡眠时钟(RTC)精度提出了严格的要求。 如您所见、如果没有精确的睡眠时钟、连接将断开。 睡眠时钟精度的 BT 要求为+/- 500ppm。

    CC26xx 器件可从多个振荡器提供其 RTC 源。 默认情况下、在 HW 中、32kHz 时钟将源自内部48MHz RC 振荡器(RCOSC)、这非常不准确。 正如 Christin 向您展示的、CCFG 中设置的默认软件配置是将32kHz 时钟源更改为32kHz 晶体振荡器(XOSC)。 这通常非常精确、但当然需要您将32kHz 晶体连接到芯片。 如果您没有更改 CCFG 配置、并且没有安装晶体、CC26xx 将坚持使用48MHz RC OSC 作为 RTC 源。 这对 BLE 不起作用。

    换句话说、如果电路板上没有晶振、建议使用32kHz RC 振荡器作为时钟源。 这也是相当不准确的、并且确实需要定期校准才能在 BT 规格范围内运行。 应用手册 Christin 链接至中概述了启用此校准的过程。

    使用各种振荡器作为32kHz RTC 源有多种优缺点:
    - 32kHz XOSC:提供最佳精度、从而实现最低电流消耗。 需要晶振
    - 32kHz RCOSC:精度较低、因此电流消耗将更高。 无需晶振
    - 24MHz XOSC:非常精确、但需要在 CC26xx 处于待机状态时运行振荡器。 这会将待机电流升高至~40uA
    - 48MHz RCOSC:不适用于 BLE、不够精确

    此致、
    Fredrik
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Fredrik
    感谢您的回复、这对您非常有帮助。 这是我要查找的信息。