Bluetooth 5.2 Feature Overview

926 阅读4分钟

本文英文原文来自Bluetooth Core Specification Version 5.2 Feature Overview。绝大部分力求精准翻译,不过有些地方中文实在拗口,故加上了自己的理解,略作调整。

概览

1. Enhanced Attribute Protocol

Generic Attribute Profile(GATT)引入了Attribute protocol (ATT)的升级版本,即Enhanced Attribute protocol(EATT)。

EATT支持并行处理数据,允许交叉处理与“来自不同应用的ATT数据包”相关的L2CAP数据包,也允许建立连接之后改变ATT的Maximum Transmission Unit (MTU)。这些改动,通过降低某个应用暂时性的阻塞其他应用的可能性,提升了多个应用同时使用BLE栈(stack)的用户体验。这能够降低一个或多个应用端到端(end to end)延迟,提升用户响应速度方面的体验。

为了支持EATT,一个新的L2CAP模式被定义了出来,即L2CAP Enhanced Credit Based Flow Control Mode。这个模式提供了流控(flow control)功能,因而允许应用认为协议栈是可靠的。

EATT因其只能用于加密连接,相较于ATT,更具备安全优势。

2. LE Power Control

新的LE功率控制使得设备可以动态优化连接设备之间的传输功率。蓝牙LE接收器现在可以监控信号强度并请求改变连接设备的传输功率,这么做主要是为了从信号质量和低功耗的角度保持最佳信号强度。蓝牙控制器可以使用zone的概念监视并向蓝牙主机报告路径损耗(path-loss)的变化,这对某些类型的程序很有用。

LE Power Control特性的好处如下:

  1. 降低了发射器的整体功耗:在连接的设备之间进行动态功率管理。
  2. 提高可靠性:主动调整接收机信号强度,并使信号强度保持在接收机支持的最佳范围内。
  3. 提升了与环境中使用2.4 GHz的其他无线设备的共存性。这一好处适用于所有此类设备,而不仅仅是那些使用蓝牙的设备。

3. LE Isochronous Channels

该功能主要是为了支持下一代蓝牙音频LE Audio而设计的,允许将绑定时间信息的数据传输到一个或多个设备进行同步处理。

它可以基于连接使用,也可以以无连接的方式广播给无限数量的设备。LE Isochronous Channels 使新的用户场景成为可能。音频源可以将同步的音频传输到小型、私人设备(personal audio sharing)或无限设备的大型公共空间(如电影院)。

然而,音乐分享只是其中一个应用场景。LE Audio,建立在新的LE Isochronous Channels之上,将为助听器提供新的标准,并支持各种场所的助听系统,如剧院、会议、演讲厅和机场。某种程度上,多亏了LE Isochronous Channels和新的音频蓝牙配置文件,预计多语言音频系统将成为可能。

下面是对每个新特性的更全面的解释。详细信息请参考蓝牙核心规范版本5.2。

1. Enhanced Attribute Protocol

1.1 背景知识

本节回顾了蓝牙核心规范5.1版的相关内容,以让读者了解相关技术背景,并渐进熟悉下文1.2节中新的enhanced ATT。如果在本节中没有明确说明版本,则应该假定引用的是5.1。

1.1.1 The Bluetooth Low Energy Stack with GATT, GAP, and ATT

Bluetooth Low Energy (LE)协议栈由两个主要的组件组成,称为host和controller,每个组件都包含不同的协议栈。Host Controller Interface(HCI)定义了一系列host可以用来与controller通信的commands和控制器用来与主机通信的events。

许多标准协议栈配置被定义了出来,图1描述了蓝牙LE设备(如智能手机、心率监控器、钥匙查找器等)通常使用的一个协议栈示例。对图1中的协议栈的了解将帮助您了解蓝牙核心规范5.2版本中的更改。蓝牙mesh设备采用了不尽相同的host组件,它包含了较为特别的mesh协议栈。mesh协议栈的不同之处与本文所讨论的不同无关。

Bluetooth LE with GATT, GAP, and AT

图1 - Bluetooth LE with GATT, GAP, and AT

1.1.2 Attribute Protocol

蓝牙设备可能包含一组特殊的数据 table实体:services、characteristics和descriptors,每一个都是一种attribute。所有类型的attribute都组织在attribute table中。

characteristics是状态数据的实例,反映设备的某些方面或能力。

services将关联的characterics组合在一起,确定了使用characteristics的方法和规则。

characteristics可以有零个或多个与其联系在一起的descriptors。descriptors提供了与特征相关的元数据,或配置控制与该characteristics行为的方法。例如,Client Characteristic Configuration Descriptor(CCCD)允许远程设备启用或禁用包含characteristic值的通知pdu的发送。