低功耗蓝牙(BLE)-- Architecture篇

        BLE 工作在非授权的 2.4 GHz ISM 频段,采用跳频的方式来对抗干扰和衰落,并提供许多 FHSS (Frequency-Hopping Spread Spectrum)载波。BLE协议目前支持1Mb/s,2Mb/s,500kb/s和125kb/s四种通信速率,对于BLE设备来说,其中1Mb/s 是必须要支持的,2Mb/s,500kb/s和125kb/s速率是可选的。其中500kb/s和125kb/通过前向纠错编码的方式,分别使用2个符号代表1比特(S=2),和使用8个符号代表1比特(S=8)的方式来实现更好的抗干扰能力,进而来实现更远的通信距离,即Core_v5.0开始支持的Long Range特性。

图 1  Summary of PHYs, modulation schemes, and coding schemes

        BLE 采用两种多址方案:频分多址 (FDMA) 和时分多址 (TDMA)。 FDMA 方案中使用了40个物理信道,间隔为 2 MHz。 3个广播信道,37 个数据信道(包括作为第二广播信道)。 使用基于 TDMA 的轮询方案,其中一个设备在预定时间发送数据包,而相应的设备在预定时间间隔后以数据包进行响应。

        物理信道被细分为称为事件的时间单位。 数据以位于这些事件中的数据包的形式在BLE设备之间传输。存在以下类型的事件:广播、扩展广播、定期广播、连接和同步事件。

        在广播物理信道上传输广播数据包的设备称为广播者。 在广播物理通道上接收广播数据包而不打算连接到广播设备的设备称为扫描者。广播物理信道上的传输发生在广播事件中。 在每个广播事件开始时,广播者发送与广播事件类型对应的广播包。 根据广播数据包的类型,扫描者可以在相同的广播物理信道上向广播者发出请求,随后可能是来自广播者在相同的广播物理信道上的响应。 在同一广播事件中发送的下一个广播数据包时会改变广播物理信道。 广播者可能会在广播事件器件的任何时间去结束事件。 第一个广播物理信道在下一个广播事件开始时使用。

图 2 Advertising events
 

        在两个或多个设备之间使用广播事件进行单向或广播通信的情况下,BLE 设备可以完成整个通信。它们还可以使用广播事件在使用数据物理信道的两个或多个设备之间建立成对的双向通信,使用辅助广播物理信道建立周期性广播,或使用同步物理信道建立无连接的同步流。

        需要与另一个设备形成 ACL 连接的设备侦听可连接的广播数据包。此类设备称为发起者。如果广播者正在发送可连接广播,发起方可以使用其接收到可连接广播数据包的同一广播信道发送连接请求。如果广播者接收并接受发起连接的请求,则广播事件结束并且连接事件开始。一旦建立了连接,发起者就成为所谓的微微网的中心,而广播设备成为Peripheral设备。连接事件用于在 Central 和 Peripherals 之间发送数据包。在连接事件中,信道跳跃发生在每个连接事件的开始。在连接事件中,Central 和外Peripheral使用相同的数据信道交替发送数据包。 Central发起每个连接事件的开始,可以随时结束每个连接事件。

图 3 Connection events
 

         微微网中的设备使用特定的跳频模式,该模式由发起设备发送的连接请求中包含的字段在算法上确定。 BLE 中使用的跳频模式是 ISM 频段中 37 个频率的伪随机排序。跳频模式可以适用于排除干扰设备使用的一部分频率。自适应跳频技术改善了BLE与静态(非跳频)ISM 系统的共存,当这些系统位于同一位置并可以访问有关本地无线电环境的信息或通过其他方式检测到时。Peripheral设备可以将频率分类为好和坏,并将该信息提供给Central 。Central 可以在调整跳频模式时考虑这些信息。

        使用 ACL 连接,Central 可以建立一个或多个使用同步物理通道的同步连接。同步连接用于通过使用逻辑传输在中央和外设之间传输同步数据,这被称为连接同步流 (CIS)。 CIS 由定期发生的 CIS 事件(指定为 ISO_Interval)组成。每个 CIS 事件都包含一个或多个子事件。在每个子事件中,Central 发送一次,Peripheral 响应。如果中央和外设已完成在 CIS 事件中传输计划的同步数据,则该事件中所有剩余的子事件将没有无线电传输,并且该事件将关闭。每个子事件使用一个 PHY 通道,该通道是通过使用通道选择算法确定的。用于子事件的 物理信道标记为 ISO Ch(eventcount, subeventcount),如图4所示。

