Android 上的 LE 编码 PHY

LE Coded PHY on Android

LE Coded PHY(Bluetooth 5 long range)很新,关于它的信息很少。我的主要问题:你如何使用它?假设您有一个 Android phone 发射 BT 信号,另一个 Android phone 接收。假设双方都可以使用 LE 编码的 PHY - 你如何确保他们正在 使用它?我默认的暂定假设是,如果没有其他声明的文档,它会在信号强度太低时切换模式。但是,我一点也不确定。事实上,有一点证据表明它必须手动触发:"Set the primary PHY to a LE Coded PHY (GAP_ADV_PRIM_PHY_CODED_S2 or GAP_ADV_PRIM_PHY_CODED_S8) in the advertisement parameters."(来自上面的 link。)但是,我无法从 Android 中找到任何关于如何做到这一点的提及。 .

现在,请注意在两端使用 Android 只是一个测试 - 我们有一个应该支持 LE 编码 PHY 的外围设备,但是无论我们将它连接到 [=26= 范围似乎不受影响] 支持或不支持 LE Coded PHY。我们想设置一个测试,我们知道正在使用 Coded is,这样我们就可以比较其他设备的性能。是否有需要设置的标志?要切换的模式?要跳舞的吉格舞,要表演的狂欢?

你说得对,CODED PHY 相对较新,关于它的信息很少。根据蓝牙规范,CODED PHY主要有三种模式:-

  • CODED PHY advertisements/scanning:这是在执行 advertising/broadcasting 和 scanning/observing 时 编码 PHY 1.
  • CODED PHY 连接启动:这是当设备通过 CODED PHY 进行广告时,然后远程设备通过 CODED PHY 调制连接到它 [2]。
  • CODED PHY 连接切换:这是当您已经处于连接中然后请求切换到 CODED PHY 时。如果远程设备接受请求,则连接更改为 CODED PHY,并且所有数据包交换都通过该调制执行 [3]。

这并不是说你不能调整它。您可以编写一个 Android 应用程序,在 RSSI 较低时请求切换到 CODED PHY(第三种方法),或者您可以修改您的应用程序,使其仅在找不到任何内容时通过 CODED PHY 扫描广告超过正常的 1MPHY 等

如果你想在游戏中看到这个,我建议检查 Android 上的 nRF Connect 应用程序和支持 CODED PHY 功能(例如 One Plus 7、Galaxy S10 等)的 phone ).您会注意到,建立连接后,您可以从连接设置中手动切换到 CODED PHY 或 2MPHY。您可以通过查看菜单中的“设备信息”来了解您的 phone 是否支持 CODED PHY 功能。

为了进一步阅读,我建议检查以下内容:-

参考资料

  1. 蓝牙规范版本 5.1,第 1 卷,A 部分,部分 3.3.2.2.2
  2. 蓝牙规范版本 5.1,第 6 卷,B 部分,第 4.4.4.2 节
  3. 蓝牙规范版本 5.1,第 2 卷,部分 E,第 7.8.49 节

希望对您有所帮助。