蓝牙的架构

蓝牙的架构(Bluetooth Architecture)是一个分层、模块化的设计体系,旨在实现设备间的无线、低功耗、安全、互操作通信。它由**硬件组件、协议栈(Protocol Stack)和配置文件(Profiles)**共同构成,适用于经典蓝牙(BR/EDR)和低功耗蓝牙(BLE),两者在架构上既有共性也有差异。


一、整体架构概览

蓝牙系统架构可分为三个主要部分:

层级组成功能
1. 硬件层蓝牙芯片(SoC/模块)、天线、射频电路提供物理无线收发能力
2. 协议栈层分为Controller(控制器)Host(主机)实现连接、数据传输、安全、服务发现等
3. 应用层配置文件(Profiles)、应用程序 API定义具体用途(如音频、心率监测)

💡关键接口HCI(Host Controller Interface)是 Host 与 Controller 之间的标准通信桥梁。


二、蓝牙协议栈详细分层(自下而上)

(A)Controller(控制器)—— 通常由蓝牙芯片固件实现

名称功能说明
PHY物理层工作在 2.4 GHz ISM 频段,使用 GFSK 调制;BLE 支持 1 Mbps / 2 Mbps / Coded PHY(长距离)
LLLink Layer(链路层)BLE 核心:
• 管理广播、扫描、连接
• 处理跳频、加密、重传
• 定义设备角色(Advertiser, Scanner, Master/Slave)
(经典蓝牙对应的是Baseband + LM(链路管理器)

Controller 通常集成在蓝牙 SoC(如 Nordic nRF52、TI CC2640、ESP32)中。


(B)Host(主机)—— 通常由操作系统或应用处理器运行

名称功能说明
HCIHost Controller Interface标准化命令/事件/数据通道,连接 Host 与 Controller(可通过 UART/USB/SPI 传输)
L2CAPLogical Link Control and Adaptation Protocol
• 多路复用(不同上层协议走不同 Channel ID)
• 分段重组
• 支持可靠/流式传输
• BLE 中固定信道:CID=4(ATT)、CID=5(LE Data)、CID=6(SMP)
SMPSecurity Manager ProtocolBLE 安全配对、密钥生成、加密(基于 AES-CCM),支持 Secure Connections(ECDH)
ATTAttribute ProtocolBLE 数据传输基础协议,基于“属性”(Handle + UUID + Value)模型
GATTGeneric Attribute Profile基于 ATT 的服务框架:
• Service → Characteristic → Descriptor
• 所有 BLE 应用(温度、电池、心率)都通过 GATT 暴露数据
SDPService Discovery Protocol仅经典蓝牙使用,用于查询远程设备支持的服务(如 A2DP、HFP)

⚠️ BLE不使用 SDP,而是通过GATT 服务发现实现类似功能。


(C)高层协议与配置文件(Profiles)

经典蓝牙特有高层协议:
协议用途
RFCOMM模拟串口(用于 SPP 串口透传)
BNEP蓝牙网络封装协议(用于 PAN 网络共享)
AVDTP / AVCTP音视频分发与控制(A2DP 播放、AVRCP 控制)
OBEX对象交换(用于文件传输 FTP、电话簿同步 PBAP)
常见配置文件(Profiles)——定义应用场景
Profile类型用途
A2DP经典高质量立体声音频传输(耳机/音箱)
HFP/HSP经典免提通话(车载、耳机麦克风)
SPP经典串口透传(替代 RS232)
HID双模键盘、鼠标(BLE HID 也支持)
Battery ServiceBLE通过 GATT 报告电量
Heart Rate ProfileBLE心率监测设备标准

📌Profile = 协议栈 + 使用规则,确保不同厂商设备互操作。


三、BLE 与经典蓝牙架构对比

特性BLE(Bluetooth Low Energy)经典蓝牙(BR/EDR)
目标低功耗、间歇性小数据高速率、持续数据流
核心协议ATT/GATT + SMPRFCOMM + SDP + AVDTP
服务发现GATTSDP
连接建立快(<10 ms)慢(100+ ms)
功耗极低(纽扣电池可用数年)较高
典型应用传感器、信标、智能家居音频、文件传输、拨号

🔁双模蓝牙(Dual Mode):如手机,同时支持 BLE 和经典蓝牙,共享同一 2.4 GHz 射频,但协议栈独立运行。


四、典型设备中的蓝牙架构示例

1.BLE 传感器(如温度计)

[Application] ← GATT (读取温度) ↑ [ATT] ↑ [L2CAP] ←→ [SMP](可选配对) ↑ [HCI] ←(若外挂 Controller) ↑ [Link Layer + PHY](集成在 nRF52 芯片中)

2.智能手机(Central 设备)

[App: nRF Connect] ↑ [OS Bluetooth API: CoreBluetooth / BluetoothLeScanner] ↑ [GATT Client → ATT → L2CAP → SMP] ↑ [HCI Driver] ↑ [Bluetooth Controller (SoC 内集成)]

五、关键设计思想

  1. 分层解耦:Controller 与 Host 可分离(如 PC 用 USB 蓝牙适配器)。
  2. 互操作性:通过 SIG 认证和标准 Profile 保证跨品牌兼容。
  3. 低功耗优化(BLE):
    • 广播/连接间隔可调
    • 快速连接/断开
    • 睡眠占空比高
  4. 安全性内建:从配对到加密全程标准化(SMP + AES-CCM)。

总结图(文字版)

┌───────────────────────┐ │ Application │ ← 使用 Profiles / GATT Services ├───────────────────────┤ │ Profiles │ ← A2DP, HFP, Battery, Heart Rate... ├───────────────────────┤ │ GATT / RFCOMM / ... │ ← 应用数据组织 ├───────────────────────┤ │ ATT / SDP / OBEX │ ← 数据传输与发现 ├───────────────────────┤ │ L2CAP │ ← 多路复用、分段 ├───────────────────────┤ │ SMP / HCI (Host) │ ← 安全 + 控制器接口 ├───────────────────────┤ ← HCI Boundary(可跨芯片) │ LL / Baseband │ ← 链路管理、跳频 ├───────────────────────┤ │ PHY │ ← 2.4 GHz 射频 └───────────────────────┘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1199111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

揭秘FastAPI异步数据库瓶颈:为何你的SQLAlchemy 2.0还没发挥真正实力?

第一章&#xff1a;揭秘FastAPI异步数据库瓶颈&#xff1a;为何你的SQLAlchemy 2.0还没发挥真正实力&#xff1f; 在构建高性能的 FastAPI 应用时&#xff0c;开发者常常期望通过异步特性提升 I/O 密集型操作的吞吐能力。然而&#xff0c;即便使用了 SQLAlchemy 2.0 这一支持现…

用Qwen-Image-Layered做了个海报项目,全过程分享

用Qwen-Image-Layered做了个海报项目&#xff0c;全过程分享 1. 项目背景&#xff1a;为什么选择 Qwen-Image-Layered&#xff1f; 最近在做一个品牌宣传海报的设计任务&#xff0c;客户要求高自由度的后期调整——比如随时更换主视觉颜色、移动元素位置、替换文案内容。如果…

Flutter UI 美化与适配技巧详解 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

BLE 广播包结构

BLE&#xff08;Bluetooth Low Energy&#xff0c;低功耗蓝牙&#xff09;广播包&#xff08;Advertising Packet&#xff09;是 BLE 设备在广播信道上发送的数据包&#xff0c;用于向周围设备宣告自身存在、提供服务信息或建立连接。其结构遵循 Bluetooth Core Specification&…

DeepSeek-R1-Distill-Qwen-1.5B vs Llama3-8B:小参数高推理性能对比

DeepSeek-R1-Distill-Qwen-1.5B vs Llama3-8B&#xff1a;小参数高推理性能对比 1. 引言&#xff1a;轻量级模型的推理能力新标杆 你有没有遇到过这种情况&#xff1a;想部署一个能写代码、解数学题、还能逻辑推理的AI模型&#xff0c;但发现动辄7B、13B甚至更大的模型对显存…

亲子互动新玩法:部署Qwen生成专属宠物形象详细步骤

亲子互动新玩法&#xff1a;部署Qwen生成专属宠物形象详细步骤 你有没有试过陪孩子一起“养”一只只存在于想象中的小动物&#xff1f;不是电子宠物&#xff0c;也不是动画角色&#xff0c;而是一张张由你们共同描述、亲手生成、可以打印出来贴在房间墙上的真实感插画——毛茸…

一键启动Qwen3-VL-8B:开箱即用的视觉语言AI镜像

一键启动Qwen3-VL-8B&#xff1a;开箱即用的视觉语言AI镜像 你是否还在为部署多模态大模型头疼&#xff1f;显存不够、依赖复杂、配置繁琐&#xff0c;动辄几十GB的参数让边缘设备望而却步。今天&#xff0c;我们带来一个真正“开箱即用”的解决方案——Qwen3-VL-8B-Instruct-…

Qwen3-Embedding-0.6B降本增效:按小时计费GPU部署案例

Qwen3-Embedding-0.6B降本增效&#xff1a;按小时计费GPU部署案例 1. Qwen3-Embedding-0.6B 模型简介 Qwen3 Embedding 模型系列是 Qwen 家族中专为文本嵌入与排序任务打造的新一代模型&#xff0c;基于强大的 Qwen3 系列基础架构构建。该系列涵盖多种参数规模&#xff08;0.…

语音识别并发能力提升:Paraformer多实例负载均衡部署

语音识别并发能力提升&#xff1a;Paraformer多实例负载均衡部署 1. 背景与目标 你有没有遇到过这样的情况&#xff1a;上传一段30分钟的会议录音&#xff0c;系统开始转写后卡住不动&#xff0c;页面提示“服务繁忙”&#xff1f;或者多个用户同时提交音频时&#xff0c;识别…

Linux系统维护liveCD推荐

目录前言一、制作ventoy启动U盘1.ventoy简介及下载地址2.解压ventoy并插入U盘开始制作启动U盘二、Rescuezilla简介及下载地址三、 Redo Rescue简介及下载地址四、SystemRescue简介及下载地址五、Boot-Repair简介及下载…

业务改动频繁?XinServer 让你改表不怕崩

业务改动频繁&#xff1f;XinServer 让你改表不怕崩 兄弟们&#xff0c;不知道你们有没有遇到过这种情况&#xff1a;产品经理一拍脑袋&#xff0c;说业务逻辑要改&#xff0c;加个字段吧。你这边吭哧吭哧改完数据库&#xff0c;那边后端接口得跟着调&#xff0c;前端也得跟着改…

Qwen-Image-Edit-2511上手实测:角色旋转自然不扭曲

Qwen-Image-Edit-2511上手实测&#xff1a;角色旋转自然不扭曲 最近&#xff0c;Qwen系列图像编辑模型再次迎来重要更新——Qwen-Image-Edit-2511正式上线。作为2509版本的增强版&#xff0c;这个新模型在角色一致性、几何推理和工业设计生成方面都有显著提升&#xff0c;尤其…

【NumPy维度转换终极指南】:20年工程师亲授reshape的5大陷阱与3种高阶用法

第一章&#xff1a;NumPy数组维度转换的核心概念在科学计算和数据分析中&#xff0c;NumPy 是 Python 生态系统的核心库之一。其核心数据结构是多维数组&#xff08;ndarray&#xff09;&#xff0c;而数组的维度转换是数据预处理、模型输入构建等任务中的关键操作。理解如何灵…

Voice Sculptor语音合成全解析|附18种预设风格使用指南

Voice Sculptor语音合成全解析&#xff5c;附18种预设风格使用指南 1. 快速上手&#xff1a;三步生成专属语音 你是否曾为找不到合适的配音演员而烦恼&#xff1f;是否希望用AI快速生成不同角色的声音来丰富内容创作&#xff1f;Voice Sculptor正是为此而生。这款基于LLaSA和…

从‘点框’到‘语义理解’:sam3大模型镜像开启万物分割新范式

从‘点框’到‘语义理解’&#xff1a;sam3大模型镜像开启万物分割新范式 1. 引言&#xff1a;当图像分割开始“听懂人话” 你还记得第一次用AI做图像分割时的场景吗&#xff1f; 可能是在一张照片上小心翼翼地点一个点&#xff0c;或者拖出一个框&#xff0c;告诉模型&#…

动手试了科哥的OCR镜像,一键启动搞定批量图片处理

动手试了科哥的OCR镜像&#xff0c;一键启动搞定批量图片处理 最近在做一批文档扫描件的文字提取任务&#xff0c;手动复制太费劲&#xff0c;听说科哥出了一款基于 ResNet18 的 OCR 文字检测镜像&#xff0c;名字叫 cv_resnet18_ocr-detection&#xff0c;说是“一键部署、开…

Paraformer-large离线版部署教程:一键启动中文语音转文字服务

Paraformer-large离线版部署教程&#xff1a;一键启动中文语音转文字服务 1. 快速上手&#xff0c;打造你的本地语音识别系统 你是否遇到过需要将会议录音、课程音频或采访内容快速转成文字的场景&#xff1f;手动听写费时费力&#xff0c;而市面上很多在线语音识别工具又存在…

从0开始学文本排序:Qwen3-Reranker-4B保姆级教程

从0开始学文本排序&#xff1a;Qwen3-Reranker-4B保姆级教程 你有没有遇到过这样的问题&#xff1a;在一堆搜索结果里翻来覆去&#xff0c;就是找不到最相关的内容&#xff1f;或者自己搭建的知识库系统&#xff0c;召回的结果总是“差点意思”&#xff1f;如果你正在寻找一个…

Python文件读取报错全解析(UnicodeDecodeError大揭秘)

第一章&#xff1a;Python文件读取报错全解析&#xff08;UnicodeDecodeError大揭秘&#xff09; 在使用Python处理文本文件时&#xff0c; UnicodeDecodeError 是开发者最常遇到的异常之一。该错误通常出现在尝试读取非UTF-8编码的文件时&#xff0c;例如包含中文内容的GBK编码…

【Python编码问题终极指南】:彻底解决UnicodeDecodeError ‘utf-8‘ codec can‘t decode难题

第一章&#xff1a;UnicodeDecodeError问题的根源剖析 在处理文本数据时&#xff0c; UnicodeDecodeError 是 Python 开发者常遇到的异常之一。该错误通常出现在尝试将字节序列&#xff08;bytes&#xff09;解码为字符串&#xff08;str&#xff09;时&#xff0c;所使用的编码…