蓝牙协议层分为 物理层、链路层、适配层、协议层、应用层
1 物理层
1 蓝牙是2.4 g的
2 广播信道为 37 38 39
数据信道为0 到 36
3 不同的信道传输数据,是调频,提高了传输数据的成功率。
参考:蓝牙BLE信道频率
2 适配层 (链路层与协议层接口 hci)
可参考:
NRF52832
3 协议层
1 LMP
Link Management Protocol,用于链路建立和控制
基于这一层的实体我们称之为链路管理器(LM: Link Managers)
LM将命令转换为Baseband层的操作,包括
- 将Slaves加入到Piconet, 并给他们分配Active Member Addresss
- 将断开连接的Slaves从Piconet中分离
- 配置Master、Slaves切换的链路
- 建立ACL、SCO链路
- 将连接设置为低功耗模式: Hold, Sniff and Park
- 控制测试模式
2 L2CAP
负责管理PDU数据的顺序、调度、分片、重组等功能
3 RFCOMM
蓝牙RFCOMM协议通过L2CAP协议提供串行端口仿真,两个采用RFCOMM通信的BT设备有可能同时打开多个串口,RFCOMM支持同时打开60个端口。在蓝牙协议中DLCI channel 占5位,所以最多31路。
4 SDP
SDP协议工作原理:蓝牙SDP协议通过设备间的查询和响应消息来实现服务发现设备可以通过查询消息向其他设备请求服务信息,而被查询的设备则通过响应消息提供相应的服务信息。
SDP协议使用UUID(Universally Unique Identifier)来标识不同的服务。每个服务都有一个唯一的UUID;设备可以通过UUID来查询特定的服务。SDP协议还定义了一些通用的服务类别,如电话、打印机、键盘等
5 GAP
GAP(Generic Access Profile)定义了蓝牙设备查询的一般流程,连接管理相关,安全等级以及与用户接口格式和参数;
GAP定义了交互的模型和流程,应用于其他传输和应用协议;
GAP描述了设备间是如何保证链路的可靠,侧重于查询,链路建立和安全方面;
6 GATT
GATT:Generic Attribute Profile,表示ATT server或者client的功能,profile描述了服务和属性的层级结构,主要用于LE profile服务发现中。
7 ATT
Atrribute Protocol,应用层attribute client和server之间的协议。
4 应用层
1 HID
2 A2DP