蓝牙架构(9)—— 4 通信拓扑(4.1. 微微网拓扑 & 4.2 操作过程和模式)

Vol 1架构和术语概述

Part A 4 通信拓扑

Agenda:

Part A 4. 通信拓扑. 

4.1. 微微网拓扑. 

4.1.1 BR/EDR拓扑. 

4.1.2 LE拓扑. 

4.2 操作过程和模式. 

4.2.1 BR/EDR过程. 

4.2.2 LE过程. 

 

Part A 4. 通信拓扑

4.1. 微微网拓扑

4.1.1 BR/EDR拓扑

(227页)每建立一个Bluetooth 无线链路,即处于微微网中。一个微微网由两个或更多占用相同物理信道的设备组成(这表示这些设备是按照共用时钟和跳频序列进行同步的)。共用(微微网)时钟与微微网中其中一个设备的Bluetooth 时钟是相同的,该设备称为微微网主设备,而跳频序列则派生自微微网主设备的时钟和Bluetooth 设备地址。微微网中所有其它已同步的设备都称为从设备。术语主设备和从设备仅用于描述微微网中的这些角色。

在一个地理位置中可能存在多个独立的微微网。每个微微网都有各自的物理信道(即各自的微微网主设备、独立的微微网时钟和跳频序列)。

一个启用 Bluetooth 的设备可能同时存在于两个或更多的微微网中。这通过时分复用实现。一个启用Bluetooth 的设备无法同时成为多个微微网主设备。(由于微微网是按照主设备的Bluetooth 时钟定义的,因此一个设备不可能同时作为两个或更多微微网的主设备)。一个启用Bluetooth 的设备可以成为多个独立微微网的从设备。

一个启用 Bluetooth 的设备成为两个或更多微微网的成员时,即称为处于散射网中(scatternet)。处于散射网中并不意味着该启用Bluetooth 的设备具有任何网络路由能力或功能。Bluetooth 核心协议不会也

没有责任提供这样的功能,此功能应由更高级别的协议指定,不属于Bluetooth 核心规格的范围。(228页)

蓝牙架构(9)—— 4 通信拓扑(4.1. 微微网拓扑 & 4.2 操作过程和模式)_第1张图片

逻辑传输、逻辑链路和 L2CAP 信道用于提供传输数据的能力。

在图4.1中,显示了一个示例拓扑,演示了下面描述的许多架构特性。

  • 微微网A,设备A是微微网中的主设备(由阴影区域表示,称为微微网A),设备B,C,D和E作为从设备。
  • 微微网F,其中设备F为主设备(称为微微网F),设备E,G和H为从设备
  • 微微网D,设备D为主设备(称为微微网D),设备J为奴隶
  • 微微网M,设备M作为主设备(称为微微网M),设备E和许多设备N作为从设备。

在微微网A中有两个物理信道。设备B和C使用基本微微网物理信道(由蓝色外壳表示),因为它们不支持自适应跳频。设备D和E能够支持自适应跳频,并且正在使用适应的微微网物理信道(由红色外壳表示)。设备A能够自适应跳频,并且在两个物理信道上以TDM为基础操作,根据该物理信道寻址从设备。

微微网D和微微网F都仅使用基本微微网物理信道(分别由青色和品红色外壳表示)。在微微网D的情况下,这是因为设备J不支持自适应跳频模式。虽然设备D支持自适应跳频,但它不能在微微网中使用它。

在微微网F中,设备F不支持自适应跳频,因此它不能用在这个微微网中。

微微网M(由橙色外壳表示)在自适应微微网物理信道上使用无连接从属广播物理链路,以向包括E和N的许多从设备发送简档广播数据。

(229页)设备K显示在与其他设备相同的位置。 它目前不是微微网的成员,但它提供给其他蓝牙设备的服务。它正在侦听其查询扫描物理信道(由绿色圈代表),等待来自其他设备的查询请求。

设备L显示在与其他设备相同的位置。 它目前不是微微网的成员,但目前正在监听其同步扫描物理信道(由棕色圈表示),等待来自其他设备的同步列。

