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.

[参考译文] CC2540:主从之间的BLE连接丢失,具有宽温差(>50C),连接间隔为4秒

Guru**** 2560390 points
Other Parts Discussed in Thread: CC2640

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/584969/cc2540-ble-connection-loss-between-master-and-slave-with-wide-temperature-differential-50c-at-4-second-connection-interval

部件号:CC2540
主题中讨论的其他部件:CC2640

是否有任何配置设置 可供我更改,以使85C主控制器和40C从控制器之间的通信可靠,连接间隔为4秒?  当温差小于50C时,它工作正常。

谢谢!

Richard

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Richard:
    根本原因可能是由于温度变化,LS 32 kHz晶体偏移超过40 PPM。
    使用HCI_EXT_SetSCACmd( uint16 scaInPPM )增加BLE堆栈中的睡眠时钟精度配置。 默认设置为40 ppm。 您还可以评估主板上的32 kHz晶体频率,并调整负载上限,以防室温下的偏移超过晶体规格(PPM)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Eirik:

    感谢您的快速回复! 我不太清楚如何应用40 PPM编号? 3.2768万Hz XTAL在室温下满足这一要求,但会随着温度变化沿抛物线曲线行驶。 我认为所有这种类型的XTALS (甚至SensorTags上的XTALS)都遵循类似的曲线? 也就是说,它们仍在BLE规格的+/-500 PPM限制内。 我的印象是BLE链路层动态调整RX窗口大小,以补偿主控制器和从控制器之间的睡眠时钟(温度)差异? 如果主控制器温度为85C,从控制器温度为-40C,您可以看到典型的睡眠时钟差异超过200ppm。 您的40 PPM陈述如何适用于此情况?

    谢谢!
    Richard
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好Richard:
    RX窗口(扩大)是从属设备在实际时钟嘀嗒信号之前应开始侦听的微秒数,因为时钟始终会在连接的两端偏移。 连接的两端都可以设置"睡眠时钟准确度"参数,该参数取决于硬件,用于计算从属设备应在多早的时间为RF事件唤醒。 这将定义连接事件的初始RX窗口。 如果从属设备错过了来自主设备的连接事件,它将如前所述进入RX,但如果时钟偏移/偏移都太大,则不一定要足够早。 某些连接参数也会使其更糟(连接间隔长,从属延迟)。

    默认的从属时钟精度(SCA)设置为40 PPM,我只是将它用作初始参考,以确保您的设置适合室温。 您一定要尝试增加SCA (最大500 PPM)。

    您可以通过将时钟信号输出到引脚并使用频率计数器,在预期温度下测量主板上32 kHz晶体的PPM。 请参阅TRM部分11.3 ................................3将32-kHz系统时钟(LF时钟)映射到DIO/PIN,了解如何在软件中配置它。

    还可以将LNA激活和TX激活信号输出到引脚,以配置RX/TX定时。 请参阅我们的BLE论坛(ti.com/ble-wiki)上的"CC2640范围扩展器控制"页面。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Eirik:

    是的,我们的静态睡眠时钟差异超过50 PPM。  我的印象是BLE链路层(主和从) 可自适应调整RX和TX窗口的位置,以补偿主/从睡眠时钟差异。  这样,链路层就可以根据静态时钟差异进行调整,正如我们在测试中看到的那样。  难道不是这样吗?

    谢谢!

    Richard

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

    您好Richard:

    请参阅采用的蓝牙核心规格核心版本5.0 ,“4.5 Tm7 窗口扩大”一章。 文档位于此处:

    https://www.bluetooth.com/specifications/adopted-specifications

    每次从属设备从主设备接收到连接事件数据包时(即使CRC发生故障),从属设备上的连接事件锚点都会调整。 如果从属设备错过了连接事件,它将把从属设备延迟设置为0 (侦听来自此即时的每个连接事件数据包),并将RX窗口(窗口宽)增加一个等于精度偏移的系数(基于配置的时钟精度的从属设备+主设备可能漂移) 乘以错过的事件数。 没有“自动有效连接间隔时间校准”(我将该名称设置为up :))可以修复大于配置的从属时钟精度+主时钟精度的偏移。

    另请参阅应用手册"CC26xx和CC13xx系列无线MCU的晶体振荡器和晶体选择",其中指出"蓝牙低能耗堆栈默认设置为40-ppm精确度。 如果客户产品设计为在较大的温度范围内运行,客户必须调整此精度"

    http://www.ti.com/lit/an/swra495e/swra495e.pdf