一、BLE协议栈架构
BLE 协议栈(简称“协议”)由两部分组成:控制器 和 主机。控制器与主机分离的形式来自标准的蓝牙 BR / EDR设备,这两个部分通常分别描述。任何 profiles(配置文件)和应用程序都是使用 GAP 与 GATT 层协议栈来编写程序。
1.1 控制器部分(Controller) 1.1.1 物理层(PHY) 物理层 负责数据和语音的发送和接收,特点是短距离、低功耗。是一种带宽自适应跳频 GFSK(高斯频移键控),工作在免费的工业频段2.4GHz。
1.1.2 链路层(LL) 链路层 控制设备的射频状态,有五个设备状态:待机、广告、扫描、初始化和连接。
广播为广播数据包,而扫描则是监听广播。
初始化状态发送连接请求包,如果广播者接受连接请求,则广播者和连接发起者将进入连接状态。当一个设备处于连接时,它将是以下两个角色中的一个:
主机(master)或从机(slave)。发起连接的设备变成了主机(master),接受连接请求的广播者设备变成了从机(slave)。且同一次连接中主机和从机角色不能切换。
1.1.3 主机控制接口(HCI) 主机控制接口层 向上为主机提供软件应用程序接口(API),对外为外部硬件控制接口。该层可以通过一个可编程接口来实现,该可编程接口可以是 UART,SPI 或 USB。标准的 HCI 命令和事件在《Bluetooth Core Spec [14]》中描述。TI 有该应用的使用指南《 Vendor Specific Guide [1]》。
1.2 主机部分(Host) 1.2.1 链路逻辑控制和适配协议(L2CAP) 链路逻辑控制和适配协议层 提供数据封装服务,该层允许的端到端的数据通信。基于包的协议,将包传输到HCI,对于四轴飞行器系统,就将包传给链路管理器LM。支持多路复用,包的分割和重组,以及向上层协议提交服务质量信息。
1.2.2 安全管理(SM) 安全管理层 定义了配对和密钥分配的方法,并提供了为了安全地连接与交换数据的功能。 See section 5.4 for more information on Texas Instruments’ implementation of the SM layer.
1.2.3 属性协议(ATT) 属性协议层 负责数据检索,允许一个设备暴露一些数据块给其他设备,其他设备称之为“属性”。
在ATT环境中,展示属性的设备称之为服务器,与它配对的设备称之为客户端。链路层的主机从机和这里的服务器、客服端是两种概念,主设备既可以是服务器,也可以是客户端。从设备毅然。
1.2.4 通用访问协议(GAP) 通用访问协议层 是应用程配置文件的接口,用于 处理设备的发现和连接 相关的服务。GAP 还有处理安全连接等特征。GAP给设备定义了若干角色,其中主要的两个是:外围设备(Peripheral)和中心设备(Central)。 See section 5.1 for more information on Texas Instruments’implementation of the GAP layer.
1.2.4 通用属性协议(GATT) 通用属性协议层 使用 ATT 的服务框架和配置文件(profiles)的结构。BLE 中所有的数据通信都需要经过GATT。
它定义两个 BLE 设备通过叫做 Service 和 Characteristic 的东西进行通信。GATT 就是使用了 ATT 协议,ATT 协议把 Service, Characteristic遗迹对应的数据保存在一个查找表中,次查找表使用 16 bit ID 作为每一项的索引。 See section 5.3 for more information on Texas Instruments’ implementation of the ATT and GATT layers.
|