mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 13:09:38 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
| 介绍
 | ||
| =======
 | ||
| 
 | ||
| :link_to_translation:`en:[English]`
 | ||
| 
 | ||
| 此文档概述了 ESP-IDF 中经典蓝牙协议栈的架构,并提供了一些相关文档和应用示例的快速链接。
 | ||
| 
 | ||
| .. only:: esp32
 | ||
| 
 | ||
|     {IDF_TARGET_NAME} 支持双模蓝牙 4.2,并且已经获得双模蓝牙 4.2 认证。
 | ||
| 
 | ||
| ESP-IDF 中的经典蓝牙协议栈是一个分层架构,可在 {IDF_TARGET_NAME} 系列芯片上实现经典蓝牙功能,详见下。
 | ||
| 
 | ||
| .. only:: esp32
 | ||
| 
 | ||
|     .. figure:: ../../../_static/classic-bluetooth-architecture.png
 | ||
|         :align: center
 | ||
|         :scale: 90%
 | ||
|         :alt: {IDF_TARGET_NAME} 经典蓝牙协议栈架构
 | ||
| 
 | ||
|         {IDF_TARGET_NAME} 经典蓝牙协议栈架构
 | ||
| 
 | ||
| 参考下表可知特定芯片是否支持经典蓝牙控制器。
 | ||
| 
 | ||
| .. list-table::
 | ||
|     :width: 100%
 | ||
|     :widths: auto
 | ||
|     :header-rows: 1
 | ||
| 
 | ||
|     * - 芯片系列
 | ||
|       - 控制器
 | ||
|     * - ESP32
 | ||
|       - Y
 | ||
|     * - ESP32-S2
 | ||
|       - \–
 | ||
|     * - ESP32-S3
 | ||
|       - \–
 | ||
|     * - ESP32-C2
 | ||
|       - \-
 | ||
|     * - ESP32-C3
 | ||
|       - \-
 | ||
|     * - ESP32-C6
 | ||
|       - \-
 | ||
|     * - ESP32-H2
 | ||
|       - \-
 | ||
| 
 | ||
| 以下各节简要介绍了每个层,并提供了相关文档和应用示例的快速链接。
 | ||
| 
 | ||
| 
 | ||
| ESP 蓝牙控制器
 | ||
| --------------
 | ||
| 
 | ||
| 底层为 ESP 蓝牙控制器,包含 PHY、基带、链路控制器、链路管理器、设备管理器和 HCI 等各种模块。该层管理硬件接口和链路,以库的形式提供功能,并通过 API 访问,且直接与硬件和低级别蓝牙协议交互。
 | ||
| 
 | ||
| - :doc:`API 参考 <../../api-reference/bluetooth/controller_vhci>`
 | ||
| - :example:`应用示例 <bluetooth/hci/controller_hci_uart_esp32>`
 | ||
| 
 | ||
| 
 | ||
| ESP 蓝牙主机
 | ||
| -------------
 | ||
| 
 | ||
| IDF 中的ESP-Bluedroid 主机支持经典蓝牙。
 | ||
| 
 | ||
| 
 | ||
| ESP-Bluedroid
 | ||
| ^^^^^^^^^^^^^
 | ||
| 
 | ||
| ESP-Bluedroid 是原生 Android 蓝牙协议栈 Bluedroid 的修改版,由两层组成:蓝牙上层 (BTU) 和蓝牙传输控制器层 (BTC)。BTU 层负责处理 L2CAP 等底层蓝牙协议以及其他配置文件,提供以 "bta" 为前缀的接口。BTC 层主要负责向应用层提供以 "esp" 为前缀的支持接口,并处理其他任务。所有的 API 都位于 ESP_API 层,开发者应使用以 "esp" 为前缀的经典蓝牙 API。
 | ||
| 
 | ||
| - API 参考
 | ||
| 
 | ||
|   - :doc:`../../api-reference/bluetooth/bt_common`
 | ||
|   - :doc:`经典蓝牙 <../../api-reference/bluetooth/classic_bt>`
 | ||
| - :example:`应用程序示例 <bluetooth/bluedroid/classic_bt>`
 | ||
| 
 | ||
| 
 | ||
| 应用
 | ||
| ----
 | ||
| 
 | ||
| 最上层是应用层。利用上述 API 和蓝牙规范,可以在 ESP-Bluedroid 协议栈之上创建特定用例的经典蓝牙应用程序。
 | 
