蓝牙基础(一):蓝牙软硬件架构介绍

liwen01 2025.04.05

前言

随着物联网的发展,蓝牙已融入到我们生活的方方面面:手机、平板、手环、耳机、音响、智能灯泡、智能门铃、摄像机、冰箱、空调、洗衣机、血糖仪、键盘、鼠标等等。

关于蓝牙相关的芯片、协议栈、应用方案也因产品需求的不同而存在很大的差异,因而导致关于蓝牙相关的知识相对比较离散。

(一) 蓝牙版本与类型

蓝牙与 WiFi 类似,WiFi 属于 IEEE 802.11,蓝牙早期属于 IEEE 802.15.1,后面才由 Bluetooth SIG 独立维护。

蓝牙与 WiFi 的发展基本相似。早期蓝牙追求高速率,现在蓝牙主打:低功耗、低成本、高可靠性

在蓝牙追求高速率转变到低功耗这个过程中,出现了一些不能相互兼容的蓝牙版本。从技术的角度看,蓝牙的历史版本之间并不太优雅。

(1) 经典蓝牙

蓝牙 1.0 版本的时候速率是 721Kbps, 那时 Modem 速度也才 56Kbps,蓝牙速率远超用户需求。

随着互联网的快速发展,1999 年 WiFi1(802.11b) 支持 11Mbps,2003 年wifi3(802.11g)支持 54Mbps, 2009 年 WiFi4(802.11n) 支持 600Mbps。之后各版本均是以 Gbps 速率为单位。

与此同时的蓝牙,为了追求速率的提升,就在 BR(Basic Rate)的基础上开发了EDR(Enhanced Data Rate)技术。随后在 2009 年,蓝牙又引入了 WiFi 的物理层和 MAC 层,推出了AMP 功能,速率达到了 24Mbps。

但是 BR/EDR 技术与外来的 AMP 并不兼容,只能 2 选 1 使用。

由于蓝牙不能直接连接到互联网,且更加偏向于短距离,点对点连接的应用场景,与 WiFi 相比,蓝牙的优势并不明显。

速率越高,功耗自然就会更大。随着物联网的发展,设备对功耗越加敏感。为了区别于 WiFi,蓝牙开始布局低功耗应用场景。

在2010年,蓝牙推出了低功耗蓝牙BLE, 也就是蓝牙4.0版本。

经典蓝牙低功耗蓝牙 之间也不兼容,所以就有了单模蓝牙双模蓝牙的说法。

  • 单模蓝牙 :单一传统蓝牙或是单一低功耗蓝牙。即 1 个 Host 结合 1 个 Controller。
  • 双模蓝牙 :同时支持两种不同模式的蓝牙。即 1 个 Host 结合多个 Controller。

(2) 低功耗蓝牙

低功耗蓝牙主要应用于小数据量传输,比如:温湿度采集器、手环、心率检测、血氧测试、电子标签、宠物防丢、智能灯泡、门锁等等物联网设备。

它们一般是将采集到的信号发送到服务端(比如手机),发完之后设备就进入休眠状态以节省功耗。

在双模设备中,如果传输的数据量比较大,蓝牙会切换为经典模式,比如文件传输、音乐播放等。

BLE 蓝牙目前也支持音乐传输,BLE Audio (基于 Bluetooth 5.2) 通过 LC3 编解码器提升了音质 ,但延迟和带宽仍弱于经典蓝牙。

后续会专门介绍蓝牙耳机的实现原理。

(二) 蓝牙软件协议栈

我们把某个协议的实现代码称为协议栈(protocol stack),蓝牙协议栈就是实现蓝牙协议的代码。

简单来说,蓝牙协议栈就是用来对你的应用数据进行层层封包,以生成一个满足蓝牙协议的空中数据包。

  • Controller(控制器) 部分:包含 PHY (物理层)和 LL (链路层),并通过 HCI 和上层通信,主要负责底层无线收发与连接管理。
  • Host(主机) 部分:包含 L2CAP、SMP、ATT、GATT、GAP 等协议层,为应用提供数据传输、安全、属性组织和访问以及连接管理等功能。
  • Profiles(应用层) :基于 GATT 定义各种标准化或自定义的服务与特征,用于实现特定应用场景。

从上图可以看出,蓝牙协议栈是连接芯片(射频)和应用的桥梁,是实现整个蓝牙应用的关键

目前开源的蓝牙协议栈有 :

