【BLE】蓝牙4.2核心协议
1. 顶层设计
1) Application层
- 顶层,通过API函数与协议栈交互;
2) Host层
- 主体结构,TI提供封装后的lib库,不提供源码;
- 逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置文件层、通用属性配置文件层
3) Controller层
- 底层结构,TI提供封装后的lib库,不提供源码,负责与硬件层交互。
- 物理层、链路层、主机控制接口层
- [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PThWhrMt-1657560087788)(https://img-blog.csdn.net/20171003133609235)]
2. 分层介绍
1) APP
2) GATT Profiles
3) GAP Profiles
4) GATT
- 定义如何使用ATT的服务框架
-
5) ATT
-
- 允许设备向其他设备公开某些数据或属性
-
6) GAP
-
- 与应用程序或Profile直接交互,处理设备发现与连接服务;安全功能的初始化
-
7) SM
-
- 定义了配对和密匙分发的方法
-
8) L2CAP
-
- 向上层提供数据封装服务,允许端到端的数据通信
-
9) HCI
-
- 负责主机和控制器之间的通信
-
10) LL
-
- 控制设备的RF状态:Standby、Advertising、Scanning、Initiating、Connected(五种状态之一)
-
11) PHY
-
- 在免费的2.4GHz ISM频段中运行,具有1Mbps自适应跳频GFSK的无线电系统
3. 两个基本配置文件
GAP : Generic Access Profile 通用访问配置文件
GATT : Generic Attribute 通用属性
GAP:负责访问模式和进程,包括设备发现、建立连接、终止连接、初始化安全特征和设备配置。
GATT:用于已连接的蓝牙设备之间的数据通信。