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.

[参考译文] CC2745R10-Q1:蓝牙跳频行为分析:手机与 CC2340

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1587592/cc2745r10-q1-nalysis-of-bluetooth-frequency-hopping-behavior-phone-vs-cc2340

器件型号: CC2745R10-Q1

simplelink_lowpower_f3_SDK_9_11_01_09_eng\examples\rtos\LP_EM_CC2340R53\ble\car_node

simplelink_lowpower_f3_SDK_9_11_01_09_eng\examples\rtos\LP_EM_CC2340R53\ble\key_node

观察手机与 CC2745 之间的蓝牙连接时、我注意到手机持续发送蓝牙事件更新请求。 日志输出表明、这是为了不断更新跳频的信道映射、如下图所示。

我想了解的是、在 CC2340 和 CC2745 之间进行蓝牙连接期间、不会出现类似的蓝牙事件更新请求。 这是因为 CC2340 和 CC2745 在其连接过程中不采用跳频吗? 或者是否使用了某种特定的机制?

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

    您好:

    跳频是 BLE 核心规范固有的。 这些事件的含义是更新可能发生跳频的信道。 在这种情况下、电话将发送信道映射更新、从而更改每个连接事件的连接将跳转到的信道。

    您可以通过调用以下 API 手动发送通道映射更新:

    https://dev.ti.com/tirex/content/simplelink_lowpower_f3_sdk_9_12_00_19/docs/ble5stack/ble_user_guide/doxygen/ble/html/group___h_c_i.html#ga5a6b78eae8d051a924089685b1cccf15

    请注意、只有 Central 能够更新信道映射。 通常、手机扮演中心角色、因此您在连接到手机时会看到它。

    有关更多信息、请参阅第 6 卷 B 部分第 5.1.2 节 信道映射更新过程。

    此致、

    Nima Behmanesh

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

    你好、Nima、

     这是否意味着 car_node 工程没有任何自动跳频机制、需要调用此 API 进行跳频?

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

    你好、Nima、
      根据我对 TI 跳频文档的审查、我注意到 cc2745 启用了 CSA #2 跳频机制。 我的理解是否正确?

     我想澄清一下、您提到的跳频 API 是否用于额外的手动跳频控制、或者是否意味着 CC2745 缺乏默认跳频机制、只能通过调用此 API 进行跳频?

     我也很好奇您是否了解移动电话的跳频机制、以及它们与 CC2745 的实现有何不同。

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

    您好:

    [引用 userid=“599187" url="“ url="~“~/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1587592/cc2745r10-q1-nalysis-of-bluetooth-frequency-hopping-behavior-phone-vs-cc2340/6122358 ]  根据我对 TI 跳频文档的审阅、我注意到 cc2745 支持 CSA #2 跳频机制。 我的理解是否正确?

    是的、它会启用 CSA #2 跳频算法。 这是一项默认启用的功能、但如果您希望使用较旧的通道选择算法、则可以将其禁用。

     我想说明您提到的跳频 API 是用于额外的手动跳频控制、还是意味着 CC2745 缺少默认跳频机制、只能通过调用此 API 进行跳频?

    我提到的 API 用于信道映射更新过程、该过程是蓝牙核心规范的一部分。 中心角色是唯一可以调用此 API 的角色。

    此过程的目的是动态更改连接中使用的对讲机信道、以通过避免干扰和拥塞来提高性能。  但是、这并不意味着除非使用此过程、否则默认情况下器件不会跳频信道。

    下面是一个解释:

    信道映射是 37 个 BLE 信道两个或更多设备在连接期间可以跳转到的子集(它也可以包含全部 37 个可用信道,但大多数情况下它是信道的子集)。 无论信道映射中包含什么信道、设备都 只会 在连接时跳过这些信道。  

    信道映射的好处是、中央设备可以检测某些信道何时出现拥塞或是否存在干扰、并使用非拥塞信道更新外设。  

    总之、连接中始终使用信道跳频、但中心可以通过信道映射限制发生跳频的信道。  

    这与本线程中首先提到的自适应性特性不同之处在于:

    1.信道映射不一定更新。 自适应性功能不会完成信道更新程序。

    2.自适应性在功能的意义上意味着它将观察特定的信道,如果它认为存在干扰,它将会 不发送任何数据 除非它们是 短控制信令数据包 (即空数据包)。 相比之下、信道映射更新过程将 完全限制信道。 它甚至不会有短控制信令数据包、任何设备都不会跳转到信道映射中排除的信道、直到发生新的更新过程。

    3.它将继续观察此信道,如果信道不再有干扰,则允许在该信道上传输除短控制信令包以外的数据。

    相比之下、信道映射更新会限制设备跳频到未包含在信道映射更新中的信道。

    认识到即使没有信道映射或自适应性功能、蓝牙连接中的设备仍在信道之间跳跃。 这是核心规格要求。 此外、蓝牙 要求 信道映射中至少有两个信道。 您不能将蓝牙连接隔离到可用信道中的一个信道。

     我也很好奇您是否了解移动电话的跳频机制以及它们与 CC2745 的实施有何不同。

    这并不是因为它们不同。 对于手机、它会发送这些信道地图更新过程、因为制造商就是这样实施的、通过将设备限制在特定信道来减轻附近所有其他蓝牙设备的干扰、从而很可能提高用户体验。

    如果是 CC2745、这是可能的、但实现它的方法由开发人员决定。  

    我想强调以下几点:

    1.自适应性作为一项功能 不同于 蓝牙所需的信道映射更新程序和一般信道跳频机制。

    2.自适应性作为一项功能,使连接中的设备在限制数据传输的同时,仍允许通道用于短控制信令数据包,直到干扰消失。

    3、自适应性作为功能用于在欧洲或中国等国家/地区通过某些法规,这些国家/地区对以 20dBm 或更高功率运行的设备有限制。

    4.信道映射更新过程指定了蓝牙信道的子集、该子集可在活动连接中用于跳频、同时限制其他信道。

    5、CC2745 同时支持这两种功能(但必须在中心角色中完成信道映射更新过程)。 对于信道映射更新过程、开发人员需要实施特定策略。

    希望这会有所帮助、如果仍有任何不清楚的地方、请告诉我。

    此致、

    Nima Behmanesh

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

    你好、Nima、

    感谢您对此问题的帮助。 我真的很感激。