首页 理论教育 低功耗蓝牙协议优化

低功耗蓝牙协议优化

时间:2023-06-25 理论教育 版权反馈
【摘要】:LE协议的底层与基础蓝牙协议底层基本相似,但在主机端,针对传感器网络应用推出了属性协议以及通用属性配置,具体协议分层结构如图3-19所示。图3-20状态转换图链路层链路层功能是执行一些基带协议底层数据包管理协议。在ATT协议里,暴露属性的称为Server端,另外一端称为Client。在BLE协议中,应用的数据片段被称为“特征”,而BLE中两个设备之间的数据通信就是通过GATT子过程来处理的。

低功耗蓝牙协议优化

LE协议的底层与基础蓝牙协议底层基本相似,但在主机端,针对传感器网络应用推出了属性协议(ATT)以及通用属性配置(GATT),具体协议分层结构如图3-19所示。

978-7-111-55124-9-Chapter03-32.jpg

图3-19 协议分层结构图

其中,基于逻辑链路控制与适配协议(即L2CAP以上)的部分可在主机端实现,这一部分可称为主机端部分,HCI层以下部分可称为芯片控制器层也可简称底层协议。下面对每层协议做一下介绍。

(1)物理层

物理层采用调频技术减少干扰与信号衰减,从2.402~2.480 GHz均匀分为40个信道,每个信道宽2MHz;使用GFSK调制解调方式;输出功率为0.01~10mW;传输速率为1Mbit/s。提供3个固定的广播信道,广播数据用于建立连接以及发现设备,这样使得建立连接的时间可以压缩到3ms左右,大大提高了设备建立连接的效率。另外它提供了37个数据信道采用自适应调频技术发送数据。

978-7-111-55124-9-Chapter03-33.jpg

图3-20 状态转换图

(2)链路层

链路层功能是执行一些基带协议底层数据包管理协议。链路层设备主要有待机、发起、扫描、连接、广播等5种工作状态,状态转换图如图3-20所示。

待机状态不发送和不接收任何包,任何状态都可以进入待机状态。

广播状态在广播信道发送广播包并且监听可能的响应包,广播状态可以由待机状态进入。

扫描状态将会监听广播信道包,扫描状态可以从待机状态进入。

发起状态将会监听从特定设备发出的广播包并且发起连接请求作为响应,发起状态可从待机状态进入。

连接状态可以从发起状态或者广播状态进入,在连接状态下有主从两种角色。

当从发起状态进入连接状态时,发起连接请求,将会是主设备,当从广播状态进入连接状态时,将会是从设备。

链路层主要有两种重要的事件操作:扫描与建立连接。

设备扫描有被动扫描和主动扫描两种。被动扫描是通过被动接收广播包得到设备信息。被动扫描过程如图3-21所示。

主动扫描是通过发送扫描请求得到扫描回应后获取设备信息。主动扫描过程如图3-22所示。

978-7-111-55124-9-Chapter03-34.jpg(www.xing528.com)

图3-21 被动扫描

978-7-111-55124-9-Chapter03-35.jpg

图3-22 主动扫描

978-7-111-55124-9-Chapter03-36.jpg

图3-23 建立连接流程图

而建立连接的过程是通过发送连接请求包来建立设备连接。建立连接过程如图3-23所示。

(3)主机控制接口

主机控制接口与标准蓝牙技术相同,提供了主机与控制器层的通信方式与命令事件格式,重用标准蓝牙传输层接口如UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)接口、USB接口等。

(4)逻辑链路控制与适配协议层

与标准蓝牙技术相同,为上层提供了数据封装业务,提供端到端的逻辑数据通信

(5)安全管理层

定义了配对和密钥分发方法,提供其他层协议接口来安全地建立连接以及交换数据。安全管理层不涉及具体的BLE安全算法,只是提供一些接口,节省功耗以及降低复杂性,具体安全算法可以通过在底层硬件实现。

(6)通用接入层

定义了通用的接口,供应用层调用底层模块(比如设备发现),建立连接相关的业务,同时封装了安全设置相关的API。

(7)属性协议层

属性协议允许设备以“属性”的形式向另外的设备暴露它的某些数据。在ATT协议里,暴露属性的称为Server端,另外一端称为Client。

(8)通用属性配置

GATT层是一种具体使用属性协议的应用框架。GATT定义了属性协议应用的架构。在BLE协议中,应用的数据片段被称为“特征”,而BLE中两个设备之间的数据通信就是通过GATT子过程来处理的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