蓝牙技术如何在不可靠的基础上构建可靠性

如需要了解更多蓝牙相关知识,请点击下方连接

https://blog.csdn.net/weixin_47456647/article/details/155188246?spm=1011.2415.3001.5331

蓝牙设备即便在最复杂的环境中,也能实现高度可靠的通信。蓝牙技术从每一层设计开始就融入了可靠性考量,并采用了多种技术来降低受干扰的概率。

近期,蓝牙技术联盟(SIG)的开发者关系经理 Martin Woolley 发布了一篇关于《理解蓝牙技术的可靠性》的论文。在这篇深入解析蓝牙可靠性的文章中,Woolley 阐述了蓝牙技术如何在无线电本身不可靠的前提下,构建出可靠的连接。

以下是 Woolley 论文中该部分的节选内容。

从不可靠的基础上构建可靠性

蓝牙技术依赖无线电通信,而无线电本身是不可靠的。但蓝牙通信的实际表现却很好 ------ 这种看似矛盾的现象该如何解释?答案藏在蓝牙通信系统设计的多个层面中,包括其对无线电的运用方式与协议设计。

蓝牙技术是一个模块化系统,可支持多种协议栈配置:

  • 智能手机与可连接外设会搭载蓝牙低功耗(LE)控制器,其主机组件支持通用访问配置文件(GAP)、通用属性配置文件(GATT),以及属性协议(ATT)、安全管理协议(SMP)等协议。图 3a 展示了这种协议栈配置。
  • 蓝牙网状设备同样包含蓝牙 LE 控制器,但其主机部分会集成蓝牙网状网络协议栈的各层。图 1b 展示了蓝牙网状网络协议栈。

无论采用哪种协议栈配置,每一层都有明确的职责,且能与上下相邻层传递数据。蓝牙技术的多个部分都包含可缓解或降低特定故障概率的特性 ------ 这些机制有些适用于蓝牙技术的所有使用场景,有些则仅针对特定场景。

通用适用的特性与抗干扰技术

我们先介绍蓝牙技术中适用于所有场景的可靠性增强特性。图 2 展示了一个蓝牙空中接口数据包的示例,后续会参考该图进行说明。

蓝牙调制方案

蓝牙技术的可靠性始于最基础的问题 ------ 即无线电如何作为数字数据的载体。在蓝牙协议栈中,这些问题由物理(PHY)层处理。

物理层必须解决的核心问题之一,是能够识别蓝牙无线电传输,并正确提取信号中编码的数据。这是实现可靠性的关键基础步骤。

无线电是一种模拟物理现象,物理学家通常将无线电信号建模为波的形式。无线电波具有电磁能量,包含振幅、波长、频率等一系列基本属性(图 3、图 4 展示了这些概念)。如前所述,调制技术利用波的特性来传递信息:它通过改变波的某些属性来编码数据,这类技术被称为调制方案。不同方案的原理各异:有的利用信号振幅的变化,有的通过无线电相位编码信息,还有的借助频率变化实现编码。

当可靠性是无线电通信系统的核心设计目标时,部分调制方案会更具优势。基于振幅的调制方案易受噪声干扰,而基于频率的调制方案在抗干扰方面的表现则更出色。

蓝牙调制方案

蓝牙技术采用一种特殊的二进制频移键控调制方案,称为高斯频移键控(GFSK)。它属于二进制调制方案,因为每个符号仅代表 1 个比特(值为 0 或 1)。

二进制频移键控(FSK)的编码方式是:先选定一个中心频率作为载波,然后将其向上偏移指定的频率偏差以表示 "1",或向下偏移相同的频率偏差以表示 "0"。蓝牙核心规范中规定了频率偏差的最小范围,具体数值取决于所选的符号速率:蓝牙 LE 中,1 兆符号 / 秒(Msym/s)的符号速率对应的最小频率偏差为 185 kHz;而对于更快的符号速率,最小频率偏差则为 370 kHz。这些数值是经过精心选择的,目的是确保信号中编码的 "0" 和 "1" 能被可靠识别。

频移键控(FSK)调制方案的本质是在符号值变化时改变频率。这种突然、近乎瞬时的频率变化会产生 "键控噪声",而噪声会导致干扰。此外,在实际电路中,还可能出现频谱泄漏的情况 ------ 信号会意外溢出到其他频率,这会让接收端的解码任务变得更加困难。

蓝牙技术通过采用更优的 FSK 调制方案(GFSK)来减少干扰:GFSK 中的 "高斯" 特性对标准 FSK 进行了改进,增加了一个滤波器,使频率转换更平滑,从而降低噪声并收窄频谱宽度,减少对其他频率的干扰可能性。

前导码

