# 蓝牙软件架构

蓝牙软件架构由开源软件和 Qualcomm 专有软件组成。

下图显示了用户空间和内核空间组件如何通过套接字接口进行交互。在用户空间中，示例测试应用程序与 BlueZ 蓝牙守护程序交互以运行蓝牙功能。

![蓝牙解决方案的软件架构和组件。](data:image/png;base64,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)

**图：蓝牙软件架构**

蓝牙软件架构由用户空间、内核空间、蓝牙控制器组成。

## 用户空间组件

用户空间包括以下蓝牙应用程序、守护进程和接口层。

| 组件 | 说明 |
| --- | --- |
| 蓝牙守护进程 (bluetoothd) | <ul class="simple"><br><li><p>一个中心守护进程。</p></li><br><li><p>包括用于用户界面和其他子系统的数据总线 (DBUS) 接口。</p></li><br><li><p>减少对底层细节的暴露。</p></li><br><li><p>通过插件扩展。</p></li><br></ul> |
| Bluetooth-tools | <ul class="simple"><br><li><p>具有蓝牙测试应用程序。</p></li><br></ul> |
| bluetoothctl | <ul class="simple"><br><li><p>用于验证蓝牙功能的测试工具。</p></li><br><li><p>提供使用命令行界面 (CLI) 进行验证的选项。</p></li><br></ul> |
| mpris-proxy | <ul class="simple"><br><li><p>媒体播放器远程接口规范 (MPRIS) 的代理 DBUS 服务。</p></li><br></ul> |
| obexctl | <ul class="simple"><br><li><p>用于验证对象交换协议 (OBEX) 功能的测试工具。</p></li><br></ul> |
| OBEX 守护进程 (obexd) | <ul class="simple"><br><li><p>OBEX profile 的守护程序。</p></li><br><li><p>包括用于用户界面的 DBUS 接口。</p></li><br></ul> |
| ofono | <ul class="simple"><br><li><p>提供 HFP 测试应用程序。</p></li><br><li><p>搜索 modem，然后启用 HFP 音频网关角色。</p></li><br></ul> |
| ofono-tests | 提供执行以下功能的选项：<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p>拨号</p></li><br>> <li><p>应答</p></li><br>> <li><p>创建多方通话</p></li><br>> <li><p>保持并应答</p></li><br>> <li><p>交换</p></li><br>> <li><p>释放通话</p></li><br>> </ul> |
| PulseAudio | <ul class="simple"><br><li><p>用于可移植操作系统接口 (POSIX) 的声音服务器。</p></li><br><li><p>促进对应用程序和硬件之间传递的声音数据进行高级操作。</p></li><br></ul> |

## 内核空间组件

内核空间由以下核心组件和驱动程序组成。

| 组件 | 说明 |
| --- | --- |
| 蓝牙管理 (btmgmt) | <ul class="simple"><br><li><p>使用户空间能够控制内核操作。</p></li><br><li><p>支持适配器设置、设备发现和设备配对等 GAP 功能。</p></li><br></ul> |
| BlueZ 主机控制接口 (HCI) 内核 | <ul class="simple"><br><li><p>通过 RAW 套接字在用户空间 HCI 组件与 Qualcomm 蓝牙驱动程序之间发送和接收 HCI 命令/事件。</p></li><br></ul> |
| HCI | <ul class="simple"><br><li><p>蓝牙协议栈中的一层。</p></li><br><li><p>定义主机和蓝牙无线控制器必须如何交互。</p></li><br></ul> |
| 逻辑链路控制和适配协议 (L2CAP) | <ul class="simple"><br><li><p>将大数据包分解成较小的帧进行传输。指定组件重新组装框架。</p></li><br><li><p>处理服务质量 (QoS) 要求。</p></li><br></ul> |
| Qualcomm 蓝牙驱动程序 | <ul class="simple"><br><li><p>处理蓝牙通用输入/输出 (GPIO) 配置。</p></li><br><li><p>启用或禁用调节器以打开或关闭芯片。</p></li><br><li><p>在蓝牙开启序列期间处理蓝牙补丁和非易失性数据的下载。</p></li><br></ul> |
| 射频通信 (RFCOMM) | <ul class="simple"><br><li><p>创建可靠且基于流的渠道。</p></li><br><li><p>有 30 个端口。相比之下，传输控制协议 (TCP) 有 65,535 个端口。</p></li><br><li><p>L2CAP 连接封装了每个 RFCOMM 连接。</p></li><br></ul> |
| 会话描述协议 (SDP) | <ul class="simple"><br><li><p>为客户端应用程序提供发现服务器应用程序提供的现有服务的方法。</p></li><br><li><p>提供服务的属性，包括所提供的服务的类型或类别，以及使用该服务所需的机制或协议信息。</p></li><br></ul> |
| SLIMbus 蓝牙驱动程序 | <ul class="simple"><br><li><p>为蓝牙音频用例配置、打开和关闭 SLIMbus 端口。</p></li><br></ul> |
| 同步连接导向 (SCO) | <ul class="simple"><br><li><p>蓝牙中的一种数据链路。</p></li><br><li><p>提供中央设备和单个外围设备之间点对点连接的链路。</p></li><br></ul> |
| 通用异步收发器 (UART) 串行驱动程序 | <ul class="simple"><br><li><p>电传打字机 (TTY) 串行驱动程序有助于与蓝牙控制器进行通信。</p></li><br></ul> |

## 蓝牙控制器组件

蓝牙控制器组件包括链路管理协议 (LMP)、链路控制器、基带和 connectivity 芯片组的 RF 系统。

Last Published: Jul 22, 2025

[Previous Topic
蓝牙功能](https://docs.qualcomm.com/bundle/publicresource/80-70020-13SC/topics/bt_ft_overview.md) [Next Topic
验证 BlueZ 协议栈的功能](https://docs.qualcomm.com/bundle/publicresource/80-70020-13SC/topics/verify-bluetooth-functionality-of-bluez-stack.md)