简单学:Bluetooth

222 阅读9分钟

蓝牙技术是一种利用低功率无线电在各种3C设备间彼此传输数据的技术。蓝牙工作在全球通用的2.4GHz ISM(即工业、科学、医学)频段,使用IEEE802协议。作为一种新兴的短距离无线通信技术,正有力地推动着低速率无线个人区域网络的发展。

特性维度蓝牙 (Bluetooth)Wi-Fi
技术标准IEEE 802.15.1(Bluetooth 5.x)IEEE 802.11(主流为802.11ax/Wi-Fi 6/6E,逐步普及802.11be/Wi-Fi 7)
设计目标无线个人区域网(WPAN),强调低功耗、低成本、短距离通信无线局域网(WLAN),强调高速率、大容量、广覆盖
应用场景耳机、鼠标、键盘、可穿戴设备、车载免提、医疗外设、手机与电脑点对点文件互传等无线上网、高清/4K/8K视频、AR/VR、云游戏、智能家居网关、局域网高速数据传输等
覆盖范围短距离:经典模式10米以内;BLE远程模式理论可达100-300米(速率下降)室内常见30-50米(2.4GHz频段),室外无遮挡可达百米以上(Wi-Fi 6/6E/7)
功耗极低功耗:BLE峰值电流约5-15mA,纽扣电池可续航数月到数年相对较高:持续待机电流约50-200mA,电池设备需更大容量或间歇唤醒策略
典型速率BLE 1-2 Mbps;蓝牙5.x 理论峰值2 Mbps(LE 2M PHY)Wi-Fi 6/6E:理论峰值9.6 Gbps;Wi-Fi 7:理论峰值46 Gbps
频段2.4 GHz ISM频段(经典蓝牙);BLE支持2.4 GHz2.4 GHz、5 GHz、6 GHz(Wi-Fi 6E/7)
拓扑结构经典蓝牙:1主7从;BLE Mesh:支持上千节点星型拓扑,依赖接入点(AP),单AP理论可接入数百终端
安全性蓝牙4.2及以上支持LE Secure Connections,加密强度较高WPA3安全协议,支持更强的加密与身份认证机制
成本与复杂度芯片成本低,协议栈简单,易于集成芯片成本相对较高,协议栈复杂,对硬件资源要求更高

以上表格更加全面、准确地反映了蓝牙与Wi-Fi在2025年主流技术条件下的差异与各自优势。

HCI蓝牙架构 HCI架构.png

BLEBluetooth Low Energy低功耗蓝牙
BRBasic Rate基本速率,一般说的经典蓝牙就是指BR/EDR
EDREnhanced Data Rate增强速率,BR的增强版,一般说的经典蓝牙就是指BR/EDR
Bluetooth SIGBluetooth Special Interest Group蓝牙技术联盟
HCIHost Controller Interface主机控制器接口

HCI架构下蓝牙协议简述

四层模型蓝牙协议栈对应部分说明
应用层蓝牙应用协议(如 HID、A2DP、SPP、GATT)不是 TCP/IP 的应用层,但功能上对应
传输层L2CAP(逻辑链路控制与适配协议)类似传输层,提供信道、分段、复用
网络层无原生网络层蓝牙没有 IP 路由功能
数据链路层基带(Baseband)+ LMP(链路管理协议)控制信道、加密、配对等
物理层射频(Radio,2.4 GHz)调制、跳频、发射功率等

蓝牙的架构.png

实现HOST(协议栈)跟CONTROLLER(芯片)的交互,基于硬件接口(UART/USB/SDIO),它们是传输层。H2、H4、H5、BCSP 都是蓝牙 Host 与 Controller 之间的传输层协议

  1. HCI(Host-Controller Interface):

    • 这是蓝牙架构中的一个逻辑接口,它定义了 Host(主机)和 Controller(控制器)之间进行通信的指令、事件和数据的规范
    • 简单来说,HCI 规定了 Host 要发送什么命令给 Controller,Controller 要上报什么事件给 Host,以及数据如何流动。但它不关心这些“规定”具体通过什么物理线路传输。
  2. HCI Transport(传输层):

    • H2, H4, H5, BCSP 就是这些具体的传输层协议
    • 它们负责在实际的物理链路(如 UART, USB)上,可靠地传输 HCI 所定义的这些数据包。

现在我们来逐一解释您列出的这几个协议:

1. H4 (UART Transport)
  • 这是最简单、最常用的 UART 传输协议。
  • 工作原理:它在每个 HCI 数据包的前面加上一个单一的包类型字节
    • 例如:0x01 表示这是一个命令包0x02 表示这是一个 ACL 数据包0x03 表示这是一个 SCO/eSCO 语音数据包0x04 表示这是一个事件包
  • 特点
    • 简单高效:开销小,只有1个字节。
    • 无错误校验/重传:它依赖于 UART 硬件和底层线路的质量。如果线路噪声大,可能导致数据出错而无法恢复。
    • 广泛应用于各种蓝牙芯片和模块,尤其是经典蓝牙(BR/EDR)。