所有蓝牙 LE 数据包的第一个字段称为前导码,长度为 8 比特,包含 "1" 和 "0" 交替的模式。它的作用是为接收端提供参考,帮助接收端识别数据包后续部分中用于编码 "1" 和 "0" 的频率;同时,它也会被无线电的自动增益控制功能利用,以优化信号强度。准确确定信号中使用的频率,并将无线电参数调整到最佳状态,是确保数据包被可靠接收的第一步。

访问地址

当蓝牙控制器在某一信道上监听数据时,它会接收该信道频率范围内的所有无线电信号。接收到的信号可能包括:

  • 发送给本设备的蓝牙数据包
  • 并非发送给本设备的蓝牙数据包
  • 与其他无线通信技术相关的数据包(这些技术在同一 ISM 频段运行,且使用当前扫描的蓝牙无线电信道中的频率)
  • 背景噪声

蓝牙控制器必须能够区分这些信号,准确筛选出编码了 "发送给本设备的蓝牙数据包" 的信号,而忽略其他信号。

所有蓝牙数据包都包含一个 32 比特的访问地址,这能让接收端在最早的时机快速识别出几乎可以确定是蓝牙的信号,并立即丢弃其他信号。

访问地址分为两种类型:广播访问地址 是固定值0x8E89BED6,大多数广播数据包会使用该值 ------ 选择这个值是因为它具有良好的相关性特性(相关性是一种用于识别信号中特定模式的数学方法);而在两个已连接设备通信过程中交换的数据包,其访问地址由链路层分配,用于唯一标识与该连接相关的所有数据包 ------ 这些生成的访问地址值大多是随机的,但需遵循额外规则,以提升正确识别访问地址的可靠性。

不同的周期性广播链和独立的广播 / 同步流(BIS)都有唯一的访问地址。访问地址能让接收端筛选出与自身相关的信号,而检查访问地址是蓝牙协议栈中链路层的职责。

得益于 32 比特的访问地址长度,将随机背景电磁噪声误认为蓝牙信号的概率极低。即便出现随机背景噪声的模式与接收端相关的访问地址匹配的罕见情况,后续的比特流处理也能快速判定它并非有效的蓝牙数据包。

快速筛选出仅相关的信号并丢弃其他信号,是蓝牙接收端运行过程中助力可靠通信的又一关键步骤。

循环冗余校验

所有蓝牙数据包都包含一个循环冗余校验(CRC)字段,通常位于数据包的末尾或接近末尾的位置。CRC 是一种常用机制,用于检测因碰撞等问题导致的传输数据意外篡改。

当链路层构建新数据包时,会对数据包中的其他比特应用 CRC 算法,计算出一个 24 比特的 CRC 值,并将其添加到数据包中。接收端在收到数据包后,其链路层会重新计算 CRC,并将结果与数据包中包含的 CRC 值进行比对。如果两个值不一致,则判定传输的数据包中一个或多个比特发生了篡改,随后丢弃该数据包。

需要注意的是,CRC 并非安全机制 ------ 因为数据包可能被故意篡改,而 CRC 也能被轻易重新计算。

消息完整性码(MIC)

蓝牙 LE 数据包可以被加密。所有加密数据包都包含一个名为 "消息完整性码(MIC)" 的字段。实际上,MIC 属于消息认证码,但由于缩写 "MAC" 在通信领域有其他用途,因此蓝牙规范中使用 "MIC" 这一术语。

MIC 本身并非可靠性特性,而是安全特性 ------ 其作用是检测对数据包内容的蓄意篡改行为。但由于我们对 "可靠性" 的通俗定义包含 "传输的数据应与接收的数据一致",且数据篡改可能是无意的,也可能是蓄意的,因此我们在此将其纳入说明以保证完整性。

毕竟,不安全的通信真的能被视为可靠吗?

扩频技术

蓝牙技术使用 2.4GHz ISM 无线电频段。2.4GHz ISM 并非指单一频率,而是一个频率范围(此处为 2400 MHz 至 2483.5 MHz)。当与蓝牙 LE 配合使用时,该频率范围被划分为 40 个信道,每个信道宽度为 2 MHz;而蓝牙 BR/EDR 则将其划分为 80 个信道,每个信道宽度为 1 MHz。

每个信道都有编号,从 0 号信道开始:0 号信道的中心频率为 2402 MHz,这使得 0 号信道的最低边界频率与 2.4GHz ISM 频段的起始频率之间存在 1 MHz 的间隔;39 号信道的中心频率为 2480 MHz,与 2.4GHz ISM 频段的结束频率之间存在 2.5 MHz 的间隔。

图 6 展示了 2.4GHz ISM 频段被划分为蓝牙 LE 所用无线电信道的情况。需要注意的是,信道编号 始终是从 0 到 39 的连续序列;而我们将在 5.2.2 节介绍的信道索引,其在 ISM 信道集上的分配方式略有不同。

