蓝牙核心规范V5.2)3.3-深入详解之通信拓扑结构和操作(BR/EDR和LE工作过程)

网友投稿 830 2022-05-30

蓝牙篇之蓝牙核心规范(V5.2)深入详解汇总

目录

1.微网拓扑

1.1 BR/EDR拓扑

1.2 LE拓扑

2.操作程序和模式

2.1 BR/EDR程序

2.1.1 查询(发现)程序

2.1.2 寻呼(连接)程序

2.1.3  连接模式

2.1.4 保持模式

2.1.5 嗅探模式

2.1.6  角色转换程序

2.1.7 增强数据速率

2.1.8 无连接的从属广播模式

2.2 LE过程

2.2.1 设备过滤程序

2.2.2 广告程序

2.2.3   扫描程序

2.2.4 发现程序

2.2.5 连接程序

2.2.6 连接模式

2.2.7 周期广播程序

2.2.8 周期广播同步程序

2.2.9 周期广播同步模式

2.3 AMP程序

2.3.1 AMP发现程序

2.3.2 物理链接创建过程

2.3.3 逻辑链接创建过程

1.微网拓扑

1.1 BR/EDR拓扑

任何时候使用BR/EDR控制器创建链接时,它都在微网的上下文中。每个链路连接两个设备,称为“主设备”和“从设备”。它由一个单一的主设备组成,被称为它的主设备,以及所有与它相连的从设备,被称为它中的从设备。

连接的BR/EDR设备通过与公共时钟和跳变序列同步,在同一物理通道上进行通信。公共(piconet)时钟与微网的主节点的蓝牙时钟相同,跳变序列来自主节点的时钟和主节点的蓝牙设备地址(不同的跳变序列可用于不同的从属节点)。

设备A是设备B、C、D和E(由阴影区域表示)中的主设备,设备B、C、D和E作为从设备。

另外三个微网显示:

a)一个设备F作为主(称为微网F),设备E、G和H作为从;

b)一个设备D作为主(称为微网D)和设备J作为从,

c)一个设备M作为主(称为微网M),设备E作为从,许多设备N作为从。

在微网A中,有两个物理通道。设备B和C使用基本的微网物理通道(由蓝色机框表示),因为它们不支持自适应跳频。设备D和E能够支持自适应跳频,并使用自适应的微型网络物理通道(由红色框表示)。设备A能够自适应跳频,并在TDM基础上在处理从地址的两个物理通道上操作。

PiconetD和PiconetF都只使用一个基本的Piconet物理通道(分别由青色和洋红色的外壳表示)。在微网D的情况下,这是因为设备J不支持自适应跳变模式。虽然设备D支持自适应跳变,但它不能在这个图片中使用它。在皮内F中,F不支持自适应跳变,因此不能在这个皮内F中使用。

PiconetM(由橙色框表示)使用自适应Piconet物理通道上的无连接从文件广播物理链路,将配置文件广播数据发送到许多从设备,包括E和N。

设备K与其他设备位于相同的位置。它目前不是微型网络的成员,但它为其他蓝牙设备提供的服务。它当前正在监听其查询扫描物理通道(由绿色机框表示),等待来自其他设备的查询请求。

设备L与其他设备显示在同一位置。它目前不是一个微网的成员,但目前正在监听其同步扫描物理通道(由棕色机框表示),等待来自另一个设备的同步调整。

1.2 LE拓扑

设备A是微网(由阴影区域表示,称为微网A)中的主节点,将设备B和C作为从端。与BR/EDR从机不同,LE从机不与主机共享共同的物理通道。每个从服务器通过一个单独的方式进行通信物理通道与主通道。另一个微网是设备F作为主节点(称为piconetF),设备G作为从属节点。器件K位于散射网中(称为散点网K)中。设备K是设备L的主设备和设备M的从属设备。设备O也位于散点网(称为散点网O)中。设备O是设备P的从属设备和设备Q的从属设备。在图中,实心箭头指向从主到从;虚线箭头表示连接启动,使用可连接的广告事件从发起者指向到广播者;进行广告的设备使用星形表示。

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

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

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

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

设备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微型传感器物理通道(以浅绿色外框为代表)。设备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同时成为两个设备的从设备和一个设备的主设备。

2.操作程序和模式

蓝牙设备的典型操作模式是连接到其他蓝牙设备(在微型),并与这些蓝牙设备交换数据。由于蓝牙是一种特殊的无线通信技术,有许多操作程序可以形成微型网络,以便进行后续的通信。程序和模式应用于体系结构中的不同层,因此设备可以同时参与许多这些过程和模式。