4.1.2 LE拓扑

蓝牙架构(9)—— 4 通信拓扑(4.1. 微微网拓扑 & 4.2 操作过程和模式)_第2张图片

在图4.2中,显示了一个示例拓扑,演示了下面描述的许多LE架构特性。 设备A是微微网中的主设备(由阴影区域表示,称为微微网A),设备B和C作为从设备。 与BR / EDR从站不同,LE从站不与主站共享公共物理通道。 每个从设备与主设备在单独的物理信道上通信。 示出了另一个微微网,其中设备F作为主设备(称为微微网F),设备G作为从设备。 设备K位于散射网(称为散射网K)中。 设备K是设备L的主设备和设备M的从设备。设备O也在散射网(称为散射网O)中。 设备O是(230页)设备P的从设备和设备Q的从设备。注意:在图中,实线箭头指向主设备;虚线箭头,表示连接发起,使用可连接的广播事件从发起者到广播设备的点;广播设备使用星号表示。

还显示了其他五组设备:

1.设备D是广播设备,设备A也是发起者(称为组D)。

2.设备E是扫描仪,设备C也是广播设备(称为组C)。

3.设备H是广播设备,设备I和J是扫描仪(称为组H)。

4.设备K​​也是广播设备,设备N是发起者(称为组K)。

5.设备R是广播设备,设备O也是发起者(称为组R)。

设备A和B使用一个LE微微网物理信道(由蓝色外壳和深灰色背景表示)

设备A和C正在使用另一个LE微微网物理信道(由蓝色外壳和浅灰色背景表示)。在组D中,设备D使用广播物理信道上的可连接广播事件(由绿色外壳表示)进行广播,并且设备A是发起者。设备A可以与设备D形成连接并将设备添加到微微网A.在组C中,设备C还使用由设备捕获的任何类型的广播事件在广播物理信道(由橙色外壳表示)上做广播。 E作为扫描仪。组D和组C可以使用不同的广播PHY信道或不同的时序来避免冲突。

在微微网F中,有一个物理信道。设备F和G使用LE微微网物理信道(由aqua外壳表示)。设备F是主设备,设备G是从设备。

在H组中,有一个物理信道。设备H,I和J正在使用LE广播物理信道(由紫色外壳表示)。设备H是广播设备,设备I和J是扫描仪。

在散射网络K中,设备K和L使用一个LE微微网物理信道。设备K和M正在使用另一个LE微微网物理信道。在组K中,设备K还使用广播物理信道上的可连接广播事件进行广播,并且设备N是发起者。设备N可以与设备K形成连接,导致设备K同时是两个设备的从设备和一个设备的主设备。

在散射网O中,设备O和P使用一个LE微微网物理信道。设备O和Q使用另一个LE微微网物理信道。在组R中,设备R在广播物理信道上使用可连接的广播事件进行广播,并且设备O是发起者。设备O可以与设备R形成连接,导致设备O同时是两个设备的从设备和一个设备的主设备。

4.2 操作过程和模式

(231页)启用 Bluetooth 的设备的典型操作模式是连接到其它启用Bluetooth 的设备(在微微网中)并与此启用Bluetooth 的设备进行数据交换。Bluetooth 技术是一项专门的无线通信技术,因此还具有多种构建微微网的可选操作过程,以便进行后续通信。过程和模式分别在架构的不同层上应用,因此,设备可同时出现在多个过程和模式中。

4.2.1 BR/EDR过程

4.2.1.1 Inquiry(Discovering)过程

启用 Bluetooth 的设备通过查询过程发现附近的设备,或被它们所在位置的其它设备发现。

查询过程是不对称的。

  • 尝试查找附近其它设备的启用Bluetooth 的设备称为inquiring查询设备,它会主动发送查询请求。
  • 可被其它设备找到的启用Bluetooth 的设备称为discoverable可发现设备,它会监听查询请求并作出响应。

查询过程使用专为查询请求和响应而设的物理信道。

