协议是一系列的通信标准, 通信双方需要共同按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线数据收发。
下图为 BLE 协议栈的结构框图:
图1.BLE栈架构
协议栈包括两个部分:控制器和主机。控制器和主机在标准蓝牙 BR / EDR设备这两个部分通常是单独实现。任何配置文件和应用程序都是建立在 GAP 和1GATT 协议层上。
PHY 层:1Mbps 自适应跳频 GFSK(高斯频移键控) ,运行在免证的 2.4GHz频段。
LL 层:RF 控制器,控制设备处于准备(standby) 、广播(advertising) 、监听/扫描(scanning) 、初始化(initiating) 、连接(connected)这五种状态中一种。
HCI 层:为接口层,向上为主机提供软件应用程序接口(API) ,对外为外部硬件控制接口,可以通过串口、SPI、USB 来实现设备控制。
L2CAP 层:为上层提供数据封装服务,允许逻辑上的端到端数据通信。
SM 层:提供配对和密匙分发服务,实现安全连接和数据交换。
GAP 层:直接与应用程序或配置文件(profiles)通信的接口,处理设备发现和连接相关服务。另外还处理安全特性的初始化。
ATT 层:导出特定的数据(称为属性)到其他设备。
GATT 层:定义了使用 ATT 的服务框架和配置文件(profiles)的结构。BLE 中所有的数据通信都需要经过 GATT。
TI 的这款 CC2540 器件可以单芯片实现 BLE 蓝牙协议栈结构图的所有组件,包括应用程序。
通过上面的介绍,我们基本了解了 BLE 协议栈的各层功能,其中需要我们直接接触的主要是 GAP 和 GATT 这两个层。
协议是一系列的通信标准, 通信双方需要共同按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线数据收发。
下图为 BLE 协议栈的结构框图:
图1.BLE栈架构
协议栈包括两个部分:控制器和主机。控制器和主机在标准蓝牙 BR / EDR设备这两个部分通常是单独实现。任何配置文件和应用程序都是建立在 GAP 和1GATT 协议层上。
PHY 层:1Mbps 自适应跳频 GFSK(高斯频移键控) ,运行在免证的 2.4GHz频段。
LL 层:RF 控制器,控制设备处于准备(standby) 、广播(advertising) 、监听/扫描(scanning) 、初始化(initiating) 、连接(connected)这五种状态中一种。
HCI 层:为接口层,向上为主机提供软件应用程序接口(API) ,对外为外部硬件控制接口,可以通过串口、SPI、USB 来实现设备控制。
L2CAP 层:为上层提供数据封装服务,允许逻辑上的端到端数据通信。
SM 层:提供配对和密匙分发服务,实现安全连接和数据交换。
GAP 层:直接与应用程序或配置文件(profiles)通信的接口,处理设备发现和连接相关服务。另外还处理安全特性的初始化。
ATT 层:导出特定的数据(称为属性)到其他设备。
GATT 层:定义了使用 ATT 的服务框架和配置文件(profiles)的结构。BLE 中所有的数据通信都需要经过 GATT。
TI 的这款 CC2540 器件可以单芯片实现 BLE 蓝牙协议栈结构图的所有组件,包括应用程序。
通过上面的介绍,我们基本了解了 BLE 协议栈的各层功能,其中需要我们直接接触的主要是 GAP 和 GATT 这两个层。
举报