2.1 BR/EDR程序

2.1.1 查询(发现)程序

蓝牙设备使用查询程序来发现附近的设备,或被其所在地区的设备发现。

查询程序是不对称的。试图找到附近其他设备的蓝牙设备被称为查询设备,并主动发送查询请求。可找到的蓝牙设备称为可发现设备,并侦听这些查询请求并发送响应。查询过程使用一个特殊的物理通道来进行查询请求和响应。

查询和可发现的设备可能已经连接到微网的其他蓝牙设备。花费时间在查询或占用查询扫描物理通道上的任何时间都需要与现有逻辑传输的QoS承诺的需求相平衡。

查询过程不使用物理通道上方的任何体系结构层,尽管在查询和查询响应信息的交换过程中可能认为存在一个瞬态的物理链接。

2.1.1.1 扩展查询响应

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

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

2.1.2 寻呼(连接)程序

形成连接的过程是不对称的,并且要求一个蓝牙设备执行寻呼(连接)过程,而另一个蓝牙设备是可连接的(寻呼扫描)。该过程是有目标的,因此寻呼过程只由一个指定的蓝牙设备响应。

可连接的设备使用一个特殊的物理通道来监听来自寻呼(连接)设备的连接请求数据包。此物理通道具有特定于可连接设备的属性,因此只有了解可连接设备的寻呼设备才能在此通道上进行通信。

寻呼和可连接设备可能已经连接到其他设备蓝牙设备。分页或占用物理页面扫描所花费的任何时间通道需要和服务质量承诺的要求相平衡现有的逻辑传输。

2.1.3  连接模式

在BR/EDR控制器上成功连接后,两个设备都连接到一个微网物理通道,设备之间有一个物理链接,还有默认的ACL-C、ACL-U、ASBC和ASB-U逻辑链接。其中两个链路(ACL-C和ASB-C)传输LMP控制协议,并且对链路管理器上方的图层不可见。ACL-U链路传输L2CAP通道协议和任何多路复用的L2CAP服务模型通道。ASB-U链路传输L2CAP频道,并广播到微网上的所有从端。通常是引用一个默认的ACL逻辑传输,它可以通过上下文来解决,但通常是引用一个默认的ACL-U逻辑链接。

当处于连接模式时,可以创建和释放额外的逻辑链接,并更改物理和逻辑链接的模式,同时保持连接到微网物理通道。该设备也可以执行查询、寻呼或扫描程序,或连接到其他微网,而不需要断开与原始微网的物理通道的连接。这些操作使用链路管理器完成,该管理器与远程蓝牙设备交换链路管理器协议消息。

AMP物理链路可以建立在连接模式下。一旦创建了一个AMP物理链路,就可以建立一个或多个AMP-U逻辑链路来传输L2CAP用户数据。

在从设备主动连接到微网期间,从设备和主设备之间总是有一个默认的ACL逻辑传输。删除默认ACL逻辑传输的唯一方法是将设备与未网物理通道中分离出来,此时将删除L2CAP通道、逻辑链接和设备之间的整个逻辑传输的层次结构。

2.1.4 保持模式

保持模式不是一般的设备模式,但适用于物理链路上的未预留插槽。在此模式下,物理链路仅在为同步链路类型SCO和eSCO的操作预留的插槽期间活动。所有的异步链接都处于非活动状态。保持模式为每次调用操作一次,然后完成后退出,返回到以前一个模式。

2.1.5 嗅探模式

嗅探模式不是一般的设备模式,但适用于默认的ACL逻辑传输。在这种模式下,通过定义由存在和缺席周期组成的占空比来修改这些逻辑传输的可用性。在嗅探模式下具有默认ACL逻辑传输的设备可能使用缺失的周期在另一个物理通道上的活动,或进入降低功率模式。嗅探模式只影响默认的ACL逻辑传输。它们的共享ACL逻辑传输),不适用于任何可能活动的SCO或eSCO逻辑传输。粒子元物理通道上物理链接存在和不存在的时期。

嗅探提供了一种进一步降低主动占空比的机制,从而提高了嗅探模式的省电能力。嗅探子程序允许主机通过指定最大的传输和接收延迟来创建一个有保证的类似访问的连接。这允许基带优化低功耗性能,而无需退出并使用链接管理器命令重新进入嗅探模式。

