蓝牙™ Core 6.2功能 概述

蓝牙™ Core Specification v6.2(蓝牙™ Core 6.2)包含多项功能 增强。本文概述了每项增强功能。

注意:这是一份市场推广文件,无意以任何方式取代或推翻蓝牙™ 核心规范。每个功能 增强都有专门的章节进行描述,并以相关背景信息开头。这样做的目的是帮助那些可能不熟悉蓝牙™ LE 某些方面的读者。然而,背景部分并不完全全面。我们鼓励遇到不熟悉的术语或概念的读者下载并阅读《蓝牙™ LE 入门》。

更短的连接间隔 (SCI) 将最小连接间隔从 7.5 毫秒缩短至 375 微秒,从而使高性能 HID 设备、实时 HMI 系统和传感器的设备响应速度更快。

基于Channel Sounding 探测振幅的攻击复原能力通过检测和缓解复杂的射频振幅攻击来加强安全测距,为汽车、智能家居和工业环境中的中继和欺骗威胁提供保护。

HCI USB LE 异步支持通过引入批量串行化模式,将 USB 上的异步通信标准化,从而统一了Host 控制器接口 (HCI) 数据包传输,促进了无缝蓝牙™ 低功耗音频 集成。

LE 测试模式增强功能通过引入用于无线物理层测试的统一测试协议 (UTP)、标准化消息传递和改进的测试控制,实现了灵活、安全的射频测试,并支持空中下载 (OTA)。

蓝牙™蓝牙™ LE 利用可配置的连接间隔,在无线设备的延迟、吞吐量和功耗之间取得平衡。以往,最小间隔为 7.5 毫秒,分辨率为 1.25 毫秒,这对于许多应用来说已经足够,但对于对延迟敏感的用例(如 AR/VR、游戏和实时传感)来说则有限制。

最新的蓝牙™ 规范将最小间隔缩短至 375 微秒,分辨率为 125 微秒。这实现了亚毫秒级的通信周期,支持更快的数据交换和更灵敏的用户体验。

本节重点介绍缩短连接间隔背后的动机、实现缩短连接间隔的规范变更,以及开发人员将其集成到设计中的主要注意事项。

更短的连接间隔 (SCI) 增强功能解决了这一问题,将最小支持间隔缩短至 375 微秒,分辨率更细,仅为 125 微秒。为支持这一变化,规范引入了几项关键更新:

  • 新的链路层 控制 PDU:用于协商新的、更短的连接间隔
  • 更新 HCI 命令和事件:让Host 对连接参数有更强的控制能力
  • 功能交换机制:允许设备表明对新功能的支持
  • 支持可冲洗 ACL 数据:防止过期数据在传输缓冲区中累积

为了在新模式下有效管理连接间隔,SCI 引入了一个三值框架,用于协商和应用定时参数。这些值是

连接值费用项目使用方法
基线连接间隔值 (BCV)不支持 SCI 时的默认连接间隔范围。7.5 毫秒及以上,以 1.25 毫秒的倍数表示。
四舍五入连接间隔值 (RCV)支持 SCI 时的强制连接间隔范围。1.25 毫秒及以上,以 1.25 毫秒的倍数表示。
扩展连接间隔值 (ECV)支持 SCI 时的可选扩展范围。这些值由外设通过上层传送给中心。支持低于 1.25 毫秒的连接时间间隔,以 125 微秒为单位,最小可达 375 微秒。还支持分辨率为 125 微秒的 1.25 毫秒以上的时间间隔(例如 32 毫秒,这是 BCV 无法实现的)。

在启动较短间隔程序之前,设备会交换功能 信息。

新功能 位:

  • 更短的连接间隔 - 控制器支持(发送给对等方)
  • 更短的连接间隔 -Host 支持(发送给对等体,host Host host
  • LE 可冲洗 ACL 数据host,不发送给对等设备)

规则

  • 如果两个对等点都宣布支持更短间隔,则可使用新的链路层 PDU
  • 否则,连接仍限于基线连接间隔值(BCV ≥ 7.5 毫秒,以 1.25 毫秒的倍数表示)
  • 如果未设置 LE 可冲洗 ACL 数据,则Host 无法将数据标记为可冲洗,控制器必须传输所有 ACL PDU

在实践中,可刷新 ACL 数据功能 可防止数据速率增加时陈旧流量的积累,从而与较短的连接间隔相辅相成。

由于传统的 LL_CONNECTION_UPDATE_IND PDU 对于低延迟应用来说不够灵活,因此为连接速率协商创建了两个新的 PDU:

  • LL_CONNECTION_RATE_REQ- 带有新定时参数完整建议的请求(由外设发送)。
  • LL_CONNECTION_RATE_IND- 在特定事件计数时刻确认和执行最终参数的响应(始终由中心发送)。

LL_CONNECTION_RATE_REQ - "建议"
该 PDU 由外设发送,用于建议更新。它提供了一系列可接受的连接间隔、最小和最大子速率系数、最大外设延迟、数据传输后所需的连续活动事件数、监督超时、首选周期以及最多四个参考给定连接事件计数器的候选锚点偏移。

