【SE BT】BR/DER协议

概述

蓝牙的BR(Basic Rate)和EDR(Enhanced Data Rate)是经典蓝牙(Bluetooth Classic)技术的两种核心传输模式,主要区别如下:

1. ‌**BR(基础速率)**‌

  • ‌定义‌:经典蓝牙最初的标准模式,采用高斯频移键控(GFSK)调制技术。
  • ‌速率‌:理论峰值1 Mbps(实际有效速率约721 kbps)。
  • ‌特点‌:
    • 稳定性高,抗干扰能力强。
    • 适用于语音传输(如早期蓝牙耳机)和低速数据传输(如键盘、鼠标)。
    • 功耗较高,不适合依赖纽扣电池的设备。

2. ‌**EDR(增强数据速率)**‌

  • ‌定义‌:蓝牙2.0引入的升级模式,通过改进调制方式(如π/4-DQPSK、8DPSK)提升速率。
  • ‌速率‌:理论峰值2-3 Mbps(实际有效速率约2.1 Mbps)。
  • ‌特点‌:
    • 支持更高带宽应用(如音频流、文件传输)。
    • 向后兼容BR,设备需同时支持BR/EDR。
    • 功耗略高于BR,但优化了数据传输效率。

3. ‌技术对比

  • ‌调制方式‌:BR使用GFSK;EDR使用DQPSK或8DPSK。
  • ‌应用场景‌:
    • BR:基础外设、单声道音频。
    • EDR:高品质立体声音频、快速文件传输。
  • ‌兼容性‌:EDR设备必须支持BR,但纯BR设备无法使用EDR。

4. ‌与BLE的区别

  • ‌经典蓝牙(BR/EDR)‌:持续连接,适合高带宽场景(如音频)。
  • ‌低功耗蓝牙(BLE)‌:间歇性连接,专为低功耗设计(如传感器、信标)。

协议分层

物理层 → 链路层 → 主机控制接口层(Host Controller Interface, HCI)→ L2CAP → 上层协议(如RFCOMM、SDP、ATT等)→ 应用层(如SPP、HFP)

1. BR/EDR(经典蓝牙)协议栈

BR/EDR是传统蓝牙的核心,主要支持高速数据传输(如文件传输)和实时音频(如通话、音乐),协议栈分为四层,从底层到高层依次为:

**1.1. 物理层(Physical Layer, PHY)**​

功能:负责无线信号的调制/解调、频率跳变(FHSS)和功率控制,工作在2.4GHz ISM频段。

关键特性:支持1Mbps(BR)或2/3Mbps(EDR)速率,通过79个1MHz频点跳变抗干扰。

功能:管理设备间的连接建立、维护与断开,处理数据包的封装/解封装、错误校验(CRC)和流控。

关键协议:

LMP(链路管理协议):负责配对、认证、加密和功率控制。

基带(Baseband):定义数据包格式(如SCO/eSCO语音包、ACL数据包)和时隙调度。

**1.3. 主机控制接口(Host Controller Interface, HCI)**​

功能:作为底层(控制器)与上层(主机)的桥梁,提供统一接口(如UART、USB)供主机发送命令(如"建立连接")和接收事件(如"连接成功")。

**1.4. 上层协议(Host Layer)**​

L2CAP(逻辑链路控制与适配协议):负责数据分段/重组、协议复用(支持多上层协议共享链路),提供面向连接(ACL)和无连接(无编号)的数据传输。

SDP(服务发现协议):用于设备间发现对方支持的服务(如"是否支持HFP""是否支持A2DP")。

RFCOMM(串口仿真协议):模拟RS-232串口,支持SPP(串口配置文件)等传统串口应用。

1.5 应用层协议( Profile**)(此为个人理解)**

如HFP(免提)、A2DP(高级音频分发)、AVRCP(音频/视频远程控制)等,定义具体应用场景的规则。

2. BLE(低功耗蓝牙)协议栈

BLE专为超低功耗设计,协议栈更精简,同样分为四层,但各层功能与传统蓝牙有显著差异:

**2.1. 物理层(Physical Layer, PHY)**​

功能:采用GFSK调制,支持1Mbps(BLE 4.0)或2Mbps(BLE 5.0+)速率,使用40个2MHz频点(37个数据信道+3个广播信道),跳变间隔更长(降低功耗)。

功能:管理广播(Advertising)、扫描(Scanning)、连接(Connection)和睡眠(Sleep)状态,优化功耗(如"连接事件"仅周期性唤醒)。

关键特性:支持"广播者-观察者""外围设备-中心设备"等角色,无传统蓝牙的SCO链路。

**2.3. 主机控制接口(HCI)**​

功能:与BR/EDR类似,但命令集更精简(适配BLE的低功耗特性),支持UART、SPI等低功耗接口。

**2.4. 上层协议(Host Layer)**​

L2CAP:简化版(仅支持数据分段/重组和协议复用),无传统蓝牙的复杂流控。

ATT(属性协议):定义"属性"(如设备名称、传感器数据)的格式和读写规则,是BLE数据交互的核心。

2.5 应用层协议( Profile**)(此为个人理解)**

GATT(通用属性配置文件):基于ATT,定义服务的组织方式(如"心率服务"包含"心率测量"特征),是BLE应用的基础。

GAP(通用访问配置文件):管理设备角色(如中心/外围)、广播数据和连接参数(如连接间隔),负责设备发现和配对。

3. BR/EDR控制器层 (Controller Layer) - 硬件与链路核心

这一层直接管理无线电硬件,负责最底层的连接。