图 4 CIS events and subevents
 

         设备可以使用同步物理信道通过同步无连接逻辑传输来广播同步数据。同步无连接逻辑传输称为广播同步流 (BIS)。 BIS 由定期发生的 BIS 事件(指定为 ISO_Interval)组成。每个 BIS 事件都包含一个或多个子事件。在每个子事件中,广播设备发送一个同步数据包。每个子事件使用一个使用通道选择算法确定的物理信道。

        设备还可以使用同步物理信道在控制子事件中广播控制信息,该控制信息在BIS 的所有子事件结束时传输,如图5 所示。

        传输 BIS 事件的设备也会传输包含 BIS 同步信息的周期性广播事件。正在扫描的设备可以同步到那些周期性广播事件并接收同步信息。使用此同步信息,设备可以同步到 BIS 并接收同步数据。图 5 显示了两个 BIS 事件:一个有控制子事件,一个没有控制子事件。每个子事件使用一个标记为 ISO Ch(eventcount, subeventcount) 的物理信道,如图5 所示。

图 5 BIS events, subevents, and Control subevent
 

        在物理信道之上有链路、信道和相关控制协议的概念。层次结构是物理通道、物理链路、逻辑传输、逻辑链路和 L2CAP 通道。

        在物理信道内,设备之间形成物理链路。活动物理链路提供Central和Peripheral 之间的双向数据包传输。 Central可能一次有到多个 Peripherals 的物理链接,而 Peripherals 可能一次有到多个 Central 的物理链接。一个设备可能同时处于不同微微网中的 Central 和 Peripheral。不支持 Central 和 Peripheral 之间的角色更改。广播和周期性物理链接提供从广播者到潜在无限数量的扫描者或发起者的单向数据包传输。

        物理链路用作一个或多个支持异步流量的逻辑链路的传输。逻辑链路上的流量被复用到由资源管理器中的调度功能分配的物理链路上。除了用户数据之外,用于链路和物理层的控制协议还通过逻辑链路承载。这是链路层协议 (LL)。在微微网中处于活动状态的设备具有默认的BLE 异步连接逻辑传输 (LE ACL),用于传输 LL 协议信令。默认的 LE ACL 是在创建微微网时创建的。链路层功能使用 LL 协议来控制微微网中设备的操作,并提供管理较低架构层(PHY 和 LL)的服务。

        总的来说,一个微微网由活动物理链路上的一个 ACL 逻辑传输加上同步物理链路上的零个或多个 CIS 逻辑传输组成。

        在链路层之上,L2CAP 层为应用程序和服务提供基于通道的抽象。它在共享的逻辑链路上执行应用数据的分片和解分片以及多个通道的复用和解复用。 L2CAP 具有通过主要 ACL 逻辑传输承载的协议控制通道。

        除了 L2CAP,BLE还提供了两个位于 L2CAP 之上的附加协议层。安全管理器协议(SMP)使用固定的 L2CAP 通道来实现设备之间的安全功能。另一种是属性协议 (ATT),它提供了一种通过固定 L2CAP 通道传输少量数据的方法。设备还使用属性协议来确定其他设备的服务和能力。属性协议也可用于 BR/EDR。

        BLE提供了一种通过使用到达角 (AoA) 或出发角 (AoD) 方法来检测另一个 BLE设备的相对方向的方法。

参考文献:Core Specification 5.3 – Bluetooth® Technology Website

附注:

  • ISM频段(工业、科学、医学):是开放给工业、科学、医学三个主要机构使用,是依美国联邦通讯委员会(FCC)所定义,没有所谓使用授权的限制
  • Core_v5.3中摒弃了master和slave的概念,全部改为使用Central和Peripheral表示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值