链路层状态可同时进行多个连接

时间:2018-11-12 14:00:27

标签: bluetooth-lowenergy

如果我正确理解了链路层,则它始终完全处于“待机”,“广告”,“正在扫描”,“正在启动”或“已连接”五个状态之一。那么,如何同时连接两个设备呢?当我连接到一台设备时,链路层处于“已连接”状态。要连接到另一台设备,它必须切换到“正在启动”或“正在广告”状态(取决于其GAP角色),同时保持已连接设备的“已连接”状态。但是然后它同时处于两种状态,这是禁止的。

我在哪里错了?

1 个答案:

答案 0 :(得分:2)

您对链接层状态的理解是正确的;核心规范(1)中的图中对此进行了演示:-

enter image description here

但是,该规范还指出,链路层可以选择支持以下多个状态机(2):-

  • 处于连接状态的链路层可以同时充当主角色和从角色。
  • 处于从属角色的连接状态下的链路层可能具有多个连接。
  • 处于“主角”角色的“连接状态”中的链路层可能具有多个连接。
  • 还可以支持状态和角色的所有其他组合。
  • 处于连接状态的链路层最多应具有一个与处于连接状态的另一链路层的连接。

下表列出了链路层状态(3)的几种可能的组合:-

enter image description here

我希望这会有所帮助。

  1. 蓝牙规范,版本5.0,第6卷,B部分,一般说明,第2553页
  2. 蓝牙规范,版本5.0,第6卷,B部分,一般说明,第2554页
  3. 蓝牙规范,版本5.0,第6卷,B部分,一般说明,第2555页