找回密码
 立即注册
首页 业界区 安全 01-Ble 协议栈分层

01-Ble 协议栈分层

叟澡帅 7 天前
一、协议栈结构

1.png

如上图所示,蓝牙协议分为Controller和Host两个部分,Controller为蓝牙底层,为蓝牙物理芯片,Host是真正意义上的蓝牙协议。Profiles(配置文件)总是基于GATT和GAP上。
二、Controller层

2.1 PHY(Physical layer)

定义Ble所使用的2.4G频段,实现调制、解调以及跳频(Hopping)等,PHY层直接影响到蓝牙的功耗及射频性能。

  • 工作频段:2.4 GHz ISM频段(2402 MHz - 2480 MHz)。
  • 调制方式:GFSK(高斯频移键控)。
  • 信道划分:BLE使用40个信道,其中3个为广播信道(37、38、39),其余37个为数据信道。选择37、38、39作为广播信道的原因是为了避免WIFI频段的干扰。
2.2 LL(Link Layer)

为整个蓝牙协议栈的核心,主要用于RF射频控制,LL层定义了协议栈中最为基础的状态机、数据包格式、广播、连接流程等。
LL层做的事非常多,比如选择那个信道进行传输吗,识别空口数据包、选择时间点发送数据、保证数据完整性等
LL层负责把数据发送和接收回来。而数据的解析则由上面的GAP和GAPP完成。
2.3 HCI(Host Controll Interface)

主机控制接口,为Host和Controll层提供一个标准化接口,可以是软件API,也可以是USRT、SPI等硬件控制。
主要用于双核实现蓝牙协议栈的场合,用于规范两核之间的通信协议和命令等。
三、Host层

3.1 L2CAP (Logic Link Control and Adaption Protocol)

为LL层提供数据封装,将数据打包,让客户实现点对点的通信。
L2CAP对LL数据进行了一次简单的封装,LL只关心传输数据本身,而L2CAP就是要区分是加密通道还是普通通道,如通过CID(Channel Identifier)标识不同的逻辑信道(如ATT、SMP)。同时还要对连接间隔进行管理。

L2CAP对数据进行分割和重组,使得较长的数据包可以在底层无线电中传输,L2CAP决定了MTU(Maximum Transmission Unit,最大传输单元),一般的蓝牙的MTU
您需要登录后才可以回帖 登录 | 立即注册