Skip to main content

蓝牙通讯入门必知

📌 1. 蓝牙技术与双模概述

蓝牙最初是为替代有线数据线而设计的短距离无线通信技术,经历了多个版本的演进。

  • 经典蓝牙(BR/EDR):主要用于大数据量、低延时的应用,如音频、视频传输、外设连接(键盘、鼠标、耳机等)。
  • 低功耗蓝牙(BLE):自蓝牙4.0起引入,专注于低功耗、短数据传输、适合物联网、可穿戴设备等应用。

在蓝牙5.3中,很多芯片都采用了双模设计,即在同一芯片内集成了经典蓝牙与BLE两套协议栈,使得设备既能实现高带宽的传统数据传输,又能在低功耗场景下工作。这种双模设计大大提高了应用的灵活性和兼容性。

以下是从蓝牙1.0到蓝牙5.4各版本的功能及更新内容的对比表格:

蓝牙版本发布年份最大传输速度最大范围主要更新内容
蓝牙1.019991 Mbps10米奠定蓝牙技术基础,实现基本的无线连接。
蓝牙1.120011 Mbps10米修复蓝牙1.0的兼容性问题,提高连接稳定性。
蓝牙1.220031 Mbps10米引入自适应跳频(AFH)技术,减少干扰。
蓝牙2.020043 Mbps10米引入增强数据速率(EDR)技术,提高传输速度和功耗效率。
蓝牙2.120073 Mbps10米简化配对过程,引入NFC集成,降低功耗。
蓝牙3.0200924 Mbps10米引入高速(HS)技术,提高数据传输速率。
蓝牙4.020101 Mbps (LE) / 3 Mbps (EDR)60米引入低功耗蓝牙(LE),支持经典蓝牙和LE的双模设备。
蓝牙4.120131 Mbps (LE) / 3 Mbps (EDR)60米提高与LTE共存的能力,增强连接稳定性。
蓝牙4.220141 Mbps (LE) / 3 Mbps (EDR)60米提高传输速度和数据包容量,增强隐私保护。
蓝牙5.020162 Mbps (LE) / 50 Mbps (EDR)240米增加消息容量,改进广播模式,提升速度、范围和容量。
蓝牙5.120192 Mbps (LE) / 50 Mbps (EDR)240米引入方向查找功能,提高定位精度,优化能耗。
蓝牙5.220202 Mbps (LE) / 50 Mbps (EDR)240米引入LE Audio,提升数据传输效率,改善音频体验。
蓝牙5.320212 Mbps (LE) / 50 Mbps (EDR)240米减少延迟,增强抗干扰能力,提高电池寿命。
蓝牙5.420232 Mbps (LE) / 50 Mbps (EDR)240米引入PAwR节省能耗,加密广播数据提升安全性。
  • LE:低功耗蓝牙(Bluetooth Low Energy)。
  • EDR:增强数据速率(Enhanced Data Rate)。
  • AFH:自适应跳频(Adaptive Frequency Hopping)。
  • NFC:近场通信(Near Field Communication)。
  • PAwR:功率控制和优化(Power Control and Optimization)。

📌 2. 蓝牙协议栈的总体架构

无论是经典蓝牙还是BLE,其协议栈大体可以分为两大部分:Controller(控制器)Host(主机)。在单芯片方案中,有时还不需要单独的HCI层,但在双芯片或者分布式设计中,HCI(Host Controller Interface,主机控制器接口)起着桥梁作用。

图片描述

2.1 控制器(Controller)

物理层(PHY)

  • BLE的物理层定义了如何使用无线电发射器/接收器来编码和解码用于传输和接收的数字数据,以及应用的其他无线电相关参数和属性。现阶段可以略过

