【BLE】蓝牙BLE传输到底有多快?

简介: 我们在开发蓝牙产品的时候,经常会被问到,这个文件传输用蓝牙可以做吗?多长时间可以传完?蓝牙的传输速率是多大?很多人对蓝牙的传输速率可能只有一个大概的概念几KB?几十KB?下面就来看一下蓝牙的传输速率到底有多快?众所周知,对于无线连接,链路维护和数据包冗余会产生一定的传输成本,以保持蓝牙连接的健壮和高效。因此,连接的低功耗蓝牙数据吞吐量的公式为:使用这个公式,我们将在建立连接时计算从 4.0 到 5 的数据吞吐量。

  我们在开发蓝牙产品的时候,经常会被问到,这个文件传输用蓝牙可以做吗? 多长时间可以传完? 蓝牙的传输速率是多大?很多人对蓝牙的传输速率可能只有一个大概的概念几KB?几十KB? 下面就来看一下蓝牙的传输速率到底有多快?

众所周知,对于无线连接,链路维护和数据包冗余会产生一定的传输成本,以保持蓝牙连接的健壮和高效。对于蓝牙 LE 连接,从一台设备到其对等设备的一个完整传输周期是这样的:

在这里插入图片描述

  • “T”槽为传输包;它包括帧头、有效载荷和完整性检查字段,有用的数据将位于有效载荷中进行传输。
  • “R”槽是从对端设备接收数据包;当设备向对等设备发送一个数据包时,对等设备将返回一个具有最小数据包长度的数据包,以指示先前的传输成功。
  • “T_IFS”是帧间空间;它定义了两个连续数据包之间的时间间隔。无论您使用的是蓝牙 5 还是蓝牙 4.0,“T_IFS”都应为 150 µs。关于“T_IFS”的详细信息,请参阅蓝牙 5核心规范第 6 卷 B 部分第 4.1 节。

因此,连接的低功耗蓝牙数据吞吐量的公式为:

在这里插入图片描述

使用这个公式,我们将在建立连接时计算从 4.0 到 5 的数据吞吐量。

蓝牙 v4.0/4.1

蓝牙® v4.0/4.1 具有相同的低能量数据包格式和相同的调制速率,1Mb/s,这意味着发射器具有在一秒钟内传输 1 兆比特的能力。

在这里插入图片描述

上图表示4.0/4.1链路层数据包的包格式、PDU格式和报头格式。从图上图 中可以看出,长度字段的长度为 5 位(已突出显示;5 位等于二进制的 0b11111,十六进制的 0x1F,十进制的 31),它的范围为 0 到 31 个八位字节,表示长度有效载荷和 MIC(如果包括)。Payload 字段的长度应小于或等于 27 个八位字节,因为 MIC 的长度为 4 个八位位组,31 – 4 = 27。

在这里插入图片描述

上图是一个完整的周期图。从图3可以看出,一个完整周期的时间包括:

  • “R”槽

空 PDU 长度为:10 个八位字节,因为:

前言 访问地址 标题 CRC
1 4 2 3

空 PDU 的长度 = 1 + 4 + 2 + 3 = 10 个八位字节。

它将消耗 80 µs x 1Mb/s,因为:
在这里插入图片描述

  • T_IFS, 150 m
  • “T”槽

最大数据包长度为:

前言 访问地址 标题 有效载荷 麦克风 CRC
1 4 2 27 4 3

1 + 4 + 2 + 27 + 4 + 3 = 41 个八位字节

它将消耗 328 µs,因为:

在这里插入图片描述

对于 4.0/4.1 吞吐量,计算为:

在这里插入图片描述

蓝牙 v4.2

对于蓝牙v4.2,调制速率与 4.0 和 4.1 相同,仍为 1Mb/s。但数据包格式不同。区别如下图,图4。

在这里插入图片描述

从上图中可以看出,长度字段的长度为 8 位(已突出显示,8 位等于二进制的 0b11111111,十六进制的 0xFF,十进制的 255),它的范围为 0 到 255 个八位字节,表示长度有效载荷和 MIC(如果包括)。Payload 字段的长度应小于或等于 251 个八位字节,因为 MIC 的长度为 4 个八位字节,255 – 4 = 251。

在这里插入图片描述

上图是一个完整周期图,从图5可以看出,一个完整周期的时间包括:

  • “R”槽

与 v4.0/4.1 相同,80 µs。

  • T_IFS, 150 m
  • “T”槽

最大数据包长度为:

前言 访问地址 标题 有效载荷 麦克风 CRC
1 4 2 251 4 3

1 + 4 + 2 + 251 + 4 + 3 = 265 个八位字节

