蓝牙协议栈分层
APP应用层
与GAP、GATT、SM、L2CAP、HCI通过API调用或ICALL模块进行通信
蓝牙----CC2640中的ICall模块与TI RTOS
Controller控制层
GAP层:实现GAP层的蓝牙设备角色定义,用于处理设备发现和连接等相关的服务;
蓝牙----蓝牙协议栈GAP层
GATT层:实现BLE两个设备之间发生的数据通信;
蓝牙----蓝牙协议栈GATT层
ATT层:实现本设备向其他设备公开的数据或属性的定义,完成数据通信内容定义;
SM层:实现BLE连接的加密和安全管理;
L2CAP层:实现通道管理器和资源管理器功能:提供数据封装,将LL层数据转换为L2CAP Channel,提供协议/通道多路复用;
蓝牙----蓝牙协议栈L2CAP
Host主机层
PHY层:指定BLE所用的无线频段,调制解调方法等;
LL层:指定信道划分、跳频通信、蓝牙状态角色定义和切换以及数据包校验重传
HCI层:通过标准接口提供Controller与Host之间的通信;
蓝牙----蓝牙协议栈Host层
蓝牙协议栈的实现
- PHY物理层,基于射频调控提供一系列的物理通道Physical Channel;
- LL逻辑链路层,基于Physical Channel,在两个设备之间建立用于点对点通信的Logical Channel;
- L2CAP逻辑链路控制与适配层,将Logical Channel转换为L2CAP Channel,便提供应用程序级别的通道复用。
应用程序基于L2CAP完成蓝牙消息交互。
蓝牙----蓝牙协议栈数据报文分析
蓝牙消息交互
蓝牙连接的建立
蓝牙----蓝牙连接建立_主从GAP初始化
蓝牙----蓝牙连接建立_连接建立
蓝牙数据的传输
蓝牙----蓝牙消息传输_GATT服务发现
蓝牙----蓝牙消息传输_从机(GATT Server)与主机(GATT Cilent)