蓝牙基础(三):蓝牙信道、跳频与选择算法

liwen01 2025.06.01

前言

蓝牙工作在 2.4GHZ ISM 频段,它与 2.4G WiFi 处于相同的频段。在经典蓝牙与 BLE 蓝牙之间,信道数、信道带宽、跳频机制、信道用途上都存在很大的区别。

这里我们将介绍蓝牙的信道、跳频、以及信道的选择算法。

(一)经典蓝牙信道

经典蓝牙信道带宽 1Mhz,从信道 ch0~ch78,合计共 79 个信道分布在 2400 ~2483.5 MHz(ISM)频段。

在未连接前,经典蓝牙使用的是79个信道中的32个信道进行广播和配对(Inquiry Scan /Page Scan 阶段)

配对连接成功之后,则会使用全部 79 个信道,包括控制包数据包都通过这 79 个信道交换。

(1) 经典蓝牙通道类型

在经典蓝牙中,信道分为 5 类:

通道类型 使用的信道数量 使用的信道编号(示例) 用途说明
Inquiry Scan 32个 0~78中选出的32个 设备发现
Page Scan 32个 0~78中选出的32个 等待连接
Basic Piconet 全部79个 0~78(完整跳频) 正常通信
Adapted Piconet 介于20~79个 从0~78中筛选(AFH调整) 通信避干扰
Synchronization Scan 1个 单一广播信道(由广播端选择) 同步广播接收
  • Inquiry Scan & Page Scan:用于设备发现和连接前阶段。
  • Basic/Adapted Piconet:连接后使用,用于正常或干扰优化通信。
  • Synchronization Scan:专为同步广播设计,用于周期性接收广播数据。

(2)Inquiry Scan(发现设备)

Inquiry Scan 通道的作用是用于设备被发现(被查询) 的场景。

主要特点

  • 使用32个预定义的跳频信道(在79个信道中选出)。
  • 设备周期性地监听 Inquiry 信号。
  • 当其他设备发起 Inquiry 请求时,处于 Inquiry Scan 状态的设备会响应。
  • 通过该通道,设备能被发现,但还未建立连接。

主要适用场景:设备广播"我在这",以供其他设备查询时使用。

(3)Page Scan(连接目标设备)

Page Scan 通道的作用是用于设备等待被连接(被寻呼)的场景。

主要特点:

  • 设备处于"可连接"状态时,周期性地监听特定跳频上的寻呼信号。
  • 主设备在这 32 个信道中跳频发送 Page 请求
  • 主设备使用 Page Channel 向从设备发起连接。
  • 从设备在这个通道上扫描寻呼请求

主要适用的场景:从设备等待主设备发起连接。

(4)Basic Piconet Channel

Basic Piconet Channel是设备连接成功后,用于主从之间数据传输的主要物理通道。

主要特点

  • 由一个主设备控制跳频序列。
  • 所有从设备跟随主设备的跳频。
  • 使用所有79个信道(0~78)。

主要适用场景是:连接状态下的正常通信。

(5)Adapted Piconet Channel

Adapted Piconet 通道是 Basic Piconet 的一个变种,适用于跳频受限环境(如 Wi-Fi 干扰)

主要特点:

  • 用于连接状态下通信。
  • 跳频图是根据频道质量评估动态调整的(Adaptive Frequency Hopping, AFH)。
  • 跳频图会剔除干扰严重的信道
  • 动态选择部分信道(例如剔除干扰频段,可能只用20~60个)

主要适用场景:存在2.4GHz 环境有干扰时的通信场景。

(6)Synchronization Scan Channel(同步扫描通道)

Synchronization Scan 通道用于支持同步从设备(如耳机、音箱)保持与主设备的同步,尤其是在广播传输时。

主要特点:

  • 用于收听周期性广播(如 synchronized broadcast)。
  • 从设备周期性唤醒并监听同步广播信号。
  • 支持低功耗同步接收。

主要适用场景:单向广播同步,如广播音频等。

(二)BLE 低功耗蓝牙信道