查询设备和可发现设备都可能已连接到微微网中其它启用Bluetooth 的设备。所有花费在查询或占用查询扫描物理信道上的时间都需要与现有逻辑传输上的 QoS 承诺要求取得平衡。

查询过程不会使用物理信道之上的任何架构层,虽然在交换查询和查询响应信息过程中,可以认为短暂存在物理链路。

4.2.1.1.1扩展查询响应

扩展查询响应可用于在查询响应过程中提供杂项信息。 数据类型是为本地名称支持的服务定义的,否则必须通过建立连接来获取信息。 在扩展查询响应中接收本地名称和支持服务列表的设备不必连接以执行远程名称请求和SDP服务搜索,从而缩短了有用信息的时间。 建议设备包括所有支持的服务及其本地名称的重要部分(如果该名称太长而无法完整发送),则在扩展查询响应中。

扩展的查询响应过程向后兼容标准查询响应过程。

4.2.1.2 Paging (Connecting)过程

(232页)建立连接的过程是不对称的,要求一个启用Bluetooth 的设备在另一启用Bluetooth 的设备可连接connectable(page scanning)时执行page(connection)过程。寻呼过程有明确目标,因此只能由一个指定的启用Bluetooth的设备对寻呼过程作出响应。可连接设备通过特别的物理信道监听寻呼(连接)设备发出的连接请求数据包。此物理信道具有可连接设备特有的特性,因此只有对此可连接设备有一定认识的寻呼设备才可以通过此信道与其通信。寻呼设备和可连接设备都可能已连接到微微网中其它启用Bluetooth 的设备。所有花费在寻呼或占用寻呼扫描物理信道上的时间都需要与现有逻辑传输上的 QoS 承诺要求取得平衡。

4.2.1.3  connected模式

成功执行连接过程后,微微网中的两台设备之间将建立物理连接。这表示存在一个两者都连接到的微微网物理信道,在设备之间存在一个物理链路,并存在默认的 ACL-C 和 ACL-U 逻辑链路。处于已连接模式时,可以创建和释放额外的逻辑链路,以及在保持与微微网物理信道的连接情况下,更改物理和逻辑链路的模式。设备也可以进行查询寻呼扫描过程,或者在不断开与原微微网物理信道的连接情况下,连接到其它微微网。

要创建额外逻辑链路,可通过使用链路管理器与启用Bluetooth 的远程设备交换链路管理协议 (LMP)消息以协商这些链路的创建和设置。在连接过程中始终会创建默认的 ACL-C 和 ACL-U 逻辑链路,分别用于 LMP 消息和 L2CAP 信令信道。

请注意,两台设备初次建立连接时会创建两个默认的逻辑链路。其中一个链路 (ACL-C) 传输 LMP 控制协议,且对于链路管理器之上的层,它是不可见的。另一个链路 (ACL-U) 传输 L2CAP 信令协议和所有被复用的 L2CAP 尽力服务信道。很多时候会直接说默认的 ACL 逻辑传输,这可以根据上下文确定是 ACL-C 链路还是 ACL-U 链路,但通常指的都是默认 ACL-U 逻辑链路。另请注意,这两个逻辑链路共享一个逻辑传输。

当从设备主动连接微微网时,从设备和微微网主设备之间始终会存在一个默认的 ACL 逻辑传输。有两种方法可以删除默认的 ACL 逻辑传输。(233页)

  • 第一种方法是从微微网物理信道中断开设备,此时设备之间的整个 L2CAP 信道、逻辑链路和逻辑传输层级都将被删除。
  • 第二种方法是将指向从设备的物理链路置于休眠状态,此时它将放弃其默认 ACL 逻辑传输。此方法仅当所有其它逻辑传输(无法显式创建和删除的 ASB 逻辑传输除外)都已被删除时才能使用。如果设备除默认 ACL 和 ASB 逻辑传输外还存在其它逻辑传输,则不允许将设备置于休眠状态。