主要语义如下:

  • Interval_Min/Interval_Max:定义 connInterval 的允许范围,以 125 µs 为单位。中心必须在这些范围内选择一个值。
  • SubrateFactorMin/SubrateFactorMax:定义子速率系数的允许范围。这些值与延迟共同受限:SubrateFactorMax × (Max_Latency + 1) ≤ 500。
  • 最大延迟:以子速率后事件表示。与实际选择的子速率系数无关。
  • ContinuationNumber (继续数):数据事件后必须保持激活状态的后续事件的最小数目。这对类似 HID 的流量非常有用。
  • 超时:监控超时,以 10 毫秒为单位。
  • 首选周期:表示建议的间隔最好是该值的倍数(以 125 µs 为单位)。值为 0 表示无偏好。
  • ReferenceConnEventCount:参考计数器,用于评估所提供的偏移量。
  • Offset0...Offset3:最多四个候选锚点偏移(分辨率 125 µs)。每个偏移必须唯一且有效。如果值为 0xFFFF,则表示偏移未使用。

中心(Central)收到该 PDU 后,要么回复 LL_CONNECTION_RATE_IND(接受并最终确定),要么回复 LL_REJECT_EXT_IND(拒绝请求)。

LL_CONNECTION_RATE_IND- "确认和执行"
该 PDU 仅由中心(Central)发送,以确认最终选定的参数。即时(Instant)字段定义了新参数生效的确切连接事件计数器。

要点包括

  • 间隔:所选的 connInterval(连接间隔),必须在 LL_CONNECTION_RATE_REQ 中提供的范围内。
  • WinOffset(传送窗口偏移):切换后第一个事件相对于旧锚点的偏移量
  • 瞬间:事件计数器定义切换点
  • 子速率因子(SubrateFactor)、延时(latency)、连续编号(ContinuationNumber)、超时(timeout):中心应用的最终值

双方必须保持同步,以确保无缝过渡。

连接速率更新程序(中央驱动)

  • 启动:只有在成功交换功能 并确认对端支持较短连接间隔(Host 支持)后,中心才能启动该程序。它可能由Host 命令触发,也可能是对外设请求的响应。流程图请参见图 3.2.4a。
  • 限制:不能在其他程序(如连接参数请求、子速率请求或 CS 程序)正在进行时启动。
  • 执行:
    • 中心选择新的间隔(不低于 PHY 最小值)。
    • 它会发送带有所选参数的 LL_CONNECTION_RATE_IND。
    • 瞬间定义了切换的事件计数。两台设备都必须在 "瞬间 "和紧接其后的事件期间进行传输和监听,而不考虑子速率。
    • 在 "即时 "后,两台设备都将以新的间隔、延迟、子速率和监控超时运行。
  • 发送窗口偏移:带有新参数的第一个数据包可能会在旧锚点之后延迟 connIntervalOLD + transmitWindowOffset,以便进行调整。
  • 完成:瞬时结束且新参数激活后,或任何一方拒绝接受 PDU,程序即告完成。监督计时器在新的锚点重置。

图 3.2.4a 中央 A 修改连接速率

连接速率请求程序(外设驱动)

  • 启动:外设可发送 LL_CONNECTION_RATE_REQ 以提议更改,前提是本地和对等控制器都宣布支持Host 。Host 命令通常会触发这一操作。下图 3.2.4b 展示了一个典型的流程图示例。
  • 限制条件:与中央案例相同 - 不能与参数 或子速率申请程序重叠。
  • 执行:
    • 外设按照为参数 请求(间隔、超时、偏移)和子速率请求(子速率系数、延迟和延续)定义的规则准备请求
    • 中心要么接受,回应 LL_CONNECTION_RATE_IND,要么拒绝,回应 LL_REJECT_EXT_IND
  • 拒绝的原因:
    • 控制器忙 (0x3A) - 由于正在进行的程序相互冲突
    • 无效 LL 参数 (0x1E) - 畸形或超出范围的字段
    • 不支持的 LL参数 (0x20) - 有效但不可接受
    • 不支持的功能 或值 (0x11) - 例如,时间间隔太小,无法满足要求的 PDU 长度
  • 完成: 中心回复(接受或拒绝)时,程序结束;接受时,后续更新程序完成后,程序结束

图 3.2.4b:外设 B 请求更改连接速率,中心 A 接受

当外设发送 LL_CONNECTION_RATE_REQ 或中心回应 LL_CONNECTION_RATE_IND 时,这些 PDU 内的时间间隔相关字段不是任意值。它们必须从定义明确的连接间隔值(BCV、RCV 和 ECV)中选择,本规范引入这些值是为了实现兼容性和清晰度。

第 2.1 节中提到的 BCV、RCV 和 ECV 范围的相关性,在解释新的 LL PDU 时变得很清楚:

  • 在 LL_CONNECTION_RATE_REQ 中,Interval_Min 和 Interval_Max 字段必须是有效的 ECV 值,从而表达出最灵活的域。
  • 在 LL_CONNECTION_RATE_IND 中,所选间隔必须映射回双方都能接受的值。如果对等方仅支持 RCV,中心必须相应地限制其选择。