BLE蓝牙为了更好地适应低功耗、低成本、小数据量传输的需求,以便能更好地适配物联网设备,BLE蓝牙在经典蓝牙基础上减少了信道数、增加了信道宽度。

但 BLE 蓝牙在抗干扰性和数据速率方面有做了部分的取舍。

(1)BLE蓝牙信道类型

BLE 蓝牙与经典蓝牙都是工作在 2400 ~2483.5 MHz(ISM) 频段,BLE 蓝牙将 ISM 频段分为带宽为 2Mhz 的 ch0~ch39 共 40 个信道。

这 40 个信道编号并不是连续的。其中37、38、39 为广播信道,分布在不同的位置。

为何 37、38、39 三个广播信道会分布在不同位置?

主要原因是蓝牙与 2.4G WiFi处于同一个工作频段,为了尽可能地避免 WiFi 对蓝牙的干扰,所以将三个广播信道布置到了 WiFi 信道的"缝隙"中。

上图可以看出 BLE 的37、38、39 信道,实际是分布在WiFi 1、6、11 信道的"缝隙"处。

WiFi 信道相关的知识可以查看之前 WiFi 系列文章中的《WiFi基础(二):最新WiFi信道、无线OSI模型与802.11b/g/n

当蓝牙与 WiFi 在同一个空间工作时,从频谱图中可以明显地看到蓝牙的广播信道频谱。

随着时间的变化,也可以看到一段时间上各信道的利用率。其中蓝牙广播信道的使用率还是挺高。

(2)经典 VS BLE 蓝牙信道

蓝牙技术的发展从 BR/EDR(Basic Rate/Enhanced Data Rate)BLE(Bluetooth Low Energy) ,其物理信道数量由 79个 (在BR/EDR中)减少为 40个(在BLE中),在功耗、成本、信道重叠上有优势,但在吞吐量、抗干扰方面又有明显不足。

BLE 蓝牙信道优势:

  • 简化射频设计:2 MHz 宽度、40 个信道更适合低成本实现。
  • 更快建立连接:3 个固定广播信道,有利于快速扫描与连接。
  • 节能优化:信道规划简化通信过程,有助于降低功耗。
  • 减少与Wi-Fi干扰:合理分布的信道避免与 Wi-Fi 常用信道冲突。

BLE 蓝牙信道劣势:

  • 抗干扰能力略弱:跳频范围变窄,在复杂无线环境下易受影响。
  • 最大吞吐量较低:不适合大数据量或高质量音频/视频传输(不过BLE Audio在BLE 5.2中已部分改进)。
  • 兼容性问题:早期BLE设备不支持BR/EDR,应用需要按场景选择。

简而言之就是:经典蓝牙使用 1Mhz 带宽 79 信道,BLE 使用2Mhz 带宽 40 信道。BLE 蓝牙减少了信道数、增加了信道宽度,使得BLE蓝牙在低功耗、低成本、小数据量传输中占据优势,但在抗干扰性和数据速率方面又有所牺牲。

(三)跳频技术

为了提高通信的抗干扰和提升频谱的利用率,蓝牙使用了 FHSS 和 AFH 跳频技术

(1)FHSS 跳频扩频(Frequency Hopping Spread Spectrum)

蓝牙从一开始的1.0版本就有使用跳频技术,当时使用的是 FHSS 技术。

FHSS 是一种扩频技术,它通过在多个频率信道间快速切换(跳频)来发送数据,从而提高抗干扰能力和通信安全性。

FHSS 跳频扩频的优点

  • 抗干扰能力强:跳频特性使信号不在一个频率上长时间停留,能规避某些短时干扰。
  • 提高通信安全性:频率不断变化,监听者难以持续跟踪完整的数据流,提高抗监听能力。
  • 抗多径效应:跳频可以避免由于多径效应导致的某一频率点的严重衰减。
  • 实现简单、成本低:在早期硬件平台上易于实现,对处理器和协议要求较低。

FHSS 跳频扩频的缺点:

  • 容易跳入受干扰信道:跳频是随机或伪随机的,可能跳到被 Wi-Fi 或其他设备强干扰的频率上,影响通信质量。
  • 无适应能力:不能根据环境自动优化跳频序列,效率低于后来的自适应跳频技术。
  • 频谱利用率不高:所有信道都参与跳频,即使某些信道质量很差,也仍可能使用。