当从设备物理链路进入休眠状态后,它的默认 ACL 逻辑传输将解除,而 ASB 逻辑传输则被替换为PSB 逻辑传输。默认 ACL 逻辑传输复用的 ACL-C 和 ACL-U 逻辑链路仍然存在,但不能用于传输速据。微微网主设备上的链路管理器限制自己仅使用可通过 PSB-C 逻辑链路传输的 LMP 消息。信道管理器和 L2CAP 资源管理器确保在设备处于休眠状态时,不会有单播数据通信量提交到控制器。

信道管理器可以根据必要使设备进入和退出休眠状态,以允许传输数据。

4.2.1.4  hold模式

保持模式不是一般的设备模式,而是适用于物理链路上未保留的时隙。处于保持模式时,

  • 物理链路仅在为同步链路类型 SCO 和 eSCO 操作而保留的时隙中处于活动状态
  • 所有异步链路都是不活动的

每开启一次保持模式便执行一次保持过程,完成后便退出,返回原来的模式。

4.2.1.5 sniff模式

监听模式不是一般的设备模式,而是适用于默认 ACL 逻辑传输。处于监听模式时,可通过定义一个由“presence”和“absence”时段组成的周期(占空比)来修改这些逻辑传输的可用性。如果设备的默认 ACL 逻辑传输处于监听模式,该设备可在缺席时段参与其它物理信道中的活动,或进入节能模式。

监听模式(Sniff subrating)只影响默认ACL 逻辑传输(例如它们共享的 ACL 逻辑传输),不适用于任何可能是活动的其它 SCO 或 eSCO逻辑传输。位于微微网物理信道上的物理链路,它的出场和缺席时段取决于在物理链路中构建的所有逻辑传输的联合。

(234页)请注意,广播逻辑传输没有既定的出场或缺席时段。微微网主设备应调度广播,让其与微微网物理信道中物理链路的出场时段一致,但这并不是一直都可行或有效的。定义重复广播的目的在于提高在不重叠出场时段情况下到达多个从设备的可能性。但是,不能过分依赖广播逻辑传输。

4.2.1.6 parked状态

从设备可以在保持连接到微微网的同时使其物理链路处于休眠状态。在这种状态下,设备无法支持任何指向微微网主设备的逻辑链路,除了微微网主设备和休眠从设备之间所有通信使用的 PSB-C 和PSB-U 逻辑链路外。指向一个从设备的物理链路处于休眠状态时,微微网主设备和从设备之间的通信受到一定限制,具体由 PSB 逻辑传输参数定义。在 PSB 逻辑传输不活动(或缺席)期间,设备可以参加其它物理信道上的活动,或进入节能模式。

4.2.1.7 角色切换过程

角色切换过程是一种在两个已连接到微微网的设备之间进行角色交换的方法。过程主要实现从微微网主设备定义的物理信道向微微网主设备定义的物理信道的转移。

在物理信道与新物理信道交换的过程中,将删除然后重建整个物理链路和逻辑传输层级,拓扑暗含的 ASB 和 PSB 逻辑传输除外,它们不会被保留。完成角色切换后,原微微网物理信道可能不再存在,也可能继续运行—只要原微微网主设备拥有其它仍保持连接的从设备。

此过程仅将默认 ACL 逻辑链路和支持它的层级复制到新物理信道, 而不会复制任何其它逻辑传输;如有需要,须由更高层复制这些附加逻辑传输。所涉及传输的 LT_ADDR 地址不会被保留,因为新物理信道可能已开始使用这些值。

如果原逻辑传输中存在任何 QoS 承诺或模式(如监听模式),则角色切换后这些 QoS 承诺和模式将丢失。它们必须在角色切换完成后重新协商。

4.2.1.8 增强的数据率

增强的数据率 (EDR) 是一种用于扩展Bluetooth 数据包容量和类型的方法,(235页)其目的是在不改变架构其余部分的情况下,增加最大吞吐量、提供更好的多连接支持减少功耗