广播逻辑传输对存在或缺失没有明确的期望。主设备的目标应该是安排广播,以与微网物理通道内的物理链路存在的周期相一致,但这并不总是可能的或实际的。重复广播的定义是为了提高到达没有重叠存在期的多个从机的可能性。但是,不能认为广播逻辑传输是可靠的。

2.1.6  角色转换程序

角色切换过程是一种交换在微网中连接的两个设备的角色的方法。该过程涉及到从由原始主设备定义的物理通道移动到由新主设备定义的物理通道。在从一个物理通道切换到另一个物理通道的过程中,将删除BR/EDR控制器上的物理链接和逻辑传输的层次结构和重新构建,但拓扑所隐含的ASB逻辑传输除外。角色切换过程不影响AMP物理通道。在角色切换之后,原始微网物理通道可能不再存在,或者如果原始主服务器有仍然连接到通道的其他从机,则可能继续存在。

该过程只将默认的ACL逻辑链接和支持层复制到新的物理通道。此过程不会复制任何额外的逻辑传输,如果需要,这必须由更高的层来执行。任何受影响的传输机的LT_ADDRs都将被重新分配在新的物理通道上,因此,可能会发生变化。

如果在原始逻辑传输上有任何QoS承诺,那么在角色切换后不会保留这些承诺。这些问题必须在角色切换完成后进行重新协商。

2.1.7 增强数据速率

增强数据速率是一种扩展蓝牙数据包的容量和类型的方法,目的是增加最大吞吐量,为多个连接提供更好的支持,并降低功耗,而体系结构的其余部分保持不变。

增强数据速率可以作为在每个逻辑传输上独立运行的模式。一旦启用,数据包头中的数据包类型位的解释与基本速率模式中的含义不同。这种不同的解释将与标头中的逻辑传输地址字段一起得到澄清。这种解释的结果允许根据包类型接收和解调包有效负载头和有效负载。增强的数据速率只能用于ACL和eSCO逻辑传输,不能为SCO和广播逻辑传输启用。

2.1.8 无连接的从属广播模式

无连接从广播模式允许微网主机使用BR/EDR适应的微网物理通道将配置文件广播数据传输到任意数量的连接的从设备。要进入此模式,主机保留一个特定的逻辑传输作为专用的CSB逻辑传输和开始使用无连接从广播物理链路和同步传播过程来广播数据。定义了单个配置文件广播数据逻辑链路,它使用无连接的从广播逻辑传输来传输配置文件广播数据。配置文件广播数据是无帧的,并绕过L2CAP。

要接收无连接从广播数据包,设备必须与已经建立了CSB逻辑传输的无连接从广播传输器进行连接。要连接,设备按照同步扫描步骤获取物理链路的时间表,然后开始接收无连接从广播数据包。一旦连接,无连接的从广播接收器可以在专用的CSB逻辑传输和PBD逻辑链路上接收配置文件广播数据。

2.2 LE过程

2.2.1 设备过滤过程

设备过滤过程是控制器减少需要通信响应的设备数量的一种方法。由于不需要响应来自每个设备的请求,因此它减少了LE控制器所需要进行的传输次数,从而减少了功耗。它还减少了控制器将需要与主机进行的通信。这将节省额外的节能,因为主机不必参与。

广告或扫描设备可以使用设备过滤来限制其接收广告包、扫描请求或连接请求的设备。在LE中,由扫描设备接收到的一些广告包要求该扫描设备向该广告设备发送请求。如果使用了设备过滤,并且该广告设备正在进行过滤,则可以忽略此广告。在连接请求中也会出现类似的情况。连接请求必须由广告商响应,除非使用设备过滤器来限制广告设备需要响应的设备。广播者还可以使用设备过滤器来限制它将接受扫描请求或连接请求的设备。

此设备过滤是通过使用位于控制器LL块中的“白名单”来完成的。白名单枚举出允许与本地设备通信的远程设备。当白列表生效时,LL将忽略来自白名单中以外的设备的传输。由于设备过滤发生在LL中,因此它可以通过过滤(或忽略)广告数据包、从发送到更高层进行处理的扫描请求或连接请求来对功耗产生重大影响。

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

蓝牙核心规范(V5.2)3.3-深入详解之通信拓扑结构和操作(BR/EDR和LE工作过程)

2.2.2 广告程序