2. H5 (3-Wire UART Transport)
  • 可以看作是 H4 的“增强版”,旨在不可靠的 UART 线路上提供可靠通信。
  • 工作原理
    • 协议栈:它在 HCI 数据包外面套上了一层自己的协议,包含了序列号、应答机制和CRC校验
    • 可靠性:通过序列号和应答机制,可以实现丢包重传。通过CRC校验,可以确保数据的正确性。
    • “3-Wire”:指的是只需要 RX、TX、GND 三根线,因为它通过软件协议实现了流控,而不需要硬件流控引脚(如RTS/CTS)。
  • 特点
    • 可靠:适合在电气环境复杂或线缆较长的场景下使用。
    • 复杂:协议开销比 H4 大。
    • 在 Nordic 的 nRF系列芯片等产品中比较常见。
3. BCSP (BlueCore Serial Protocol)
  • 这是CSR公司(现属Qualcomm) 为其 BlueCore 系列蓝牙芯片开发的私有协议
  • 工作原理:它与 H5 类似,也是一个在串口上实现的完整协议栈,提供了可靠性多路复用功能。
    • 它包含了CRC校验、重传机制
    • 它不仅能传输 HCI 数据,还能在一个物理UART链路上同时传输调试信息、固件下载等其他信道的数据。
  • 特点
    • 功能强大:在H4标准普及之前,它是解决UART传输可靠性问题的主流方案。
    • 私有协议:主要用于CSR/Qualcomm的芯片。随着标准化协议的推广,其使用在减少。
    • H5的竞争对手:H5 可以看作是后来为了标准化而出现的、功能与BCSP类似的协议。
4. H2 (USB Transport)
  • 这是用于 USB 物理接口的蓝牙传输协议。
  • 工作原理:它不定义新的封包格式,而是直接利用 USB 的 Bulk Transfer(批量传输)端点
    • 蓝牙规范定义了标准的USB设备类,主机通过标准的USB枚举过程来识别蓝牙设备。
    • 不同的HCI包类型(命令、事件、ACL数据、SCO数据)被分配到不同的USB端点 上进行传输。
  • 特点
    • 即插即用:利用USB标准,方便快捷。
    • 高速:USB接口本身速度远高于UART。
    • 常见于:蓝牙USB适配器(Dongle)、笔记本电脑内置的蓝牙模块。

总结与对比

协议物理接口核心特点应用场景
H4UART简单、高效、无纠错,最通用的UART协议大多数蓝牙模块,要求硬件环境稳定
H5UART可靠、有重传和校验,软件流控对可靠性要求高的场景,Nordic等芯片常用
BCSPUART可靠、多功能(多路复用),CSR私有协议旧款或CSR的蓝牙模块
H2USB即插即用、高速,使用USB标准端点蓝牙USB狗、笔记本内置蓝牙

简单来说,在选择这些协议时:

  • 如果你的硬件是 USB,那就用 H2
  • 如果你的硬件是 UART
    • 追求简单稳定,线路质量好,用 H4
    • 需要应对复杂环境,保证可靠性,用 H5
    • 如果你用的是CSR的芯片,可能需要用到 BCSP

协议栈层各类协议查询表

英文缩写英文全称一句话简介
HCIHost Controller Interface标准主机-控制器命令/事件/数据通道,硬件无关。
L2CAPLogical Link Control and Adaptation Protocol"逻辑链路控制与适配协议";分段/重组、信道复用,为上层提供统一数据通道。
SDPService Discovery Protocol“服务发现协议”;让设备无需预配对即可查询对方支持哪些蓝牙服务。
RFCOMMRadio Frequency Communication“串口仿真协议”;在 L2CAP 上仿真 RS-232 串口,支持多路复用。
HIDHuman Interface Device Profile“人机接口设备协议”; 键盘、鼠标、游戏手柄等低延迟外设标准。
SPPSerial Port Profile“蓝牙串口协议”;基于 RFCOMM 的“无线串口”,最通用透明传输。
HFPHands-Free Profile“蓝牙免提协议”;车载/耳机免提通话:双向语音+AT命令控制。
DIDDevice ID Profile“设备ID协议”;广播厂商、型号、版本,便于系统识别并加载驱动。
AVDTPAudio/Video Distribution Transport Protocol“音视频分布传输协议”; A2DP 的传输层,负责码率协商、数据分段与同步。
A2DPAdvanced Audio Distribution Profile“蓝牙音乐协议”;立体声音频流(SBC/AAC/aptX)听音乐必备协议。
AVCTPAudio/Video Control Transport Protocol“音视频控制传输协议”; 为 AVRCP 提供可靠控制命令通道。
AVRCPAudio/Video Remote Control Profile“蓝牙音乐控制协议”;远程播放/暂停/音量/元数据/封面控制。
OBEXObject Exchange Protocol“蓝牙对象交换协议”;类似轻量 HTTP,PUT/GET 对象(名片、图片、文件)。
PBAPPhone Book Access Profile“蓝牙电话本访问协议”;车载同步手机通讯录与通话记录,基于 OBEX。
MAPMessage Access Protocol“蓝牙短信访问协议”;车载读取/发送短信,基于 OBEX。
OPPObject Push Profile“文件推送协议”;单文件/名片快速推送,基于 OBEX。
BNEPBluetooth Network Encapsulation Protocol“蓝牙网络封装协议”; 在 L2CAP 上封装以太网帧,实现 IP 网络。
PANPersonal Area Network Profile“蓝牙个人局域网协议”;用 BNEP 组建小型 IP 网(如手机共享网络给电脑)。
iAPApple Accessory Interface Protocol苹果附件协议(IAP2);用于认证与数据通道。
BPPBasic Printing Profile蓝牙打印:文本/图像直接打印,基于 OBEX。

参考学习: blog.csdn.net/XiaoXiaoPen…