技术概述

蓝牙信道探测

1. 导言

2.背景情况

2.1 设备定位和低功耗蓝牙

2.1.1 找到我

2.1.2 信标和第一代距离估计

2.1.3 使用到达角和出发角的寻向功能

2.1.4信道探测

2.2 简介信道探测

2.2.1 无线电波的基本特性

2.2.1.1 振幅和波浪周期

2.2.1.2 波长 

2.2.1.3 频率

2.2.1.4 阶段

2.2.1.5 频率与波长之间的数学关系

2.2.2 距离测量方法

2.2.2.1 基于相位的测距(PBR)

2.2.2.1.1 理论

2.2.2.1.2 工作示例

2.2.2.2 往返时间(RTT)

2.2.2.2.1 理论

2.2.2.3 现实世界的挑战

3.蓝牙™信道探测

3.1 概述

3.2 结构

3.2.1 设备角色

3.2.2 拓扑结构

3.2.3 天线阵列

3.2.4 应用

3.2.5 数据传输架构

3.2.6 低功耗蓝牙协议栈中的信道探测

3.3信道探测 控制程序

3.3.1信道探测 安全启动

3.3.2信道探测 能力交换

3.3.3信道探测 配置

3.3.4 模式-0 FAE 表请求

3.3.5信道探测 启动

3.3.6信道探测

3.4 事件、子事件和步骤

3.4.1 LE-ACL 连接和时间划分

3.4.2 时间划分

3.4.2.1 结构

3.4.2.2 时间安排

3.5 CS 步骤

3.5.1 关于步骤

3.5.2 数据包和 Tone

3.5.3 阶跃模式

3.5.3.1 模式-0

3.5.3.2 模式-1

3.5.3.3 模式-2

3.5.3.4 模式-3

3.6 确定相位差

3.7 天线切换

3.8 模式排序

3.8.1 模式排序概述

3.8.2 模式组合

3.8.3 模式序列配置和子模式插入

3.8.4 主模式重复

3.8.5 应用和模式排序注意事项

3.9 射频信道和信道选择

3.9.1 CS 通道图

3.9.2 信道过滤

3.9.3 跳频

3.9.4 信道选择

3.9.4.1 概述

3.9.4.2 信道索引洗牌

3.9.4.3 CSA #3a

3.9.4.4 CSA #3b

3.9.4.5 CSA #3c

3.10 RTT 选项和准确性

3.10.1 基于访问地址的定时

3.10.2 分数定时估算

3.10.3 RTT 方法的比较

3.11 LE 2M 2BT PHY

3.11.1 调制方案

3.11.2 带宽-比特周期产品

3.11.3 LE 2M 2BT

3.12信道探测 步的信噪比控制

3.13 安全性

3.13.1 概述

3.13.2PBR 和RTT 交叉检查

3.13.3 启动 CS 安全系统

3.13.4 确定性随机比特发生器 (DRBG)

3.13.4.1 安全访问地址

3.13.4.2 RTT 分数定时的随机序列

3.13.4.3 鸣响序列标记信号

3.13.4.4 单调扩展槽随机传输

3.13.4.5 随机选择天线路径

3.13.5 探测序列

3.13.6 攻击检测和报告

3.13.7 LE 2M 2BT

3.13.8 SNR 控制和 RTT 安全性

3.13.9 CS 安全级别

3.13.10 针对特定供应商的实施和附加安全功能

3.14 Host 应用程序

3.14.1 距离测量算法

3.14.2Controller 与Host 之间的 CS 数据通信

3.14.2.1 HCI 事件类型

3.14.2.2 HCI 事件定时

3.14.2.3 HCI 事件内容

3.14.3 模式组合和模式排序

3.14.4 应用安全

4.蓝牙核心规范变更摘要

4.1 结构

4.2 Host

4.2.1 通用访问配置文件

4.2.2 Host 控制器接口

4.3 控制器

4.3.1 物理层

4.3.2 链路层

4.3.3信道探测

5.结论

6.参考文献


版本:   1.0
修订日期 2024 年 7 月 9 日
作者:   

Martin Woolley,蓝牙技术联盟

1. 导言

低功耗蓝牙™(Bluetooth LE)因其为用户提供无线数据传输 和音频功能而闻名全球。我们的口袋里装有这项技术,因为我们的手机越来越智能。在我们的手腕上,智能手表和健身追踪器中都有这项技术。在我们的汽车里,它可以实现免提控制和通信。在我们的耳朵里,它可以通过全新的蓝牙低功耗音频 功能Auracast™ 广播音频,从个人音乐设备和广播信号源串流高品质音频。

但多年来,低功耗蓝牙也已成为一种普遍而可靠的技术,并以此为基础构建设备定位应用。低功耗蓝牙可用于检测和报告周围环境中是否存在另一个设备,估算设备之间的距离,以及计算另一个设备的方向。这些设备定位功能已被广泛应用于数字钥匙、资产追踪等领域、 查找和室内导航。

蓝牙技术在其 25 年的发展历程不断改进。它走过了一条积极进化的道路,产生了一系列令人瞩目的新功能,提升了产品所能达到的效果。

蓝牙核心规范 更新增加了一个名为蓝牙™ 信道探测的新功能 ,可在两个蓝牙™ 设备之间实现安全的精细测距,这也是本文的主题。本文无意取代或代替蓝牙核心规范。

2.背景情况

2.1 设备定位和低功耗蓝牙

低功耗蓝牙于2010年首次推出。从那时起,低功耗蓝牙就作为定位服务技术的发展经历了一系列关键事件。

2.1.1 蓝牙™ 查找

就在低功耗蓝牙首次被纳入蓝牙核心规范的同一年,第一份正式的与位置相关的低功耗蓝牙配置文件规范发布了。这就是”查找“配置文件。

”查找设备“配置文件定义了个人物品查找的标准方法,也称为查找一种设备承担"查找"定位器的角色。通常是智能手机。用户可能有遗失记录的其他设备(带蓝牙钥匙扣的钥匙最受欢迎)与"查找”定位器设备配对,各自扮演"查找目标"的角色。

目标设备实现了GATTI1 服务 ,称为即时警报服务 。

当用户需要帮助寻找丢失的设备时,他们会在智能手机上运行应用 。应用通过扫描丢失设备广播的广播数据包来执行设备发现程序。发现目标设备后,定位器会与之连接。应用的用户界面(UI)会显示连接已完成。用户通常会按下用户界面上的一个按钮。这将导致应用 写入属于即时警报服务的警报级别特性 。目标设备会以某种适当的方式对警报级别值的变化做出反应,例如发出响亮的蜂鸣声、LED 灯闪烁或同时闪烁。此时,用户会意识到自己的钥匙可能一直在上衣口袋里,也可能掉到了沙发后面,还可能在某个不太容易找到的地方。无论如何,蓝牙技术拯救了用户,让他们失而复得。

蓝牙™”查找“是一种存在检测应用。低功耗蓝牙可确定丢失的设备就在附近,但无法指示其方向或与定位器的距离。

2.1.2 信标和第一代距离估计

蓝牙信标(Beacon)使用低功耗蓝牙的广播功能。广播功能包括广播小数据包,范围内的任何设备都能通过扫描接收到这些数据包。

2013 年,苹果公司发布了 iBeacon 格式规范。这成为信标设备广播有效载荷内容的流行格式。iBeacon 信息中的数据包括一个名为 "发射功率"(TX Power)的字段,该字段包含一个值,代表在距离信标一米远的地方测量到的信号强度。正是 iBeacon 信息以及谷歌 Eddystone 等其他类似信标数据格式中 TX Power 字段的出现,预示着第一代低功耗蓝牙距离估计技术的到来。

蓝牙这个早期版本的距离估算使用了两个数据值和一些简单的物理学原理,工作原理是这样的:

  • 信标信息中的 TX 功率字段提供了已知距离(如一米)的参考功率电平。
  • 与每个接收到的信标信息相关的接收信号强度指示器(RSSI)可量化接收设备的信号强度。
  • 物理学定义了一种理论关系,即信号强度在距离发射器 越远的地方减弱的速度越快。具体来说,接收器 的信号强度与其与发射器距离的平方成反比。
  • 当我们远离发射器 时,测量到的信号强度降低,这就是所谓的路径损耗或衰减。就 iBeacon 发射而言,路径损耗 = 发射功率 - RSSI。
  • 因此,只要知道固定距离上的参考功率电平、所测得的接收信标传输的 RSSI 以及距离与路径损耗之间的反平方关系,就可以利用衰减来估算信标与接收器之间的距离。

图 1

图 1 - 路径损耗和距离

能够像这样估算距离是一项重大突破,信标已在零售、旅游和博物馆等各种应用中大受欢迎。

虽然信标非常适合某些要求,但基于 RSSI 和路径损耗的距离测量对于其他应用来说不够精确。当需要位置数据而不仅仅是距离时,缺乏发射器 方向的指示也是一个限制。此外,各种专有信标类型(如 iBeacon)并不包含任何明确的安全保障措施。

2.1.3 使用到达角和出发角的蓝牙™寻向功能

2019年,蓝牙核心规范5.1版本加入了一项重要的新功能——蓝牙寻向功能。

蓝牙寻向功能使应用程序能够使用低功耗蓝牙控制器进行的相位测量精确计算接收信号的方向。定义了两种方法。

在到达角(AoA)方法中,接收设备有一个天线阵列,由于每个天线与发射设备中的单个天线的距离略有不同,因此在不同天线上测量接收信号会出现相位差。

在出发角方法中,发射装置有一个天线阵列。接收装置只有一个天线,但拥有远程发射装置天线阵列的详细信息。这样,接收设备就能根据其单个天线的相位测量结果进行类似的计算。

图2
图 2 - 使用到达角和出发角的寻向功能

蓝牙控制器将同相和正交(IQ)采样形式的相位测量值传递给应用。IQ 样本包括一对相位和振幅值,应用 可利用这些值计算发射器 方向。

图 3
图 3 - IQ 样本

2.1.4蓝牙™ 信道探测

新型蓝牙™ 信道探测功能 使我们能够制造出能够计算两台蓝牙设备之间距离的产品,其精确度远远高于使用第一代 RSSI 和路径损耗方法的产品。它以完全不同的方式工作,包括各种安全保障措施,可降低各种类型的风险。

预计蓝牙™ 信道探测 将使查找 解决方案、数字钥匙产品和更多蓝牙连接设备受益。

2.2蓝牙™ 信道探测简介

在讨论低功耗蓝牙中的蓝牙™信道探测之前,本节将首先介绍功能背后的一些基本理论。已经熟悉该主题的读者可跳至第3节蓝牙™信道探测。

2.2.1 无线电波的基本特性

无线电波是电磁辐射的一种形式,物理学家通常用波来描述它。无线电波具有各种基本特性,了解这些特性非常重要。

2.2.1.1 振幅和波浪周期

无线电波的振幅与其携带的能量相对应,通俗地说,就是信号强度。它在一个中心参考值上下摆动。这种上下振荡有规律地定期重复。波幅上升到峰值、下降到谷值、再上升到起始参考值的单次过渡称为一个波周期。图 4 显示了两个完整的波浪周期,振幅在垂直刻度上。第一个波周期的范围突出显示。

图 4图 4 - 波浪周期与垂直方向上的振幅

2.2.1.2 波长