这种分层方法可确保在不破坏互操作性的情况下引入 SCI:只理解 BCV 值的控制器仍可互操作。支持 SCI功能 的控制器必须支持 RCV 作为该功能的最低强制值,而高级设备则可以利用 ECV 的全部分辨率。此外,ECV 值是可选的,中央设备通过上层了解外设对 ECV 的支持情况。

简而言之,BCV 可确保向后兼容性,RCV 可平衡传统一致性和灵活性,而 ECV 则可释放超低延迟应用所需的全部分辨率。

在Host 控制器接口(HCI)上,引入了几个新的原语,以提供Host控制和 SCI功能可见性。这些命令和事件反映了新的链路层 程序,抽象出了偏移列表和瞬时等低级细节。

  • HCI_LE_Connection_Rate_Request(Command)
    允许Host 请求更改连接参数,控制器将其转换为 LL_CONNECTION_RATE_REQ 发送给对等设备(外设发起的连接)或 LL_CONNECTION_RATE_INS(中央发起的连接)。
  • HCI_LE_Set_Default_Rate_Parameters(Command)
    使中央Host 能够为新连接预先配置默认连接速率参数,从而避免逐个重新配置每个连接。
  • HCI_LE_Read_Minimum_Supported_Connection_Interval (Command)
    允许Host 查询控制器支持的最小间隔和分辨率,这对于需要亚毫秒级性能的应用来说至关重要。
  • LE 连接速率更改(事件)
    在速率更新成功(具有应用的间隔、延迟和监控超时)或失败(具有错误状态)时通知Host

这些基元共同为Host 提供了以灵活而抽象的方式请求、监控和配置 SCI 的能力,而具体的协商工作仍由控制器和链路层负责。

当连接间隔变短时,控制器的缓冲区中就会迅速积累过期数据。为防止过期流量阻塞新流量,它允许Host 将某些 ACL 数据指定为可清除数据。

为了快速理解可冲洗和不可冲洗 ACL 数据之间的区别,下面两张图可以说明这种区别。

可冲洗 ACL 数据盒:

在图 3.2.7a 中,数据包配置了 ACL 刷新超时。当发生链路层 延迟时(如数据包 3 正在重传),如果队列中的数据包(如数据包 4 和 5)在缓冲区中停留的时间超过了设定的超时时间,它们就会被刷新。这种行为优先确保传输通道中的数据是新鲜的,而不是保证每个数据包都能成功传送。

图 3.2.7a:Host 向控制器发送可冲洗数据的示例

无法冲洗的 ACL 数据盒:

在图 3.2.7b 中,数据包没有配置超时,或超时设置为无限。当发生链路层 延迟时,这些数据包(如 4 和 5)将保留在队列中。只有在旧数据包(数据包 3)成功传输并得到确认后,它们才会被发送。这种行为确保了所有数据包的传输,从而优先保证了数据的完整性和可靠性。

图 3.2.7b:Host 向控制器发送不可刷新数据的示例

现在,让我们回顾一下将 ACL 数据从Host 刷新到控制器的具体步骤。

  • 通过 HCI 发送 L2CAP PDU 时,Host 会将其第一个片段标记为可清除。这可通过 ACL 数据报文头中的Packet_Boundary_Flag 标识。只有这样的 PDU 才有资格进行刷新。
  • 控制器为每个 ACL 逻辑链路维护一个 "清除超时"。该计时器从存储可冲洗 ACL-U 数据包的第一个片段时开始计时。
  • 如果在传输 PDU 的任何片段之前 "刷新超时 "已过,控制器会丢弃该 PDU 的所有片段,包括可能仍然到达的任何延续片段。基带队列中的剩余片段也会被清除。
  • 刷新后,正常处理下一个 ACL-U 数据包。接下来传输的 PDU 始终带有 L2CAP 开始指示(LLID = 10),这样,如果对等方需要检测丢失的应用 有效载荷,就可以利用计数器或时间戳等上层方法。
  • 如果在超时前发送了 PDU 的任何部分,则会取消刷新计时器,并正常传送数据包。
  • 默认情况下,"刷新超时 "为无限,这意味着除非另有明确配置,否则数据包永远不会被刷新。

Host 控制:

  • Host 使用 HCI_Write_Automatic_Flush_Timeout 指挥部
    • 0x0000 的值表示无限(无冲洗)。
    • 有限值 N 对应的超时时间为 N × 0.625 毫秒
  • 命令完成时,控制器会生成一个标准的 "命令完成 "事件

这种机制可确保新的流量能够及时传送,而不会因为过时的数据包而延迟,这对于低延迟应用来说尤为重要。

SCI功能 代表了蓝牙™ LE 的重大进步。通过将最小间隔减少到 375 µs,并采用 125 µs 的精细分辨率,它支持要求超低延迟的下一代应用,如高性能游戏外设和身临其境的 VR/AR 控制器。