(2)AFH 自适应跳频(Adaptive Frequency Hopping )

虽然 FHSS 能提高抗干扰能力,但在 2.4 GHz 频段中,有很多其他设备(如 Wi-Fi、微波炉、Zigbee)也在使用相邻或相同频率,可能造成干扰。

为了解决该问题,从 蓝牙 1.2 开始,引入了 AFH 技术

AFH 的核心思想是:

AFH 会检测信道质量,自动将受干扰严重或质量差的信道从跳频序列中排除,只在"良好信道"之间跳频,从而提升通信质量。

AFH 自适应跳频的优点

  • 避开干扰频率 :自动检测和屏蔽受干扰或高误码率的信道,显著提高通信稳定性和吞吐率
  • 与 Wi-Fi 等共存能力强:能主动避开 Wi-Fi 使用的 2.4GHz 频段(如信道 1、6、11),减少蓝牙与 Wi-Fi 的冲突。
  • 动态适应能力强:能根据实时环境变化,更新跳频序列,应对移动设备和复杂无线环境。
  • 提高实际传输效率:由于减少了因信道干扰而导致的重传,提升了有效数据速率。

AFH 自适应跳频的缺点

  • 实现更复杂:需要主设备监测信道质量、动态维护信道列表,增加了协议栈复杂度和资源消耗。
  • 依赖主从协同跳频:主设备做决策并同步从设备,若同步失效,通信会中断。
  • 受限于信道总数减少:剔除"坏信道"后,可用信道减少,可能导致频谱利用率下降、跳频图变得不均匀。

FHSS 与 AFH的应用

在经典蓝牙中,设备刚连接上时,使用的是Basic Piconet Channel 通道进行数据交互,实际使用的是 FHSS 跳频机制在0~79信道之间跳转。

如果开启了AFH功能,蓝牙模块会去检测信道的质量,将质量不好的信道剔除,也就是Adapted Piconet Channel 信道。它使用的是BR/EDR 80个信道中的部分信道进行数据交互。

在蓝牙中,生成跳频序列的算法有两种:

  • Channel Selection Algorithm #1(CSA#1)
  • Channel Selection Algorithm #2(CSA#2)

下面我们介绍这两种算法在BLE中的使用。

(四)信道选择算法

在BLE通信中,设备通过跳频(Frequency Hopping)在多个数据通道之间切换,以减少干扰并提高通信可靠性。

CSA#1和CSA#2定义了数据包应跳转到哪个通道。

(1)CSA#1 (Channel Selection Algorithm #1)

CSA#1 是蓝牙早期版本(如 Bluetooth 4.0 及之前)中使用的信道选择算法。

特点:

  • 基于事件计数器(Event Counter)
  • 线性跳频:通过一个简单的公式,在37个数据通道中进行伪随机跳变。
  • 不可自适应:无法避开存在干扰的信道。

跳频的公式为

复制代码
channel_index = (event_counter + hop_increment) % 37

hop_increment 为配对时选定的跳频因子(范围是1~36,不能被37整除)

上图可以看出CSA#1算法跳频的线性变化。

CSA#1优势:

  • 实现简单: 算法逻辑相对简单,计算量低,适合资源受限的设备(如低端MCU)。
  • 兼容性强: 是 BLE 4.0/4.1 的默认跳频算法,几乎所有 BLE 设备都支持。
  • 跳频快速: 跳频速度快,延迟小,有助于低延迟通信。

CSA#1劣势:

  • 跳频模式较为可预测,安全性较低。
  • 容易受干扰,因为不能跳过信号质量差的通道。
  • 在高干扰环境(如 Wi-Fi 重叠)下表现较差。

(2)CSA#2 (Channel Selection Algorithm #2)

CSA#2 算法在蓝牙5.0 之后版本广泛使用,旨在提高蓝牙的抗干扰性和安全性