一个波周期有一个物理长度。波长与频率有关,就 Bluetooth 技术而言,大约在 12.0 厘米到 12.5 厘米之间。

图 5图 5 - 波长

2.2.1.3 频率

无线电在真空中以光速传播2。一秒钟内经过空间中某一固定点的完整波周期数称为频率。频率以赫兹(Hz)为单位,1 Hz 表示每秒一个波周期。蓝牙信号的工作频率要高得多,单位为千兆赫(GHz)。

图 6图 6 - 频率

2.2.1.4 阶段

位于一个波周期内某处的点用称为相位的角度测量值来表示。相位值的范围为 0 - 360 度或 0 - 2π 弧度。图 7 展示了相位的概念,并在波周期的适当位置标注了一些相位值(以弧度表示)。

图 7图 7 - 阶段

2.2.1.5 频率与波长之间的数学关系

频率(f)和波长(λ)成反比。波长越短,频率越高,反之亦然。此外,这两个变量与光速(c)之间的关系是由一组简单的公式定义的,可以根据其他两个变量的已知值计算出这三个量中的任何一个。光速是一个常数,其值为 299792458 米/秒。

Formula Use
2405 Channel Sounding Formulas 1

Calculate an unknown wavelength from a known frequency and the constant speed of light.

2405 Channel Sounding Formulas 2

Calculate an unknown frequency from a known wavelength and the constant speed of light.

2405 Channel Sounding Formulas 3

Calculate the speed of light using a frequency value and the corresponding wavelength.

表 1 - 频率和波长公式

2.2.2 距离测量方法

无线距离测量技术中最常用的两种方法是基于相位的测距(PBR)和往返计时(RTT)。本节将概述这两种方法背后的理论。

2.2.2.1 基于相位的测距(PBR)

2.2.2.1.1 理论

用信号从发射器延伸到接收器所需的波周期数来表示信号波长的函数,很容易将距离可视化。

图 8图 8 - 波长与波周期的距离

在图 8 中,插图左侧传输的信号显然与接收器相距 10.5 个波长。如果我们知道了信号的频率,也就知道了波长。如果我们知道了波长,那么知道了波周期数,我们就可以用乘法计算出两个设备之间的距离。

例如,如果传输频率为 2402 兆赫,那么波长就是 12.48095162 厘米。这个数字是用光速除以频率得出的。

然而,发射装置无法知道其天线与接收器天线之间的波周期数。因此,PBR 涉及一种技术,可以根据其他数据推算出发射器 与接收器 之间的距离。具体操作如下。

我们将希望计算距离测量值的设备称为设备 A。

  1. 设备 A 以已知频率 f1 发射信号。设备 A 知道该信号的初始相位,为便于说明,假设该信号的相位为零弧度。
  2. 设备 B 在其天线上接收 f1 信号并记录其相位,我们将其称为接收相位。
  3. 然后,设备 B 以相同的频率 f1 发射接收到的信号,并将其回传给设备 A,关键是要确保该发射的初始相位与设备 A 接收到的信号的接收相位完全相同。
  4. 设备 A 测量从设备 B 到达的信号的接收相位,我们称之为 Pf1。

图 9 展示了这种频率为 f1 的信号交换。

图 9图 9 - 频率 f1 的双向测距

设备 A 现在选择一个新的频率 f2,然后重复上述四个步骤。这四个步骤的第二次执行结果是设备 A 对从设备 B 接收回来的信号进行新的相位测量,我们称之为 Pf2。

图 10 展示了这种频率为 f2 的信号交换。

图 10图 10 - 频率 f2 的双向测距

设备 A 现在计算 f1 和 f2 的相位差,即 Pf2 - Pf1。有了相位差以及频率 f1 和 f2 之间的差值,就可以用以下公式计算距离了:

2405信道探测 公式 4

其中,c 是光速,(Pf2 - Pf1) 是相位差,(f2 - f1) 是频率间隔,r 是 两个设备之间的双向测距距离。

这种方法称为双向测距,即第二个设备将信号传回始发设备,以便进行相位测量。

现实世界可能会带来一些挑战,而这些挑战并没有反映在对一些基本理论的解释中。我们将在本节稍后部分遇到这些挑战。

2.2.2.1.2 工作示例

让我们通过一个简单的实际例子来了解一下。我们将使用一个比较人为的情况,即我们已经知道两个设备之间的距离,这样我们就可以看到公式是如何正确得出相同结果的。

图 11 显示了两个相距 1.248095162 米的设备,即设备 A 和设备 B。设备 A 发射的信号频率为2.402 兆赫,波长为 12.48095162 厘米。非常巧合的是,两个设备之间的距离正好是这个波长的 10 倍。

图 9图 11 - 恰好相隔 10 个 f1 波周期的设备

由于设备 A 发射信号时的初始相位为零,而设备 B 相距波长的整数倍,因此设备 B 的接收相位也为零。如图所示,设备 B 将信号发送回设备 A,并将初始相位设置为与其最初接收到的信号相同的接收相位值,这样我们实际上就有了一个延续信号。

图 12 显示设备 A 以频率 f2 发送的第二个信号。这次选择的频率高于 f1,为 f2 =2.432 MHz。设备 A 的初始相位再次为零。

图 10图 12 - 相隔十多个 f2 波周期的设备

f2 的波长比 f1 的波长短,因为 f2 的频率更高。这导致设备 B 的接收相位不为零。事实上,它是 0.784744210 弧度。当设备 B 以相同的初始相位重新传输信号并由设备 A 接收时,其相位将为 1.56948842 弧度。

在这种情况下,我们如何知道设备 B 和设备 A 的相位值?

在实际应用中,相位值将由接收设备测量。在这个例子中,我们已经知道设备之间的距离,只需展示主公式如何得出距离估计值,我们就可以根据已知的距离和波长,利用这个公式计算出预期的相位值:

2405信道探测 公式 5

其中,λ 是波长,r 是已知距离。

 

设备 A 现在掌握了计算到设备 B 的距离所需的所有信息。频率差为 30 兆赫,相位差为 1.56948842。将这些数值代入 r 的计算公式,计算出的距离为 2.49 米(精确到小数点后两位)。但这是从设备 A 到设备 B 的往返距离,所以两个设备之间的实际距离是这个数字的一半,即 1.24 米。这是预期的结果,说明了如何利用基于光速和已知两个传输信号的相位和频率间隔的 r 公式来精确计算两个设备之间的距离。

不过,还有一个复杂的问题,这在相位公式和 (2 * π) 的模数除法中有所暗示。相位值会随着距离的增加而变化,但它们是周期性的,也就是说,当相位值达到 (2 * π) 弧度时,它就会重置为零,相同的值开始重复出现。这可能会导致在确定两个设备之间的距离时产生歧义,因为相同的相位差值可能意味着不止一个距离。这就是所谓的距离模糊。

距离模糊的确切发生时间取决于频率间隔。一般来说,频率差异越大,距离模糊越早出现。幸运的是,这个问题可以通过将 PBR 与第二种测距方法 RTT 结合使用来解决。

2.2.2.2 往返时间(RTT)

2.2.2.2.1 理论

使用往返计时来计算两个设备之间距离的理论非常简单。无线电 (RF) 传输以光速进行,光速是一个已知常数。因此,如果我们能计算出两个设备之间传输所需的时间,就能计算出距离。我们所要做的就是将RTT 乘以光速。

例如,如果射频信号从设备 A 传播到设备 B 再返回到设备 A 需要 20 纳秒,那么只要将光速乘以 20 纳秒,就能得出双向总距离略低于 6 米,因此两个设备之间的距离略低于 3 米。

双向距离 2r = c * 0.00000002

其中,c 是光速(299792458 米/秒),0.00000002 是双向飞行时间(ToF),单位为秒。由此得出以下结果:

2r = 299792458 * 0.00000002
= 5.99584916

因此设备 A 和设备 B 之间的距离为

2.99792458 米

不过,虽然这个基本公式是正确的,但在蓝牙设备中使用这个公式就比较复杂了,而且目前提出的理论还不完整。

制定和发送射频信号需要时间,接收、处理和发送往返响应也需要时间。考虑到无线电波在一微秒内的传播距离不到 300 米,这些看似短暂的时间在距离测量中可能非常重要。

图 13 显示了这一细分,并标出了时间轴上的关键点。

2405信道探测 图 13

图 13 -RTT 分解(不按比例 - 信号内容不具代表性)

 

Instant in Time Explanation

ToDA

Time of Departure from Device A.

This is the time at which the signal is transmitted over the air by Device A.

ToAB

Time of Arrival at Device B.

This is the time at which the signal arrives at the antenna of Device B.

ToDB

Time of Departure from Device B.

This is the time at Device B transmits over the air.

ToAA

Time of Arrival at Device A.

This is the time at which the signal from Device B is received at Device A’s antenna.

绿色虚线(· · · · · · · · · · · ·)表示两个信号都不在空中的时间。

RTT RTT)可以 用图 13 所示的时间瞬时表示如下:

RTT = 2 * ToF (ToAA-ToDA) - (ToDB-ToAB)

设备 A 要计算 RTT,需要知道设备 B 的周转时间(即ToDB-ToAB)。从理论上讲,有多种方法可以做到这一点。在实践中,最简单的解决方案是设备 A 和设备 B 事先商定一个固定的周转时间。然后,设备 B 必须保证完成其处理,并在周转期结束时准确地传输其响应。然后,设备 A 使用事先商定的值 (ToDB-ToAB)。

2.2.2.3 现实世界的挑战

所介绍的 PBR 和 RTT 法的理论足以让我们对这一主题有一个初步的了解,而且从纯理论的角度来看,这些理论是完整的。然而,在现实世界中,精确测量距离更为复杂。在现实世界中使用的真实设备要想取得令人满意的结果,必须解决几个难题。

无线距离测量技术需应对的挑战类型如下:

  • 无线电信号多路径传播引起的复杂问题
  • 生成信号频率的准确性和稳定性
  • 内部时钟的稳定性以及时间戳的准确性和分辨率
  • PBR 距离模糊性
  • 安全

在本文的剩余部分中,我们将了解蓝牙技术中的高精度距离测量技术,并领会该技术是如何设计以有效解决现实世界中的此类问题的。

3.蓝牙™信道探测

3.1 概述

蓝牙™信道探测技术为产品实现比以往更高精度的距离测量提供了可能。测量的精确度取决于环境条件以及应用如何利用蓝牙™ 信道探测功能 。它还取决于实施选择,其细节不属于蓝牙核心规范的范围,但可以提高计算中使用的原始数据的质量。

蓝牙™信道探测为应用提供了灵活的测距工具包,可以进行多种不同的配置。本规范支持 PBR 和 RTT 方法。在大多数情况下,预计 PBR 将被用作主要和最精确的测距方法,同时使用 RTT 来提供额外的安全性。

用于蓝牙™信道探测的 PBR 在测距模糊出现之前,可以测量长达约 150 米的距离。除了使用 PBR 外,还可通过使用 RTT 识别和消除距离模糊,从而测量更远的距离。

应用程序可能会对准确性、安全性、延迟和功耗等问题给予不同程度的优先考虑。蓝牙™信道探测功能的可配置性为应用提供了对系统许多关键功能和行为的控制或影响,从而使系统的运行集中在应用 所需的正确优先级上。

在本节中,我们将着手研究蓝牙™信道探测功能及其所依赖的核心蓝牙协议栈功能 。