主要了解下Frequency Band

  • BLE在2400Mhz至2483.5 MHz的2.4GHz免授权频段内工作。BLE采用40个信道,每个信道间隔为2MHz,分为数据信道和广播信道;广播信道占用3个,用于发现设备、建立连接、广播数据;数据信道占用37个,用于已建立连接设备间的数据通信。建立连接的两个设备,必须同一时间处于同一信道上才能通信。

  • 其中37/38/39固定为广播信道,其余为数据信道。

链路层(LL)或基带层

在BLE中称为Link Layer(LL),在经典蓝牙中称为基带层。它负责建立连接、数据包格式、时序同步、信道选择、重传、加密等关键工作。BLE的LL层特别设计了低功耗传输的时隙、广播、扫描和连接管理机制;而经典蓝牙的基带层则更侧重于流媒体和连续数据传输的管理。

图片描述

HCI(Host Controller Interface)

HCI (Host Controller interface), 为Host访问Controller提供一组标准的接口 主要完成3个任务:

  • Host通过HCI发送命令给Controller
  • Controller通过HCI将事件发送给Host
  • 传递ACL Data(面向连接,在连接通道上进行数据传输)

HCI将高层协议与低层硬件细节分离,确保应用层开发者无需关心无线电细节。

2.2 主机(Host)

在Host部分,各种高层协议主要负责数据的封装、拆分、加密、安全、服务定义以及用户数据的传输。

L2CAP(逻辑链路控制与适配协议)

L2CAP是个复用层,可以让低功耗蓝牙复用三条不同的信道。它也支持数据的分割和重组功能,使得较大的报文可以在底层无线电中传输。

BLE:主要由下面几个协议构成:

  • ATT(属性协议):规定了数据以属性的形式进行存储和传输,每个属性都有句柄、类型和数值。
  • GATT(Generic Attribute Profile, 通用属性规范):在ATT基础上组织数据,定义了服务特征,便于客户端和服务端之间通过读、写、通知方式交换数据。

🔹 示例:BLE 设备的 GATT 结构

pgsql复制编辑设备: 智能手环
└── Service: 心率服务 (UUID: 0x180D)
├── Characteristic: 心率测量 (UUID: 0x2A37) [Notify]
├── Characteristic: Body Sensor Location (UUID: 0x2A38) [Read]
├── Characteristic: Heart Rate Control Point (UUID: 0x2A39) [Write]
  • GAP(Generic Access Profile, 通用访问规范)):规定了设备发现、连接、广播、扫描、配对、绑定等基本功能,是所有蓝牙设备必须实现的通用接口。

    📌 相关 GAP(通用访问协议)模式

    BLE 设备的广播 & 发现行为由 GAP 模式 决定,关键参数如下:

    模式名称作用是否广播是否可被发现是否可连接
    可广播模式(Broadcast Mode)设备周期性发送广播数据,无需连接✅ 是❌ 否❌ 否
    可发现模式(Discoverable Mode)设备允许被扫描设备发现✅ 是✅ 是✅ 是
    可连接模式(Connectable Mode)允许其他设备连接✅ 是✅ 是✅ 是
    非广播模式(Non-Broadcast Mode)设备不会主动广播❌ 否✅ 是✅ 是
  • SMP(Secure manager protocol)安全管理协议

    :管理配对、认证和加密过程,确保数据交换的安全性。


📌 3. 双模蓝牙(BLE + 经典蓝牙)的协同工作

在双模蓝牙设备中,两个协议栈共存,但它们之间有一些公共的基础模块:

  • 共享HCI接口:无论是经典还是低功耗,Host与Controller之间通过统一的HCI通信。
  • 公共的物理层硬件:虽然信号调制和信道划分可能有所不同,但物理无线电部分通常由同一芯片实现,支持不同协议模式下的发射与接收。
  • 软件调度与资源分配:在多任务操作系统中,系统需要调度经典蓝牙与BLE之间的无线资源,确保它们不会互相干扰。双模设计使设备能够根据应用需求动态切换工作模式,从而在高带宽和低功耗之间取得平衡。