13 Enhanced ATT Bearer
EATT(Enhanced Attribute Protocol Transport)是 Bluetooth Core Specification 5.2 引入的重要特性,通过在单一 LE 连接上建立多个并行的 ATT Bearer 通道,突破了传统 BLE GATT 的串行传输限制,显著提升数据吞吐率和系统实时性。
核心改进:从单通道 ATT Bearer(CID 0x0004)→ 多通道 EATT Bearer(CID 0x0040-0x007F)
13.2 EATT 基本原理
13.2.1 多 ATT Bearer 架构
EATT 允许在一个 LE 连接上建立 多个 ATT Bearer:
- 每个 Bearer 对应一个 独立的 L2CAP LE Credit Based Channel
- 每个 Channel 都有独立的 CID(0x0040 ~ 0x007F)
+---------------- BLE Connection ----------------+
| |
| ATT Bearer #0 <-> L2CAP CID 0x0040 |
| ATT Bearer #1 <-> L2CAP CID 0x0041 |
| ATT Bearer #2 <-> L2CAP CID 0x0042 |
| ... |
| |
+------------------------------------------------+
13.3 EATT 与 L2CAP 的关系
13.4 EATT 建立过程详解
13.4.1 前置条件:BLE 连接和配对
在建立 EATT 之前,需要:
- 建立 LE 连接:Central 与 Peripheral 成功连接
- 配对认证:完成 SM(Security Manager)配对过程
- 双端都支持 EATT:通过特性检查
13.4.2 Server 端初始化
Server 需在启动阶段:
- 在 GATT 数据库中添加两个必要的特性
- 调用
att_server_eatt_init()初始化 EATT Bearer 资源池
13.6 主要 API 参考
13.6.1 Server 端 API
13.6.1.1 att_server_eatt_init - 初始化 EATT Bearer 资源池
uint8_t att_server_eatt_init(uint8_t num_eatt_bearers,
uint8_t * storage_buffer,
uint16_t storage_size)功能:初始化 EATT Bearer 资源池,为后续建立 EATT Channel 准备资源
参数:
num_eatt_bearers:最多支持的 EATT Channel 数量(1-64)storage_buffer:用于存储所有 Bearer 结构体及其收发缓冲区的内存池storage_size:内存池总大小(字节)
返回值:
ERROR_CODE_SUCCESS:初始化成功ERROR_CODE_MEMORY_CAPACITY_EXCEEDED:内存不足
调用时机:在协议栈启动时调用一次
13.6.2 Client 端 API
13.6.2.1 gatt_client_le_enhanced_connect - 建立 EATT 连接
uint8_t gatt_client_le_enhanced_connect(
btstack_packet_handler_t gatt_handler,
hci_con_handle_t connection_handle,
uint8_t num_eatt_bearers,
uint8_t * storage_buffer,
uint16_t storage_size
)功能:在已有的 LE 连接基础上,建立多个 EATT Bearer
参数:
gatt_handler:GATT 事件处理回调connection_handle:HCI 连接句柄num_eatt_bearers:请求建立的 EATT Channel 数量storage_buffer:客户端侧的存储缓冲区storage_size:缓冲区大小(字节)
返回值:
- 0:成功
- 非 0:失败
内存需求计算:
总大小 >= num_eatt_bearers * sizeof(att_server_eatt_bearer_t)
+ num_eatt_bearers * (receive_buffer_size + send_buffer_size)
通常:总大小 >= num_eatt_bearers * 200 字节(保守估计)
前置条件:
- LE 连接已建立
- 已确认 Server 支持 EATT(通过读 Server Supported Features)
- 已完成配对