# 架构 

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

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

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

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

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

## 用户空间组件

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

| 组件 | 说明 |
| --- | --- |
| 蓝牙守护进程 (bluetoothd) | <ul class="ul" id="bt_architecture_overview__ul_hkp_zr5_mcc_navyanka_08-25-24-1039-44-735"><br>                                    <li class="li">一个中心守护进程。</li><br><br>                                    <li class="li">包含用于用户界面和其他子系统的数据总线 (DBUS) 接口。</li><br><br>                                    <li class="li">减少对底层细节的暴露。</li><br><br>                                    <li class="li">通过插件扩展。</li><br><br>                                </ul> |
| Bluetooth-tools | <ul class="ul" id="bt_architecture_overview__ul_aws_fbg_ncc_navyanka_08-27-24-008-20-444"><br>                                    <li class="li">包含蓝牙测试应用程序。</li><br><br>                                </ul> |
| bluetoothctl | <ul class="ul" id="bt_architecture_overview__ul_vfj_3s5_mcc_navyanka_08-25-24-1042-18-747"><br>                                    <li class="li">用于验证蓝牙功能的测试工具。</li><br><br>                                    <li class="li">提供使用命令行界面 (CLI) 进行验证的选项。 </li><br><br>                                </ul> |
| mpris-proxy | <ul class="ul" id="bt_architecture_overview__ul_kc1_1bg_ncc_navyanka_08-27-24-006-39-886"><br>                                    <li class="li">媒体播放器远程接口规范 (MPRIS) 的代理 DBUS 服务。</li><br><br>                                </ul> |
| obexctl | <ul class="ul" id="bt_architecture_overview__ul_hhv_cbg_ncc_navyanka_08-27-24-007-29-361"><br>                                    <li class="li">用于验证对象交换协议 (OBEX) 功能的测试工具。</li><br><br>                                </ul> |
| OBEX 守护进程 (obexd) | <ul class="ul" id="bt_architecture_overview__ul_etg_2s5_mcc_navyanka_08-25-24-1041-6-762"><br>                                    <li class="li">OBEX 配置文件的守护程序。</li><br><br>                                    <li class="li">包含用户界面的 DBUS 接口。</li><br><br>                                </ul> |
| ofono | <ul class="ul" id="bt_architecture_overview__ul_dkw_zgv_mcc_navyanka_08-25-24-1234-4-103"><br>                                    <li class="li">提供 HFP 测试应用程序。</li><br><br>                                    <li class="li">搜索 modem，然后启用 HFP 音频网关角色。</li><br><br>                                </ul> |
| ofono-tests | 提供执行以下功能的选项：<ul class="ul" id="bt_architecture_overview__ul_wff_rmv_mcc_navyanka_08-25-24-1317-13-748"><br>                                    <li class="li">拨号</li><br><br>                                    <li class="li">应答</li><br><br>                                    <li class="li">创建多方通话</li><br><br>                                    <li class="li">保持并应答</li><br><br>                                    <li class="li">交换</li><br><br>                                    <li class="li">释放通话</li><br><br>                                </ul> |
| PulseAudio | <ul class="ul" id="bt_architecture_overview__ul_lbd_51g_ncc_navyanka_08-27-24-004-56-433"><br>                                    <li class="li">用于可移植操作系统接口 (POSIX) 的声音服务器。</li><br><br>                                    <li class="li">促进对应用程序和硬件之间传递的声音数据进行高级操作。</li><br><br>                                </ul> |

## 内核空间组件

内核空间包含以下核心组件和驱动程序：

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

## 蓝牙控制器组件

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

Last Published: Jan 23, 2025

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