广播设备使用广告程序对该区域的设备进行单向广播。单向广播发生在广告设备和收听设备之间没有连接。广告程序可用于与附近的启动设备建立连接,或用于向侦听广告物理频道的扫描设备提供定期的用户数据广播。广告程序对所有的广告广播使用主要的广告物理频道。然而,数据可以将一个或多个辅助数据包卸载到一个或多个辅助数据包中的辅助广告物理信道,以减少主广告物理信道的占用和总播出时间,并允许数据比将适合单个数据包的最大值。

连接在LE微网中的LE设备可以使用任何类型的广告事件进行广告。连接时花费的广告时间需要与维护已建立的连接所需的连接要求相平衡(如果设备是微网中的从节点,则需要保持与主机的连接,如果设备是主节点,则需要维护与微网中的一个或多个从机的连接)。

广播设备可以接收来自侦听设备的扫描请求,以便从广告设备获得额外的用户数据。扫描响应由广告设备发送给发出扫描请求的设备。

广播设备可以接收来自启动器设备的连接请求。如果广告设备正在使用可连接的广告事件,并且启动设备没有被设备过滤程序过滤,则广告设备停止广告并进入连接模式。设备在处于连接模式后可以再次开始广播。

当在LE未编码的PHY上做广播时,扫描请求和扫描响应可以发生在与原始广播相同的PHY频道上,也可以卸载到次要广播物理频道。在某些情况下,当在LE未编码的PHYs上做广播时,连接请求和连接响应被卸载到辅助广播物理通道。

当在LE编码的PHY上做广播时,扫描请求、扫描响应、连接请求和连接请求总是被卸载。与广播数据一样,通过使主广播物理信道上的初始广播指向辅助广告物理信道上的辅助数据包来进行卸载。扫描请求和扫描响应、连接请求和连接响应都是在与辅助数据包相同的PHY和同一物理通道上进行的。

2.2.3   扫描程序

一种扫描设备使用该扫描程序来使用该广播物理频道,监听来自广播设备的用户数据的单向广播。扫描设备可以通过发出扫描请求来从广播设备请求额外的用户数据。广播设备通过通过广播物理通道发送给扫描设备的额外用户数据来响应这些请求。

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

如果广播是可连接的广播事件,并且扫描设备处于启动器模式,它可以通过向主广播物理通道或辅广播物理通道发送连接请求来启动连接。一旦向主广播物理通道发送连接请求,扫描设备将停止启动器模式扫描,并进入连接模式。当连接在辅助广告物理信道上发送该请求时,扫描设备离开发起者模式,停止扫描寻找额外的广播,并在接收到连接响应时进入连接模式。该设备进入连接模式后,可以使用扫描程序。对于主设备,使用发起者模式和扫描可连接的广播是如何添加其他设备的方式。

2.2.4 发现程序

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

这个发现过程是不对称的。试图找到附近其他设备的蓝牙设备被称为发现设备,并侦听广播可扫描广播事件的设备。可找到的蓝牙设备被称为可发现的设备,并通过广播的物理频道主动广播可扫描的广告事件。

发现和可发现的设备可能已经连接到微网内的其他蓝牙设备。花费在查询或占据广播物理通道的任何时间都需要与保持与其他已建立的连接设备相平衡。

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

2.2.5 连接程序

形成连接的过程是不对称的,要求一个蓝牙设备执行广播程序,而另一个蓝牙设备执行扫描程序。广播程序是可以是有针对性的,这样只有一个设备会对广播做出反应。扫描设备还可以针对广播设备,首先发现广播设备以可连接的方式存在,并且在给定区域中,然后使用设备过滤器只扫描来自该设备的可连接的广播事件。在从目标广播设备接收到可连接的广播事件后,可以通过主广播物理通道或辅助广播物理通道向目标广播设备发送连接请求来启动连接。

连接时扫描的时间需要与保持与其他LE设备已经建立的连接要求相平衡。

2.2.6 连接模式

在连接过程成功后,这些设备在一个微网内物理连接。这意味着它们都连接到一个微网物理通道,设备之间有一个物理链接,并且有默认的LE-C和LE-U逻辑链接。当处于连接模式时,可以在保持连接到微网物理通道的同时改变物理和逻辑链路的属性,例如改变自适应跳频序列或改变数据包的最大长度。该设备也可以进行广播、扫描或发现程序,而不需要断开与原始微网物理通道的连接。

