第一章:蓝牙协议栈概述
全面介绍蓝牙技术发展历程、协议栈架构、核心分类及应用场景
1.1 蓝牙技术发展历史
1.1.1 起源与命名
蓝牙技术起源于 1994 年爱立信公司内部的一个项目,旨在开发一种无线替代 RS-232 串口通信的方案。
命名由来: - 名称来自 10 世纪丹麦国王 Harald Blåtand(Harald Bluetooth) - 象征统一丹麦和挪威,寓意统一通信协议 - Logo 是卢恩字母 Hᛒ的组合
1.1.2 版本演进时间线
| 1998 ──→ 蓝牙特别兴趣小组 (SIG) 成立
│ 创始成员:爱立信、IBM、英特尔、诺基亚、东芝
│
1999 ──→ Bluetooth 1.0A 发布
│ 速率:1 Mbps
│ 问题:互操作性差
│
2001 ──→ Bluetooth 1.1 发布
│ 改进:RSSI 支持、跳频自适应
│ 成为 IEEE 802.15.1 标准
│
2003 ──→ Bluetooth 1.2 发布
│ 改进:快速跳频、eSCO 链路、L2CAP 增强
│
2004 ──→ Bluetooth 2.0+EDR 发布
│ 重大升级:EDR (Enhanced Data Rate)
│ 速率:BR 1Mbps + EDR 3Mbps
│
2007 ──→ Bluetooth 2.1+EDR 发布
│ 改进:安全简单配对 (SSP)、eSCO 增强
│
2009 ──→ Bluetooth 3.0+HS 发布
│ 重大升级:高速模式 (High Speed)
│ 借用 802.11 实现最高 24Mbps
│
2010 ──→ Bluetooth 4.0 发布
│ 革命性升级:引入 BLE (Bluetooth Low Energy)
│ 双模支持:BR/EDR + BLE
│
2013 ──→ Bluetooth 4.1 发布
│ 改进:IPv6 支持、并行连接优化
│
2016 ──→ Bluetooth 4.2 发布
│ 改进:隐私增强、LE 安全连接
│
2016 ──→ Bluetooth 5.0 发布
│ 重大升级:2Mbps PHY、长距离模式、广播扩展
│ 速率提升 2 倍、距离提升 4 倍、广播容量提升 8 倍
│
2019 ──→ Bluetooth 5.1 发布
│ 新增:AoA/AoD 定位功能
│
2019 ──→ Bluetooth 5.2 发布
│ 新增:LE Audio、LC3 编解码器、增强属性协议
│
2021 ──→ Bluetooth 5.3 发布
│ 改进:连接子事件、信道分类增强
│
2023 ──→ Bluetooth 5.4 发布
│ 新增:周期性广播响应、加密广播数据
│
2024 ──→ Bluetooth 6.0 发布
新增:信道探测 (Channel Sounding)、高精度测距
|
1.2 蓝牙协议栈架构
1.2.1 完整协议栈分层
| ┌─────────────────────────────────────────────────────────────┐
│ Application Layer │
│ (Profiles: A2DP, HFP, HID, GATT, etc.) │
├─────────────────────────────────────────────────────────────┤
│ Session/Presentation │
│ (SMP, SDP, ATT, GATT, GAP) │
├─────────────────────────────────────────────────────────────┤
│ Host Controller Interface │
│ (HCI Layer) │
├─────────────────────────────────────────────────────────────┤
│ Logical Link Control │
│ (L2CAP - Logical Link Control │
│ and Adaptation Protocol) │
├─────────────────────────────────────────────────────────────┤
│ Link Manager Protocol │
│ (LMP Layer) │
├─────────────────────────────────────────────────────────────┤
│ Baseband Layer │
│ (Packet Assembly, ARQ, Encryption) │
├─────────────────────────────────────────────────────────────┤
│ Physical Layer (PHY) │
│ (RF Transceiver, Modulation, Coding) │
└─────────────────────────────────────────────────────────────┘
|
1.2.2 各层功能详解
物理层 (PHY)
- 功能:射频信号发送/接收、调制解调、信道编码
- 实现:模拟 RF 前端 + 数字基带
- 关键参数:
- 工作频段:2.4 GHz ISM (2402-2480 MHz)
- 调制方式:GFSK、π/4-DQPSK、8DPSK
- 信道带宽:1 MHz (BR/EDR)、2 MHz (BLE)
基带层 (Baseband)
- 功能:数据包组装、ARQ 重传、加密、时序控制
- 关键机制:
- 跳频序列生成
- 时隙分配 (625 μs)
- 同步/非同步链路管理
- 自动重传请求 (ARQ)
链路管理器协议 (LMP)
- 功能:链路建立、认证、加密协商、功率控制
- 主要任务:
- 设备发现与配对
- 链路质量监控
- 主从角色切换
- 休眠模式管理
逻辑链路控制适配协议 (L2CAP)
- 功能:多路复用、分段重组、QoS 管理
- 信道类型:
- 面向连接 (Connection-oriented)
- 无连接 (Connectionless)
- 固定信道 (Fixed Channel)
主机控制器接口 (HCI)
- 功能:主机与控制器之间的标准化接口
- 传输方式:
- UART (H4/H5 协议)
- USB (全速/高速)
- SDIO
- PCIe (部分高端芯片)
应用层协议
| 协议 | 用途 | 典型应用 |
| SDP | 服务发现 | 设备能力查询 |
| RFCOMM | 串口仿真 | 传统串口设备 |
| OBEX | 对象交换 | 文件传输 |
| ATT | 属性协议 | BLE 数据访问 |
| GATT | 通用属性 | BLE 服务框架 |
| GAP | 访问配置 | 发现、连接、广播 |
| SMP | 安全管理 | BLE 配对加密 |
1.3 经典蓝牙 (BR/EDR) vs 低功耗蓝牙 (BLE)
1.3.1 架构对比
| ┌─────────────────────────┐ ┌─────────────────────────┐
│ Classic BR/EDR │ │ Bluetooth Low Energy│
├─────────────────────────┤ ├─────────────────────────┤
│ ┌─────────────────┐ │ │ ┌─────────────────┐ │
│ │ Profiles │ │ │ │ Profiles │ │
│ │ (A2DP,HFP,HID) │ │ │ │ (GATT-based) │ │
│ └────────┬────────┘ │ │ └────────┬────────┘ │
│ ┌────────┴────────┐ │ │ ┌────────┴────────┐ │
│ │ L2CAP │ │ │ │ L2CAP │ │
│ └────────┬────────┘ │ │ └────────┬────────┘ │
│ ┌────────┴────────┐ │ │ ┌────────┴────────┐ │
│ │ RFCOMM │ │ │ │ ATT/GATT │ │
│ │ SDP/OBEX │ │ │ │ GAP/SMP │ │
│ └────────┬────────┘ │ │ └────────┬────────┘ │
│ ┌────────┴────────┐ │ │ ┌────────┴────────┐ │
│ │ LMP │ │ │ │ LMP │ │
│ └────────┬────────┘ │ │ └────────┬────────┘ │
│ ┌────────┴────────┐ │ │ ┌────────┴────────┐ │
│ │ Baseband │ │ │ │ Baseband │ │
│ └────────┬────────┘ │ │ └────────┬────────┘ │
│ ┌────────┴────────┐ │ │ ┌────────┴────────┐ │
│ │ PHY (RF) │ │ │ │ PHY (RF) │ │
│ └─────────────────┘ │ │ └─────────────────┘ │
│ 持续连接 │ │ 间歇连接/广播 │
│ 高功耗 (mA 级) │ │ 超低功耗 (μA 级) │
└─────────────────────────┘ └─────────────────────────┘
|
1.3.2 技术参数对比
| 特性 | BR/EDR | BLE |
| 调制方式 | GFSK/π/4-DQPSK/8DPSK | GFSK |
| 最大速率 | 3 Mbps (EDR) | 2 Mbps (LE 2M PHY) |
| 信道数 | 79 (1 MHz 间隔) | 40 (2 MHz 间隔) |
| 跳频 | 1600 hops/s | 无跳频 (BLE 5.x 可选) |
| 连接建立 | ~100 ms | ~3-30 ms |
| 峰值电流 | 15-30 mA | 5-15 mA |
| 睡眠电流 | ~30 μA | ~1-5 μA |
| 典型电池寿命 | 数天 | 数月到数年 |
| 通信距离 | 10-100 m | 10-200 m (LE Coded) |
| 网络拓扑 | 点对点、散射网 | 点对点、广播、Mesh |
1.3.3 应用场景对比
BR/EDR 典型应用: - 无线音频 (A2DP 立体声) - 免提通话 (HFP) - 文件传输 (FTP) - 串口替代 (SPP) - 游戏手柄 (HID)
BLE 典型应用: - 健康监测 (心率、血压、血糖) - 运动传感器 (加速度计、陀螺仪) - 智能家居 (传感器、控制器) - 资产追踪 (信标) - 室内定位 (AoA/AoD) - 无线音频 (LE Audio)
1.4 蓝牙射频规格
1.4.1 频段划分
全球通用 2.4 GHz ISM 频段:
| 频率范围:2400 - 2483.5 MHz
可用带宽:83.5 MHz
地区差异:
┌──────────────┬───────────────┬───────────────┐
│ 地区 │ 频率范围 │ 信道数 │
├──────────────┼───────────────┼───────────────┤
│ 北美/欧洲 │ 2402-2480 MHz │ 79 │
│ 日本 │ 2402-2480 MHz │ 79 │
│ 西班牙 │ 2402-2454 MHz │ 52 │
│ 法国 │ 2402-2480 MHz │ 79 │
└──────────────┴───────────────┴───────────────┘
|
1.4.2 信道规划
经典蓝牙 (79 信道):
| 信道 k 的中心频率:f(k) = 2402 + k × 1 MHz
其中 k = 0, 1, 2, ..., 78
信道 0: 2402 MHz
信道 1: 2403 MHz
信道 38: 2440 MHz (中心)
信道 78: 2480 MHz
|
BLE (40 信道):
| 信道 k 的中心频率:f(k) = 2402 + k × 2 MHz
其中 k = 0, 1, 2, ..., 39
数据信道:37 个 (k = 0-36)
广播信道:3 个 (k = 37, 38, 39)
- 信道 37: 2402 MHz
- 信道 38: 2426 MHz
- 信道 39: 2480 MHz
|
1.4.3 发射功率等级
| 等级 | 最大功率 | 典型范围 | 应用 |
| Class 1 | 100 mW (20 dBm) | 100 m | 工业、基站 |
| Class 1.5 | 10 mW (10 dBm) | 50 m | 中距离 |
| Class 2 | 2.5 mW (4 dBm) | 10 m | 手机、耳机 |
| Class 3 | 1 mW (0 dBm) | 5 m | 低功耗设备 |
1.5 蓝牙网络拓扑
1.5.1 微微网 (Piconet)
| ┌─────────────┐
│ Master │
│ (主设备) │
└──────┬──────┘
│
┌─────────┼─────────┐
│ │ │
┌────▼────┐ ┌──▼───┐ ┌──▼───┐
│ Slave 1 │ │Slave2│ │Slave3│
│(从设备) │ │ │ │ │
└─────────┘ └──────┘ └──────┘
特点:
- 1 个主设备 + 最多 7 个活跃从设备
- 主设备控制跳频序列和时序
- 所有设备共享同一信道
|
1.5.2 散射网 (Scatternet)
| Piconet A Piconet B
┌─────────────┐ ┌─────────────┐
│ Master A │ │ Master B │
└──────┬──────┘ └──────┬──────┘
│ │
┌────┴────┐ ┌────┴────┐
│ │ │ │
┌───▼───┐ ┌──▼────┐ ┌───▼───┐ ┌──▼────┐
│Slave A│ │Bridge │ │Slave B│ │Bridge │
│ │ │(网桥) │ │ │ │(网桥) │
└───────┘ └───┬───┘ └───────┘ └───┬───┘
│ │
└──────────┬──────────┘
│
┌─────▼─────┐
│ Slave C │
└───────────┘
特点:
- 多个微微网互联
- 网桥设备可参与多个微微网
- 时分复用切换角色
|
1.5.3 BLE 拓扑
点对点连接:
| ┌─────────────┐ ┌─────────────┐
│ Central │◄───────►│ Peripheral │
│ (中心) │ 连接 │ (外设) │
└─────────────┘ └─────────────┘
|
广播模式:
| ┌─────────────┐
│ Broadcaster│──────┐
│ (广播者) │ │ 广播
└─────────────┘ ▼
┌─────────────┐
│ Observer │
│ (观察者) │
└─────────────┘
|
Mesh 网络:
| ┌───┐ ┌───┐ ┌───┐
│ N1│────│ N2│────│ N3│
└─┬─┘ └─┬─┘ └─┬─┘
│ │ │
┌─▼─┐ ┌─▼─┐ ┌─▼─┐
│ N4│────│ N5│────│ N6│
└───┘ └───┘ └───┘
节点通过消息转发实现多跳通信
|
1.6 蓝牙状态机
1.6.1 BR/EDR 状态转换
| ┌──────────┐
│ Standby │◄────────────────┐
│ (待机) │ │
└────┬─────┘ │
│ Page/Page Scan │
▼ │
┌──────────┐ Inquiry │
│ Inquiry │────────────────►│
│ (查询) │ │
└────┬─────┘ │
│ │
▼ │
┌──────────┐ Connection │
│ Paging │────────────────►│
│ (寻呼) │ │
└────┬─────┘ │
│ │
▼ │
┌──────────┐ Disconnect │
│ Connected│─────────────────┘
│ (连接) │
└──────────┘
连接状态细分:
- Active (活跃)
- Sniff (监听)
- Hold (保持)
- Park (停放)
|
1.6.2 BLE 状态转换
| ┌──────────┐
│ Standby │
└────┬─────┘
│
├───►┌──────────┐
│ │Advertising│
│ │ (广播) │
│ └──────────┘
│
├───►┌──────────┐
│ │ Scanning │
│ │ (扫描) │
│ └──────────┘
│
├───►┌──────────┐
│ │ Initiating│
│ │ (发起) │
│ └──────────┘
│
└───►┌──────────┐
│ Connected│
│ (连接) │
└──────────┘
|
1.7 本章小结
本章系统介绍了蓝牙技术的整体架构,包括:
- 发展历程:从 1999 年 1.0 到 2024 年 6.0 的完整演进
- 协议栈分层:从 PHY 物理层到应用层的完整结构
- BR/EDR vs BLE:两种技术的对比和适用场景
- 射频规格:频段、信道、功率等关键参数
- 网络拓扑:微微网、散射网、BLE 拓扑
- 状态机:设备状态转换流程
后续章节将深入每个技术细节,包括物理层、编解码、调制解调、芯片实现等。
下一章:02-物理层详解