【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)应该对应主/从。这个根据个人习惯,主/从用的比较多,如果在蓝牙中提到这些知道就行了。
871 0
|
1月前
|
传感器 物联网 定位技术
低功耗蓝牙
低功耗蓝牙(Bluetooth Low Energy,简称BLE)是一种无线通信技术,专为低功耗应用设计。它在保持蓝牙无线连接的同时,大幅降低了能耗,适用于各种小型设备和传感器,如智能手环、健康监测器等。
|
物联网 API 数据库
一文带你认识蓝牙 GATT 协议
正所谓磨刀不误砍柴工,我们有必要先深入的学习一下 GATT 以及 GATT 相关的一些知识。 本文我们就来了解一下 蓝牙 GATT 到底是什么?同时了解下我们使用的 ESP32-C3 GATT示例的工程的代码结构。
5100 4
一文带你认识蓝牙 GATT 协议
|
7月前
|
传感器 物联网 芯片
低功耗蓝牙(BLE) 和 经典蓝牙(SPP) 的区别
如何选择适合的蓝牙协议以实现最佳的无线通信效果。
558 0
|
传感器 物联网 Android开发
Android蓝牙使用详解(低功耗蓝牙(BLE))
Android蓝牙使用详解(低功耗蓝牙(BLE))
|
物联网 芯片
|
C语言
bluez5.50蓝牙文件传输
bluez5.50蓝牙文件传输
1006 0
bluez5.50蓝牙文件传输
|
编解码
【经典蓝牙】蓝牙AVRCP协议分析
蓝牙AVRCP协议是蓝牙设备之间音视频的控制协议。定义了音频/视频的控制、浏览、查询、通知等一系列的命令集。常用来蓝牙耳机对手机的音乐进行控制,以及获取手机的音乐信息等场景。AVRCP协议有两个角色,分别是controller(CT)和 target(TG)。CT: 发送控制命令到对端,控制对端媒体播放器的设备,例如蓝牙耳机,蓝牙遥控器等。TG:接收对端的控制命令,并执行操作,进行回复的设备,例如手机,电脑等。
3019 0
【经典蓝牙】蓝牙AVRCP协议分析
|
编解码 算法 数据格式
【经典蓝牙】蓝牙 A2DP协议分析
A2DP(Advanced Audio Distribution Profile)是蓝牙高音质音频传输协议, 用于传输单声道, 双声道音乐(一般在 A2DP 中用于 stereo 双声道) , 典型应用为蓝牙耳机。         A2DP旨在通过蓝牙连接传输高质量的立体声音频流。它使用的基本压缩算法是SBC(Sub-Band Coding)来减小音频数据的大小,同时保持高音质,SBC压缩虽然效率较低,但是是必须支持的基本备用方案。A2DP还支持其他高级编解码器,例如AAC、aptX和LDAC,这些编解码器比SBC提供更好的音质,但这些编解码器的支持取决于设备本身的支持情况。
2491 0
【经典蓝牙】蓝牙 A2DP协议分析
|
传感器 Ubuntu 物联网
ESP32-C3 学习测试 蓝牙 篇(一、认识 ESP-IDF 的蓝牙框架、简单的了解蓝牙协议栈)
在我们前面 ESP32-C3 的教程中,从基本的外设,到wifi,到最后使用MQTT连接云平台完成了一个 简单的项目,我们已经掌握了ESP32-C3 的大部分功能了。 但是作为一款蓝牙芯片,蓝牙的使用是必不可少的,今天我们就开始对 ESP32-C3 蓝牙的使用进行学习测试。 蓝牙部分已经不敢叫教学了,为了搞清楚ESP-IDF的那些示例程序到底是关于什么内容, 因为自己也是边学习边测试花了大量时间补充蓝牙的基本知识,希望小伙伴指出不足之处! ...更新说明,ESP32-C3只支持BLE
2034 2
ESP32-C3 学习测试 蓝牙 篇(一、认识 ESP-IDF 的蓝牙框架、简单的了解蓝牙协议栈)