使用链接管理器创建其他逻辑链接,该管理器与远程蓝牙设备交换LL协议消息,以协商这些链接的创建和设置。其中一个链路(LE-C)传输LL控制协议,并且对链路管理器上方的微网不可见。另一个链路(LE-U)传输L2CAP信令协议和任何多路复用的L2CAP服务通道。通常是引用默认的LE ACL逻辑传输,它可以通过上下文来解析,但通常是引用默认的LE-U逻辑链接。

这两个逻辑链接共享一个逻辑传输。

在从设备主动连接到微网期间,从设备和主设备之间总是有一个默认的LE ACL逻辑传输。删除默认LE ACL逻辑传输的方法是将设备与微网物理通道分离,此时删除L2CAP通道、逻辑链接和设备之间的整个逻辑传输。

2.2.7 周期广播程序

广播设备使用周期广播程序对该区域的设备进行单向周期性广播。单向广播发生在广播设备和收听设备之间没有连接。周期广播程序可用于与附近的设备同步,以向侦听广播物理通道的扫描设备提供用户数据的确定性的周期性广播。广播程序使用主和辅广播物理通道来广播有关周期性广播的控制信息,称为周期性广播同步信息。广播设备还可以通过LE-C逻辑链路将定期的广播同步信息传递给另一个连接的设备。

与周期性物理通道上的其他LE设备同步的LE设备使用周期广播事件。与其他LE设备连接或同步时周期广播的时间需要与维护已经建立的连接或同步所需的连接和同步需求相平衡。

2.2.8 周期广播同步程序

周期性广告播同步的过程包括两部分:获取周期广播同步信息,然后监听周期广播。第一部分可以使用两种方法中的任何一种来完成。

第一种方法要求一个蓝牙设备执行广播程序,而另一个蓝牙设备执行扫描程序。该扫描设备可以通过首先发现该广播设备存在并在给定区域内广播周期性广告来针对该广播设备。然后,扫描设备需要从目标广播设备接收包含周期性广播同步信息的广播事件。

第二种方法要求已经具有周期性广播同步信息的设备通过LE-C逻辑链路将其传递给另一个已连接的设备。

一旦接收装置获得周期性广播同步信息,程序的第二部分是直接侦听这些周期性广播事件;接收装置成功接收到该事件时同步。

同步设备可能已经是广播、扫描,或连接到微网中的其他蓝牙设备,或同步到其他周期性广播。与周期广播同步所花费的任何时间都需要与保持已经建立的连接或同步所需的需求相平衡。

2.2.9 周期广播同步模式

在一个成功的周期性广播同步过程后,设备彼此物理同步。这意味着有一个周期性的物理通道,它们都被同步,设备之间有一个周期性的物理链接,并且有一个ADVB-U和一个ADVB-C逻辑链接。该设备还可以执行广播、扫描或发现程序,而不需要断开与LE周期性物理通道的连接。

监听周期广播的链接层可以向主机报告周期广播中的数据。当它不向主机报告数据时,链路层不需要侦听那么多的事件来保持同步,因此可能为其他过程提供更多的时间或减少功耗。

2.3 AMP程序

2.3.1 AMP发现程序

AMP管理器负责发现本地AMP控制器,并随着时间的推移保持该列表,因为可以从系统中动态添加或删除。本地AMP管理器可能会从远程AMP管理器请求AMP的列表。在远程设备请求AMP列表后,当从系统中添加或删除AMP时,本地AMP管理器将通知远程AMP管理器该更改。

每个AMP都用一个ID和一个类型进行标识。一旦收到AMP列表,AMP管理器可能会为每个AMP请求信息(AMP_Info)。

2.3.2 物理链接创建过程

要通过AMP物理链路(AMP通道)设置具有远程设备的L2CAP通道,AMP管理器首先发现远程AMP,收集有关远程AMP的必要信息,以最佳方式设置物理链路,然后启动物理链路创建。这是在一个专用的L2CAP通道上完成的。

AMP管理器提供它收集的关于远程AMP的远程AMP PAL的远程AMP信息。然后,本地AMP PAL使用此信息创建AMP物理链接。

2.3.3 逻辑链接创建过程

一旦一个物理链接存在,L2CAP将与所需的QoS创建一个AMP逻辑链接。然后在逻辑链路上创建一个L2CAP通道,此时该通道已准备好进行数据通信。

网络

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ROSCon 2016视频和幻灯片发布 ROS机器人操作系统重要参考资料
下一篇:《企业级容器云架构开发指南》—2.2 微服务概要介绍
相关文章