特点

  • 更加随机、抗干扰性更强
  • 支持信道映射表(Channel Map),跳过受干扰的通道。
  • 基于AES-like加扰运算:提高安全性和随机性。

算法大致流程

  1. 使用一个 event_counteraccess_address 作为种子,经过非线性变换(例如基于 AES 的混淆函数)生成一个伪随机数。
  2. 将该伪随机数对可用通道数量取模,得到目标信道索引。
  3. 使用当前的 信道映射表(channel map)来找出实际要跳转的通道。

从上图可以看出,使用CSA#2之后,信道跳转是非线性的。

CSA#2优势:

  • 抗干扰能力强: 使用 AES 加密生成伪随机跳频序列,难以预测,抗干扰性和安全性大幅提升。
  • 频谱使用均匀: 所有可用频道使用更均匀,避免某些频道过度使用,提高系统稳定性。
  • 安全性更高: 序列与连接参数相关,外部无法预测,有助于防止干扰和嗅探攻击。
  • 支持动态黑名单: 可以动态地排除受干扰的频道(结合 Adaptive Frequency Hopping, AFH)。

CSA#2缺点:

  1. 实现复杂: 依赖加密算法(如 AES-128),计算复杂度高,对硬件资源有更高要求。
  2. 兼容性要求更高: 旧设备(BLE 4.0/4.1)可能不支持 CSA#2,需协商降级使用 CSA#1。
  3. 稍微增加功耗: 计算量增大可能略微提升能耗,尤其是在资源紧张的低功耗设备中。

CSA#1 VS CSA#2

特性 CSA#1 CSA#2
引入版本 BLE 4.0/4.1 BLE 4.2(广泛用于 BLE 5.0+)
抗干扰能力 一般
跳频序列可预测性 高(易预测) 低(伪随机)
计算复杂度 高(需要加密运算)
实现简易性 简单 较复杂
通道使用均匀性
兼容性 与所有 BLE 设备兼容 需要 BLE 4.2 及以上设备支持

(3)信道质量判断

所有的无线设备,包括蓝牙和 WiFi,都无法在发送数据的同时检测当前信道是否繁忙,而是通过过往数据的收发情况进行分析判断。

信道质量的衡量指标

蓝牙控制器通过以下方式判断某个信道是否"质量差"

(1)包错误率(PER, Packet Error Rate)

  • 某个信道上发送的包中,有多少是被接收方认为损坏的(如CRC校验失败)。
  • 通常以"百分比"表示,比如 PER > 10% 可认为质量较差。

(2)重传次数(Retransmissions)

  • 如果某个信道频繁需要重传,说明它信号质量差。

(3)接收信号强度(RSSI)

  • 蓝牙设备能检测接收到的信号强度;RSSI太低表示信道质量差。
  • 但RSSI不总是直接用来决定跳频行为,更多用于优化连接。

(4)信道利用率或干扰检测

  • 某些蓝牙控制器具备检测频道是否被Wi-Fi等占用的能力(频谱扫描或能量检测)。

蓝牙控制器维护一个信道分类表(Channel Classification Map),将信道分为:

  • Good(好):当前通信表现稳定;
  • Bad(差):通信包错误率高、干扰严重;
  • Unknown(未知):未被使用或未测量;

蓝牙主设备定期上报这个分类表给从设备,确保主从设备使用同一跳频序列。

(五)蓝牙信道未来发展

从蓝牙联盟官方网站上看,蓝牙是有在规划 5 GHz 和 6 GHz 频段的使用,但是没有给出明确的推出时间。

规划5 GHz 和 6 GHz的目的是:更高的数据吞吐量、更低的延迟、更高的定位精度以及更好的共存性。

蓝牙规范的推出,再到用户能用的实际产品,中间会有个代差。可以确定的是,短时间内应该大家是还看不到 5 GHz 和 6 GHz 蓝牙的应用。

结尾

本章主要介绍了经典蓝牙和BLE蓝牙的物理信道,以及它们的调频技术、信道选择算法。下一章将介绍蓝牙的连接过程。

------------------End------------------ 如需获取更多内容 请关注 liwen01 公众号