BLE 技术是 Bluetooth SIG 规定的一套通信协议,在协议变成具体的代码之前,都只存在文档中,TI、Nordic、CSR 等厂商,根据 SIG 发布的 BLE 技术协议,配合自身的芯片开发了一整套源码,并且这套源码经过了 SIG 的测试,服务 BLE 协议。这套源码就叫做协议栈,协议栈是协议的实现





BLE协议层
PHY层(Physical layer物理层)
PHY层用来指定BLE所用的无线频段,调制解调方式和方法等。PHY层做得好不好,直接决定整个BLE芯片的功耗,灵敏度以及selectivity等射频指标。
LL层(Link Layer 链路层)。
链路层定义了协议栈中最为基础的状态机、数据包格式、广播和连接流程等问题
LL层是整个BLE协议栈的核心,也是BLE协议栈的难点和重点。像Nordic的BLE协议栈能同时支持20个link(连接),就是LL层的功劳。LL层要做的事情非常多,比如具体选择哪个射频通道进行通信,怎么识别空中数据包,具体在哪个时间点把数据包发送出去,怎么保证数据的完整性,ACK如何接收,如何进行重传,以及如何对链路进行管理和控制等等。LL层只负责把数据发出去或者收回来,对数据进行怎样的解析则交给上面的GAP或者GATT。
HCI(Host controller interface 主机控制器接口)。
HCI 层通信层,向 host 和 controller 提供一个标准化的接口。该层可以由软件api 实现或者使用硬

本文详细介绍了BLE协议栈的各个层次,包括PHY、LL、HCI、GAP、L2CAP、SMP、ATT和GATT。重点讨论了GAP和GATT在低功耗蓝牙中的关键作用,GAP用于广播、扫描和连接,GATT则规范了数据内容和管理。BLE协议栈的实现涉及控制器、主机和用户程序,其中GAP和GATT是开发者关注的重点。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



