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.

[参考译文] CC2340R5-Q1:Gap_Conn EventRpt_t 的"timestamp"

Guru**** 2577335 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1572562/cc2340r5-q1-timestamp-of-gap_conneventrpt_t

器件型号:CC2340R5-Q1


工具/软件:

TI 团队大家好、

根据 SDK v9.11.01.19 中的 basic_ble、我将尝试查看是否可以获取外设端的锚点时间戳。 我在 Gap_Conn 每个 BLEAPPUTIL_CONN_NOTI_EVENT_ALL 事件时从 EventRpt_t 向控制台输出时间戳。 我观察到、当无法接收来自中央器件的数据包时、连接事件时间戳之间的间隔逐渐缩短。 这是因为由于窗口扩大、外设的接收开始时序正在逐渐推进吗? (时间戳间隔的变化与 rxSCA (500ppm) 非常匹配。)

但是、根据另一个文档、ConnEventRpt 中的“时间戳“被描述为“最近连接事件的锚点“。 如果它是锚点、则无论是否接收到来自中央器件的数据包、我都会期望连接事件时间戳之间的间隔保持不变。

在 ConnEventRpt 中获得的“时间戳“是在什么时间? (它是在接收开始处还是在锚点处?)

此致。

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

    您好、Sjmizuta、

    由于 您正在查询外围设备的时间戳、因此在发布连接报告后、您可能会看到锚点的时间戳不同。 根据核心蓝牙规范的第 4.5.7 节、由于睡眠时钟精度、外设并不总是能够确定其锚定时间的中心时序。 因此、外设在监听 Central 时、会重新计算每个连接事件的锚点、这听起来像您所描述的行为。 本质上、外设在每次在中央锚点定时接收到新数据包时都会更新其锚点的时序。  

    因此、要回答您的问题、您在 ConnEventRpt 中看到的时间戳是锚点时间、但该时间与中央设备锚点同步、以确保时钟精度。 谢谢。

    Eshaan

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

    您好、Eshaan、

    感谢您的答复。
    在我们的实验中、当建立连接后隔离中央器件、使外设无法接收信号时、我们观察到、到下一个锚点的经过时间相对于最后一个锚点、每个连接事件缩短了 500ppm。
    换句话说、这是否意味着如果中央设备无法监听、外设获得的锚点与接收开始的时序相对应?

    此致。

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

    您好、Sjmizuta、

    是的、您回答正确。 如果中央设备无法侦听、则外设获得的锚点将对应于  timeOfLastSync、  它是从 Central 接收数据包的最后一个锚点。 因此、在外设从中央器件接收到新数据包之前、它将无法将其锚点和默认值同步到规范所指定的窗口扩展行为以及您要观察的内容。

    第 4.2.4 节“蓝牙规范“的窗口扩展提供了有关此行为的更详细说明: B 部分链路层规范

    下表还提供了有关特定数据包活动及其与 Window Size 和 timeOfLastSync 对应的更多详细信息。

    谢谢、

    Eshaan

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

    非常感谢您的答复。 这是非常有帮助的。