新链路层 PDU、稳健的协商程序和更新的 HCI 命令的引入,为管理高速率数据传输提供了一个全面的框架。ACL 清除机制可防止过时数据包阻塞新的传输,从而提高响应速度。

这些创新共同确保蓝牙™ LE 能够满足现代技术对延迟的严格要求,同时保持完全的向后兼容性。

蓝牙™ Channel Sounding 是蓝牙™ 核心规范中的一种安全微距功能 ,旨在实现蓝牙™ 连接设备之间安全、精确的距离测量。通过利用无线电信号的物理特性,它大大改进了接收信号强度指示器(RSSI)方法,提供了厘米级的精确度。它将基于相位的测距 基于相位的测距)与往返时间 往返时间)相结合,以实现高精度测量,并以此作为防止中继攻击的安全措施。这种双重方法提高了蓝牙™ 连接设备之间距离测量的精度和安全性。

为了保护距离测量的完整性,蓝牙™ 核心规范定义了归一化攻击检测器度量(NADM),这是一种滑动量表,用于显示攻击的可能性,范围从极不可能极有可能。该规范没有规定固定的算法,而是提供了一个基于评估 CS_Sync 数据包异常(如意外位转换或相位变化)的灵活框架。控制器生成 NADM 值,并通过Host 控制器接口 (HCI) 事件向Host 报告,从而允许用户应用 进行威胁评估。

提前提交攻击是一种测距攻击,它操纵信号的相位,欺骗接收器 ,使其感知到比合法信号更早的到达时间。这种攻击通过注入相位经过调整的伪造信号来实现。例如,可以在每个符号的开头添加一个高斯单脉冲。这种操作会造成相位失真,导致计算距离缩短,从而使中间人攻击得逞。为检测此类攻击,可使用归一化交叉相关和相位最小平方误差等方法将接收信号的相位与参考信号进行比较,并识别任何异常相位抖动。

随着安全威胁的不断演变,有必要扩展 NADM 框架。我们发现了一类新的攻击,即利用基于振幅的信号操纵。与基于相位的攻击一样,这些攻击的目的也是造成 "早期指令"效应,但它们是通过利用接收器中的振幅相位转换来实现的。这一新的弹性功能 是对这些威胁的直接回应,也是对现有 NADM功能 的重要扩展,专门针对并减轻对蓝牙™ Channel Sounding 往返时间 数据包的基于振幅的攻击。

基于振幅的攻击的核心机制是利用接收器前端的非线性响应。攻击者对合法信号进行周期性放大,配置文件 与通信的符号定时网格精确同步。这种受控的振幅操作在接收器中引入了可预测的相位失真,有效地将感知信号的时序前移,从而实现先进的时序测量。

最新的蓝牙™ 核心规范蓝牙™ 核心 6.2)引入了一种基于离散傅立叶变换(DFT)的方法来检测这些攻击。之所以选择这种方法,是因为可预测的振幅攻击与符号周期相关,会在频域中表现为明显的、可量化的能量峰值。这些峰值出现在 1x 和 2x 符号频率处或其附近。通过测量这些特定频段的能量,并将其与信号总能量进行比较,DFT 指标就能可靠地检测出攻击。这种方法比其他方法(如稳定包络度量)更稳健,因为它专门针对攻击的周期性,避免了随机、不相关振幅变化造成的误报。

基于振幅的攻击信号  是通过调制合法信号来构建的、 ,具有重复放大模式项、 与数据包符号周期相同、 .攻击者必须首先估计受害者的符号定时网格。然后应用周期性增益配置文件、 是重复项的求和、 与合法信号相比较。如图 4.2.2 所示,使用简化的方波攻击模型进行测试和鉴定。攻击信号的方程为  = .

图 4.2.2:波形描述了  和

 的频率等于合法信号符号频率的方波,由以下伪代码定义。

该模型由三个关键参数定义,这三个参数构成了测试的三维搜索空间。这些参数在测试过程中被系统地探索,以确定特定设备最有效的攻击配置,如下表所示:

参数 定义 范围 指数范围
Po 攻击模式起始点相对于符号起始点的时间偏移,以Tsym的分数表示 0.03125 至 0.96875,增量为 0.0625 [1, 16]
DC 放大器脉冲占空比(占Tsym的百分比 0.03125 至 0.96875,增量为 0.0625 [1, 16]
Ag 放大器增益缩放因子,其中 1.0 表示原始信号。 2.0, 1.9, 1.8, 1.7, 1.6, 1.5, 1.45, 1.4, 1.35, 1.3, 1.275, 1.25, 1.225, 1.2, 1.175, 1.15, 1.125, 1.1, 1.075, 1.05 [1, 20]

一般来说,偏移 ()和占空比()决定攻击是否会推进定时,而放大器增益 ()控制定时提前量的大小。

DFT 指标是一种定量测量方法,旨在通过在频域分析信号来检测是否存在周期性振幅攻击。其核心原理是,要使攻击有效,其能量必须与符号周期充分相关。这种相关性会导致频域中在符号率的基频和谐波频率处或其附近出现明显的能量尖峰。

  • 什么是 DFT 相关性?DFT 或离散傅里叶变换是一种数学工具,可将信号从时域(随时间变化的情况)转换为频域(各种频率成分的强度)。在这里,DFT 相关性指的是 DFT 的输出--一组系数,每个系数代表信号中特定频率成分的强度和相位。特定频率的相关性越高,信号中的频率成分就越大。
  • 如何应用于攻击:由于振幅攻击是一种与数据包符号周期精确同步的周期性模式,因此会在频域中产生独特的指纹。这种指纹表现为符号频率(f1=1/Tsym)及其谐波(f2=2/Tsym)上可预测的能量峰值。

DFT 指标利用了这一原理。它计算在这些特定的 攻击频率 ()与信号直流分量(零频率)的能量之比。参考公式为

其中:

  • φ(f1) 和 φ(f2) 是符号频率(f1) 和两倍符号频率(f2) 的 DFT 相关性
  • φ(0)是直流分量的 DFT 相关性

DFT 指标值越高,表明受到攻击的可能性越大,因为它标志着振幅攻击的周期性音调特性 越明显。这一指标提供了一种可靠的方法,可以可靠地识别基于振幅的操作。

在测试实际检测能力之前,必须首先对被测仪器(IUT)进行鉴定,以确定其是否易受操纵。这一过程确定了 和  最能有效影响接收器行为的因素。特征描述过程包括以下步骤:

  • 初始数据收集:测试仪作为启动器,设置初始放大器增益Ag设置为高值。然后系统地执行占空比(DC)和时间偏移(pd) 的每种组合执行程序,并记录信号的时序推进。这一过程旨在绘制攻击效果图
  • 数据平滑:为减少随机噪声测量,对原始数据采用空间滤波器使其平滑。这一步骤可确保识别出的有效攻击点是真实的,而不是由意外的测量误差造成的。
  • 搜索局部最小值:然后,测试仪在平滑数据中搜索局部最小值。这些点代表攻击造成最大时序提前的参数 组合。这些兴趣点被认为是最具攻击性的攻击配置,会被记录下来。
  • 增益降低和有效性确定:对于每个确定的兴趣点,测试仪都会执行增量测试。它逐步降低放大器增益(Ag),并在每一步应用一种称为 Z 检验的统计方法,以确定攻击是否仍然有效。其核心思想是将攻击信号的平均时序提前量与合法信号的平均时序提前量进行比较,以确定两者之间的差异是否具有统计学意义(即大于 10 ns)。如果差异足够大,则认为攻击配置有效,直到增益降低到不再造成显著差异为止。

在特征描述阶段确定的所有兴趣点的参数都存储在一个关键数据结构中,作为测试后续检测要求的基础。

该过程的最后阶段包括通过强制性测试验证 IUT 的 NADM 性能。本节介绍如何测试 IUT 的 NADM 实现,以确定它是否能有效区分合法信号和基于振幅的攻击信号。

  • 测试程序:IUT 在各种 PHY(LE 1M、低功耗2M、低功耗2M 2BT)和往返时间 步骤类型(模式-1、模式-3)中进行测试,使用在特征描述过程中发现的最有效攻击参数。每次测试都使用以随机顺序发送的合法信号和攻击者调制信号的随机序列。
  • 性能阈值:IUT 必须以高度的置信度正确识别是否存在攻击。要求在每次测试中,IUT 报告的 NADM 值中至少有90%必须正确反映信号是正常信号还是攻击信号。如果达不到这个阈值,测试就会失败,从而确保最终认证的实施能有效抵御这些特定威胁。

HCI 和链路层 更新,用于基于振幅的Channel Sounding 攻击弹性
为支持新的基于振幅的 NADM 功能,蓝牙™ Host 控制器接口 (HCI) 和链路层 (LL) 已更新,使设备能够通信并响应这些安全功能。

HCI 更新
在现有 HCI 命令和事件中添加了新参数,以管理基于振幅的 NADM 支持:

  • LE CS 读取远程支持能力完成事件:现在包括指示远程设备是否支持基于振幅的攻击检测的位,用于探测和随机序列
  • LE CS 读取本地支持能力命令:允许host 查询其控制器基于振幅的 NADM 功能
  • LE CS Write Cached Remote Supported Capabilities(LE CS 写缓存远程支持能力)命令:允许host 缓存远程设备的功能,优化连接过程

这些更新实现了设备之间的动态能力协商和感知。

链路层(LL) 更新
LL_CS_CAPABILITIES_REQ/RSP PDU(协议数据单元)已更新,以包含一个位,表示支持基于振幅的 NADM功能。这使设备能够在蓝牙™ Channel Sounding 初始化期间直接在链路层 协调其安全功能。

基于振幅的攻击复原力的引入加强了蓝牙™ Channel Sounding的安全能力。通过定义精确的攻击模型、稳健的基于 DFT 的检测指标和全面的多阶段测试机制,该规范可确保通过认证的设备能够可靠地检测到操纵距离测量的复杂企图。加上对 HCI 和链路层 协议的必要更新,该增强功能为缓解这一不断发展的威胁提供了一个全面的框架。它体现了蓝牙™ 技术对持续改进安全性的承诺,确保其精确测距技术在面对新挑战时仍能保持准确性和可信度。

2022 年,蓝牙™ 技术增加了对等时数据传输、连接等时流 (CIS) 和广播等时流 (BIS) 的支持。市场对基于 USB 的等时通信功能的需求促使蓝牙SIG 开发了 HCI USB LE 等时支持功能。

传统上,HCI USB 传输层为 ACL、命令、事件和 SCO/eSCO 流量定义了端点。但是,目前还没有通过 USB 传输 LE 异步流量的标准化方法。这一空白带来了互操作性挑战和零散的实施,在某些情况下,还要求供应商定义自定义 USB 端点,或以非标准方式通过批量端点多路复用 LE ISO 流量。

为了解决这个问题,我们推出了一种名为 "批量串行化模式 "的新操作模式。这种方法为传输 LE Isochronous 数据流提供了一种统一的标准化方法,旨在与现有的 USB 控制器广泛兼容,有助于加快新产品的上市时间。

蓝牙™ 控制器的 USB 传输层可在两种模式之一下运行:传统模式和批量串行化模式。所有 USB 传输层实施都必须支持传统模式,而对批量串行化模式的支持则是可选的。

  • 传统模式:这是一种通过专用 USB 端点传输不同Host 控制器接口 (HCI) 数据包类型的传统模式。具体来说,HCI 命令使用控制端点,HCI 事件使用中断端点,ACL 数据使用批量端点,SCO/eSCO 数据使用等时端点。该模式的一个主要限制是缺乏通过 LE等时通道交换数据的标准化机制。
  • 批量序列化模式:这种可选模式通过将所有 HCI 数据包(包括 HCI ISO 数据包)整合到批量端点来解决传统模式的局限性。这种方法可最大限度地兼容各种现有 USB 控制器,同时为 LE等时通道提供基本支持。

通过一个精确的程序,Host 可以指示控制器切换到新模式。这一机制利用了 USB 规范中的一个关键概念:备用设置。单个 USB 接口可支持多个备用设置,每个备用设置代表一种不同的运行模式或配置。

  1. 表示支持:支持批量串行化模式的控制器通过在其 USB 配置描述符的第一个接口中加入一个额外的备用设置(备用设置 1)来表示该功能。该备用设置只包含批量端点,与默认的传统模式设置(通常为备用设置 0)有所区别。
  2. 切换命令:Host 通过发出标准 USB 选择接口请求来指示控制器切换到批量串行化模式,以激活这一特定的备用设置。这允许Host 在设备连接后动态更改接口的运行模式。

与之前基于 USB 控制传输的建议相比,使用替代设置进行模式切换被认为更可靠,因为它降低了与现有控制器兼容的风险。

在批量串行化模式下,所有 HCI 流量都被复用到相同的批量端点上,因此需要一种机制来区分数据包类型。
下表列出了为每种 HCI 数据包类型定义的指示符:

HCI 数据包类型HCI 数据包指示器
HCI 命令包0x01
HCI ACL 数据包0x02
HCI 同步数据包0x03
HCI 活动包0x04
HCI ISO 数据包0x05
留待将来使用所有其他值

该系统使接收端能够准确地解析数据流,并将每个数据包路由到相应的处理程序,从而在单个接口上高效传输多种人机交互数据类型。

除了启用蓝牙™ 低功耗音频外,新模式还解决了传统 USB 传输层中一个长期存在的竞赛条件。在传统模式中,不同的端点类型在一个 USB 帧中按特定顺序提供服务,这可能导致数据和事件的无序传输。例如,Host 可能会在数据包到达事件信号之前收到该数据包。这种行为会扰乱连接设置、断开连接和数据加密等关键流程,对用户体验造成不利影响。

批量序列化模式通过将所有 HCI 数据包合并到一个批量端点,有效地消除了这一问题。由于数据是作为单一、有序的数据流传输的,因此蓝牙™ 应用程序的稳健性大大提高。

蓝牙™ 核心规范更新通过定义 "批量串行化模式",为 USB 传输层引入了一项关键的增强功能。这种新模式为通过 USB 传输 LE 异步流(如蓝牙™ 低功耗音频 数据)提供了一种标准化、向后兼容的方法。通过将所有 HCI 数据包类型整合到批量端点并使用简单的数据包指示器,更新后的标准解决了竞赛条件,提高了可靠性,并确保蓝牙™ Host 和控制器之间的通信通道稳健。这些改进为现代蓝牙™ 设备中更先进的音频和数据应用奠定了基础。

蓝牙™ LE 规范定义了物理层(PHY)测试,以确保符合设备互操作性和性能标准。这些测试包括发射器 性能、接收器 灵敏度和蓝牙™ Channel Sounding等新功能,对于一致性和质量保证至关重要。一直以来,控制和测试 LE 设备无线电的主要方法是使用直接测试模式 (DTM)。

DTM 通过测试设备(上层测试仪)和被测设备(IUT)之间的物理传输接口运行。如图 1.1 所示,该接口通常是Host 控制器接口(HCI)或两线制 UART。测试仪发送标准化命令并接收相应事件,以控制 IUT 的无线电进行一致性测试。例如,LE_Transmitter_Test 和 LE_Receiver_Test 等命令用于将 IUT 置于发送或接收状态,而 LE_Packet_Report 等事件则提供测试结果反馈。

图 6.1.1 RFPHY 测试模式的设置选项

在design 和开发阶段,如果有现成的物理 I/O 端口,这种方法就会很有效。然而,一旦蓝牙™ LE 解决方案被集成到最终产品中,就会出现明显的局限性。在这种状态下,物理控制接口往往无法访问,严重限制了后期制作或无线 (OTA) 一致性测试的选择。此外,有线连接的存在有时会影响设备的射频特性,从而使测试结果出现偏差。

为解决 DTM 的局限性,蓝牙™ 核心规范引入了统一测试协议 (UTP)。这种新的测试模式是作为 DTM 的同等替代方案设计的,其关键优势是支持 OTA 传输,从而消除了对物理控制接口的依赖。UTP支持与DTM等效的射频物理层测试,即使在物理I/O端口无法访问的情况下,也能确保完全符合规范要求。此外,UTP 还能进行误码率接收器 测量,从而超越了基本的 PER 测量。这样就能更好地了解接收器的性能。

典型的UTP测试场景遵循上层测试器和被测设备之间确定的信息序列。上层测试器通过查询 IUT 支持的 UTP 功能启动测试过程。随后可选择重置参数,并为特定的发射器 或接收器 测试配置 IUT。测试启动、执行和停止后,IUT 将向测试人员提供详细报告。

所有 UTP 报文都遵循标准化的 "类型-长度-值"(TLV)格式。类型字段(1 个八位位组)表示报文类型,长度字段(2 个八位位组)指定有效载荷的大小,值字段(长度八位位组)包含实际的报文有效载荷。这种 TLV 结构为各种报文提供了一个灵活、可扩展的框架。
所有 UTP 报文主要分为三种类型:配置、控制和报告。

配置信息
配置信息由测试人员发送,用于在测试开始前设置 IUT 的测试参数。它们提供对测试环境的细粒度控制,确保 IUT 为所需的测试场景正确配置。这些信息的完整列表包括

  • UTP_Set_RF_Channel设置射频通道):指定进行测试的射频通道
  • UTP_Set_Packet_Payload:设置测试数据包中使用的有效载荷类型(如伪随机、全 1 和全 0)。
  • UTP_Set_Payload_Length(设置有效载荷长度):设置测试数据有效载荷的长度
  • UTP_Set_PHY:配置用于测试的 PHY(例如 LE 1M、低功耗2M 和低功耗编码)。
  • UTP_Set_Modulation_Index:为发射器 测试设置调制指数
  • UTP_Set_CTE_Length(UTP_设置_CTE_长度):为到达角角(angle-of-arrival)或出发角-of-departure)测试指定恒定音调扩展(CTE)的长度。
  • UTP_Set_CTE_Type:设置要使用的 CTE 类型(例如,到达角 和出发角
  • UTP_Set_CTE_Slot_Durations:定义 CTE 的时隙持续时间
  • UTP_Set_CTE_Antenna_IDs:指定用于 CTE 的天线模式或 ID
  • UTP_Set_Packet_Count:设置要发送或接收的测试数据包数量
  • UTP_Set_Tx_Power_Level:调整 IUT 的发射功率电平
  • UTP_Set_OTA_Exclusion_PeriodUTP_Set_OTA_排除期):配置空中下载测试的排除期
  • UTP_Set_Vendor_Specific_DataUTP_Set_Vendor_Specific_数据):用于专有配置的供应商特定报文

