蓝牙核心系统架构介绍

一、蓝牙的两种模式

(1)经典蓝牙(BR/EDR)

用于高数据速率应用,如无线耳机、音箱、键盘。

特点是连接稳定,适合持续传输音频或大量数据。

(2)低功耗蓝牙(BLE)

专为低功耗设备设计,如智能手环、温度计、传感器。

特点是耗电低,适合间歇性传输小数据。

总结:两种模式底层都用无线信号传输数据,都遵循蓝牙协议,只是侧重点不同。经典蓝牙重视速度和稳定,BLE重视省电和简单连接。

二、蓝牙核心系统组成

蓝牙核心系统由主机(Host)和控制器(Controller)两部分组成。

主机负责高层协议和控制逻辑,控制器处理底层射频和信号传输。两者分工合作,设备才能正常工作。

三、主机部分(Host)

主机包含多个协议模块,经典蓝牙和BLE有所不同。

经典蓝牙主要模块:

GAP(通用访问协议):管理设备发现和连接建立。

SDP(服务发现协议):帮助设备发现对方支持的服务。

L2CAP(逻辑链路控制协议):管理数据流,负责数据分段和重组。

SMP(安全管理协议):负责加密连接和密钥管理。

BLE主要模块:

GAP(通用访问协议):管理设备发现和连接建立。

GATT(通用属性协议):规定设备如何描述和交换数据属性。

ATT(属性协议):按照GATT规则传输数据。

SMP(安全管理协议):负责加密连接和密钥管理。

经典蓝牙工作流程:

  1. GAP搜索附近设备并建立连接

  2. SDP查找对方支持的服务

  3. L2CAP处理数据传输,分段重组

  4. SMP管理密钥和加密

BLE工作流程:

  1. GAP搜索附近设备并建立连接

  2. GATT列出设备支持的服务和数据属性

  3. ATT按照GATT规定格式传送数据

  4. SMP保障连接和数据安全

四、控制器部分(Controller)

控制器处理蓝牙底层功能,直接与硬件交互。

主要模块:

LL(链路层):管理蓝牙设备的链路状态和数据包传输。

RF(射频层):处理蓝牙信号的发送和接收。

IAL(等时音频层):BLE特有,处理高实时性数据传输,例如音频。

控制器主要负责:

链路管理:连接的建立、维持、断开。

无线信号传输:信号调制解调、频率管理、纠错编码。

硬件交互:直接控制无线电模块发射和接收。

五、HCI(主机控制器接口)

HCI是连接主机和控制器的桥梁,负责两部分之间通信。

特点:

标准化接口,让不同厂商的设备互相兼容。

传输命令、事件和数据包。

举例:手机的应用层通过HCI命令告诉蓝牙芯片"开始扫描附近设备",芯片执行后通过HCI事件返回扫描结果。

六、双模蓝牙

双模蓝牙同时支持经典蓝牙和BLE,一个设备两种能力

硬件层面同时支持BR/EDR和BLE。软件层面整合经典蓝牙和BLE的高层协议。

支持经典蓝牙的SDP和BLE的GATT,灵活切换。

举例:手机可以同时连接蓝牙耳机(经典蓝牙)和智能手环(BLE)

七、总结

经典蓝牙和BLE虽然侧重不同,但架构相似:都是主机管逻辑,控制器管硬件,通过HCI通信

经典蓝牙适合持续大数据传输,BLE适合低功耗间歇传输。

双模设备兼具两种能力,应用更广泛。

相关推荐
哈库纳玛塔塔4 小时前
方言系统架构演进:从分离到统一
系统架构
套码汉子5 小时前
软件架构的本质:以简单之道应对复杂系统
架构·系统架构
毕设源码-邱学长6 小时前
【开题答辩全过程】以 基于Android的健康码系统架构为例,包含答辩的问题和答案
android·系统架构
Ulyanov7 小时前
Python射击游戏开发实战:从系统架构到高级编程技巧
开发语言·前端·python·系统架构·tkinter·gui开发
xuyuan19988 小时前
超越Selenium:自动化测试框架Cypress在现代前端测试中的卓越实践(windows版本)三
前端·windows·测试工具·系统架构·cypress
七牛云行业应用2 天前
重构实录:我删了 5 家大模型 SDK,只留了 OpenAI 标准库
python·系统架构·大模型·aigc·deepseek
小当家.1052 天前
从零构建项目认知:如何画出一张合格的系统架构图(以供应链系统为例)
java·spring boot·学习·架构·系统架构·供应链·实习
信创天地2 天前
AI + 信创双轮驱动:从自主可控到智能引领,重塑数字经济新范式
运维·人工智能·网络安全·系统架构·系统安全·运维开发
深圳市快瞳科技有限公司2 天前
专业OCR与大模型混合架构:破解文档智能处理难题的务实之道
计算机视觉·系统架构·ocr
猫头虎3 天前
如何在浏览器里体验 Windows在线模拟器:2026最新在线windows模拟器资源合集与技术揭秘
运维·网络·windows·系统架构·开源·运维开发·开源软件