3.2 结构

3.2.1 设备角色

蓝牙™ 信道探测功能定义了两种设备角色。第一个是启动器,第二个是反射器。

启动器是希望计算自身到另一设备之间距离的设备。另一个设备是反射器。

启动器或反射器均可启动蓝牙™信道探测程序,本文稍后将详细介绍该程序。

图 14 图 14 - 角色

3.2.2 拓扑结构

蓝牙™信道探测在一对一拓扑结构中进行,通信在一个扮演启动器角色的设备和一个扮演反射器角色的设备之间进行。

需要注意的是,蓝牙™信道探测启动器角色可由担任链路层 LE 中心角色的设备或作为 LE 外围设备的设备担任。这同样适用于蓝牙™ 信道探测 反射器角色,该角色可由 LE 中心设备或 LE 外围设备担任。

3.2.3 天线阵列

使用蓝牙™ 信道探测的设备可包括天线阵列。这为用于PBR 蓝牙™ 信道探测传输交换提供了一系列备用路径,并可通过减少多路径传播的影响来提高距离测量的准确性。

3.2.4 应用

蓝牙™信道探测要求应用使用蓝牙控制器提供的数据计算距离。这些数据由控制器在执行蓝牙™信道探测程序时获取,是每个设备进行信号交换和低层测量的结果。数据在 HCI 事件中传递给应用 。

应用还负责为蓝牙控制器提供配置选择和偏好,这些选择和偏好用于建立蓝牙™信道探测配置,该配置由两个设备上的应用支持并适合这两个设备上的应用。

要使两台设备都能参与一个系统,其中一台设备扮演启动器角色,另一台设备扮演反射器角色,则两台设备都必须有一个支持蓝牙™ 信道探测功能的低功耗蓝牙控制器。

图 15 新 图 15 -蓝牙™信道探测应用程序和蓝牙协议栈

3.2.5 数据传输架构
图 16图 16 -Bluetooth 通用数据传输架构

蓝牙核心规范从多个角度定义了蓝牙技术的架构。首先,定义了通用数据传输架构。其在核心规范中的描述如图 16 所示。

参照蓝牙核心规范中的定义,图 16 中的术语描述如下:

  • L2CAP 是逻辑链路控制和适配协议。L2CAP 信道是两个设备之间的 L2CAP 层逻辑连接,服务于单个应用或更高层协议。
  • 逻辑链路是 "用于向蓝牙系统客户提供独立数据传输服务的最低架构层"。
  • 逻辑传输涉及发送和接收例程、流量控制机制、确认协议和链路识别等问题。逻辑传输可以是同步、异步或等时的。
  • 物理链路是设备之间在链路层建立的连接。链路层是蓝牙协议栈的其中一层。
  • 物理信道定义了一个或多个通信设备占用射频载波的模式。
  • 物理传输定义了普遍适用的问题,如用于编码数字数据的空中数据包结构和调制方案,以便使用无线电信号作为载体进行传输。

通用数据传输架构适用于低功耗蓝牙和蓝牙基本速率/增强数据速率 (BR/EDR)。

定义了物理传输、物理信道、物理链路、逻辑传输和 L2CAP 信道的一系列特定类型。只允许各种类型的某些组合。蓝牙核心规范 中定义了具体的数据传输架构组件类型和允许的组合,用于支持不同的应用类型。每种类型在拓扑结构、传输定时模式、可靠性、功耗和射频信道使用等方面都有区别。

图 17 显示了数据传输架构的一个子集。蓝色突出显示的是为信道探测 定义的新物理信道类型和新物理链路类型。

图 17

图 17 - CS 和数据传输架构

低功耗信道探测物理链路未关联逻辑传输类型或逻辑链路类型。

3.2.6 低功耗蓝牙协议栈中的信道探测

更全面的低功耗蓝牙定义方式是完整的协议栈及其层。蓝牙核心规范的大部分内容都用于定义每一层。图 18 描述了低功耗蓝牙协议栈。

图 18图 18 - 低功耗蓝牙协议栈

低功耗蓝牙协议栈各层的作用摘要见表 2。

Layer Key Responsibilities

Generic Access Profile (GAP)

Defines operational modes and procedures that may be used in a non-connected state, such as how to use advertising for connectionless communication and device discovery.

Defines security levels and some user interface standards.

Generic Attribute Profile (GATT)

Defines high-level data types known as services, characteristics, and descriptors in terms of underlying attributes in the attribute table.

Attribute Protocol (ATT)

A protocol used for the discovery and use of data held by the server in a logical data structure known as the attribute table.

Security Manager Protocol (SMP)

A protocol used during the execution of security procedures such as pairing.

Logical Link Control and Adaptation Protocol (L2CAP)

Provides data channel multiplexing services over RF connections, segmentation and reassembly of large SDUs, and enhanced error detection and retransmission facilities.

Host Controller Interface (HCI)

Provides an interface for bi-directional communication of commands and data between the host component and the controller.

Isochronous Adaptation Layer (ISOAL)

Allows different frame durations to be used by devices using isochronous channels.

Link Layer

Defines air interface packet formats, bit stream processing procedures such as error checking, a state machine and protocols for over-the-air communication, and link control.

Defines several distinct ways of using the underlying radio for connectionless, connection-oriented, and isochronous communication known as logical transports.

Physical Layer

Defines all aspects of Bluetooth technology that are related to the use of radio (RF), including modulation schemes, frequency bands, channel use, transmitter, and receiver characteristics.

Three combinations of Physical Layer parameters are defined and are referred to as the LE 1M, LE 2M, and LE 2M 2BT PHYs. LE 2M 2BT was defined for the first time in the version 6.0 of the Bluetooth Core Specification and may only be used with Bluetooth® Channel Sounding. Further details about the LE 2M 2BT PHY are provided in section 3.11 The LE 2M 2BT PHY.

A further PHY, LE Coded, is defined. Despite the name, LE Coded uses the same Physical Layer parameters as LE 1M but applies forward error-correction coding and pattern mapping in the Link Layer.

表 2 - 低功耗蓝牙协议栈各层的主要职责和功能摘要

蓝牙核心规范的物理层、链路层、Host 控制器接口和通用访问配置文件部分都受到了蓝牙™信道探测技术的影响。第4蓝牙核心规范更改摘要对此作了进一步解释。

此外,还引入了专门为蓝牙™信道探测设计的新安全功能。第3.13安全性 专门讨论了蓝牙™信道探测的安全问题。

3.3 蓝牙™ 信道探测控制程序

在启动蓝牙™ 信道探测之前,处于链路层 LE 中心角色的设备必须连接处于链路层 LE 外围角色的设备。然后在已建立的 LE-ACL 连接上启动安全机制,以便在准备和启动蓝牙™信道探测若干程序中,为交换各种链路层协议数据单元(PDU)提供安全传输。

准备和启动蓝牙™ 信道探测的主要程序是:

  1. 安全功能启动
  2. 能力交换
  3. 配置
  4. 开始

并非所有这些程序都是强制性的,这取决于两个设备之前是否交换过可能已缓存的信息等问题。 图 19显示了程序和相关 PDU 的可能顺序。

图 19 图 19 - 可能的 CS 启动程序序列

下面将对启动蓝牙™信道探测通常涉及的四个关键程序进行更深入的研究。

3.3.1 蓝牙™ 信道探测安全功能启动

蓝牙™信道探测具有自己的安全功能,与执行初始化程序的 LE-ACL 连接相关的安全功能不同。蓝牙™ 信道探测启动程序允许两个设备安全地交换参数,这些参数随后将用于蓝牙™ 信道探测安全功能。

蓝牙™ 信道探测安全功能启动程序首先由 LE 中央设备生成三个随机数,并通过 LL_CS_SEC_REQ PDU 发送给 LE 外围设备。LE 外围设备根据与中心设备随机数相同的规则自行生成三个随机数,并通过 LL_CS_SEC_RSP PDU 将其发送回中心设备。

表 3 对每个设备生成的随机数进行了命名和描述。

Name Description Length (bits)

CS_IV_C

Initialization Vector generated by the Central.

64

CS_IN_C

Instantiation Nonce generated by the Central.

32

CS_PV_C

Personalization Vector generated by the Central.

64

     

CS_IV_P

Initialization Vector generated by the Peripheral.

64

CS_IN_P

Instantiation Nonce generated by the Peripheral.

32

CS_PV_P

Personalization Vector generated by the Peripheral.

64

表 3 - CS 安全参数

当两台设备都拥有两组蓝牙™ 信道探测安全参数时,每个中央/外围设备对的值都会被各自的链路层串联起来。这样,两个设备就都拥有了 CS_IV、CS_IN 和 CS_PV 这三个蓝牙™ 信道探测安全参数的相同值。

有关使用这些参数的更多信息,请参见3.13节安全性 。

3.3.2 蓝牙™ 信道探测能力交换

两台设备的蓝牙™ 信道探测能力可能相差很大,为了在启动前达成相互支持的配置,两台设备必须各自掌握另一台设备的能力信息。

能力交换是通过一个设备在 LL_CS_CAPABILITIES_REQ PDU 中发送其详细信息,另一个设备在 LL_CS_CAPABILITIES_RSP PDU 中响应其详细信息来实现的。一台设备可以缓存先前从另一台设备接收到的能力数据,从而选择不与另一台设备交换能力。但是,任一设备都可以启动此过程。

功能可能不同的示例包括 PHY 支持、RTT 精度、支持的蓝牙™ 信道探测模式3、攻击检测支持以及支持的最大天线路径数。蓝牙核心规范提供了 LL_CS_CAPABILITIES_REQ PDU 和 LL_CS_CAPABILITIES_RSP PDU 的全部详细信息。

3.3.3 蓝牙™ 信道探测配置

该过程涉及 LL_CS_CONFIG_REQ 和 LL_CS_CONFIG_RSP PDU 的交换。从本质上讲,使用先前交换的能力,该过程允许设备选择将要使用的特定配置。

可以维护多个配置参数集。Host会为每个配置分配一个标识符。该标识符在这对设备使用的标识符中必须是唯一的,并可用于在链路层程序中引用给定的参数集。

发送 LL_CS_CONFIG_REQ PDU 的设备上的应用 可以选择它希望承担的启动器或反射器角色。另一个设备响应 LL_CS_CONFIG_RSP,并必须承担另一个角色。

3.3.4 模式-0 FAE 表请求

分数频率偏移执行误差(FAE)是指生成的频率与预期或要求的频率之间的差值,以百万分率(ppm)表示。所有设备在这方面都有一定程度的误差,通常,误差的大小会因使用的射频信道而异。

为了获得尽可能精确的距离测量结果,支持蓝牙™ 信道探测设备可能会有一个名为 Mode-0 FAE 表的数据表。该表包含每个信道的 FAE 值,在制造过程中进行设置。模式-0 的含义将在 3.5.3 步进模式中阐明。

模式-0 FAE 表请求过程允许启动程序请求反射程序的模式-0 FAE 表。这包括启动程序传送一个 LL_CS_FAE_REQ PDU,反射程序回复一个包含其 FAE 表的 LL_CS_FAE_RSP PDU。

获取 FAE 表后,可将其存储起来,以便将来与同一反射器一起使用,这样对于给定的设备对来说,只需执行一次该程序即可。

3.3.5 蓝牙™ 信道探测启动

