ble协议栈

1.功能框图
Nordic Nrf52系列芯片的协议栈结构图:
在这里插入图片描述
在这里插入图片描述
2.协议栈结构
有LL层(链路管理)、HCI(主机控制器接口)、L2CAP(逻辑链路通道适配协议)、ATT(属性)、SM(安全管理)、GATT(通用属性)、GAP(通用可访问规范)

2.1 底层:Controller
Physical Layer, 物理层 简称:PHY
用来指定BLE所用的无线频段、调制解调方法等,PHY直接影响功耗、灵敏度以及selectivity等射频指标
Link Layer,链路层 简称:LL
是整个协议栈的核心,也是BLE的重点和难点,LL层要做的事情非常多,比如具体选择哪个射频通道进行通信,怎么识别空中数据包,具体在哪个时间点把数据包发送出去,怎么保证数据的完整性,ACK如何接收,如何进行重传,以及如何对链路进行管理和控制等等。LL层只负责把数据发出去或者收回来,对数据进行怎样的解析则交给上面的GAP或者ATT。
Host Controller Interface,主机控制器接口 简称:HCI
协议栈应用开发中,我们会经常看到HCI的身影,它对上Host提供Controller的功能接口,所以称作Host Controller Interface。

2.中层:Host
Logical Link Control Adaptation Protocol,逻辑链路通道适配协议 简称:L2CAP
对LL层简单封装,LL只关心数据本身,L2CAP要区分普通信道和加密信道,同时还要对连接间隔进行管理。
Attribute Protocol,属性 简称:ATT
用来定义命令和及命令操作的数据,比如读取和写某个数据。BLE协议栈中开发者关注最多的就是ATT层,BLE引入了attribute概念,用来描述一条一条的数据。Attribute除了定义数据,同时定义该数据可以使用的ATT命令,因此这一层被称为ATT层。
Security Manager,安全管理 简称:SM
用来管理BLE连接的加密和安全的,如何保证连接的安全性,同时不影响用户的体验,这些都是SMP要考虑的工作。
Generic Access Profile,通用可访问规范 简称:GAP
是对LL层payload(有效数据包)如何进行解析的两种方式中的一种,而且是最简单的那一种。GAP简单的对LL payload进行一些规范和定义,因此GAP能实现的功能极其有限。GAP目前主要用来进行广播,扫描和发起连接等。
Generic Attribute Profile,通用属性 简称:GATT
GATT用来规范attribute中的数据内容,并运用group(分组)的概念对attribute进行分类管理。没有GATT,BLE协议栈也能跑,但互联互通就会出问题。

3.顶层:Application
用户开发实际蓝牙的地方,包含协议栈参数设置,各种功能函数的调用
从机:
(1)相关硬件和基础服务初始化。
(2)设置广播参数:广播数据、广播间隔、扫描回应等参数和数据。
(3)设置Porfile:添加从机服务、特征值、设置相关回调函数。
(4)设置绑定管理参数(可选)
(5)启动广播,开始运行。
(6)等待相关事件,及事件处理,例如收到主机发来的数据,被链接等等。

主机:
(1)相关硬件和基础服务初始化
(2)设置扫描参数。
(3)设置连接参数。
(4)设置绑定管理参数(可选)
(5)启动协议栈,开始运行。
(6)等待相关事件,及事件处理,例如扫描事件,从机的Notify事件等等。

3.GAT和GATT
ble协议栈分两类结构,控制器(Controller)和主机(Host)。每个类别都有子类别,这些子类别执行特定的角色。
通用访问配置文件 GAP是Generic Access Profile的缩写。
通用属性配置文件 GATT是Generic Attribute Profile的缩写。
GAP 定义了 BLE网络堆栈的一般拓扑。
GATT 详细描述了一旦设备建立连接后如何传输属性(数据)。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值