EDR 可作为模式选择,并在各个逻辑传输上独立操作。启用该模式后,对数据包包头中数据包类型位的翻译与其在基本速率模式时的意思会有所不同。此不同的翻译与包头中的逻辑传输地址字段一起列出。这种翻译的结果允许根据数据包类型接收并解调数据包净荷包头和净荷。EDR 仅对 ACL-U、eSCO-S 逻辑传输有效,对 ACL-C、SCO-S 和广播逻辑传输无效

4.2.1.9 无连接从属广播模式

无连接从属广播模式允许微微网主设备使用BR / EDR适应的微微网物理信道将协议广播数据发送到任何数量的连接的从设备。为了进入该模式

  • 主设备保留特定的逻辑传输作为专用CSB逻辑传输,并使用无连接从属广播物理链路和同步训练过程开始广播数据。
  • 定义单个协议广播数据逻辑链路,其使用无连接从属广播逻辑传输来携带协议广播数据。
  • 协议广播数据是非成帧的并绕过L2CAP。

要接收无连接从属广播数据包,设备必须与已建立CSB逻辑传输的无连接从属广播发送器连接。要进行连接

  • 设备将遵循同步扫描过程以获取物理链路的时间表,
  • 然后开始接收无连接从属广播数据包。

一旦连接,无连接从属广播接收器就可以在专用CSB逻辑传输和PBD逻辑上接收协议广播数据链接。

4.2.2 LE过程

4.2.2.1 Device filtering过程

设备过滤过程是控制器减少需要通信响应的设备数量的方法。

  • 由于不需要响应来自每个设备的请求,因此减少了LE控制器需要进行的传输次数,从而降低了功耗。
  • 它还减少了控制器与host进行的通信。 由于不必涉及host,因此可以节省更多功率。

advertising或scanning设备可以采用设备过滤来限制其接收广播分组扫描请求连接请求

  • 在LE中,(236页)扫描设备接收的一些广播包要求扫描设备向广播设备发送请求。如果使用设备过滤并且正在过滤广播设备,则可以忽略该广播。
  • 连接请求也会出现类似情况。除非使用设备过滤器来限制广播设备需要响应的设备,否则广播设备必须回复连接请求。广播设备还可以使用设备过滤器来限制接受扫描请求或连接请求的设备。

通过使用位于控制器的LL块中的“白名单”来完成该设备过滤。

  • 白名单列举了允许与本地设备通信的远程设备。
  • 当白名单生效时,LL将忽略来自不在白名单中的设备的传输。
  • 由于设备过滤发生在LL中,因此通过过滤(或忽略)广播数据包,扫描请求或连接请求被发送到更高层进行处理,可以对功耗产生显着影响。

需要仔细评估在某些过程中使用设备过滤,以确保不会无意中忽略设备,这可能会在尝试建立连接或接收广播时导致互操作性问题。

4.2.2.2 advertising过程

广播设备使用广播过程来对该区域中的设备执行单向广播。

  • 单向广播在advertising设备和listening设备之间没有连接的情况下发生。
  • 广播过程可用于与附近的发起设备建立连接,
  • 或用于向在广播信道上收听的扫描设备提供用户数据的定期广播。
  • 广播过程将广播物理频道用于所有广播。

连接在LE微微网中的LE设备可以使用任何类型的广播事件进行广播。连接时花费的时间需要与维护已建立的连接所需的连接要求进行平衡:

  • 如果设备是微微网中的从设备,那么它需要保持与主设备的连接
  • 如果设备为主设备它需要与微微网中的一个或多个从设备保持连接。

广播设备可以从收听设备接收扫描请求,以便从广播设备获得额外的用户数据。在同一个广播物理信道上,广播设备发送扫描响应到进行扫描请求的设备。尽管作为广播包的一部分,发送的广播用户数据本质上通常是动态的,但扫描响应数据本质上通常是静态的。

广播设备可以在广播物理信道上接收来自发起者设备的连接请求。如果广播设备正在使用可连接的广播事件,并且未通过设备过滤过程过滤发起设备,(237页)则广播设备停止广播并进入连接模式。 设备处于连接模式后,设备可以再次开始广播。

4.2.2.3 scanning过程

