打印
[CC2640]

CC2640R2F BLE5.0 蓝牙协议栈LE 2M PHY功能

[复制链接]
784|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
coshi|  楼主 | 2020-2-2 11:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
介绍
BLE5-Stack支持以每秒符号速率为1兆(Ms/s)。由于一个符号对应于一个数据位,因此与堆栈的高位相关联,比特率为1Mb/s,这被称为LE 1M PHY。LE 2M PHY允许物理层以2 Ms/s的速率运行,从而实现比LE 1M PHY更高的数据传输速率。除了先前支持的LE 1M PHY之外,还将此LE 2M PHY功能引入蓝牙核心规范版本5.0。

默认情况下,BLE5-Stack的所有项目都支持LE 2M PHY; 需要在应用程序中调用API来使用该功能。
添加了以下HCI命令来支持此功能:

LE设置PHY命令(HCI_LE_SetPhyCmd())
LE设置默认PHY命令(HCI_LE_SetDefaultPhyCmd())
LE读PHY命令(HCI_LE_ReadPhyCmd())
当调用HCI_LE_SetPhyCmd()时,Controller启动PHY更新过程来更改PHY。该过程包括交换两个设备的PHY参数并根据PHY参数协商使用正确的PHY。根据对端设备的能力和优先级,PHY更新过程可能不会导致有效PHY配置发生变化。


使用特权

评论回复

相关帖子

沙发
coshi|  楼主 | 2020-2-2 11:52 | 只看该作者
LE 2M PHY

LE 2M PHY功能使用与LE 1M PHY相同的发射功率,唯一的变化是PHY中数据的调制。使用LE 2M PHY,由于在相同的输出功率下进行更高的数据调制,能耗降低。下表列出了两个PHY之间的一些区别:



使用LE 2M PHY的主要优点是高吞吐量应用程序以更高的速度传输数据。


PHY限制

以下是BLE5-Stack当前的PHY限制:


BLE控制器不支持在连接期间链路层发起的PHY自动更改。连接总是以1M PHY形成。应用程序或对端设备调用 HCI_LE_SetPhyCmd()来切换到不同的PHY。

BLE控制器不支持连接在每个方向(RX和TX)上使用不同PHY的非对称连接。

HCI_LE_SetPhyCmd()中的PHY_options参数将在以后的版本中与LE Long Range功能一起得到支持。

默认PHY

应用程序可以调用HCI_LE_SetDefaultPhyCmd()来设置主配置和从配置的默认PHY首选项。如果没有指定首选项或API没有被调用,则堆栈将使用所有支持的PHY(1M + 2M)。类似地,对于HCI_LE_SetPhyCmd(),如果没有指定首选项,则堆栈将使用默认PHY(即由HCI_LE_SetDefaultPhyCmd()定义的连接PHY )),否则将使用参数中指定的内容。


HCI_LE_SetDefaultPhyCmd()应在连接之前调用。HCI_LE_SetPhyCmd()只能在连接期间被调用。另请注意,HCI_LE_SetDefaultPhyCmd()不更改PHY,只有HCI_LE_SetPhyCmd()可以更改PHY。在下面这两种情况下使用HCI_LE_SetDefaultPhyCmd()设置的首选项:


对端设备使用HCI_LE_SetPhyCmd()启动PHY更新过程, 以根据两个设备的首选项协商要使用的正确PHY。

HCI_LE_SetPhyCmd()被调用,设置为1 AllPhys参数(表示对设置参数没有要求)

在PHY协商中可以看到这个例子。



使用特权

评论回复
板凳
coshi|  楼主 | 2020-2-2 11:52 | 只看该作者
更改PHY
应用程序可以在连接中启动PHY更新过程,而不管设备的角色。在设置的PHY协商期间默认使用HCI_LE_SetDefaultPhyCmd()设置的PHY首选项,除非由HCI_LE_SetPhyCmd()更改。HCI LE setdefaultmd()用于指定用于传输和接收所有后续连接的首选参数。但是,当HCI_LE_SetPhyCmd()用于更改连接的PHY时,更改仅适用于该连接(后续连接将恢复为使用默认PHY)。

两者的参数HCI_LE_SetDefaultPhyCmd()和 HCI_LE_SetPhyCmd()是相同的。ALL_PHYS参数指定是否使用其他两个参数(TX_PHYS和RX_PHYS)。主值'1'表示客户端没有该方向的PHY偏好,而'0'表示应该使用相应的参数。可以将TX_PHYS和RX_PHYS设置为分别指定用于发送和接收的PHY。请注意,当指定所有支持PHY,堆栈总是试图一组PHY协商期间选择最快的PHY,具体实现参考下面PHY协商

下面的序列图显示了主机启动PHY更新过程的用例:



使用特权

评论回复
地板
coshi|  楼主 | 2020-2-2 11:53 | 只看该作者
或者,从设备也可以使用与以下相同的API启动PHY更新过程:


如果PHY没有改变(例如,如果主机尝试更改为Slave不支持的PHY),那么只有启动PHY Update过程的一方将获得hciEvt_BLEPhyUpdateComplete_t事件。另一方将不会收到hciEvt_BLEPhyUpdateComplete_t事件,如图中虚线箭头所示。




使用特权

评论回复
5
wiba| | 2020-3-1 11:27 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
6
zljiu| | 2020-3-1 11:30 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
7
drer| | 2020-3-1 11:35 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
8
gwsan| | 2020-3-1 11:38 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
kxsi| | 2020-3-1 11:43 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

3308

帖子

4

粉丝