控制信息
控制信息用于管理整个测试流程,包括启动、终止和查询 IUT 的状态。它们是指导测试序列的主要命令,可根据其方向进行分类。

  • 下层或上层测试仪发送的控制信息: 这些报文指示 IUT 执行特定操作
    • UTP_Query_Supported_Features(UTP查询所支持的特性):要求 IUT 报告其支持的 UTP 功能
    • UTP_Reset:将 IUT 重置为默认测试配置
    • UTP_Start_Test: 启动先前配置的发射器 或接收器 测试
    • UTP_Stop_Test(停止测试):终止当前测试并指示 IUT 报告测试结果
  • IUT 发送的控制信息: 这些报文是对命令的回应,或表示测试的状态 。
    • UTP_Accept(接受):确认命令,表示命令已被接受
    • UTP_Reject:命令因错误而被拒绝的信号
    • UTP_Reset_Accept(接受复位):确认复位命令
    • UTP_Test_Ended测试结束):通知测试人员测试已结束

报告信息
报告信息由 IUT 发送给测试人员,以提供反馈和测试结果。它们对于收集数据和验证 IUT 的性能是否符合规范至关重要。这些报文的完整列表包括

  • UTP_Report_Supported_Features(UTP报告支持的特性):该报文响应查询,详细说明 IUT 的UTP 特性和功能。
  • UTP_Report_IQ_Samples:该报文用于高级测试,提供来自 IUT接收器的 I 和 Q 样本数据。
  • UTP_Report_Receiver_Quality_CounttersUTP_报告接收器质量计数器):提供接收器 测试的统计数据,如接收到的数据包数量和其他质量指标
  • UTP_Report_Vendor_Specific_Data报告供应商特定数据):用于报告专有数据的供应商特定报文