扫描设备使用扫描过程来使用广播物理信道来监听来自广播设备的用户数据的单向广播。

  • 扫描设备可以通过在广播物理信道上发出扫描请求来从广播设备请求附加的用户数据。
  • 广播设备通过在广播物理信道上发送到扫描设备的附加用户数据来响应这些请求。

可以在连接到LE微微网中的其他LE设备时使用扫描过程。连接时扫描所花费的时间需要与维持与微微网中其他LE设备已建立的连接所需的连接要求相平衡。

如果广播是可连接的广播事件并且扫描设备处于initiator模式,则它可以通过在广播物理信道上向广播设备发送连接请求来发起连接。一旦发送连接请求,扫描设备就停止发起方模式扫描以获得附加广播并进入连接模式。设备进入连接模式后可以使用扫描过程。对于主设备,使用启动器模式和扫描可连接的广播是如何将附加设备添加到主设备的LE微微网。

4.2.2.4 discovering过程

蓝牙设备使用广播过程和扫描过程来发现附近的设备,或者被给定区域中的设备发现。

  • 想要发现附近设备的设备被称为发现设备,并监听广播可扫描广播事件的设备。
  • 可以被发现的设备被称为可发现设备,并且通过广播物理信道主动广播可扫描广播事件。

发现和可发现设备可能已经连接到微微网中的其他蓝牙设备。花费在查询或占用广播物理信道上的任何时间都需要与维持与微微网中的其他LE设备已建立的连接所需的连接要求相平衡。

使用扫描设备的设备过滤将阻止扫描设备发现给定区域中的所有设备。

4.2.2.5 connecting过程

(238页)形成连接的过程是不对称的,并且要求一个蓝牙设备执行advertising过程,而另一个蓝牙设备执行scanning过程。

  • 广播过程可以是有目标的,因此只有一个设备将响应广播。
  • 如果在给定区域中,扫描设备发现广播设备是可连接状态,可以使用设备过滤器仅扫描来自该设备的可连接广播事件,以此来瞄准广播设备。
  • 在从目标广播设备接收到可连接的广播事件之后,它可以通过广播物理信道向目标广播设备发送连接请求来发起连接。

连接时扫描所花费的时间需要与维持与微微网中其他LE设备已建立的连接所需的连接要求相平衡。

4.2.2.6 connected模式

在成功连接过程之后,设备在微微网内物理连接。这意味着存在它们都连接在同一个微微网物理信道,设备之间存在物理链路,并且存在默认的LE-C和LE-U逻辑链路。当处于连接模式时,

  • 可以在保持连接到微微网物理信道的同时改变物理和逻辑链路的属性,例如改变自适应跳频序列或改变数据分组的长度。
  • 设备还可以执行广播,扫描或发现过程而无需与原始微微网物理信道断开连接。

使用链接管理器创建其他逻辑链接,链接管理器与远程蓝牙设备交换LL协议消息,以协商这些链接的创建和设置。

  • 其中一个链路(LE-C)传输LL控制协议,对链路管理器上方的层不可见。
  • 另一个链路(LE-U)传输L2CAP信令协议和任何多路复用的L2CAP尽力而为信道。

通常引用默认的LE ACL逻辑传输,其可以通过上下文来解析,但通常是指默认的LE-U逻辑链路。另请注意,这两个逻辑链路共享逻辑传输。

在从设备主动连接到微微网的时间期间,从设备和主设备之间始终存在默认的LE ACL逻辑传输。删除默认LE ACL逻辑传输的方法是将设备与微微网物理信道分离,此时删除设备之间的L2CAP信道,逻辑链路和逻辑传输的整个层次结构。

————————————————————————————————————————

Reference

1 BT specification Core 4.2,Bluetooth SIG.

————————————————————————————————————————

作者按:蓝牙从业者,潜心学习BT stack,蓝牙协议奇多无比,概述只是开始,网上资料还比较多,学到后面的各种spec就只剩下英文原版可以参考了,遂把自己的笔记发出来,互相交流,互相交流。

你可能感兴趣的:(躺雨没的学习笔记——蓝牙架构)