蓝牙™ 信道探测安全功能已启动、设备拥有彼此的能力信息、启动器拥有反射器的模式-0 FAE 表(如果有的话)并且设备已就合适的配置达成一致时,就可以启动信道探测 启动程序。这可通过 LL_CS_REQ、LL_CS_RSP 和 LL_CS_IND PDU 实现。

LL_CS_REQ 和 LL_CS_RSP PDU 包括每个设备建议的定时和结构参数。这些参数规定了时间的分配方式以及在蓝牙™信道探测期间如何使用时间。在从外设接收到 LL_CS_REQ 或 LL_CS_RSP PDU 后,中心设备将发送 LL_CS_IND PDU。LL_CS_IND 表示蓝牙™ 信道探测现在应该开始,并包含两个设备根据先前交换的 PDU 中包含的建议可以接受的参数值。

3.3.6 蓝牙™ 信道探测

蓝牙™ 信道探测程序在蓝牙™ 信道探测启动程序完成后开始。这是两个设备交换射频信号的机制,目的是测量应用 可用于距离计算的数据。本文将在后续章节中探讨其工作原理。

3.4 事件、子事件和步骤

3.4.1 LE-ACL 连接和时间划分

在 ACL 连接中,数据包可在连接事件期间传输。连接事件的时间取决于 ACL 连接的连接间隔参数值。在连接事件期间,中心设备和外围设备轮流发送数据包,中心设备先发送,外围设备再响应。根据其他连接参数的不同,外围设备可能只允许响应一组数据包,而中心设备可能只允许在一组事件中进行传输。

在每次连接事件中,每一方传输的数据包大小和数量可能会有所不同。

LE-ACL 连接用于3.3蓝牙™信道探测控制程序中所述的 蓝牙™ 信道探测 启动程序。

图 20 图 20 - LE-ACL 连接中的连接事件和时间间隔

3.4.2 时间划分

 3.4.2.1 结构

蓝牙™信道探测 是通过一系列程序进行的。每个程序由若干 CS 事件组成,每个 CS 事件又进一步划分为 CS 子事件。在这一分级方案中,时间的最终细分是 CS 步。数据包或音调就是在步骤内发送和接收的。图 21 举例说明了这一时间划分结构方案。

图 21

图 21 - 蓝牙™信道探测程序的结构示例配置

3.5 CS 步骤详细介绍了 CS 步骤中开展的活动。

有许多参数可以控制蓝牙™信道探测程序的结构方面,特别是不同层次元素之间关系的核心度。表 4 列出了一些关键的可配置变量。

Configurable Variable Range/Value Description

Number of CS procedure repetitions

0 to 65535

The number of Bluetooth® Channel Sounding (CS) procedure repetitions to execute before Bluetooth® Channel Sounding is terminated. A value of 0 is a special value indicating that CS procedures should run until terminated via the Bluetooth® Channel Sounding Procedure Repeat Termination procedure, which the host may invoke.

Number of subevents per event

1 to 16

The number of subevents anchored off the same ACL event.

Subevent Interval

0 or in the range 625 us to 40959.375 ms.

Time interval between the beginning of a CS subevent and the beginning of the next CS subevent within the same CS event.

0 means no division into subevents.

Configurable Variable

Range/Value

Description

Duration of each subevent

Variable

The duration of each subevent.

Number of steps per subevent

2 to 160

Randomly selected from a configured range.

There are a maximum of 256 steps per procedure.

表 4 -蓝牙™ 信道探测配置参数示例

3.4.2.2 时间安排

程序、事件、子事件和步骤的时间、持续时间和调度由一系列参数控制,这些参数在蓝牙™信道探测配置和蓝牙™ 信道探测启动程序中进行配置。

所有过程、事件、子事件和步骤的开始时间都直接或间接锚定到底层 LE ACL 连接中的选定连接事件,在该连接上执行链路层程序以启动蓝牙™ 信道探测 。在第一个蓝牙™信道探测程序实例中,其第一个事件和子事件都在同一时间启动,计划在所选连接事件锚点的偏移处发生。第一步发生在第一个子事件(称为 T_FCS)开始的偏移量处。T_FCS 的值范围为 15 μs 至 150 μs,它所覆盖的时间段用于通过跳频改变频率。3.9 射频信道和信道选择可提供更多相关信息。

程序和事件都以间隔发生,其值用 ACL 连接间隔数表示。图 22 显示了一个示例,其中程序间隔的值为 4,事件间隔的值为 2。 如图所示,这将导致新的程序间隔从第 4 个 ACL 连接事件开始,事件间隔从第 2 个连接事件开始。程序及其事件在各自的时间间隔内实际上是从相关连接事件锚点的偏移量开始的。偏移值以微秒为单位。

图 22 图 22 - 程序和事件调度,程序间隔 = 4,事件间隔 = 2

每个事件中的第一个子事件与事件同时开始,与相关 ACL 连接事件偏移。每个事件的子事件数是一个配置参数,如图 23 所示,每个子事件间隔发生一次子事件。

图 23 图 23 - CS 事件调度中的 CS 子事件示例

每个子事件至少包括两个步骤。不同的子事件可能会有不同的步骤,这取决于应用如何使用信道探测 。步骤的持续时间也会因配置而异。步骤的调度以及分配给它们的射频发射和接收时隙都要遵守严格的定时规则,更多详情可参阅蓝牙核心规范。

3.5 蓝牙™信道探测步骤

3.5.1 关于步骤

图 21 按事件、子事件和步骤显示了蓝牙™信道探测程序的结构。在步骤中,启动器和接收器之间进行射频信号交换。根据应用选择使用的一种或多种信道探测方法(PBR 和/或 RTT),细节会有所不同。

一般来说,这些步骤不是涉及校准,就是涉及获取应用在距离测量算法中可以使用的低层测量值。

3.5.2 数据包和 Tone

当使用RTT 时,启动器和反射器会交换名为 CS_Sync 的数据包。

CS_SYNC 数据包的结构如下:

图 24 图 24 - CS_Sync 数据包

在 CS_Sync 数据包末尾加入鸣叫序列或随机序列是可选的。这些术语将在 3.10RTT 选项和精度中解释。

CS_Sync 数据包可使用 LE 1M、LE 2M 或 LE 2M 2BT PHY 传输。与其他低功耗蓝牙数据包一样,使用GFSK4调制方案。

使用PBR 时,启动器和反射器交换称为 CS Tones 的信号。这些信号使用振幅偏移键控(ASK)来创建一个在指定时间内频率固定的符号。

3.5.3 阶跃模式

步骤有一个相关的模式,该模式决定了步骤的目标以及在步骤中开展的活动类型。定义了四种模式,分别为模式-0、模式-1、模式-2 和模式-3。

3.5.3.1 模式-0

模式-0 与校准有关。所有设备在频率生成时都会出现一定程度的时钟漂移和误差。这对于 RTT 和 PBR 测量方法都是一个问题。

模式-0 步骤的目的是让发射器测量反射器发射的信号频率与发射器产生的信号频率之间的差异。

启动器在选定的信道和频率上发送 CS_Sync 数据包。反射器回复一个 CS_Sync 数据包和一个 CS Tone。这两个数据包必须在与从启动器接收到的信号相同的频率上传输。

CS_Sync 数据包为启动程序提供前导码,用于调整接收器 和设置增益。CS 音调将作为测量频率偏移的基础,如下所述。

在接收到反射器发出的响应信号后,启动程序会计算一个称为分数频率偏移(FFO)的值。FFO 的计算涉及从反射器接收到的音调频率和反射器的模式-0 FAE 表(见 3.3.4 模式-0 FAE 表请求)。

随后在计算中使用 FFO 来补偿两个设备之间的差异,提高结果的准确性。

图 25 显示了启动程序发送 CS_Sync 数据包,随后反射程序发送 CS_Sync 和 CS Tone 作为回应的过程。各种时隙的持续时间用符号名称表示,其含义如下:

T_SY Time for synchronization sequence. Duration depends on CS_Sync packet length and the PHY used.

T_RD

Time for transmission ramp down. This is 5 μs and is used by the transmitter to remove energy from the RF channel.

T_IP1

Time for interlude period between the end of the Initiator’s transmission and the start of the transmission by the Reflector. Durations vary between 10 μs and 145 μs and are determined in the capabilities exchange procedure.

T_GD

Guard time. Always 10 μs in duration.

T_FM

Time for frequency measurement. Always 80 μs in duration for step mode-0.

表 5 - 时隙参数

图 25 图 25 - 模式 0 传输和时隙

必须支持模式 0 步骤。

3.5.3.2 模式-1

在模式-1 步骤中,计算 CS_Sync 数据包从启动器发送到反射器再返回的往返RTT)。

启动程序在传输初始 CS_Sync 数据包时记录一个时间戳,称为 "出发时间"(ToD)。启动程序在接收反射程序发回的 CS_Sync 数据包时记录第二个时间戳。这被称为到达时间(ToA)。

图 26 显示了启动程序以模式 1 发送 CS_Sync 数据包,然后由反射程序发送 CS_Sync 作为回应的过程。各种时隙的持续时间用符号名称表示,如表 5 所示。

图 26 图 26 - 模式 1 传输和时隙

间歇期 T_IP1 是已知的固定长度,足够反射器准备和传输其数据包。在这部分交换中使用预先商定的固定时间,意味着启动器知道接收器 的周转时间,并可将其用于 RTT 的计算。

ToD 和 ToA 时间戳有多种定义方法。不同的方法可提供不同的精确度。3.10RTT 选项和精确度中解释了可供选择的方法。

必须支持模式-1 步骤。

3.5.3.3 模式-2

模式-2 步骤的目的是支持 PBR。

模式-2 步骤开始时,启动器在选定信道上通过每个可用天线路径发射 CS 音。经过一段斜坡下降时间和间歇期后,反射器选择与启动器接收到的音调相同的频率,通过其每条天线路径回复 CS 音调。图 27 展示了交换过程。时隙持续时间包括表 5 中描述的术语和表 6 中定义的附加术语。

T_SW Time period reserved for antenna switching.

T_PM

Time for the transmission of a phase measurement tone.

T_IP2

Time for interlude period between CS Tones.

N_AP

Number of antenna paths.

表 6 - 额外的步进模式-2 计时参数

图 27 图 27 - 模式-2 传输和时隙

启动程序测量在 T_PM 期间从反射器接收到的 CS 音调的相位,每个天线路径测量一次。使用模式-0 步骤中计算的补偿值进行调整。相位测量结果以 IQ 样本阵列的形式在 HCI 事件中传递给应用 。

需要注意的是,CS 提示音传输总时长的表达式包括以下项 N_AP + 1.这是因为在为每条天线路径分配的 T_PM 时长时隙之后,还有一个称为 CS Tone 扩展时隙的额外时间段。出于安全原因(见 3.12 安全性),使用该时隙进行传输是随机的,但在使用该时隙时,CS Tone 将使用紧接着的 T_PM 时隙中使用的同一天线进行传输。

必须支持模式-2 步骤。

3.5.3.4 模式-3

模式-3 步骤使用 CS_Sync 数据包和 CS Tones 的组合交换 RTT 支持 RTT 计算和 PBR 。

图 28 - 模式 3 传输和时隙

