false

false

EN

BLE协议栈简介

南山行者

2019-05-14 14:52:19

BLE协议栈由控制器(Controller)、主机控制接口(HCI)和主机(Host)组成。如下图:


控制器(Controller)

  • 物理层(Physical Layer,PHY),工作在免费的2.4G频段,采用高斯频移键控。
  • 链路层(Link Layer,LL),控制设备的射频状态,让设备处于这五种状态之一:
  1. Standby:默认状态,不进行收发。
  2. Advertising:广播状态,在3个广播信道广播数据包,同时监听和回复扫描者发送的扫描数据包。
  3. Scanning:扫描状态,在3个广播信息监听广播数据包,同时发送扫描数据包。
  4. Initiating:初始化状态,在广播信道监听广播数据包,从而发起连接。
  5. Connection:连接状态。

主机控制接口(HCI)

  • 主机控制接口(Host-Controller Interface,HCI)提供了Host与Controller之间的通道。该接口层的实现可以是软件接口,也可以是标准硬件接口,比如UART,SPI或USB。

主机(Host)

  • 逻辑链路控制和适配器协议(Logical Link Control and Adaption Protocol,L2CAP)为上层提供了多路复用、数据分段与重组服务,并且支持逻辑端对端的数据通信。
  • 安全管理层(Security Manager,SM)定义了配对和密钥分发的方法,并为其他层提供了与对端设备进行安全连接和数据交换的功能。
  • 通用访问规范层(Generic Access Profile,GAP)是BLE协议栈与Application和Profiles的直接接口。它负责设备发现以及连接相关的各项服务,包括工作模式和访问模式。BLE的工作模式有4种:广播、扫描、周边外设和主设备。访问模式包括设备发现、连接模式、认证和服务发现等。
  • 属性协议层(Attribute Protocol,ATT)使本地设备可以暴露一些数据或属性给对端设备。它区分两种角色:客户机和服务器。客户机和服务器通过逻辑信道通信。
  • 通用属性配置文件层(Generic Attribute Profile,GATT)定义使用ATT的一系列子过程。两个BLE设备之间的数据通信是由这些子过程来处理的。GATT Services和Applications可以直接使用GATT。
4条评论

您的评论