当前位置:   article > 正文

BLE基础介绍

ble基础

1.1 缩略语

ATT: Attribute Protocol,属性协议,定义用户的命令及命令操作的数据

GATT: Generic Attribute Profile,通用属性配置文件,GATT可以摆脱兼容性的困境,没有GATT就会导致互联互通出现问题

SM: Security Manager

BR: Basic Rate

EDR: Enhanced Data Rate

SMP: Secure manager protocol,管理加密和安全

GAP: Generic access profile,通用访问配置文件,主要用来进行广播、扫描和发起连接

L2CAP:Logic link control and adaptation protocol,逻辑链路控制和适配协议,对LL层简单封装

1.2 协议栈

在这里插入图片描述

1.2.1 PHY层:
指定BLE无线频段,调制解调方式和方法,PHY层的好坏直接决定整个BLE芯片的功耗、灵敏度等。

1.2.2 LL层:
LL层是协议栈的核心,主要负责发数据或收数据,不对数据进行解析,主要定义以下内容:

1)数据传输使用的射频信道;

2)指明接收者身份的access address,0x8E89BED6表示发给周边所有的设备,即广播,其中广播者被称为advertiser,接收者称为scanner或observer;

如果想一对一通信(称为“连接”),即设备A的数据只能设备B接收,设备B的数据只能设备A接收,那么必须要生成一个独特的随机access address,用以标识此本次连接

3)指明广播者身份的device address

4)检查数据完整性,保证数据在传输过程中没有被篡改,引入CRC24校验,如0xB2C78E

5)前导帧preamble,提高调制解调电路的工作效率,一般为0x55或0xAA(空中数据包用小端模式表示)

6)定义通信时序
在这里插入图片描述

上述Case1和Case2反映了一个问题:接收者必须在合适的时间开启射频窗口来接收空中数据包,因此要求LL层必须通信时序

7)在access mode后加入两个字段:LL header和长度字节,LL header表示数据包的LL长度,长度字节用来指明payload的长度。这样就可以让接收设备找到自己想要的数据。

1.2.3 GAP层:处理LL层的payload
1)GAP引入LTV结构来定义数据(Length-Type-Value)

GAP层引入了LTV(Length-Type-Value)结构来定义数据,比如020105,02-长度,01-类型(强制字段,表示广播flag,广播包必须包含该字段),05-值。

在这里插入图片描述

有了PHY层,LL层,GAT/GATT层之后,就可以发送广播包了,广播包信息极其有限,例如:

1)无法进行一对一通信,广播是一对多的方式,单向

2)不支持组包和拆包,因为无法传输大数据

3)通信不可靠且效率低下,只有37/38/39三个信道,不支持跳频

4)scanner功耗高,扫描端不知道设备端何时广播,也不知道在哪个频道上广播,因此只能拉长扫描窗口时间,并同时对37/38/39三个信道进行扫描,功耗很大。

然而,“连接”connection可以解决以上问题。

所谓设备A和设备B建立蓝牙连接,就是指设备A和设备B两者一对一“同步”成功,拥有共同的通信媒介,时钟也保持同步,具体包含以下内容,设备双方应该:

1)对使用的物理信道保达成一致

2)建立一个共同的时间锚点,把双方的时间远点变成同一个点

3)同步两者时钟,双方都知道什么时候发送数据包,什么时候接收数据包

连接成功后,设备双方的通信流程如下:

一旦连接成功,设备A被称为Master或Central,设备B被称为 Slave或Peripheral

设备A周期性地以CI(Connection Interval)为间隔向设备B发送数据包,而设备B周期性地以CI为间隔打开射频接收窗口来接收数据包。

同时,设备B收到设备A的数据包150us后,切换至发送状态,将自己的数据发送给设备A,设备A则切换成接收状态。

连接状态下,设备AB的发送和接收都是以周期性的计划开/关,且时间较短,大大降低了功耗,提高了效率。

1.2.4 L2ACP层
对LL层进行简单封装,LL层只关注传输的数据本身,而L2ACP层则区分加密通道还是普通通道,同时管理连接间隔CI。

1.2.5 SMP层
管理BLE连接的加密和安全,保证连接的安全性。

1.2.6 ATT层
定义用户的命令和命令操作的数据,比如读/写某个数据,开发者接触最多。

1.2.7 GATT层
规范ATT(attribute)中的数据内容,并用group(分组)的概念对attribute进行分类管理。

参考: https://www.cnblogs.com/iini/p/8969828.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/573707
推荐阅读
相关标签
  

闽ICP备14008679号