对模式-3 的支持不是强制性的。应用程序希望结合PBR 和RTT 但通过能力交换程序发现启动程序和反射程序都不支持模式-3,则可以使用结合模式-2 和模式-1 步骤的模式序列。有关蓝牙™ 信道探测功能的更多信息,请参阅 3.8 模式序列。

模式-3 梯级包括一个扩展槽,与模式-2 梯级相同。

3.6 确定相位差

在前面关于模式-0、模式-1、模式-2 和模式-3 步骤的章节中,重点介绍了每种类型的单步中如何分配和使用时间的细节。但是,距离计算需要多次交换,这可能是为了提高计算距离的准确性,也可能是所使用的方法要求这样做。顾名思义,PBR至少需要两次交换。

要测量相位差,必须有一个以上的传输信号和一个以上的频率。单步涉及在单个选定信道和频率上交换单个 CS Tone。因此,PBR 显然要求在支持PBR 的模式下至少执行两个步骤。蓝牙™信道探测程序中的步骤序列以及管理其重复和模式变化的模式是 3.8 模式序列的主题。应注意的是,一般来说,使用相应的更大一组射频信道进行更多的 CS Tone 交换,将为应用 提供更多的数据和更精确的距离测量。不过,更多的交换需要更多的时间来执行。

3.7 天线切换

如 3.2.3 天线阵列所述,设备可包含多个天线,用于PBR 交换。在PBR 交换(即模式-2 或模式-3 步骤)期间,设备可使用的最大天线数量为四根。给定的一对天线配置(一个属于发射器,一个属于反射器)提供了两个设备之间的若干天线路径。

蓝牙核心规范共定义了八种天线排列方式。表 7 列出了这些配置,与核心规范中的类似表格一致。表后的数字显示了几个示例。

Antenna Configuration Index (ACI) Device A number of antennas Device B number of antennas Number of antenna paths (N_AP)

0

1

1

1

1

2

1

2

2

3

1

3

3

4

1

4

4

1

2

2

5

1

3

3

6

1

4

4

7

2

2

4

表 7 - 天线配置

2405信道探测 图 28 图 29 - 1:1 天线配置(ACI=0,N_AP=1)

2405信道探测 图 29 图 30 - 1:2 天线配置(ACI=4,N_AP=2)

2405信道探测 图 30 图 31 - 3:1 天线配置(ACI=2,N_AP=3)

2405信道探测 图 31 图 32 - 2:2 天线配置(ACI=7,N_AP=4)

天线切换发生在模式-2 步骤(PBR)和每个模式-3 步骤 PBR 部分。具体来说,根据发射装置的天线配置,在发射 CS Tone 时可以进行天线切换。在模式-2 和模式-3 步骤中,CS Tone 传输时隙持续时间的计算要考虑到天线切换和多条天线路径:

(T_SW+T_PM)*(N_AP+1)

→ T_SW 为天线切换提供时间,其值为 0、2、4 或 10 微秒。

→ T_PM 是 CS Tone 的传输时间。

→ N_AP 是天线路径的数量。+1项是为了预留扩展槽。

3.8 模式排序

3.8.1 模式排序概述

蓝牙™ 信道探测程序总是包含多个步骤的执行序列和至少两种模式的混合。蓝牙核心规范 定义了模式组合和排序规则,本节将探讨其中的关键方面。

当蓝牙控制器提供的数据来自更多的数据包和音频交换时,蓝牙™信道探测应用将产生更高质量、更精确的距离测量结果。

3.8.2 模式组合

蓝牙™ 信道探测程序总是涉及至少两种不同模式类型的步骤。第一种是用于频率偏移测量的模式-0 步骤,第二种必须是其他任何一种模式。但也可以将两种非模式-0 模式与强制模式-0 类型结合使用。在所有情况下,主要的非模式-0 模式都称为主模式(Main_Mode)。次要的非模式-0(如果有的话)称为 Sub_Mode(子模式)。表 8 摘自蓝牙核心规范 ,列出了六种允许的非模式-0 模式组合。

Main_Mode Sub_Mode

Mode-1

None

Mode-2

None

Mode-3

None

Mode-2

Mode-1

Mode-2

Mode-3

Mode-3

Mode-2

表 8 - 允许的非模式 0 模式组合

3.8.3 模式序列配置和子模式插入

应用程序可使用 HCI 命令配置步进模式序列。这需要在蓝牙™ 信道探测配置和启动过程中进行。表 9 所示为设备之间可请求和商定的关键参数。

HCI Parameter Purpose

Mode_0_Steps

Defines the number of consecutive mode-0 steps to be executed at the start of each CS subevent. Permitted values are 1, 2, or 3.

Main_Mode_Type

Indicates the mode which will be the main mode (1, 2, or 3).

Sub_Mode_Type

Indicates the mode which will be the submode (1, 2, or 3).

Min_Main_Mode_Steps

Determines the minimum number of main mode steps that must always be executed before a submode step.

Max_Main_Mode_Steps

Determines the maximum number of main mode steps that must always be executed before a submode step.

表 9 - 模式排序控制参数

通过使用这些参数,应用程序可以指定序列中出现的步进模式。

一般来说,步进模式排序遵循这种模式:

  1. 一个或多个模式 0 步骤启动子事件
  2. 随后是一连串 n 个主要模式步骤,其中 n 是随机选择的,范围在 Min_Main_Mode_Steps 至 Max_Main_Mode_Steps 之间(含)。
  3. 由于蓝牙核心规范 称之为子模式插入(sub_mode insertion)的过程,在 n 个主模式步骤序列之后会出现一个子模式步骤。

除子事件必须始终以一个或多个模式 0 步开始这一一般规则外,步进模式序列与子事件边界无关。完整序列可以跨越多个子事件。

图 33 显示了一些模式排序参数影响的简单示例。

图 32图 33 - 梯级模式序列示例

子事件 1 以两个连续的模式 0 步开始。所有子事件都至少以一个模式 0 步开始,本例中的 Mode_0_Steps 参数值为 2。

接下来,我们有一系列三个模式-2 步骤。主模式的步数是随机选择的,Min_Main_Mode_Steps和 Max_Main_Mode_Steps分别作为上限和限制。在这种情况下,随机选择的值为 3。

在三个主模式步骤之后,由于 Sub_Mode_Type 的值为 1,且所需的主模式步骤序列已经完成,因此包含一个模式-1 类型的子模式步骤。

子事件(其持续时间由 CS 启动过程中的 Subevent_Len 参数指定)还有足够的时间再包含一个步骤。前一个步骤是子模式步骤,因此主模式/子模式序列再次开始,但这次需要随机选择两个主模式步骤。子事件 1 的最后一个步骤是模式 2 的主模式步骤,由此开始新的序列。

子事件 2 以两个模式 0 步开始。然后,在上一个子事件中启动的主模式序列继续执行,再执行一个主模式步进,完成所需的两个步进。该序列以一个子模式步骤结束。

新的主模式/子模式序列再次启动,这次将根据需要随机选择五个主模式步骤。在当前子事件结束之前,其中三个步骤被包含在该子事件中。子事件三以本例中通常的两个模式-0 步骤开始,然后是所需五个步骤中的其余两个主模式步骤,接着是一个子模式步骤。

每次需要一个新的序列时,该模式都会以随机选择的主模式步骤数继续进行,直到程序指定的子事件数完成为止。

3.8.4 主模式重复

应用程序还可以使用另一个模式排序参数。Main_Mode_Repetition 指定了当前子事件中重复的上一个子事件中最近的主模式步骤的数量。

主模式重复时,当前子事件中重复的步骤使用的信道索引与上一个子事件中相应步骤使用的信道索引相同。这就确保了重复步骤传输具有相同的预定频率。不过,重复传输的其他方面,特别是与安全有关的方面,在每一步都会重新生成。请注意,在同一频率上重复主模式步骤的目的是为了地址 可能的频率漂移和多普勒频移效应。

主模式重复使应用系统有机会将交换的某些特性联系起来,并能更容易地跟踪移动设备的速度。

由于主模式重复而纳入模式序列的步骤,在 3.8.3 模式序列配置和 Sub_Mode 插入中所述的子模式插入过程中不予计算。

3.8.5 应用和模式排序注意事项

通过子模式插入和主模式重复来配置模式组合和控制步进模式序列的能力,使应用系统对蓝牙™ 信道探测过程有很大的控制权。应用 在寻求从这种灵活性中获益时,可能会有各种不同的目标。

PBR 是两种测距方法中最精确的一种,同时使用 RTT 也为系统增加了相当大的安全性。它还可以处理 PBR 可能产生的距离模糊问题。

步骤模式-3 在单一模式类型中支持两种方法,但对模式-3 的支持是可选的。因此,在能力交换过程中发现模式-3 不可用的设备必须混合使用模式-1(RTT)和模式-2(PBR)步骤。选择模式-2 作为主模式,模式-1 作为子模式,就可以实现这一目的。

应用的另一个考虑因素是延迟。每次信号交换都需要时间。模式-1 RTT交换有时比模式-2 PBR交换耗时更长,这取决于天线路径的数量。鉴于RTT的作用是通过使整个蓝牙™信道探测过程更加安全,从而兼容PBR,、需要将延迟时间保持在某个阈值以下的应用程序可能会选择在蓝牙™信道探测程序中减少RTT交换的比例。为此,可选择模式-2(PBR)作为主模式,Mode-1(RTT)作为子模式,并将 Min_Main_Mode_Steps 和 Max_Main_Mode_Steps 参数设置为合适的值,以显示所需的主模式与子模式步进的最小比例。

在两个设备都支持模式-3 的情况下,延迟和PBR 与RTT 交换的比例仍然是应用程序需要考虑的问题。模式-3 中的所有交换都包括PBR CS Tones 和PBR RTT CS_Sync 数据包,两者的比例相同。对于某些应用来说,这可能是次优的。

另一方面,如果模式-3 得到支持,它在与其他模式配合使用时也能发挥优势。如果应用 需要一定数量的相位测量和一定比例的RTT 测量,那么使用模式-2 和模式-3 而不是模式-2 和模式-1 的组合,就可以用较少的步骤实现这一要求。

图 34 显示了使用模式-2 的主模式和模式-1 的子模式实现的 3:1 PBR 与 RTT 测量比。在此示例中,9 PBR 和 3 RTT 的测量是通过一系列 3 个子事件进行的。

图 34图 34 - 使用模式 2 和模式 1 实现 3:1 的PBR 与 RTT 比

图 35 显示了 PBR 和 RTT 测量的相同数量和比例,在 2 个子事件中使用了模式-2 的主模式,但这次使用了模式-3 的子模式。请注意,这些插图均未按比例绘制,可能无法反映实际的飞行时间。假设子事件的长度足以容纳两个插图中所示的步骤,并且只涉及一条天线路径,则两个设备之间的步骤和交换次数是正确的,插图应有助于解释这两种看似相似的配置之间的潜在差异。

图 35图 35 - 使用模式 2 和模式 3 实现 3:1PBR 与RTT 比

3.9 射频信道和信道选择

3.9.1蓝牙™ 信道探测图

通常,低功耗蓝牙将 2.4 GHz ISM 频段划分为 40 个信道,每个信道宽 2 MHz。但在使用蓝牙™ 信道探测时,情况并非如此。

共为蓝牙™ 信道探测定义了 72 个信道,每个信道有1 MHz宽度和唯一的信道索引值。这些信道的排列可确保避开 LE 一级广播信道。

