# 蓝牙功能

WCN6750、WCN6856 和 QCA6698AQ connectivity 芯片组符合*蓝牙核心规范 v5.2*。这些芯片组具有以下控制器特性和功能：

- 高达 2 Mbps 的低功耗蓝牙数据速率
- 长距离模式在两种新的较低码率（500 Kbps 和 125 Kbps）下具有更好的灵敏度
- 通过使用广播扩展，广播能力提高了 8 倍
- 改进的信道选择算法 (CSA #2)，可提高与其他蓝牙和非蓝牙通信的信道协调以及共存效率

下表列出了 WCN6750、WCN6856 和 QCA6698AQ connectivity 芯片组支持的蓝牙规格和功能：

| 功能 | WCN6750 | WCN6856 | QCA6698AQ |
| --- | --- | --- | --- |
| 低功耗蓝牙安全连接 | <br>**✓** | <br>**✓** | <br>**✓** |
| 低功耗蓝牙 privacy 1.2 | <br>**✓** | <br>**✓** | <br>**✓** |
| 蓝牙 5.2 核心规范 | <br>**✓** | <br>**✓** | <br>**✓** |
| 数据长度扩展 | <br>**✓** | <br>**✓** | <br>**✓** |
| 2 Mbps PHY | <br>**✓** | <br>**✓** | <br>**✓** |
| 广播扩展 | <br>**✓** | <br>**✓** | <br>**✓** |
| 低功耗蓝牙长距离 | <br>**✓** | <br>**✓** | <br>**✓** |
| CSA #2 | <br>**✓** | <br>**✓** | <br>**✓** |
| 支持 USB 1.1 接口 | <br>**✕** | <br>**✓** | <br>**✓** |

## BlueZ 协议栈

BlueZ 是一个蓝牙 Linux 协议栈，支持核心蓝牙层和协议。BlueZ 功能如下：

- 符合*蓝牙核心规范 v5.2*
- 支持多种蓝牙设备
- 为所有层实现套接字接口
- 支持多线程数据处理

## 蓝牙 profile 和角色

蓝牙 profile 定义设备的规格、要求和角色，以建立蓝牙连接。profile 还确定设备之间使用的通信协议。

BlueZ 协议栈为 connectivity 芯片组支持以下蓝牙 profile 和角色。

| Profile | 作用 | 版本 | 芯片组支持 | 芯片组支持 |
| --- | --- | --- | --- | --- |
| Profile | 作用 | 版本 | WCN6750/ WCN6856 | QCA6698AQ |
| 通用访问 Profile (GAP) | 中心设备和外设 |  | <br>**✓** | <br>**✓** |
| 串行端口 Profile (SPP) | 客户端和服务器 | v1.2 | <br>**✓** | <br>**✓** |
| 基于 GATT Profile 的人机接口设备（HOGP） | 主机 | v1 | <br>**✓** | <br>**✓** |
| 通用属性 Profile (GATT) | 中心设备和外设 |  | <br>**✓** | <br>**✓** |
| 高级音频分发 Profile (A2DP) | 发送端 | 非拆分 v1.3 | <br>**✓** | <br>**✕** |
| 高级音频分发 Profile (A2DP) | 接收端 | 非拆分 v1.3 | <br>**✓** | <br>**✕** |
| 音频/视频远程控制 Profile (AVRCP) | 目标 | v1.5 | <br>**✓** | <br>**✕** |
| 音频/视频远程控制 Profile (AVRCP) | 控制器 | v1.5 | <br>**✓** | <br>**✕** |
| 免提 Profile (HFP) | 音频网关 (Audio gateway) | 非拆分 v1.7 | <br>**✓** | <br>**✕** |
| 免提 Profile (HFP) | 客户端 | 非拆分 v1.7 | <br>**✓** | <br>**✕** |
| 对象推送 Profile (OPP) | 客户端和服务器 | v1.2 | <br>**✓** | <br>**✓** |
| 文件传输协议 (FTP) | 客户端和服务器 | v1.2 | <br>**✓** | <br>**✓** |
| 电话簿访问 Profile (PBAP) | 客户端和服务器 | v1.1 | <br>**✓** | <br>**✓** |
| 消息访问 Profile (MAP) | 客户端和服务器 | v1.2 | <br>**✓** | <br>**✓** |
|  |  |  |  |  |

Note

支持蓝牙 profile 并发。

### 通用访问 Profile (General Access Profile)

蓝牙低功耗 GAP 是对现有 BR/EDR GAP 的扩展。它处理以下设备基本操作：

- 发现设备
- 建立连接
- 绑定多个设备
- 建立私有连接
- 解析私有地址

所有蓝牙设备必须实现 GAP 定义的基本功能。GAP 保证所有蓝牙设备都能建立基带连接，与其支持的高级功能无关。GAP 负责执行以下功能：

- 发现蓝牙设备的通用过程
- 连接蓝牙设备的链路管理
- 与安全等级相关的过程
- 用户接口级参数的通用格式，例如命名约定

GAP 为设备定义并分配以下 profile 角色：

| Profile 角色 | 说明 |
| --- | --- |
| 中心设备 | <ul><br><li><p>具有相对较强的处理能力和内存的设备。</p><br><p>例如，手机或平板电脑。</p><br></li><br><li><p>始终是主要设备。</p></li><br><li><p>它不支持广播</p></li><br><li><p>支持主动或被动扫描以及所有链路层控制过程。</p></li><br></ul> |
| 外设 | <ul><br><li><p>一种小型、低功耗设备，且具备连接到功能更强大的中心设备的能力。</p><br><p>例如，心率监测器等仪器，或支持低功耗蓝牙的接近标签。</p><br></li><br><li><p>始终是辅助设备。</p></li><br><li><p>通过连接广播。</p></li><br><li><p>支持所有链路层控制程序。</p></li><br></ul> |
| 广播者 | <ul class="simple"><br><li><p>发送不可连接广播事件，包括特性和服务数据。</p></li><br><li><p>它不需要接收器。</p></li><br></ul> |
| 观察者 | <ul class="simple"><br><li><p>接收广播事件并侦听特性和服务数据</p></li><br><li><p>它不需要发射器。</p></li><br></ul> |

### 串行端口 Profile (Serial Port Profile)

SPP 通过虚拟串行端口促进设备之间的无线通信。它支持客户端和服务器角色。

SPP 定义以下元素：

- 蓝牙设备在两个对等设备之间使用 Radio Frequency Communication (RFCOMM) 搭建模拟串行线缆连接的要求
- 向应用提供的服务条款
- 蓝牙设备之间互操作性的功能和程序。

### 通用属性 Profile (General Attribute Profile)

GATT 是一种服务框架，该框架使用属性协议 (ATT) 发现设备并读/写对等设备的特征值。它支持客户端和服务器角色。

GATT 执行以下功能：

- 通过应用程序 Profile 与应用程序交互。

    应用程序 profile 定义属性集合及设备间通信中使用这些属性所需的权限。
- 详细说明两个低功耗蓝牙设备如何使用服务或声明、特性和描述符交换数据。

    它没有定义属性使用的规则。上层应用程序利用这些概念派生功能。
- 将服务、特征和相关数据存储在基本查找表中，并为每个条目分配 16位 ID。

### 基于 GATT Profile 的人机接口设备

HOGP 定义低功耗蓝牙无线通信设备如何使用 GATT 通过低功耗蓝牙协议栈支持 HID 服务。

### 高级音频分发 Profile (Advanced Audio Distribution Profile)

A2DP 定义了通过蓝牙连接将高质量音频从一台设备传输或流传输至另一台设备的要求。例如，将音乐从手机、笔记本电脑或台式机流传输到无线耳机，以及将音频流传输到助听器、人工耳蜗或车辆座舱控制台。

A2DP 支持以下角色。

| Profile 角色 | 说明 |
| --- | --- |
| 发送端 | <ul class="simple"><br><li><p>以数字流形式传输至微微网接收端的音频源。</p></li><br><li><p>有助于将立体声质量的音频从多媒体播放器传输到无线耳机或扬声器。</p></li><br></ul> |
| 接收端 | <ul class="simple"><br><li><p>无线音频设置中的音频接收设备。</p></li><br><li><p>使用音频 codec 压缩音频数据，然后在扬声器处以最小的损失进行解码。</p></li><br><li><p>支持高品质无线音频播放，并提供增强音频体验的便捷方式。</p></li><br></ul> |

### 免提 Profile (Hands-Free Profile)

HFP 定义音频网关设备如何连接至免提设备以实现远程控制和音频连接等功能。

HFP 为设备定义并分配以下 profile 角色：

| Profile 角色 | 说明 |
| --- | --- |
| 客户端 | <ul class="simple"><br><li><p>免提设备。例如，无线耳机或车辆座舱控制台。</p></li><br><li><p>建立服务级别连接，创建与远程音频网关的音频连接，并传输双音多频 (DTMF) 代码。</p></li><br><li><p>支持接听或拒接来电、拨号、控制音量等功能。</p></li><br></ul> |
| 音频网关 (Audio gateway) | <ul class="simple"><br><li><p>音频输入和输出网关。例如，手机。</p></li><br><li><p>与免提设备通信，远程控制音频网关的音频机制和其他功能。</p></li><br></ul> |

### 对象推送 Profile (Object Push Profile)

OPP 定义两个蓝牙设备如何交换对象，例如名片、图像、壁纸、铃声或视频。它允许蓝牙设备：

- 从另一个蓝牙设备拉取对象。
- 将对象推送至另一台蓝牙设备。
- 与另一个蓝牙设备交换对象。

OPP 支持客户端和服务器角色。

### 文件传输协议 (File Transfer Protocol)

FTP 定义了两个蓝牙设备之间交换文件的要求。FTP 支持客户端和服务器角色。它允许蓝牙设备：

- 浏览另一个蓝牙设备的文件和文件夹。
- 与另一个蓝牙设备交换文件和文件夹。
- 在另一台蓝牙设备上创建或删除文件和文件夹。

### 电话簿访问 Profile (Phone Book Access Profile)

PBAP 促进远程和本地设备之间电话簿对象的交换。它基于客户端-服务器交互模型，其中客户端设备从服务器设备获取电话簿对象。在 BlueZ 协议栈中，PBAP 支持以下角色：

- 电话簿服务器设备（PSE）：由发送端电话簿对象组成。
- 电话簿客户端设备 (PCE)：从 PSE 检索电话簿对象。

电话簿对象的类型列出如下。

| 电话簿对象 | 说明 |
| --- | --- |
| 主电话簿 | 设备的电话簿，例如手机。 |
| 来电历史记录 | 最近接听的电话列表。 |
| 拨出电话历史记录 | 最近拨打的电话列表。 |
| 未接来电记录 | 最近未接来电列表。 |
| 合并通话记录 | 最近接听、拨打或未接电话列表。 |
| 快速拨号联系人 | PSE 上的快速拨号条目列表。 |
| 收藏的联系人 | PSE 上收藏的联系人列表。 |

PBAP 允许以下功能：

- 从远程设备下载联系人和通话记录。
- 浏览远程设备上的联系人。
- 选择电话簿对象。

### 消息访问 Profile (Message Access Profile)

MAP 定义设备用于交换消息对象的功能和过程。它基于客户端-服务器交互模型，由客户端发起事务。消息对象的类型包括电子消息 (Email) 和短消息服务 (SMS)。

MAP 结合了消息传送服务器设备的消息传送能力和客户端设备的用户界面能力来通知、浏览、读取、删除、生成和发送消息。在 BlueZ 协议栈中，MAP 支持以下设备角色：

- 消息服务器设备（MSE）：提供消息存储引擎。
- 消息客户端设备（MCE）：使用 MSE 的消息存储库引擎来实现 MAP 功能。

Last Published: Apr 30, 2025

[Previous Topic
开始使用蓝牙功能](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/get-started.md) [Next Topic
蓝牙软件架构](https://docs.qualcomm.com/bundle/publicresource/80-70018-13SC/topics/bt_architecture_overview.md)

Source: [https://docs.qualcomm.com/doc/80-70018-13SC/topic/bt_ft_overview.html](https://docs.qualcomm.com/doc/80-70018-13SC/topic/bt_ft_overview.html)