UTP2 线 UART 模式
与 DTM 类似,UTP 可以通过 2线 UART物理传输接口运行。这使得已经使用该接口的测试设置可以从 DTM 无缝过渡到 UTP。

UTPHCI 模式
UTP 通过 HCI 传输运行时,使用特定的 HCI 命令和事件来促进测试。Host 可使用 HCI_LE_UTP_Send 命令向控制器发送UTP 信息,而控制器则通过 HCI_LE_UTP_Receive 事件通知Host 已收到UTP 信息。此外,HCI_LE_Enable_UTP_OTA_Mode 命令可使Host 激活控制器上的 OTA UTP 模式。

UTPOTA 模式
空中传输(OTA)是 UTP 最重要的增强功能。在这种模式下,控制信息和射频 PHY 测试数据包都通过 2.4 GHz 射频接口进行无线交换。

控制器使用 UTP OTA 模式程序进入射频物理层测试模式。中央或外设可在进入连接状态 后的任何时间通过发送LL_OTA_UTP_INDPDU 启动该过程。当发送或接收到该 PDU 的链路层 确认时,程序即被视为完成。

LL_OTA_UTP_IND PDU格式
LL_OTA_UTP_IND PDU 的格式如下:

  • 操作码(1 个字节):标识UTP 报文类型。
  • Transaction_ID(1 个字节):用于配对请求和响应信息的标识符。
  • UTP_Message(变量):携带实际的UTP 报文,报文采用类型-长度-值(TLV)结构。这样,信息就可以包含任何 UTP 信息类型,如配置或控制消息,从而提供高度的灵活性和可扩展性。