信道宽度为 1 兆赫而非通常的 2 兆赫,可确保使用PBR 信道PBR 信号之间的频率间隔在 150 米左右才会出现距离模糊。相比之下,频率间隔为 2 兆赫的信号在 75 米左右就会在PBR 计算中产生距离模糊。

表 10 转载自《蓝牙核心规范》,显示了用于蓝牙™信道探测的信道索引值及其相关的射频中心频率。第三列表示某个信道是否可用于蓝牙™信道探测交换。

CS Channel Index RF Center Frequency Allowed

0

2402 MHz

No

1

2403 MHz

No

2

2404 MHz

Yes

22

2424 MHz

Yes

23

2425 MHz

No

24

2426 MHz

No

25

2427 MHz

No

26

2428 MHz

Yes

76

2478 MHz

Yes

77

2479 MHz

No

78

2480 MHz

No

表 10 -蓝牙™ 信道探测 指数和射频物理信道探测

3.9.2 信道过滤

维护一个信道索引滤波器位图。这是 3.9.1蓝牙™信道探测信道图中所描述的为蓝牙™信道探测定义的信道索引列表,每个信道标为包含或排除。蓝牙™信道探测索引过滤图由一个称为”信道探测图更新“程序的链路层程序维护,该程序允许启动器或反射器根据其对本地信道条件的评估,通知对方使用或避免使用哪些信道。任何信道选择算法都不会选择被排除的信道。

3.9.3 跳频

如图 36 所示,跳频一般发生在执行一个步骤之前。

图 35图 36- 在执行步骤前跳频

如果在配置模式重复时为 Main_Mode_Repetition 参数指定了一个非零值,则此规则例外。因模式重复而重复的步骤将使用与其重复的前一个子事件中的步骤相同的信道索引。

3.9.4 信道选择

3.9.4.1 概述

蓝牙™信道探测中使用了一套新的三信道选择算法(CSA)。它们统称为 CSA #3,单独称为 CSA #3a、CSA #3b 和 CSA #3c。

CSA #3a 仅用于选择在模式-0 步骤中使用的信道。

CSA #3b 和 CSA #3c 都设计用于非模式-0 梯级,但在蓝牙™ 信道探测程序实例中只能使用其中一个。

因此,在任何时候,蓝牙™信道探测都有两种不同的信道选择算法。

3.9.4.1 信道索引洗牌

信道选择涉及两个不同的信道索引列表。第一个用于 CSA #3a 和模式-0 梯级的信道选择。第二个用于 CSA #3b 或 CSA #3c 的非模式-0 步骤。

CSA #3a 和 CSA #3b 几乎完全相同。

创建信道索引列表的方法是随机调整标注在信道图中的信道顺序,以创建一个洗牌信道列表。CSA #3a 和 CSA #3b 的方法完全相同。CSA #3c 采用了不同的方法,但依赖于相同的原始洗牌函数,在蓝牙核心规范中称为 cr1。

3.9.4.2 CSA #3a

3.9.4.1信道索引洗牌所述,CSA #3a 的模式-0 信道选择算法使用洗牌信道列表。用于模式-0 阶跃跳频的洗牌信道列表不同于用于非模式-0 信道跳频的相应信道列表。

洗牌信道列表中的每个条目都是唯一的,只能使用一次。当洗牌信道列表中的所有条目都被用完后,它将重新生成,创建一个新的随机信道列表。

3.9.4.3 CSA #3b

非模式 0 信道选择算法 CSA #3b 使用的洗牌信道列表与用于模式 0 信道跳频的相应信道列表不同。CSA #3b 允许信道索引列表在重新生成前重复多次,这由一个名为 CSNumRepetitions 的参数控制,应用可对该参数进行设置。

3.9.4.3 CSA #3c

CSA #3c 算法与 CSA #3b 算法有很大不同。信道图中包含的信道子集被组织成组,并生成形成形状的信道模式。CSA #3c 在某些情况下可能会在检测反射信号路径方面提供一些优势。详情请查阅蓝牙核心规范 。CSA #3c 支持为可选项。

3.10 RTT 选项和准确性

RTT 法包括以模式-1 和/或模式-3 为步骤交换 CS_Sync 数据包。图 24 显示了 CS_Sync 数据包的结构。

在计算 RTT 时需要用到到达时间(ToA)时间戳,目前已定义了几种确定到达时间(ToA)时间戳的方法。应用 可通过应用 RTT 参数的人机交互命令,在蓝牙™ 信道探测配置过程中指明要使用的方法。

可供选择的方法有:根据访问地址进行定时测量;使用长度为 32 或 96 比特的探测序列;或使用长度为 32、64、96 或 128 比特的随机序列。时间估计的精确度因所用方法和用于计时的字段长度而异。使用探测序列和随机序列都可以进行更精确的估算,即小数计时估算。

3.10.1 基于访问地址的定时

CS_Sync 数据包包含一个 32 位访问地址 字段。建立 ToA 值的最简单方法是,控制器在接收到 CS_Sync 数据包中的访问地址字段时,利用其时钟捕捉一个时间戳。

访问地址在链路层是一个 32 位二进制数值,但在传输时,其数值由一系列模拟符号表示,这些模拟符号是通过对这些数字比特进行 GFSK 调制形成的。单个符号由一个频率的无线电传输组成,代表 0 位或 1 位数值,根据符号速率(由 LE 1M 或 LE 2M PHY/低功耗 2M 2BT PHY 的选择决定),持续时间为一微秒或半微秒。

接收信号的过程包括对输入信号进行采样,采样由以一定速率运行的本地振荡器驱动。信号的传输同样由另一台设备中的振荡器驱动。

有多种方法可以获得接收到入站信号中接入地址 的时间戳。具体细节由实施方案决定,但可以包括获取数据包到达蓝牙控制器的时间,然后根据数据包长度、符号率和采样率对其进行调整,以估算接收到访问地址 的时间。或者,在无线电信号处理过程中,实施方案可以计算 ToA 时间戳,但需要在解调和检查访问地址 值后验证 RTT 戳,然后将时间戳作为 ToA 用于 RTT 计算。

发射器的振荡器和接收器的振荡器不可能彼此同相,这可能是这一过程不准确的原因。为改进结果,建议对按步骤交换的一系列数据包进行测量,并计算数值的分布。然后可以利用这种分布来提高 ToA 时间戳的准确性。

《链路层规范》H 部分第 3.2.2 节介绍了如何通过确定由于最佳采样点和实际采样点之间的差异而造成的访问地址 采样中的零星时间误差,来改进使用这种方法创建的时间戳。这些误差是由于本地振荡器和远程设备的振荡器不同步造成的。

3.10.2 分数定时估算

《链路层规范》H 部分第 3.3 和 3.4 节介绍了两种可选方法,它们能提供更好的 ToA 时间戳精度。这两种方法都能提供小数时序估计。

CS_Sync 数据包可在数据包末尾添加额外的可选数据。如果使用该选项,CS_Sync 数据包可附加两个字段中的一个:随机序列或发声序列。

第一种小数定时方法是分析 CS_Sync 数据包中的可选随机序列字段,以确定小数定时误差。这种方法与 3.10.1 基于访问地址的定时中所述的确定最佳采样点与实际采样点之间差异的技术类似。从随机序列中计算出的部分定时误差同样用于优化访问地址 时间戳。

第二种分数定时方法是基于对附加到 CS_Sync 数据包中的发声序列字段的分析。发声序列是链路层 0 和 1 的交替模式,使用 GFSK 调制时会产生两个不同频率和不同相位的无线电音频。通过分析探测序列产生的两个音调所显示的相位差,可以计算出部分时间误差,并用于优化 ToA 时间戳。

3.10.3 RTT 方法的比较

蓝牙™信道探测应用开发人员可根据三种不同方法之一得出的测量结果推算 RTT。可以选择使用接入地址 的 ToA,或使用 CS_Sync 数据包中的随机序列或探测序列的两种分数方法之一。

蓝牙™ 信道探测功能的实施者必须实施该功能的强制性内容,但如果他们愿意,也可以选择性地实施可选功能。实施的复杂程度各不相同,这可能是作出决定时要考虑的因素之一。

这三种 RTT 方法为应用 开发人员提供了不同程度的距离测量精度、安全性和延迟。一般来说,分数法有可能提供最准确的结果和最佳的安全性。

3.11 LE 2M 2BT PHY

3.11.1 调制方案

调制方案定义了一种利用信号的一种或多种物理特性对信号中的数字信息进行编码的方法。调制方案产生的符号在模拟世界中承载信息,就像比特在数字世界中承载信息一样。一个符号代表一个或多个比特,具体取决于调制方案的工作方式。

频移键控 (FSK) 是调制方案的一个简单例子。它是一种二进制调制方案,即一个数字比特对应一个模拟符号。

FSK 是通过将载波信号的频率上移一定量(称为频率偏差)或下移同样的量来产生代表二进制 0 的二进制值 1 的符号。

图 37 举例说明了将基本 FSK 应用于特定比特值流的情况。

图 36图 37 - 频移键控 (FSK) 编码比特流 01010101010

频率之间的突然切换是基本 FSK 的一个功能 ,它产生的噪声会传播到比理想频率更宽的范围。为了解决这个问题,蓝牙技术使用了 FSK 的一种特殊变体,称为高斯频移键控(GFSK)。

GFSK 与基本 FSK 的不同之处在于,它涉及一个滤波器,使频率之间的转换遵循一条曲线。曲线的形状和频率转换率由各种参数决定,包括带宽-比特周期产品或 BT。

3.11.2 带宽-比特周期产品

带宽-比特周期(BT)是信号的一个属性,它提供了信号带宽与符号持续时间之间关系的信息。

BT 会影响构成符号的无线电脉冲的形状和跨度。BT 值越高,脉冲越窄、越方;BT 值越低,脉冲越宽、越圆。

3.11.3 LE 2M 2BT

即将更新的蓝牙核心规范 引入了一种名为LE 2M 2BT 的新 PHY。LE 2M 2BT 目前只能与蓝牙™信道探测 一起使用。

表 11 列出了 PHY 与 LE 2M 2BT 关键方面的比较。

  LE 1M LE Coded LE 2M LE 2M 2BT

Symbol Rate

1 Msym/s

1 Msym/s

2 Msym/s

2 Msym/s

BT

0.5

0.5

0.5

2.0

Min. Frequency Deviation

185 kHz

185 kHz

370 kHz

420 kHz

Error Detection

CRC

CRC

CRC

N/A

Error Correction

NONE

FEC

NONE

N/A

Requirement

Mandatory

Optional

Optional

Optional. Only to be used with Channel Sounding.

表 11 - 蓝牙 LE PHY 比较

LE 2M 2BT PHY 只能与蓝牙™信道探测一起使用。如3.13.7 节所述,使用它可以提高安全性。

BT=0.5 和 BT=2.0 时的脉冲形状如图 38 所示。

图 37图 38 - 脉冲形状

3.12 蓝牙™ 信道探测步骤的信噪比控制

某些无线电发射机能够调整信噪比(SNR),使其保持在指定范围内。如果启动器和反射器设备都支持这种功能,则可用于提高与 RTT 距离测量方法有关的蓝牙™ 信道探测 步骤(即模式-1 和模式-3 步骤)的安全性。3.13.8节 SNR 控制和 RTT 安全性将详细阐述这一点。

