蓝牙系统的核心组成解析

一、硬件层:看得见的物理载体

1. 射频模块(Radio Frequency Module)

  • 专业描述:工作在2.4GHz ISM频段,支持GFSK/π/4 DQPSK/8DPSK调制方式

  • 功能类比:相当于人的"嘴巴"和"耳朵"

    • 发射端:把数字信号转为无线电波(说话)

    • 接收端:将电波还原为数字信号(听声)

2. 基带控制器(Baseband Controller)

  • 关键技术

    • 时分双工(TDD):交替发送/接收数据

    • 自适应跳频:79个信道中随机切换

  • 生活示例:像交通警察指挥车辆交替通行,同时动态调整车道避免拥堵

3. 天线系统

  • 设计要点

    • PCB板载天线(智能手表常用)

    • 陶瓷天线(TWS耳机主流方案)

  • 性能影响

    • 天线效率>50%可实现10米传输

    • 手机金属边框可能导致信号盲区


二、协议栈:看不见的通信规则

1. 控制器子系统(Controller Stack)

协议层功能实现类比说明
物理层(PHY)电磁波信号生成与解析摩尔斯电码发报机
链路层(LL)设备发现/连接管理/数据包封装快递包裹分拣中心
主机控制接口(HCI)硬件与软件的通信桥梁计算机的USB接口

2. 主机子系统(Host Stack)

  • L2CAP层

    • 数据分片重组(最大支持65535字节)

    • 协议复用(同时支持多个服务通道)

    • 生活场景:把大件家具拆成零件运输,到目的地再组装

  • ATT/GATT

    • 属性协议定义数据存储结构(如心率值=0x2A37)

    • 智能手表示例

      python

      复制

      # 伪代码示例
      if 读取UUID 0x2A37: 返回当前心率值
      if 写入UUID 0x2A19: 调整报警阈值

三、核心系统架构

1. 双模架构(BR/EDR + BLE)

  • 经典模式(BR/EDR)

    • 持续连接(如音响系统)

    • 功耗:约1mA(相当于LED指示灯)

  • 低功耗模式(BLE)

    • 事件驱动连接(如门锁)

    • 功耗:0.01mA(相当于电子表)

2. 网络拓扑

  • 星型网络(Piconet)

    Piconet示意图

    • 主设备:手机/电脑

    • 从设备:耳机/鼠标/键盘

  • 网状网络(Mesh)

    mermaid

    复制

    graph TDA[手机] --> B[客厅灯]B --> C[卧室灯]C --> D[厨房灯]D --> A

四、软件生态:让硬件活起来

1. 配置文件(Profile)

  • 通用配置

    • GAP(Generic Access Profile):设备可见性控制

    • SDAP(Service Discovery Application Profile):服务发现

  • 应用专用

    Profile名称功能典型设备
    A2DP高质量音频传输蓝牙音箱
    HID人机交互设备游戏手柄
    HOGP低功耗人机设备智能手表表冠

2. 开发框架

  • 嵌入式开发

    c

    复制

    // BLE广播示例代码
    void ble_advertise() {set_advertising_data("Device: SmartLock");set_scan_response("UUID: 0xFDAB");start_advertising();
    }
  • 移动端开发
    Android使用BluetoothGatt类,iOS使用CoreBluetooth框架


五、安全与能耗管理

1. 安全防护体系

  • 配对流程

    1. 临时密钥生成(类似一次性密码本)

    2. 双向认证(设备互相确认身份)

    3. 长期密钥存储(建立信任关系)

  • 攻击防御

    • 防中间人攻击:使用NFC辅助配对

    • 防重放攻击:每个数据包包含随机数

2. 功耗优化技术

  • 连接参数协商

    参数音频设备健康监测设备
    连接间隔15ms1s
    监控超时2s6s
  • 电源状态

    • Active模式:全功能运行(耗电大户)

    • Sniff模式:间歇性监听(类似打盹)

    • Hold模式:暂停连接(深度睡眠)


六、现实世界的系统协同

以智能家居场景为例

  1. 门锁(BLE Peripheral)

    • 持续广播UUID_0x1810(门锁服务)

    • 收到手机指令后通过GPIO控制电机

  2. 手机(Central)

    • 扫描到门锁信号强度RSSI>-70dBm

    • 通过ATT协议写入开锁指令

  3. 中继设备(Mesh Relay)

    • 自动转发数据包扩大覆盖范围

    • 采用泛洪传输确保可靠性

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

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

相关文章

猎豹移动(Cheetah Mobile)

本文来自腾讯元宝 公司背景与发展历程 ​成立与早期定位 猎豹移动成立于2010年11月,由金山安全与可牛影像合并而成,初期以移动安全工具和清理软件为核心业务。其明星产品包括《猎豹清理大师》(Clean Master)和《猎豹浏览器》&…

go的gmp

参考链接:https://www.bilibili.com/video/BV19r4y1w7Nx Golang的GMP调度模型(协程调度器)是其并发编程的核心。GMP代表Goroutine、Machine和Processor三个关键组成部分。Goroutine是Go语言中的轻量级线程,Machine是操作系统的线程,Processor…

Vue3-高级特性

一、Vue中自定义指令 1.认识自定义指令 在Vue的模板语法中我们学习过各种各样的指令:v-show、v-for、v-model等等,除了使用这些指令之外,Vue也允许我们来 自定义自己的指令。 注意:在Vue中,代码的复用和抽象主要还是…

【量化策略】动量突破策略