安全性和加密要求
LL_OTA_UTP_IND PDU 的通用格式允许在不同的测试场景中有效地封装和传输 UTP 报文。
对 UTP OTA 执行关键的安全性和完整性检查。只有满足以下所有条件,才能处理UTP PDU:

  1. ACL 已加密
  2. 控制器支持 OTA UTP 模式功能
  3. IUT 已启用 OTA UTP 模式

如果收到 UTP PDU 时 ACL 未加密,控制器必须立即拒绝该 PDU,方法是发送带有错误代码 "安全性不足"(0x2F)LL_REJECT_EXT_INDPDU。同样,如果接收到UTP PDU 时未启用 OTA UTP 模式,控制器必须通过发送带有错误代码 "命令禁止"(0x0C)LL_REJECT_EXT_INDPDU 来拒绝该 PDU。

这一机制确保只有在安全和预先配置的条件下才能进入测试模式。

在 OTA发射器 测试中,上层测试发射器 指示被测物开始发送射频物理层测试数据包。
该测试的目的是在没有物理连接影响测量的情况下,验证 IUT发射器 的特性,如发射功率、功率密度谱和调制精度。图 6.2.3 显示了 OTA发射器 测试的一个示例。

图 6.2.3:OTA发射器 测试示例:下部测试仪提前结束序列,达到数据包计数

在 OTA接收器 测试中,上层测试仪启动测试,下层测试仪开始在配置的频率上传输 RF PHY 测试数据包。下位测试仪在一定数量的连接间隔内发送数据包,以满足配置的数据包数量要求。

IUT 监听这些数据包并报告接收质量。本测试评估 IUT接收器 的性能,包括灵敏度和阻塞特性。图 6.2.4 显示了 OTA接收器 测试的示例。

图 6.2.4:OTA接收器 测试示例

统一测试协议的引入标志着蓝牙™ LE 射频 PHY 一致性测试的重大进步。通过提供一套全面的信息和控制机制,UTP 提供了比传统 DTM 更灵活、更强大的解决方案。最重要的是,UTP 支持 OTA 传输,结合定义明确的程序和链路层 安全措施,解决了物理接口依赖性这一长期存在的限制。

UTP 能够对最终外形尺寸的设备进行更实用、更准确的测试,将一致性测试的范围扩大到以前难以或无法管理的场景。

蓝牙™ Core 6.2 引入了可提高设备响应速度、加强安全性以及改进通信和测试功能的新功能。从大幅缩短连接间隔以实现更快、更灵敏的交互,到先进的安全功能以抵御复杂的射频振幅攻击,这些增强功能满足了现代无线生态系统不断发展的需求。标准化的 USB 等时通信简化了蓝牙™ 低功耗音频 集成,而升级的测试功能则确保了更灵活、安全和全面的射频验证。这些进步使蓝牙™ 技术在广泛的行业和应用案例中不断创新。

项目地点
蓝牙™ 核心规范 v6.2 https://www.bluetooth.com/specifications/规范/core-specification-6-2/
蓝牙™Channel Sounding 技术概览文件https://www.bluetooth.com/channel-sounding-tech-overview/