蓝牙数据通信会使用多个无线电信道。在碰撞与干扰频发的繁忙无线电环境中,多信道的使用让蓝牙通信具备了高度可靠性。

这种同时使用多个频率的方式被称为扩频技术,因此蓝牙也可被称为扩频无线电通信技术。扩频技术的具体应用方式会因场景不同而有所差异,我们将在 5.2、5.3、5.4 节重新探讨这一主题。

解决共存与共置问题

多个不同的无线电技术同时使用同一频段,会带来潜在挑战:一种技术可能干扰另一种技术的传输(尤其是通过碰撞的方式,见 3.1 节)。这类问题统称为共存问题。蓝牙技术、Wi-Fi、无绳 DECT 电话、微波炉等都运行在 2.4 GHz ISM 频段,因此不同技术与设备类型之间存在潜在的干扰风险。

蓝牙主要通过扩频技术解决共存问题。当两台设备建立连接后,蓝牙会通过特定的扩频技术应用方式进一步提升可靠性,这部分内容将在 5.2 节展开说明。

共置是指同一设备中存在多个无线电模块,每个模块支持不同的通信技术或技术集。设备内的不同无线电模块之间可能产生干扰:例如,4G 手机使用的长期演进(LTE)无线电模块,其工作频段可能与 2.4 GHz ISM 频段相邻,这会导致诸如 "一个无线电模块阻碍另一个模块接收信号" 之类的潜在问题。蓝牙核心规范本身并未涵盖大部分共置问题,但提供了实现建议:缓解措施包括使用滤波器减少无线电模块间的干扰,以及考虑无线电时隙调度(规范建议实现者落实这一点)。

无线电时隙调度是一个复杂的问题,核心是确定无线电模块何时可用、何时不可用。调度的部分内容属于蓝牙核心规范的范畴,但与其他无线电模块共置相关的问题、以及操作系统可能施加的其他限制等,则不在规范范围内。不过,规范中定义了 "时隙可用性掩码(SAMs)" 特性:它允许两台蓝牙设备互相告知可用的时隙,设备可结合这些信息优化调度,避开可能发生共置干扰的时隙。

蓝牙 LE 编码物理层(Coded PHY)

蓝牙 LE 提供了三种不同的无线电使用方式,这些选项都属于物理层,统称为 "PHY"。定义的三种 PHY 如下:

  • LE 1M:符号速率为 1 兆符号 / 秒
  • LE 2M:符号速率为 2 兆符号 / 秒
  • LE Coded:符号速率为 1 兆符号 / 秒,支持前向纠错(FEC)

LE Coded PHY 提升了接收灵敏度:相比 LE 1M PHY,它能让接收端在与发射端距离更远时,才会出现 0.1% 的误码率(BER)。LE Coded 使用一个名为 "S" 的参数(可设为 2 或 8):当 S=2 时,LE Coded 的通信距离约为 LE 1M 的 2 倍;当 S=8 时,通信距离约为 LE 1M 的 4 倍。

LE Coded PHY 无需提高传输功率,而是通过在每个数据包中加入额外数据,利用 "前向纠错(FEC)" 这一数学技术实现错误的检测与纠正,从而在更远距离实现可靠通信。不过,通信距离的提升会伴随数据速率的降低:S=2 时数据速率为 500 Kb/s,S=8 时为 125 Kb/s。

LE Coded PHY 的主要目的是拓展通信距离,它通过降低低信号强度下的比特错误率,让远距离通信具备足够的可靠性。

相关推荐
SmartRadio2 小时前
计算 CH584M-SX1262-W25Q16 组合最低功耗 (1)
c语言·开发语言·物联网·lora·lorawan
广州灵眸科技有限公司5 小时前
瑞芯微(EASY EAI)RV1126B RTC使用
单片机·物联网·实时音视频
三佛科技-134163842125 小时前
SM7055-18 输出18V 250mA低成本非隔离BUCK、 BUCK-BOOST方案典型应用电路(电磁炉方案)
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
Sui_Network5 小时前
Sui 2025 年终回顾:支付、BTC 与机构采用篇
大数据·人工智能·物联网·web3·去中心化·区块链
TDengine (老段)5 小时前
TDengine GROUP BY 与 PARTITION BY 使用及区别深度分析
大数据·开发语言·数据库·物联网·时序数据库·tdengine·涛思数据
pingao1413786 小时前
物联网赋能井盖安全:倾斜震动监测传感器的智慧化应用
物联网·安全
专业开发者14 小时前
物联网传感器:破解设备维护难题
物联网
SmartRadio14 小时前
CH584M vs nRF52840 vs 主流BLE SoC全面对比
单片机·嵌入式硬件·mcu·物联网·开源·硬件工程
专业开发者16 小时前
经 Nordic 实测:蓝牙长距离传输
网络·物联网