【量化策略】动量突破策略 🚀量化软件开通 🚀量化实战教程 技术背景与应用场景 动量突破策略是一种基于市场趋势的量化交易策略,它通过识别资产价格的动量变化来预测未来的价格走势。这种策略适用于那些价格波动较大、趋势明显的市场环境…

基于CPLD电力/轨道交通3U机箱开关量输出板(DO)

板卡简介: 本板为开关量输出板(DO),采用固态继电器用于电平输出或负载驱动,典型输出高电平为DC110V,低电平为0V。 性能规格: 电源:DC5V,DC3.3V,DC15V&#…

【C++经典例题】反转字符串中单词的字符顺序:两种实现方法详解

💓 博客主页:倔强的石头的CSDN主页 📝Gitee主页:倔强的石头的gitee主页 ⏩ 文章专栏:C经典例题 期待您的关注 目录 问题描述 基于快慢指针的解法 基于索引的解法 两种方法的比较 问题描述 在处理字符串相关的问题…

Java基础语法练习45(网络编程)

目录 一、网络的相关概念 1.网络通信 2.网络 3.ip 地址 4.ipv4 地址分类 5.域名 6.网络通信协议 7.TCP 和 UDP 二、InetAddress类 1.相关方法 2.代码示例如下: 三、Socket 1.基本介绍 四、TCP 网络通信编程 1.基本介绍 2.应用示例: 2.1…

【Json—RPC框架】:宏定义不受命名空间限制,续行符的错误使用造成的bug

为什么不受命名空间的限制? 宏处理在预处理阶段, 预处理在编译之前,编译才进行语法分析,语义分析。命名空间也只能限制这部分。 在Json-RPC框架的实现中,遇到如下问题。一开始以为是在实现日志宏的时候,有…

四川省包含哪些水系

背景: 想知道四川省包含哪些水系,以及各个水系的分布,起点、流经省市、终点等 {label: "嘉陵江",value: "嘉陵江",},{label: "渠江",value: "渠江",},{label: "涪江",value: "涪江&q…

子序列问题写法

子序列问题可以按照动态规划的思想去写。 子序列问题类型 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。 例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 写法思路 创建两层for循环…

C++ primer plus 使用类下

目录 前言 一 转换函数 总结 前言 接着上一章的内容 一 转换函数 接着我们上一章节的内容,我们知道我们类里面有一个自动转换利用这个运算符,这样就可以使得对象可以接受这个值 那么有没有可以使一个普通类型去接收一个对象呢? 答案是…

声网自研算法如何重定义AI交互容灾标准

在咖啡厅里,当我把手机置于咖啡机与微波炉形成的电磁干扰区时,WiFi丢包率飙升至83%,但AI的回应延迟仅从1.2秒增至1.4秒。这背后是声网自研的Phoenix抗弱网算法在发挥作用,通过AI驱动的动态FEC(前向纠错)机制…

详解布隆过滤器及其模拟实现

目录 布隆过滤器 引入 概念 工作原理 模拟实现布隆过滤器 哈希函数集 布隆过滤器基本框架 add函数(添加到布隆过滤器中) contains函数(判断是否存在该值) 完整代码 布隆过滤器的删除 布隆过滤器的误判率 布隆过滤器的…

巧用 VSCode 与 AI 编码提升 Vue 前端开发效率

在当今快节奏的软件开发领域,提升开发效率是每个开发者都追求的目标。对于 Vue 前端开发而言,Visual Studio Code(VSCode)已经成为了众多开发者的首选编辑器。而随着人工智能技术的发展,各类 AI 编码扩展工具如雨后春笋…

5分钟快速申请一个EDU教育邮箱

感谢CSDN作者 CodeDevMaster 于 2023-10-16 13:22:40 发布作品《5分钟快速申请一个EDU教育邮箱》 本文内容为作者方法的实践与复刻,同时 现在是2025/03/17,执行的细节有部分变动,所以完整展示一波。 祝各位好运,同时本案例中展示…

Go string 字符串底层逻辑

在 Go 语言中,string 类型的底层结构是一个结构体,包含两个字段:一个指向字节数组的指针和该字节数组的长度。以下是其在 Go 源码中的大致定义:type stringStruct struct {str unsafe.Pointerlen int } str:这是一个指…

【NLP】10. 机器学习模型性能评估指标(含多类别情况), ROC,PRC

机器学习模型性能评估指标(含多类别情况) 1. 模型评估指标简介 在机器学习中,模型的性能评估非常重要。常用的模型评估指标有: 准确率(Accuracy)精度(Precision)召回率&#xff0…

开源通义万相本地部署方案,文生视频、图生视频、视频生成大模型,支持消费级显卡!

开源通义万相本地部署方案,文生视频、图生视频、视频生成大模型,支持消费级显卡! 万相2.1开源 近日,大模型万相2.1(Wan)重磅开源,此次开源采用Apache2.0协议,14B和1.3B两个参数规格…

机器学习与深度学习中模型训练时常用的四种正则化技术L1,L2,L21,ElasticNet

L1正则化和L2正则化是机器学习中常用的两种正则化方法,用于防止模型过拟合。它们的区别主要体现在数学形式、作用机制和应用效果上。以下是详细对比: 1. 数学定义 L1正则化(也叫Lasso正则化): 在损失函数中加入权重参…

qt+opengl 播放yuv视频

一、实现效果 二、pro文件 Qt widgets opengl 三、主要代码 #include "glwidget.h"GLWidget::GLWidget(QWidget *parent) : QOpenGLWidget(parent) {connect(&m_timer, &QTimer::timeout, this,[&](){this->update();});m_timer.start(1000/33); }v…