还有些非开源的蓝牙协议栈,它们主要由商业公司开发和维护,通常是为了提供更好的技术支持、认证、优化和专有功能,比如 windows 和苹果设备。

这里只对蓝牙的协议栈做简单的介绍,更详细的分析放到后面单独介绍。

(三)蓝牙硬件架构

蓝牙软件架构,其实主要也就是蓝牙协议栈。如果要做蓝牙开发,基于不同的硬件方案架构,需要对蓝牙协议栈了解的深度也不一样。

(1) SOC单芯片方案

架构特点 :

  • 蓝牙协议栈(Host + Controller)和应用处理器集成在同一颗芯片内。
  • 适用于低功耗、小尺寸、低成本的应用场景。
  • 典型芯片如 Nordic nRF52 系列、Dialog DA14531、TI CC2640。

优势 :

  • 设计简单,开发成本低,功耗优化较好。
  • 适用于嵌入式系统,无需额外的 MCU 处理数据。

典型应用 :

  • 蓝牙耳机、智能手环、无线传感器、低功耗 IoT 设备。

这种方案一般使用在:蓝牙耳机、智能手环、无线传感器、低功耗 IoT 设备。

从软件开发的角度看,这种方案与普通 MCU 开发相似,因为芯片厂家已经把蓝牙协议栈做了封装,我们只需要调用接口使用就可以了。

(2) SoC 蓝牙 + MCU 方案

架构特点 :

  • 蓝牙协议栈和射频部分(Host + Controller)集成在蓝牙 SoC 内,MCU 负责上层应用逻辑和数据处理。
  • 适用于计算需求较高的场景,比如复杂的数据处理或多协议支持。
  • 典型芯片如 Cypress CYW20719。

优势 :

  • MCU 处理应用层任务,蓝牙 SoC 专注于通信,提高系统性能。
  • 灵活性较高,可以选用不同性能的 MCU 适配需求。

典型应用

  • 智能家居、工业控制、医疗设备、蓝牙网关。

这种蓝牙方案一般是把蓝牙做成模块形式,MCU只需要通过串口发送响应的 AT 指令来实现蓝牙的不同功能。

对于软件开发来说,这是最简单的一种开发方式,方案的局限就是比较难实现一些自定义的蓝牙功能。

(3) 蓝牙 Host + Controller 分离方案

架构特点 :

  • 蓝牙协议栈拆分为 Host(高层协议,如 L2CAP、GATT、GAP)和 Controller(低层协议,如 PHY、Link Layer)。
  • Host 运行在主机(MCU/CPU)上,而 Controller 作为独立模块(蓝牙芯片或蓝牙模块)。
  • 通过 HCI(Host Controller Interface)进行通信,常见接口有 UART、SPI、USB。

优势 :

  • 适用于计算能力较强的设备,如智能手机、PC、车载系统等。
  • Host 端可以更灵活地管理多个蓝牙连接,提高可扩展性。

典型应用 :

  • 智能手机、笔记本电脑、车载娱乐系统、嵌入式网关设备。

这种方案比较常见的就是我们电脑外接的 USB 蓝牙适配器。USB 适配器只实现了(Controller)的功能。 Host 和应用层由 PC 端根据不同的业务需求去实现蓝牙的不同功能。

(4) 蓝牙 + Wi-Fi 方案

架构特点 :

  • 蓝牙和 Wi-Fi 共享相同的射频前端,通常由同一颗芯片实现共存。
  • 适用于需要同时使用 Wi-Fi 和蓝牙的设备,如智能家居、智能音箱。
  • 典型芯片如 Broadcom BCM4375、Qualcomm QCA9377,AIC8800M40B

优势 :

  • 优化射频共存,降低干扰,提高整体通信性能。
  • 适用于高吞吐量和低功耗结合的应用场景。

典型应用 :

  • 智能手机、智能电视、物联网网关、车载娱乐系统。

目前 IPC 摄像机中支持蓝牙配网的设备都基本是使用这种方案。

在配网的时候使用蓝牙将路由器 ssid、 password 等信息由手机传递到设备中。

WiFi 模块在根据蓝牙接收到的 ssid、 password 去连接路由器,之后的音视频等数据都是通过 WiFi 传递到 IOT 平台或手机上。

结尾

这里主要介绍了下蓝牙的软件协议栈和硬件架构方案,如果不对,欢迎评论指出。下一篇将介绍蓝牙核心系统架构。

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