BLE(低功耗蓝牙)的 PHY(物理层)帧结构根据传输模式(广播、数据)和 PHY 类型(1M、2M、Coded PHY)有所差异,但基本框架一致。以下是 BLE PHY 帧的通用结构及各部分含义:

一、BLE PHY 帧的基本结构

BLE PHY 帧由 4 个核心部分组成,从发送到接收的顺序为:
前导码(Preamble)→ 接入地址(Access Address)→ PDU(协议数据单元)→ CRC(循环冗余校验)

字段长度(比特)作用
前导码8(1M/2M PHY)或 16(Coded PHY)用于接收端同步(频率、时钟),区分帧类型。
接入地址32标识帧的归属(广播、连接、特定设备),用于帧同步和设备识别。
PDU可变(最长 255 字节,即 2040 比特)包含实际数据(广播信息、用户数据等),分广播 PDU 和数据 PDU。
CRC24用于检测传输错误,接收端通过 CRC 校验判断帧是否有效。

二、各字段详解

1. 前导码(Preamble)
  • 长度
    • 1M PHY 和 2M PHY:8 比特
    • Coded PHY(S=2 或 S=8 编码):16 比特(因编码扩展,实际传输时对应 32 或 128 符号)
  • 内容
    • 广播帧:前导码为0xAA(10101010),用于所有设备识别广播信号。
    • 连接帧:前导码由接入地址的最低位(LSB)决定,若接入地址 LSB 为 0,则前导码为0x00(00000000);若为 1,则为0xFF(11111111)。
  • 作用:帮助接收端快速实现频率同步和符号定时同步。
2. 接入地址(Access Address)
  • 长度:32 比特,无符号整数。
  • 类型与含义
    • 广播接入地址:固定为0x8E89BED6,所有广播帧(如 ADV_IND、SCAN_REQ)均使用此地址,用于标识广播信道的帧。
    • 连接接入地址:每个连接唯一,由主设备在建立连接时随机生成(32 比特),仅主从设备知晓,用于区分不同连接的帧,增强安全性。
    • 定向接入地址:用于定向广播(如 ADV_DIRECT_IND),由目标设备的 BD_ADDR(MAC 地址)生成,确保仅目标设备响应。
  • 作用:帧同步(接收端通过匹配接入地址确认帧的开始)和设备 / 连接识别。
3. PDU(Protocol Data Unit,协议数据单元)
  • 长度:可变,由 1 字节的 “长度字段”(Length)决定,最长 255 字节(即 2040 比特)。
  • 结构
    • PDU 头(Header):2 字节(16 比特),包含类型(Type)、预留位(RFU)、长度(Length)等控制信息。
    • PDU 载荷(Payload):0~255 字节,具体内容取决于帧类型:
      • 广播 PDU(如 ADV_IND):包含设备名称、UUID、广播数据等。
      • 数据 PDU(如 ATT、GATT 消息):包含用户数据或控制指令。
  • 编码:在 Coded PHY 中,PDU 会经过卷积编码(S=2 或 S=8)扩展符号长度,提升抗干扰能力。
4. CRC(Cyclic Redundancy Check)
  • 长度:24 比特。
  • 生成方式:基于接入地址和 PDU 内容,通过多项式0x00065B(蓝牙规范定义)计算得出。
  • 作用:接收端对接收的接入地址 + PDU 重新计算 CRC,与发送端的 CRC 比对,若不一致则判定帧错误并丢弃。

三、不同 PHY 类型的帧结构差异

PHY 类型前导码长度PDU 编码方式传输速率适用场景
1M PHY8 比特无编码(1:1 映射)1Mbps通用低功耗场景(如智能手环)
2M PHY8 比特无编码(1:1 映射)2Mbps高速短距离传输(如耳机)
Coded PHY16 比特S=2(500kbps)或 S=8(125kbps)500kbps/125kbps远距离 / 强干扰场景(如传感器)

总结

BLE PHY 帧结构通过 “前导码 - 接入地址 - PDU-CRC” 的分层设计,实现了高效的同步、识别、数据传输和错误检测。不同 PHY 类型通过调整前导码长度和编码方式,平衡了传输速率、距离和抗干扰能力,适配多样化的低功耗蓝牙应用场景。具体细节可参考蓝牙核心规范(Core Specification)中 “PHY Layer” 章节。

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

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

相关文章

海外货运 app 系统架构分析

一、引言海外货运业务涉及众多复杂环节,从货物揽收、仓储管理、运输调度到最后交付,需要一个高效、稳定且功能全面的 APP 系统来协调各方资源,提升物流效率,保障货物安全准确送达。本文将对海外货运 APP 系统架构进行详细剖析&…

【硬件-笔试面试题】硬件/电子工程师,笔试面试题-52,(知识点:简单一阶低通滤波器的设计,RC滤波电路,截止频率)

目录 1、题目 2、解答 3、相关知识点 一、一阶低通滤波器的核心原理 1. 电路结构 2. 关键特性参数 二、一阶低通滤波器的设计步骤(以 RC 电路为例) 1. 确定截止频率\(f_c\) 2. 选择电阻 R 的阻值 3. 计算电容 C 的容值 4. 验证与调整 三、典…

防火墙安全实验

一、实验拓补图二、实验需求1、VLAN 2属于办公区;VLAN 3属于生产区2、办公区PC在工作日时间(周一至周五,早8到晚6)可以正常访OA Server,其他时间不允许3、办公区PC可以在任意时刻访问Web server4、生产区PC可以在任意时刻访问OA Server,但是不…

TOC-Transformer-LSTM-ABKDE,计算机一区算法龙卷风优化算法应用到概率区间预测!Matlab实现