协议名称 全称 作用与特点
Radio 射频层 最底层,负责 2.4GHz 电磁波的收发。
Baseband 基带层 负责链路控制、编解码、物理信道管理。
Link Manager 链路管理 负责建立连接、鉴权、链路协商。
LMP 链路管理协议​ (补全点)​ 与 Link Manager 对应,负责具体的控制信令交互。
SCO 同步面向连接​ (补全点)​ 用于 HFP 语音传输,保证固定带宽和低延迟,无重传。
eSCO 增强型同步连接​ (补全点)​ SCO 的升级版,支持重传,提升语音质量。
ACL 异步面向连接 用于数据传输(如文件、控制指令),支持重传和流控。
AMP 交替 MAC/PHY​ (补全点)​ 允许蓝牙使用 802.11 (Wi-Fi) 作为高速传输通道(如视频传输)。
HCI 主机控制器接口 连接主机与控制器的桥梁(命令/事件/数据包)。

4. BR/EDR主机层 (Host Layer) - 逻辑与适配

这一层运行在操作系统或蓝牙芯片固件中,处理复杂的逻辑。

协议名称 全称 作用与特点
L2CAP 逻辑链路控制与适配 数据分段/重组、协议/信道复用(BLE 和 BR/EDR 共用)。
SDP 服务发现协议 用于查询远程设备支持哪些服务(Profiles)。
ATT 属性协议 BLE 核心,定义如何读写"属性"(数据)。
GATT 通用属性规范 基于 ATT,定义 BLE 数据的组织结构(Service/Characteristic)。
SMP 安全管理协议 负责配对、密钥分发、加密(BLE 核心)。
RFCOMM 串口仿真协议 模拟 RS-232 串口,用于 SPP、HFP 控制等。
BNEP 蓝牙网络封装协议 用于 PAN profile,封装以太网包。
AVDTP 音视频分发传输 用于 A2DP,控制音乐流的建立与传输。
AVCTP 音视频控制传输 用于 AVRCP,控制音乐播放(播放/暂停)。
OBEX 对象交换协议 用于 OPP/FTP/PBAP,传输文件、名片、电话本。
TCS-BIN 电话控制协议 用于无绳电话(CTP),处理呼叫控制信令。

5. BR/EDR Profiles (配置文件) - 应用场景(开发者重点关注)

Profile 是蓝牙技术联盟(SIG)制定的"应用层规范",用于定义特定场景下的设备功能、交互流程和数据格式,确保不同厂商的设备能"互通互联"。

类别 Profile 名称 作用
音频 A2DP 立体声音乐(单向)。
HFP 免提通话(双向语音+控制)。
HSP 基础耳机(简单通话)。
VDP 视频分发(如视频投影)。
数据 SPP 串口透传。
GATT BLE 数据交换基础(服务定义)。
BAS 电池服务(电量读取)。
DIS 设备信息服务(型号/固件)。
人机 HID 人机接口(鼠标/键盘)。
文件 OPP 对象推送(名片/文件)。
FTP 文件浏览与传输。
PBAP 电话本访问。
网络 PAN 个人局域网(组网)。
DUN 拨号上网。
同步 SYNCH PDA/PC 数据同步。
图像 BIP 基本图像传输(打印)。
通用 GAP 通用访问规范(连接/广播基础)。

6. BR/EDR与BLE的分层对比

层次 BR/EDR BLE
物理层 79个1MHz频点,1-3Mbps 40个2MHz频点,1-2Mbps
链路层 支持SCO/eSCO(语音)、ACL(数据) 仅支持ACL(异步数据),无SCO
HCI 复杂命令集(支持语音、高速数据) 精简命令集(低功耗优先)
上层协议 L2CAP、SDP、RFCOMM等 L2CAP(简化)、ATT、GATT等

说明:

Protocol(协议):主机层(Host Layer)的协议(Protocol)是语言或规则。它定义了数据如何打包、寻址、传输。L2CAP/SDP/RFCOMM​ 属于这一类。

Profile(配置文件):是使用场景或剧本。它定义了为了实现特定功能(如听歌、打电话,广播),必须使用哪些协议以及如何组合它们。GAP/A2DP/HFP/SPP 属于这一类。

BR/EDR的Profiles是完整成熟的。

BLE的Profiles:GAP​ 和 GATT​ 是BLE的基础设施,而非可选功能。GAP​ 解决"如何找到并建立连接"的问题。GATT​ 解决"连接后如何交换数据"的问题,定义了数据如何被组织(服务 Service、特征 Characteristic、描述符 Descriptor)。定义了数据如何被操作(发现服务、读、写、通知、指示)。GATT 配置文件规定了"大家都要按这个格式来写自己的服务"。它们共同构成了BLE通信的最小可用集,任何BLE设备都必须支持这两者。

蓝牙问题分析一般抓取HCI空口数据。

相关推荐
互联网志1 小时前
政策赋能校产融合 推动高校科技成果落地生根
大数据·人工智能·物联网
Ghost Face...2 小时前
LS2K1000启动全链路架构解析
架构
七夜zippoe3 小时前
工业物联网数据架构设计
物联网·架构·数据·工业物联网·dolphindb
黄俊懿3 小时前
MySQL主从复制:从“异步“到“GTID“,数据同步的进化之路
数据库·sql·mysql·oracle·架构·dba·db
Sam_Deep_Thinking3 小时前
中小团队需要一个资源微服务
java·微服务·架构
星辰_mya3 小时前
异地多活:单元化架构设计
微服务·架构
刘~浪地球4 小时前
DeepSeek V4 技术解读:MoE架构优化深度解析
人工智能·架构·deepseek v4
码点滴4 小时前
私有 Gateway 接入企业 IM:从消息路由到多租户隔离——Hermes Agent 工程实战
人工智能·架构·gateway·prompt·智能体·hermes
xiaozhazha_4 小时前
企业级AI视频会议私有化部署实践:应对安全合规与成本挑战的技术架构解析
人工智能·安全·架构