蓝牙系统的核心组成解析

news2025/3/18 12:52:48

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

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 TD
      A[手机] --> 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.coloradmin.cn/o/2317230.html

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

相关文章

uniapp笔记-底部和首部标签页菜单生成

逻辑 这些都是需要配置pages.json文件。 其中底部需要手动配置tarBar,如: "tabBar": {"list":[{"pagePath": "pages/index/index","text": "首页"},{"pagePath": "pages/…

SpringBoot 和vue前后端配合开发网页拼图10关游戏源码技术分享

今天分享一个 前后端结合 的网页游戏 开发项目源码技术。 这也是我第一次写游戏类的程序,虽然不是特别复杂的游戏,但是是第一次写,肯定要记录一下了,哈哈。 游戏的内容 就是 我们显示中玩的那个 拼图碎片的 游戏,类似下…

OpenCV计算摄影学(21)非真实感渲染之边缘保留滤波器edgePreservingFilter()

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 滤波是图像和视频处理中的基础操作。边缘保留平滑滤波器被广泛应用于多种不同场景[98]。 cv::edgePreservingFilter 是一种边缘保留滤波器&#…

JVM并发编程AQSsync锁ReentrantLock线程池ThreadLocal

并发编程2 synchronized锁实现**AQS****ReentrantLock实现****JUC 常用类**池的概念 ThreadLocalThreadLocal原理内存泄露强引用:软引用弱引用虚引用ThreadLocal内存泄露 synchronized锁实现 synchronized是一个关键字,实现同步,还需要我们提供一个同步锁对象,记录锁状态,记录…

什么是数学建模?数学建模是将实际问题转化为数学问题

数学建模是将实际问题转化为数学问题,并通过数学工具进行分析、求解和验证的过程。 一、数学建模的基本流程 问题分析 • 明确目标:确定需要解决的核心问题。 • 简化现实:识别关键变量、忽略次要因素。 • 定义输入和输出:明确模…

唤起“队列”的回忆

又来博客记录自己的学习心得了,嘿嘿嘿(^~^) 目录 队列的概念和结构: 队列的创建和初始化: 队列入栈: 队列出栈: 队列的销毁: 取队头和队尾数据: 结语: 队列的概念…

Linux(8.4)NFS

文章目录 一、概念二、详解NFS1)软件名2)服务名3)配置文件4)端口号5)相关命令 三、部署NFS一、NFS服务端1)**配置源(本地或者网络源)**2)2、安装NFS**3)启动服…

【位运算】速算密钥:位运算探秘

文章目录 前言例题一、判定字符是否唯一二、丢失的数字三、两整数之和四、只出现⼀次的数字 II五、消失的两个数字 结语 前言 什么是位运算算法呢? 位运算算法是以位运算为核心操作,设计用来高效解决特定问题的一系列计算步骤集合。它巧妙利用位运算直接…

STM32G070CBT6读写FLASH中的数据

向FLASH中写入数据函数 /*函数说明:向FLASH中写数据形参:addr-要写入数据的起始地址 data-准备写入数据 len-数据大小返回值:1-成功,0-失败 */ uint8_t FlashWriteData(uint64_t addr,uint8_t data[],size_t len) {uint32_t Fir…

AD绘图基本操作

一、基本操作 注意:快捷键都要在英文模式下才能生效 1、移动 按住鼠标右键移动 2、切换桌面栅格距离 G 3、英寸和毫米 尺寸切换 Q 4、元件在3D模式下的移动 3D视角鼠标左键只起到选择元器件并移动之的功能, 单纯鼠标右键只能平移桌面 shift鼠…

dfs(十二)21. 合并两个有序链表 递归解决

21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 [] …

51单片机指令系统入门

目录 基本概念讲解 一、机器指令​ 二、汇编指令​ (一)汇编指令的一般格式 (二)按字节数分类的指令 三、高级指令 总结​ 基本概念讲解 指令是计算机(或单片机)中 CPU 能够识别并执行的基本操作命令…

安全无事故连续天数计算,python 时间工具的高效利用

安全天数计算,数据系统时间直取,安全标准高效便捷好用。 笔记模板由python脚本于2025-03-17 23:50:52创建,本篇笔记适合对python时间工具有研究欲的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值:在于输出思考与经验&am…

如何玩DeepSeek!15分钟快速创建GIS动态数据可视化仪表盘

DeepSeek最近火遍全球,大家用的都用的不亦乐乎。国外呢?当然也是,最近一上YouTube、X等都是deepseek的推送。 今天介绍一下,我在YouTube上看到的GIS行业与DeepSeek结合的一个案例: 快速轻松构建交互式地图仪表盘&…

课上测试:MIRACL共享库使用测试

MIRACL(MultiprecisionIntegerandRationalArithmeticC/cLibrary)是著名的密码算法库,设法去官网下载安装MIRACL,提交安装过程截图或过程文本(3分). 去github官网下载.zip文件 使用如下命令进行解压 unzip -j -aa -L MIRACL-mast…

网络编程知识预备阶段

1. OSI七层模型 OSI(Open System Interconnect)七层模型是一种将计算机网络通信协议划分为七个不同层次的标准化框架。每一层都负责不同的功能,从物理连接到应用程序的处理。这种模型有助于不同的系统之间进行通信时,更好地理解和…

STM32微控制器_03_GPIO原理与应用

核心内容 STM32 GPIO基本原理(熟悉)GPIO输出功能HAL库编程实现的应用(重点)GPIO输入功能HAL库编程实现的应用(重点) 一.STM32 GPIO基本原理 1.GPIO简介 STM32的GPIO相当于STM32的四肢,一个S…

零拷贝分析

kafka 零拷贝 请求 - 网口 - socket - 用户态 - 内核缓存区 - 内核态(磁盘信息) 磁盘 - 内核缓存区 - 用户缓存区 - 网络缓存区 零拷贝(Zero-Copy) 是一种高效的数据传输技术,旨在减少数据在内存中的拷贝次数&#x…

从Instagram到画廊:社交平台如何改变艺术家的展示方式

从Instagram到画廊:社交平台如何改变艺术家的展示方式 在数字时代,艺术家的展示方式正在经历一场革命。社交平台,尤其是Instagram,已经成为艺术家展示作品、与观众互动和建立品牌的重要渠道。本文将探讨社交平台如何改变艺术家的…

✎ 一次有趣的经历

📆2025年3月17日 | 周一 | ☀️晴 📍今天路过学院楼7,见到了满园盛开的花🌺,心情瞬间明朗! 📌希望接下来的日子也能像这些花一样,充满活力🔥! &#x1…