当前位置: 首页 > news >正文

BR/EDR PHY帧结构及其具体内容

BR/EDR(经典蓝牙)的 PHY 帧结构遵循严格的分层设计,用于在 2.4GHz 频段实现可靠数据传输,其结构可分为访问码(Access Code)、包头(包头)、有效载荷(Payload)和 CRC四个核心部分,具体内容和作用如下:

一、完整帧结构概览

BR/EDR PHY 帧的总长度可变(取决于有效载荷大小),各字段按顺序排列为:
访问码(72/68 位)→ 包头(54 位)→ 有效载荷(0~2712 位)→ CRC(16 位)

二、各字段详细解析

1. 访问码(Access Code)
  • 长度
    • 普通数据帧 / 控制帧:68 位
    • 特殊帧(如 ID 包、FHS 包):72 位(多 4 位同步前缀)
  • 组成与作用
    • 同步前缀(Sync Word):用于接收端的频率同步和帧同步,确保设备识别帧的起始位置。
    • 设备地址相关字段:由从设备的 BD_ADDR(MAC 地址)生成,用于区分不同微微网(Piconet),避免同频段干扰。
  • 类型
    • 广播访问码:用于设备发现阶段(如 Inquiry 过程)。
    • 连接访问码:每个连接唯一,由主设备基于从设备地址生成,仅主从设备知晓。
2. 包头(Header)
  • 长度:54 位(固定),包含 6 个 9 位字段(每个字段含 1 位校验位)。
  • 具体内容
    字段位数含义
    L_CH9逻辑信道号(0~79),标识数据所属的逻辑信道(如控制信道、用户数据信道)。
    TYPE9帧类型,区分数据帧(如 DH1、DM3)、控制帧(如 POLL、NULL)、同步帧(如 FHS)等。
    FLOW9流控制标志,指示接收端缓冲区状态(0:可接收,1:忙)。
    ARQN9自动重传请求标志,用于确认数据接收状态(0:未确认,1:已确认)。
    SEQN9序列号(0/1 交替),用于检测重复帧或丢帧。
    HEC9包头校验(Header Error Check),用于检测包头传输错误。
  • 核心作用:提供帧的控制信息,实现链路管理、流控制和重传机制。
3. 有效载荷(Payload)
  • 长度:0~2712 位(0~339 字节),随帧类型变化:
    • 控制帧(如 NULL、POLL): payload 长度为 0(无数据)。
    • 数据帧(如 DH5、3DH3): payload 长度最大 339 字节。
    • 同步帧(如 FHS):固定长度(如 FHS 包含 144 位设备信息)。
  • 内容
    • 数据帧:用户数据(如音频、文件数据)或高层协议消息(如 LMP、RFCOMM)。
    • FHS 帧:包含设备 BD_ADDR、时钟偏移、支持的功能等关键同步信息。
    • 控制帧:无实际数据,仅通过包头传递控制信号。
  • 编码
    • 基于帧类型采用不同编码(如 DH 系列无 FEC,DM 系列含 2/3 FEC 纠错码)。
4. CRC(循环冗余校验)
  • 长度:16 位。
  • 生成多项式x¹⁶ + x¹² + x⁵ + 1(蓝牙规范定义)。
  • 作用:对 “包头 + 有效载荷” 进行校验,接收端通过比对 CRC 值检测帧是否损坏,若错误则丢弃或请求重传。

三、典型帧类型示例

  1. DH1 帧(1 时隙数据帧):
    访问码(68 位) + 包头(54 位) + 有效载荷(240 位,30 字节) + CRC(16 位)。

  2. FHS 帧(频率跳变同步帧):
    访问码(72 位) + 包头(54 位) + 有效载荷(144 位,含设备地址和时钟) + CRC(16 位)。

  3. NULL 帧(无数据控制帧):
    访问码(68 位) + 包头(54 位) + 有效载荷(0 位) + CRC(16 位)。

总结

BR/EDR 的 PHY 帧结构通过访问码实现同步与设备识别包头提供控制与链路管理有效载荷传输实际数据CRC 保障完整性,兼顾了传输效率与可靠性。这种设计适配了经典蓝牙的高带宽需求(如音频传输),同时通过跳频和纠错机制应对 2.4GHz 频段的干扰。具体细节可参考蓝牙核心规范(Core Specification)中 “Baseband” 章节的帧结构定义。

http://www.lryc.cn/news/606156.html

相关文章:

  • 51c自动驾驶~合集12
  • python基础语法3,组合数据类型(简单易上手的python语法教学)(课后习题)
  • 从0到1了解热部署
  • 一天两道力扣(7)
  • 力扣 hot100 Day61
  • 银河麒麟桌面操作系统:自定义截图快捷键操作指南
  • 机器人学和自动化领域中的路径规划方法
  • 解决Git升级后出现的问题
  • 国产芯+单北斗防爆终端:W5-D防爆智能手机,助力工业安全通信升级
  • 将开发的软件安装到手机:环境配置、android studio设置、命令行操作
  • ClickHouse vs PostgreSQL:数据分析领域的王者之争,谁更胜一筹?
  • 2683. 相邻值的按位异或
  • USRP捕获手机/路由器数据传输信号波形(中)
  • DeepCompare文件深度对比软件:智能差异分析与可视化功能深度解析
  • visual studio 安装总结
  • 搭建文件共享服务器samba————附带详细步骤
  • Kubernetes (K8s) 部署Doris
  • Redis过期策略
  • 【嵌入式电机控制#23】BLDC:开环运动控制框架
  • 设计模式:命令模式 Command
  • 法国声学智慧 ,音响品牌SK (SINGKING AUDIO) 重构专业音频边界
  • Web开发-PHP应用原生语法全局变量数据接受身份验证变量覆盖任意上传(代码审计案例)
  • HighgoDB查询慢SQL和阻塞SQL
  • 电商项目_性能优化_高并发缓存一致性
  • 当过滤条件不符合最左前缀时,如何有效利用索引? | OceanBase SQL 优化实践
  • 0731 IO进程基础
  • FATFS文件系统
  • 从“救火”到“先知”:润建曲尺运维大模型如何重构网络运维价值链
  • 科研快报 |无人机+AI:广东防控基孔热背后的技术革命
  • 大疆无人机开发:MQTT 赋能机场系统集成的Java实战之旅