蓝牙协议
好的,我们来用中文详细解释一下蓝牙协议。
简单来说,蓝牙协议是蓝牙技术赖以运作的一套规则、标准和规范的集合。它定义了蓝牙设备之间如何发现彼此、建立连接、交换数据以及协同工作。你可以把它想象成蓝牙设备之间沟通交流所使用的 “语言”和“行为准则” ?。
这套协议非常庞大且复杂,采用了分层架构(类似于计算机网络中的 OSI 模型或 TCP/IP 协议栈)。每一层负责特定的功能,下层为上层提供服务,上层利用下层的服务实现更复杂的功能。
以下是蓝牙协议栈的主要组成部分(从底层到高层):
-
物理层:
- 定义了无线电传输的物理特性:使用的无线电频率(主要在 2.4 GHz ISM 频段)、调制方式(如 GFSK)、跳频模式(在不同频率间快速切换以减少干扰)以及基本的收发功能。
- 这是实际的无线信号层面。
-
链路层:
- 负责设备之间的直接无线通信。这包括:
- 广播与扫描: 设备发出广播信号(Advertising)宣告自身存在,或者扫描(Scanning)以发现其他设备。
- 连接建立: 发起连接(Initiating)和接受连接。
- 数据包结构: 定义数据如何在物理层上被打包(包括地址、控制信息、有效载荷、校验等)。
- 时序控制: 管理连接间隔、超时等。
- 基本的安全性: 提供链路级的加密和认证基础。
- 链路层定义了两种主要状态:广播状态(用于无连接通信和发现)和连接状态(用于设备间点对点的可靠或低功耗通信)。
- 负责设备之间的直接无线通信。这包括:
-
主机控制器接口:
- 这不是一个协议层,而是一个标准化的通信接口。
- 它定义了蓝牙协议栈硬件部分(控制器 - Controller) 和软件部分(主机 - Host) 之间交换命令和数据的方式。
- 物理传输可以是 UART, USB, SDIO 等。
-
主机层:
- 这部分包含了运行在主机处理器(如手机、电脑的 CPU)上的高层协议和逻辑:
- 逻辑链路控制与适配协议:
- 位于 HCI 之上,是核心协议之一。
- 负责协议复用(多个高层协议共享同一个物理连接)、数据包的分割与重组(处理比链路层数据包大的上层数据)、以及提供不同类型的逻辑链路(可靠传输、流传输等)。
- 安全管理器协议:
- 负责配对、绑定和密钥分发过程,实现设备间的身份验证和通信的加密。
- 定义安全模式和安全等级。
- 属性协议:
- 是 BLE(蓝牙低功耗) 的核心协议。
- 定义了一个客户端-服务器模型,用于发现、读取、写入服务器设备上的结构化数据(称为“属性”)。
- 这些属性描述了设备的功能(如心率传感器的测量值、电池电量等)。
- 通用属性配置文件:
- 构建在 ATT 之上,定义了一套标准的服务框架。
- 它定义了如何组织 ATT 的属性以形成有意义的服务和描述设备功能的特征。
- GATT 是大多数 BLE 应用(如健康设备、智能家居传感器)的基础。
- 通用访问配置文件:
- 位于协议栈的最顶层,是所有其他蓝牙应用配置文件的基础。
- 定义了设备如何被发现、如何建立连接、如何管理连接(链路管理)以及设备安全模型。
- 它定义了设备的角色(如中心设备、外围设备)和通用的操作模式。
- 逻辑链路控制与适配协议:
- 这部分包含了运行在主机处理器(如手机、电脑的 CPU)上的高层协议和逻辑:
-
应用层 / 配置文件:
- 这是最终用户功能得以实现的层面。配置文件是基于底层核心协议(特别是 GAP 和 GATT)定义的具体应用场景的标准化规范。它们规定了:
- 设备扮演的角色(如键盘、鼠标、耳机、心脏速率计传感器)。
- 设备之间必须支持哪些协议(包括核心协议和可选协议)。
- 设备之间交换数据的格式和语义。
- 常见配置文件示例:
- A2DP: 高级音频分发配置文件 - 用于立体声音频流(如音乐从手机到耳机)。
- HFP: 免提配置文件 - 用于车载免提系统通话。
- HSP: 耳机配置文件 - 用于单声道耳机通话和基本控制(较老)。
- AVRCP: 音频/视频远程控制配置文件 - 用于控制媒体播放(播放/暂停/下一首等)。
- HID: 人机接口设备配置文件 - 用于键盘、鼠标、游戏手柄等。
- SPP: 串行端口配置文件 - 模拟串行电缆连接,用于通用数据通信(如老式蓝牙模块)。
- FMP: 查找我的配置文件 - 用于物品追踪器。
- BAS: 电池服务配置文件 - 报告设备电量。
- HRS: 心率服务配置文件 - 报告心率数据。
- ANP: 警报通知配置文件 - 将手机通知推送到其他设备(如手表)。
- PXP: 接近配置文件 - 用于接近检测(如防丢器)。
- 这是最终用户功能得以实现的层面。配置文件是基于底层核心协议(特别是 GAP 和 GATT)定义的具体应用场景的标准化规范。它们规定了:
关键点总结:
- 分层结构: 协议栈分层设计,各层职责分明。
- 核心协议: L2CAP, SM, ATT, GATT, GAP 构成了主机层的核心基础。
- HCI: 主机和控制器之间的关键桥梁。
- 配置文件: 是特定应用功能的标准化实现方式。
- BLE vs 经典蓝牙: BLE 在链路层、ATT、GATT 等方面有独特设计,更侧重低功耗和状态机模型;经典蓝牙在配置文件(如 A2DP, HFP)和传统协议(如 RFCOMM - SPP 的基础)方面更成熟。现代蓝牙设备(蓝牙 4.0 及以上)通常支持双模(Classic + BLE)。
- 版本演进: 蓝牙技术不断更新(如蓝牙 5.0, 5.1, 5.2, 5.3, 5.4),每个新版本都会在协议栈的某些层面引入新特性或改进(如更远距离、更高速度、更精确的定位、更低的功耗、更好的安全性、新的配置文件等)。
理解蓝牙协议栈的结构和各层的作用,对于开发蓝牙应用、调试蓝牙设备问题以及理解不同蓝牙功能的工作原理至关重要 ?。
体验开源蓝牙协议栈BTStack
体验开源蓝牙协议栈BTStack
¥0.00体验开源蓝牙协议栈BTStack
体验开源蓝牙协议栈BTStack
¥15.00虹科WiFi蓝牙协议栈解决方案
虹科蓝牙协议栈为嵌入式开发人员提供了一个简单、强大而灵活的解决方案,使工程师能够将更多的时间花在项目上,而不是学习蓝牙技术的内部工作原理。虹科这
资料下载
虹科工业通讯
2021-12-21 15:29:06
蓝牙协议版本解析:不同类型的蓝牙协议及其作用
蓝牙技术作为一种无线通信技术,随着时间的推移不断发展演进。不同的蓝牙协议版本为各类设备提供了不同的功能和应用特性。本文将深入解析不同类型的
2023-12-28 11:17:38
蓝牙协议栈iAP和AAP区别
蓝牙协议栈iAP和AAP区别一,iAP Profile:iPod Accesory Profile,Apple外设通讯协议Brief: 可以理解
蓝牙协议分析仪
1970-01-01 08:00:00 至 1970-01-01 08:00:00
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- amoled屏幕和oled区别
- 苹果nfc功能怎么复制门禁卡
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 苹果笔记本macbookpro18款与19款区别
- 通讯隔离作用
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机