蓝牙核心规范定义了一系列 SNR 输出指数 (SOI) 值,这些值对应于以 dB 为单位测量的相关 SNR 输出水平。表 12 再现了这些定义。

SNR Output Index (SOI) SNR Output Level (dB)

0

18

1

21

2

24

3

27

4

30

表 12 - SNR 输出指数和等级

设备在信道探测能力交换过程(见 3.3.2蓝牙™信道探测 能力交换)中交换有关支持 SNR 输出控制和支持的 SOI 值的信息,并在蓝牙™信道探测启动过程中发送的 LL_CS_REQ 链路层 PDU 中交换是否使用 SNR 控制和 SOI 值的信息。

3.13 安全性

3.13.1 概述

距离测量解决方案所独有的安全问题通常涉及到这样一种威胁:不受信任的设备以某种方式欺骗一个受信任的设备,使其认为另一个受信任的设备距离足够近,从而允许或采取某些行动。例如,在无钥匙进入系统中,如果一个恶意设备能够欺骗门锁,使其认为相关的可信无线钥匙卡离门很近,可以自动解锁,那么未经授权的一方就可以进入系统。

安全专家认识到一系列与距离测量有关的攻击。其中一些涉及独立的恶意设备伪造来自受信任设备的通信(称为欺骗),另一些则是中间人(MITM)攻击类型,这些攻击转发来自受信任设备的信号,通常在此过程中操纵信号或其数字内容,导致受信任设备错误计算其与受信任设备之间的距离。此类攻击的复杂程度、实施的复杂性和成本各不相同。

蓝牙™信道探测包括一系列功能,可作为应对一系列距离测量安全威胁的对策。这些功能可分为四类:

  1. 结合使用 PBR 和RTT 方法
  2. 位流和传输模式的随机化
  3. 抵御符号操纵
  4. 射频信号分析技术,包括攻击检测

此外,蓝牙控制器实施者和应用开发者还可根据需要,通过额外的保障措施来增强蓝牙™信道探测安全功能所提供的标准安全功能。

本节总结了主要的蓝牙™ 信道探测安全功能。

3.13.2 PBR 和 RTT 交叉检查

蓝牙™信道探测支持两种测距方法,即 PBR 和 RTT。这两种方法的工作原理完全不同。

应用 可通过选择合适的模式组合(如模式-2 作为 PBR 主模式,模式-1 作为 RTT的子模式)来同时使用这两种方法。有关模式组合和排序的更多信息,请参阅 3.8 模式排序

安全专家认为,同时攻击这两种方法,从而操纵蓝牙™信道探测信号的相位和计算出的 RTT,以得出误导性的一致结果,其复杂程度非常高。

3.13.3 启动蓝牙™信道探测安全功能

 3.3.1节蓝牙™信道探测安全功能启动描述了蓝牙™信道探测安全功能的启动程序。该程序通过几种方式启用蓝牙™信道探测安全功能并确保其自身安全。

首先,设备之间必须已配对。这是创建加密 LE-ACL 链接的必要条件。

CS 安全启动通过加密的 LE-ACL信道探测 进行,这意味着蓝牙™ 信道探测 安全密钥 数据的交换不会被窃听。

最后,中央和外围设备对蓝牙™ 信道探测 安全数据的部分值进行安全交换。这为两个设备提供了相同的数据,从而为 CS 初始化矢量 (CS_IV)、CS 实例化唯一性数据 (CS_IN) 和 CS 个性化矢量 (CS_PV) 各自构建一个完整的通用值。

CS_IV、CS_IN 和 CS_PV 是确定性随机比特发生器(DRBG)的输入,而确定性随机比特发生器是许多蓝牙™ 信道探测安全功能的基本组成部分。

3.13.4 确定性随机比特发生器 (DRBG)

蓝牙核心规范定义了一种”与 NIST 特别出版物 800-90Ar1 中定义的建议一致“的随机比特发生器。它被称为确定性随机比特发生器(DRBG)。

安装 DRBG 时,需要将 CS_IV、CS_IN 和 CS_PV 这三个蓝牙™信道探测安全参数作为输入。执行蓝牙™信道探测 安全启动程序后,启动器和反射器设备都拥有相同的参数值。当使用相同的参数值进行初始化时,DRBG 的两个实例将在一系列调用中产生完全相同的比特序列,正是这一点使该算法具有确定性。

对于不具备 CS_IV、CS_IN 和 CS_PV 值的设备,使用 DRBG 的启动器和反射器设备对生成的比特序列看起来是随机的,而且比特序列越长,不受信任的设备就越难匹配该序列中的比特值。

使用 DRBG 随机化蓝牙™信道探测比特流和传输调度的某些方面,可降低恶意设备欺骗可信设备的风险。

利用 DRBG 的 CS 安全功能如下。

3.13.4.1 安全访问地址

访问地址字段出现在所有蓝牙链路层数据包中。其目的是让设备决定数据包是否相关。例如,广告广播(ADVB)数据包使用一个特殊的访问地址值,该值可将数据包识别为与接收它的任何设备都有潜在相关性,而通过 LE-ACL 连接交换的数据包具有一个访问地址值,该值可有效地作为该连接的唯一标识符。

在蓝牙™信道探测情况下,每个设备都会在每个模式-0、模式-1 和模式-3 CS 步骤中更改 CS_Sync 数据包中的访问地址字段。因此,每个设备在每个步骤都有一个唯一的访问地址 。新的接入点地址 值是通过涉及 DRBG 的选择规则生成的,两个设备都知道对方将使用的接入点地址 。接收设备会检查访问地址值,并向 Host 报告任何问题。

访问地址的长度为 32 位,可以有 4,294,967,296 个不同的值。因此,想要欺骗 CS_Sync 数据包的恶意设备只有 1 分之 4,294,967,296 的机会猜到所交换的多个 CS_Sync 数据包中每个数据包的正确访问地址 值。

3.13.4.2 RTT 分数定时的随机序列

3.12.4.2RTT 分数定时的随机序列中所述,CS_Sync 数据包可包括一个可选的随机序列字段。该字段支持其中一种分数 RTT 方法。

随机序列字段的内容使用 CS DRBG 为每个传输的 CS_Sync 数据包(重新)生成。随机序列字段的长度可以是 32、64、96 或 128 比特。

3.13.4.3 鸣响序列标记信号

发声序列由 32 或 96 位可预测的交替模式组成,用于小数 RTT 计算。为了降低这种已知比特模式被利用的风险,DRBG 用于在序列中选择位置,插入两个随机选择的 4 位值中的一个,称为标记信号。DRBG 选择的标记信号值为 0b1100 或 0b0011。

在发声序列中随机插入随机比特模式可防止发声序列被欺骗。

3.13.4.4 单调扩展槽随机传输

模式-2 和模式-3 的阶跃包括一个音调扩展时隙(见 3.5.3 阶跃模式),音调扩展时隙总是保留的,但是否在该时隙进行传输是随机的,由 DRBG 决定。接收设备知道何时需要、何时不需要在音调扩展时隙进行传输,但攻击设备不知道。

3.13.4.5 随机选择天线路径

PBR 可与 8 种配置之一的天线阵列配合使用,详见 3.7 天线切换。在PBR过程中,两个设备之间的每个可用天线路径都会传输一个音频。在每一个蓝牙™ 信道探测步骤中,使用 DRBG 对路径序列进行随机化。

3.13.5 探测序列

正如 3.10.2 分数定时估算中所描述的,发声序列由 0 和 1 的交替比特值序列组成。这相当于在应用 GFSK 调制之前,数字域中交替出现的二进制 0 和 1 的序列。

因此,在使用 CS_Sync 数据包计算RTT时,可同时使用单个 CS_Sync 数据包的发声序列字段中编码的两个音调的相位差进行计算。

基于单个数据包同时计算 RTT 和 PBR 测量,使得攻击交换的尝试变得极为复杂。

3.13.6 攻击检测和报告

链路层规范中的蓝牙™信道探测部分包括对攻击检测系统的描述。这只是为蓝牙控制器实施者提供了一个架构大纲和一般方法,而不是详细的规范。

蓝牙™ 蓝牙控制器中的信道探测 攻击检测是根据参考信号定义对接收信号进行评估,并检查接收信号中是否存在可能的攻击指标,如意外的位转换或相位调整。规范提供的指导基于 CS_Sync 数据包,其中包括随机序列、发声序列或两者。

蓝牙核心规范定义了一个标准化指标,用于报告正在发生攻击的概率,该指标被称为归一化攻击探测器指标(NADM)。NADM 值由控制器根据对接收信号的评估来分配,采用滑动量表的形式,在一定范围内显示攻击的可能性,从攻击极不可能开始,增加到最上限的攻击极有可能。表 13 包含 NADM 值定义,摘自蓝牙核心规范。

NADM Value Description

0x00

Attack is extremely unlikely

0x01

Attack is very unlikely

0x02

Attack is unlikely

0x03

Attack is possible

0x04

Attack is likely

0x05

Attack is very likely

0x06

Attack is extremely likely

0xFF

Unknown NADM.

Default value for RTT types that do not have a random sequence or sounding sequence.

表 13 - NADM 值

图 39 展示了攻击探测器系统的轮廓。

图 38图 39 - 攻击探测器系统概要

控制器的 NADM 算法分配的 NADM 值会在 HCI 事件中的 Packet_NADM 字段中报告给 Host 。攻击检测算法应用于接收到的 NADM 值,并向用户应用报告威胁级别。

正如图 39 中设备 B 到设备 A 的虚线所示,未来的蓝牙™ 配置文件 规范可能会促进设备之间在蓝牙™ 信道探测期间共享 NADM 数据。

蓝牙核心规范 包括测试定义,可正确识别显示已知攻击模式的信号。不过,图 39 中描述的攻击检测算法和用户应用 的细节没有具体说明。

3.13.7 LE 2M 2BT

有许多已知的物理层攻击涉及中间人(MITM)攻击者预测从合法发射设备接收到的部分符号的值,并转发这些符号的完整、生成版本,同时操纵时间,使合法接收者误判RTT ,从而误算距离。攻击者的信号通常会被放大,这样目标设备就会将被操纵的信号视为主要信号,而不是较弱的原始信号,因为原始信号很可能看起来像反射信号。持续时间较长的符号比持续时间较短的符号更容易受到这种攻击。

LE 2M 2BT PHY 的带宽比特周期产品值为 2.0,其符号脉冲的持续时间比其他 PHY 的相关脉冲短,从而降低了此类攻击的风险。

3.13.8 SNR 控制和 RTT 安全性

SNR 控制功能 允许启动器和接收器 在信号中混入预先商定的随机噪音。这仅适用于在模式-1RTT)和模式-3RTT PBR)步骤中进行的 CS_Sync 数据包传输。

3.12.7 LE 2M 2BT 中提到的那类 MITM 攻击依赖于攻击者能够在比一个符号的整个持续时间短得多的时间内迅速分离和操纵合法信号。通过向信号中注入噪音,攻击者完成分析的难度和速度都会降低,从而降低此类攻击成功的可能性。另一方面,启动器和反射器设备预先商定了信噪比,能够轻松过滤人为添加的噪音。

3.13.9 CS 安全级别

蓝牙核心规范通用访问配置文件 (GAP) 部分定义了安全模式和安全级别。其中包括蓝牙™信道探测的四个安全级别的正式定义。未来的蓝牙配置文件规范可能会参考这些定义。

