BLE协议栈
BLE作为一种协议,包含很多层。主要有两大块组成:
1、host 相当于一个主持人
2、controller 相当于控制器,接受host(主持人)的命令,执行并控制模块
host层
主要包含以下几部分
1.GAP 全局把控,对LL层启动、广播、连接、扫描控制
2.GATT GATT服务,相当于一个服务器存储地方
3.ATT 对GATT进行操作
4.SM 管理绑定、配对、加密等操作
5.L2CAP 将上述操作弄到虚拟的信道上。
其实协议每层协议就是对上层封装,为上层进行服务的。看过封装的数据包就很清晰了
controller层
主要包含以下几部分:
1.LL 管理controller的事务,接受host层event,并控制两个controller模块之间的交互
2. 基带、射频。 发送接受数据包的
controller相当于就是一个做杂活的,处理好host层event以及自身的event.
BLE开源协议栈
nimble——配合上nrf52832板子,可以深刻的学到。哈哈