TOC算法概述 文献《Tornado optimizer with Coriolis force: a novel bio-inspired meta-heuristic algorithm》核心解读:科里奥利力的龙卷风优化算法(Tornado optimizer with Coriolis force,TOC)对龙卷风循环过程的观察以及雷暴…

Adobe Illustrator安装下载教程(附安装包)Illustrator2025

文章目录一、Illustrator2025 下载链接二、Illustrator2025 安装步骤三、Illustrator 2025 软件介绍一、Illustrator2025 下载链接 夸克下载链接:https://pan.quark.cn/s/b990bac7107c 二、Illustrator2025 安装步骤 1.将安装包下载并解压,双击打开&am…

matlab - 算4个数的加减法

文章目录matlab - 算4个数的加减法概述笔记ENDmatlab - 算4个数的加减法 概述 有个类似于下面的4个数的加减法,给出任意一组解就行。 反正都是遍历, c可以,matlab也可以。 笔记 % file test.m % brief 用matlab来算"4个数的加减法" %a b…

C++ 1.面向对象编程(OOP)框架

目录 面向对象编程(OOP)框架 问题背景 OOP框架开发的关键问题解析 步骤1:抽象设计阶段 步骤2:继承层次设计 步骤3:多态机制应用 步骤4:对象关系管理 这个案例展现的核心OOP价值 封装的价值 继承的价值 多态的价值 实际…

mac操作笔记

mac的操作笔记opt文件夹是干什么的?如何在某个访达的文件夹里快速打开终端opt文件夹是干什么的? 在 macOS 中,/opt 目录是一个可选(optional)软件安装目录,主要用于存放第三方或非系统原生的应用程序。 /…

红黑树×协程×内存序:2025 C++后端核心三体问题攻防手册

以下是2025年C后端开发全新高频压轴面试题,结合腾讯、字节、阿里等大厂最新技术栈,聚焦红黑树工程实践、C20协程底层、Linux内核同步、分布式锁实现及内存序重排五大核心领域,附工业级解决方案和手撕代码示例: 🌳 一、…

《人工智能导论》(python版)第2章 python基础2.2编程基础

书写这篇博客的目的在于实践并记录《人工智能导论》(Pyhton版)微课视频版这本书的内容,便于对人工智能有更深层次的理解。 参考文献:姜春茂.人工智能导论(Python版)微课视频版[M]. 北京:清华大学出版社,20…

高可用部署

一.keeplivaer nginx 高可用部署 下面为你详细介绍基于 Keepalived 和 Nginx 在两台机器(192.168.137.132 和 192.168.137.61)上实现高可用部署的完整步骤: 一、环境准备(两台服务器均执行)环境准备 (1&…

java面向对象高级02——单例类(设计模式)

1.什么是设计模式?一个问题可以有多种解法,在众多解法的最优解法、方案就是设计模式。我们关注的点:某一种设计模式解决的是啥问题?这一设计模式怎么写?2.单例设计模式a.作用单例设计模式的核心作用是确保一个类只有一…

0730 数据结构重点整理

Part 1.梳理数据结构重点一.宏1.简单宏a. #define 宏名 宏体b. #if 宏(#ifndef)c.#endif2.多语句宏a. define 宏函数名(参数1,参数2......)({C语句1,C语句2......})b. define 宏函数名(参数1,参数2......)do(C语句1,C语句2......)…

免费版酒店押金原路退回系统之【房费押金计算器】实践——仙盟创梦IDE

代码<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>未来之窗——费用计算器</title><s…

Windows下基于 SenseVoice模型的本地语音转文字工具

Windows下基于 SenseVoice模型的本地语音转文字工具 前言&#xff1a; ​ 现在很流行Vibe Coding但是指挥大模型写代码其实也是一件非常累的事情&#xff0c;经常需要输入大段的文字去描述问题的现象以及具体的解决方案。刚好看到有一些博主通过本地部署语音大模型实现了语音转…

OWSM v4 语音识别学习笔记

目录 OWSM v4 简介 卡内基梅隆大学 这个代码不知道干嘛的 tokenizer CTC分割算法 yodas2数据集 依赖性安装&#xff1a; 数据集下载地址&#xff1b; 模型下载地址&#xff1a; docker安装&#xff08;适用于多数 Linux 系统&#xff09;测试ok 推理demo OWSM v4 简介…

机器学习线性回归:从基础到实践的入门指南

目录 一、线性回归的基本概念 二、线性回归的核心原理 三、线性回归的实现步骤 1.数据准备与预处理 2.模型训练 3.模型评估 &#xff08;四&#xff09;模型优化与应用 四、线性回归的应用场景 五、线性回归的进阶方向 在机器学习的广阔领域中&#xff0c;线性回归是入…

6.Linux 系统启动过程,破解root密码与故障修复

Linux :系统启动过程&#xff0c;破解root密码与故障修复 一、标准启动流程 开机自检 (BIOS/UEFI POST) 硬件初始化与检测 MBR引导 读取硬盘主引导记录&#xff08;512字节&#xff09; GRUB2菜单 加载 /boot/grub2/grub.cfg 显示启动菜单 加载Linux内核 载入Linux 内核文件 内…

特产|基于SSM+vue的南阳特产销售平台(源码+数据库+文档)

南阳特产销售平台 基于SSMvue的南阳特产销售平台 一、前言 二、系统设计 三、系统功能设计 平台功能模块 管理员功能模块 商家功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 博主介绍&#xff1a;✌️大…

线性代数常见的解题方法

一.行列式 1.利用行列式的性质进行简化 (1)重要行列式 主对角线,副对角线(不要忘了-1的次数),拉普拉斯展开(副对角线是m*n),范德蒙 (2)行列式展开定理 每一行/列的元素乘以它对应的代数余子式 扩展:拉普拉斯展开定理,可以按照任意行和列数进行展开,行列式的值=|A|*…