它将消耗 2120 µs,因为:

在这里插入图片描述

对于 4.2 吞吐量,计算为:

在这里插入图片描述

蓝牙 5

对于蓝牙5,调制速率有两个选项。第一个是1Mb/s,如蓝牙v4.0/4.1/4.2;第二个是我们接下来要讨论的,2Mb/s。从蓝牙 v4.2 到蓝牙 5 的数据包格式相同:有效载荷为 251 个八位字节。因此蓝牙5 1Mb/s 的数据吞吐量与蓝牙 4.2 相同。

但是开启2Mb/s后就不一样了。您可以在图 6 中看到这一点。

在这里插入图片描述

上图是一个完整的周期图。从上图可以看出,一个完整周期的时间包括:

  • “R”槽

空 PDU 的长度为 10 个八位字节:

前言 访问地址 标题 CRC
1 4 2 3

空 PDU 的长度 = 1 + 4 + 2 + 3 = 10 个八位字节。

它将消耗 40 µs x 2Mb/s,因为:

在这里插入图片描述

  • T_IFS, 150 m
  • “T”槽

最大数据包长度为:

前言 访问地址 标题 有效载荷 麦克风 CRC
1 4 2 251 4 3

1 + 4 + 2 + 251 + 4 + 3 = 265 个八位字节

它将消耗 1060 µs,因为:

在这里插入图片描述

对于蓝牙 5 吞吐量,计算公式为:

在这里插入图片描述

结论

对于蓝牙®低功耗理论上的吞吐量,下图说明了蓝牙低功耗规范之间的差异。您可以看到蓝牙 5 的带宽是 4.0/4.1 的约 4.6 倍和 4.2 的约 1.7 倍。更高的带宽可以转化为更高的速度,这将使低功耗蓝牙能够比以往更快地传输数据流——更高效、更少的频段占用,更适合快速数据传输。对于无线固件升级或可穿戴设备数据日志同步等应用场景,蓝牙 5 将带来出色的用户体验,而更高的速度将为未来的高数据速率流传输构建坚实的平台。
在这里插入图片描述

目录
相关文章
|
物联网
低功耗蓝牙(BLE)设备常用的4种角色
对于主从设备的其它说法,大家需要了解一下。对于Central和Peripheral有多种说法,上面我们说的是主从,还有客户端/服务端,中心设备/外围设备,我们这里简单介绍一下,客户端(Client)对应上面的Central,接收数据;服务端(Server)对应上面的额Peripheral,提供数据,这个需要和网站的服务器/客户端区别一下;中心设备(Central)和外围设备(Peripheral),其实上面叫中心设备和外围设备。上面主设备(Master)和从设备(Slave)应该对应主/从。这个根据个人习惯,主/从用的比较多,如果在蓝牙中提到这些知道就行了。
758 0
|
物联网 测试技术 Android开发
蓝牙BLE传输性能及延迟分析
BLE传输性能主要受以下几个因素影响:操作类型,Connection Interval,每个Connection Event内发送的帧数、每一帧数据的长度。具体参见如下链接: https://en.wikipedia.
3714 0
|
6月前
|
传感器 物联网 芯片
低功耗蓝牙(BLE) 和 经典蓝牙(SPP) 的区别
如何选择适合的蓝牙协议以实现最佳的无线通信效果。
524 0
|
编解码 物联网
【BLE】蓝牙5.2 新特性 - LE Audio
连接同步通道是基于蓝牙连接的,首先要先建立ble连接基于时间同步的音频传输机制,可以实现多个设备的数据同步一个master可以建立多个CIG每个CIG可以最多31个CIS每个CIS里面最多有31个subevent链路层有LL_CIS_REQ 和 LL_CIS_RSP来创建CIS无连接的单向的,无应答机制广播通道,对接收者的数量没有限制不仅可以广播数据包还可以广播控制包每个big里面最多可以包含31个bis。
1908 0
【BLE】蓝牙5.2 新特性 - LE Audio
|
物联网 API 数据库
一文带你认识蓝牙 GATT 协议
正所谓磨刀不误砍柴工,我们有必要先深入的学习一下 GATT 以及 GATT 相关的一些知识。 本文我们就来了解一下 蓝牙 GATT 到底是什么?同时了解下我们使用的 ESP32-C3 GATT示例的工程的代码结构。
4884 4
一文带你认识蓝牙 GATT 协议
|
传感器 物联网 Android开发
Android蓝牙使用详解(低功耗蓝牙(BLE))
Android蓝牙使用详解(低功耗蓝牙(BLE))
|
物联网 芯片
|
安全 IDE 物联网