6.3. BLE蓝牙协议栈架构

BLE蓝牙协议栈的架构如下:

图 6.3. 以工厂为例来解释BLE的蓝牙协议栈架构

以工厂为例来解释BLE的蓝牙协议栈架构


BLE中所有profile和应用都建构在GAP或GATT之上。

每一层的含义如下:

  • PHY层==工作车间

    1Mbps自适应跳频GFSK(高斯频移键控),运行在免证的2.4GHz

  • LL层==RF控制器==控制室

    控制设备处于准备(standby)、广播、监听/扫描 (scan)、初始化、连接,这五种状态中一种。

    五种状态切换描述为:未连接时,设备广播信息(向周围邻居讲“我来了”),另外一个设备一直监听或按需扫描(看看有没有街坊邻居家常里短可聊,打招呼“哈,你来啦”),

    两个设备连接初始化(搬几把椅子到院子),设备连接上了(开聊)。

    发起聊天的设备为主设备,接受聊天的设备为从设备,同一次聊天只能有一个意见领袖,即主设备和从设备不能切换。

  • HCI层==接口层==通信部

    向上为主机提供软件应用程序接口(API),对外为外部硬件控制接口,可以通过串口、SPI、USB来实现设备控制

  • L2CAP层==物流部

    行李打包和拆封处,提供数据封装服务

  • SM层==保卫处

    提供配对和密匙分发,实现安全连接和数据交换

  • ATT层==库房

    负责数据检索

  • GATT层==出纳/库房前台

    出纳负责处理向上与应用打交道,而库房前台负责向下把检索任务子进程交给ATT库房去做,

    其关键工作是把为检索工作提供合适的profile结构,而profile由检索关键词(characteristics)组成。

  • GAP层==秘书处

    对上级,提供应用程序接口

    对下级,管理各级职能部门,尤其是指示LL层控制室五种状态切换,指导保卫处做好机要工作