3.13.10 针对特定供应商的实施和附加安全功能

控制器实施者可选择进一步引入针对特定供应商的安全措施。

3.14 Host 应用程序

创建蓝牙精密应用和产品需要利用控制器的蓝牙™信道探测功能,并将其与定制的应用代码相结合。解决方案应用 组件的开发人员必须注意本节强调的各种问题。

3.14.1 距离测量算法

蓝牙协议栈不会直接生成距离测量值。相反,在蓝牙控制器执行 CS 步骤期间,会对相位和/或定时进行低级测量,应用程序可根据这些数据计算距离测量值。

蓝牙核心规范没有规定应用程序使用哪种算法来计算距离。因此,这也是供应商可以实现差异化的一个领域。卓越的算法将产生卓越的结果。

控制器获取并报告给应用 的数据是标准化的,因此原则上,所有应用距离测量算法都可以处理相同类型的输入数据。实际上,向应用提供哪些数据取决于蓝牙™信道探测 程序中使用的模式组合和排序。数据质量也可能不同,这取决于蓝牙核心规范之外的控制器实施细节。

3.14.2 控制器与 Host 之间的蓝牙™ 信道探测数据通信

3.14.2.1 HCI 事件类型

《Host 控制器接口功能规范》定义了两个事件,控制器使用这两个事件将蓝牙™ 信道探测数据传递给host ,用于距离测量计算和评估当前安全条件。这两个事件分别称为 LE CS 子事件结果和 LE CS 子事件结果继续。

3.14.2.2 HCI 事件定时

控制器汇总在蓝牙™ 信道探测 子事件内执行的步骤中生成的测量结果。使用 LE CS 子事件结果 HCI 事件报告整套或部分结果。如果报告的是不完整的结果集,则会在稍后发送的一个或多个 LE CS 子事件结果继续事件中报告其余结果。HCI 事件字段 Subevent_Done_Status 和 Procedure_Done_Status 向应用 层表明,是否已报告了子事件或程序的所有数据,或者是否还将报告更多数据。

图 39图 40 -蓝牙™ 信道探测 HCI 数据报告示例

人机交互事件的报告与子事件相关,但不一定与子事件的边界严格一致。子事件中的步骤数将是影响controller 如何报告结果的一个因素。如果步骤数意味着controller 必须聚合超过其能力的数据,那么controller 就会将人机交互报告分成多个事件。单个事件可容纳的步数限制为 160 步,这也是controller 需要考虑的另一个限制因素。

3.14.2.3 HCI 事件内容

蓝牙™ 信道探测 HCI 事件可从控制器向host传输一系列类型的数据。详情请查阅《蓝牙核心规范 Host 控制器接口功能规范》。在此介绍部分关键字段和数据结构。

频率补偿

模式-0 步骤的目的是确定启动器和反射器产生的想要频率和实际频率之间的差异。该值用于计算小数频率偏移(FFO),然后用来补偿这种差异对频率和定时值的影响,最终提高距离测量的准确性。HCI CS 事件的频率补偿(Frequency_Compensation)字段包含此控制器值。

报告的步数

该字段表示 HCI 事件中报告的步数。它还表示四个步骤相关数据数组的大小,即 Step_Mode、Step_Channel、Step_Data_Length 和 Step_Data。

步进模式 [ ]

该数组包含每个步骤的模式,按步骤编号排序,以 0 - 3 范围内的数值表示。

步骤信道 [ ]

该数组包含执行相应步骤时使用的射频信道的索引。

步进数据长度 [ ]

每个步骤报告的数据在内容和结构上都是可变的。该数组包含相关步骤数据数组中每个元素的长度。

步骤数据 [ ]

每个步骤报告的数据取决于步骤模式、设备角色(启动器或反射器)以及是否使用PBR 和RTT 计算的探测序列。包含相关数据的结构称为 Mode_Role_Specific_Info 对象,该结构有 11 种变体。

可在 Mode_Role_Specific_Info 对象中找到的数据示例包括数据包质量(Packet_Quality)和音调质量(Tone_Quality)字段、接收信号强度指示器(RSSI)、测得的频率偏移、NADM 值、天线标识符、相位校正项以及数据包传输和到达(或相反)之间的经过时间测量值。这些时间值以半纳秒为单位的倍数表示。

3.14.3 模式组合和模式排序

 3.8.5 节应用和模式排序注意事项说明了应用系统控制蓝牙™ 信道探测程序中步进模式组合和排序的方法。应用负责决定使用哪种步进模式,以及在同时使用主模式和子模式的情况下,每种选定模式的步进数之间的比例。应用或产品开发人员在得出结论时需要考虑距离测量精度要求、安全性和延迟,以及本地控制器支持的功能。

3.14.4 应用安全

应用在选择模式组合和 RTT 参数时,可以对整体解决方案的安全性进行一定的控制。开发人员应首先了解和评估 3.12.9蓝牙™信道探测安全级别(GAP)中的通用访问配置文件 (GAP)所定义的安全级别,作为确定采用何种安全选项的起点。

建议将 PBR 和 RTT 结合使用,以便交叉检查基于这两种方法的距离计算。蓝牙™信道探测支持 PBR,以提供最精确的距离测量,而同时支持 RTT 的主要原因是作为一种安全措施。应用负责作出这一选择。

NADM 值由蓝牙控制器中的 NADM 算法创建,并为这些值定义了标准化的形容词含义形式。但应用 必须决定对每个可能的 NADM 值采取什么措施(如有)。

4.蓝牙核心规范变更摘要

为了引入蓝牙™信道探测功能,对蓝牙核心规范的几个层次进行了修改。本节概述了主要变化,旨在提供逐章的高层次参考,仅供参考。详细内容请查阅《蓝牙核心规范》。

4.1 结构

蓝牙核心规范第 1 卷 A 部分介绍了该技术的架构。

- 第 3 节”传输架构“为蓝牙™信道探测引入了新的数据包结构和信令格式。它还定义了新的 LE 信道探测物理信道和  LE 信道探测物理链路。

- 第 9 节”使用低功耗蓝牙™的蓝牙™信道探测“简要介绍了蓝牙™信道探测功能。

4.2 Host

4.2.1 通用访问配置文件

第 3 卷 C 部分定义了通用接入配置文件 。

- 第 9 节介绍 GAP 蓝牙™ 信道探测程序以及启动器和反射器的作用。

- 第 10 节 四种蓝牙™ 信道探测安全等级。

4.2.2 Host 控制器接口

第 4 卷 E 部分包含Host Controller 接口功能规范。

- 更新了第 7.7.6.5 节 LE 元事件,以添加与蓝牙™ 信道探测 有关的各种新事件类型,包括 LE CS 子事件结果事件和 LE CS 子事件结果继续事件。

- 第 7.8 节 LE 控制器命令现在包括与信道探测 一起使用的其他命令,如 LE CS 读取远程 FAE 表命令、LE CS 创建配置命令、LE CS 安全启用命令和 LE CS 程序启用命令。

4.3 控制器

4.3.1 物理层

第 6 卷 A 部分包含物理层规范。

  • 第 1 节介绍新的低功耗2M 2BT PHY。
  • 第 2 节介绍了蓝牙™ 信道探测的新信道探测安排。
  • 第 3 节定义了新的 SNR 控制功能。
  • 第 3.4 节为支持蓝牙™信道探测的设备增加了稳定相位要求。
  • 第 3.5 节描述了蓝牙™ 信道探测中频率测量和生成的要求。其中包括分数频率偏移 (FFO) 测量要求的规范。
  • 第 5.3 节是一个新章节,介绍了蓝牙™ 信道探测的天线切换。
  • 第 6 节涉及相位测量要求,包括参考接收器 定义、相位测量精度要求说明、频率致动误差补偿要求和相位测量定时规则。
  • 附录 B 提供了蓝牙™ 信道探测的测试设备设置示例。
4.3.2 链路层

第 6 卷 B 部分包含链路层规范。

  • 第 2.4.2 节定义了与蓝牙™ 信道探测 功能 相关的新链路层控制器 PDU 类型及其操作码。
  • 第 4 节包含对蓝牙信道探测链路层空中接口协议的更新。其中包括第 4.2 节中更新的睡眠时钟精度要求和第 4.5.18 节中的蓝牙™ 信道探测程序、事件、子事件和步骤规范。第 4.5.18.2 节提供了与蓝牙™ 信道探测 相关的 ACL 链接及其可能传输的控制 PDU 的安全要求。
  • 第 5.1 节涵盖链路层控制主题。该节已更新,纳入了与蓝牙™ 信道探测有关的新控制程序,如蓝牙™ 信道探测 信道探测 启动程序、蓝牙™信道探测 信道探测 能力交换程序、蓝牙™信道探测配置程序和蓝牙™ 信道探测 信道探测 启动程序。
4.3.3 蓝牙™信道探测

第 6 卷 H 部分是专门介绍新的蓝牙™ 信道探测功能新章节。它涵盖了与蓝牙™信道探测一起使用的物理射频信道的定义、新的 CS_Sync 数据包格式、测量RTT以及获取到达或出发时间戳的各种方法。本节定义了蓝牙™信道探测的新信道选择算法,以及步进模式、步进组合和排序规则、相位测量规则和使用 DRBG 生成随机比特。

5.结论

有了蓝牙™信道探测功能,开发人员可以利用该功能的安全精细测距能力,创造出令人兴奋的产品和应用。

基于世界上最普遍的低功耗无线技术的查找 和数字密钥解决方案的最终用户将享受到性能的提升,这要归功于使用蓝牙™信道探测功能的设备所能实现的高质量结果。知道产品 开发人员已经获得了一套全面的安全功能,可以用来解决相关的问题,这将使他们高枕无忧。

蓝牙™ 信道探测技术的灵活性意味着开发人员可以优先考虑最重要的测距方面,无论是安全性、准确性还是延迟。并不是所有的应用都是一样的,蓝牙™信道探测功能的设计就认识到了这一点,并充分考虑到了这一点。开发人员可以自由决定他们和他们的用户在实施产品时最关心的问题。

蓝牙设备年出货量超过 50 亿件。这带来了巨大的规模经济效益,使产品和元件制造商受益,并最终使他们的客户受益。

蓝牙™信道探测和执行安全精密测距的能力为提高许多蓝牙连接设备的便利性、安全性和保密性提供了机会。存在检测、寻向和现在的信道探测可以单独使用,也可以结合使用,以创建空间感知产品和应用,让终端用户和商业企业从中受益。

蓝牙技术无处不在,它基于被广泛采用和精心指定的技术标准。对于希望为自己的蓝牙™产品增加多种功能的开发人员来说,采用蓝牙™信道探测是一个简单、安全的选择。下载蓝牙核心规范 ,了解这一令人兴奋的新增蓝牙技术功能的全部详情!

6.参考文献

Item Location

Bluetooth® Core Specification v6.0

https://www.bluetooth.com/specifications/specs/core60-html/

Find Me Profile

https://www.bluetooth.com/specifications/specs/find-me-profile-1-0/

Immediate Alert Service

https://www.bluetooth.com/specifications/specs/immediate-alert-service-1-0/

 

注释


1.通用属性配置文件
2.速度因信号通过的材料而异。不过,在理论计算中通常使用光速。
3.3. CS 模式将在第 3.5 节中解释。
4.高斯频移键控