蓝牙物联网

 找回密码
 立即注册
蓝牙物联网
搜索
热搜: 蓝牙 Bluetooth BLE
查看: 735|回复: 0

用数值告诉您蓝牙5到底有多快

[复制链接]

15

主题

68

帖子

165

积分

助理工程师

Rank: 2

积分
165
发表于 2017-3-21 18:47:31 | 显示全部楼层 |阅读模式
本帖最后由 zhjrdz 于 2017-3-23 19:53 编辑

蓝牙5来了,它在蓝牙4.2核心规范之上实现了大幅提升:4倍的传输范围扩展、2倍的传输速率提升以及8倍的广播数据包扩展。开发人员可以访问蓝牙技术联盟网站,下载最新的蓝牙5核心规范。

蓝牙5发布后,一位开发人员问我:“有了更高的带宽功能,蓝牙5的速度到底有多快呢?”今天,我们将从理论的角度再次深入探讨蓝牙5和早前版本的蓝牙低功耗数据吞吐量。

大家知道,对于无线连接,有一些传输成本用于链路维护和数据包冗余,以保持蓝牙连接的稳健性和高效性。 对于蓝牙低功耗连接,从一个设备到其对等设备的完整传输周期如下图:

图1

  • [size=1.4]“T”时隙是传输时隙,用以传输数据帧,数据帧包括帧头、有效载荷和完整性校验字段,有用的数据将位于有效载荷中以进行发送。

  • [size=1.4]“R”时隙是来自对等设备的应答数据包;当设备向对等设备发送一个数据包时,对等设备将发回具有最小数据包长度的数据包,以指示早前传输成功。

  • [size=1.4]“T_IFS”是帧间间隔;它定义了两个连续数据包之间的时间间隔。 “T_IFS”应为150μs,无论使用的是蓝牙5还是蓝牙4.0。 关于“T_IFS”的详细信息,请参考蓝牙5或蓝牙v4.0、v4.1和v4.2核心规范的第6卷B部分第4.1节。


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


当建立连接时,我们能够使用此公式计算从蓝牙4.0到蓝牙5的数据吞吐量。


蓝牙v4.0 / 4.1
蓝牙v4.0 / 4.1具有相同的低功耗数据包格式和相同的调制速率,即1Mb / s,这意味着发射机具有在一秒内发送1M bit的能力。

图 2

图2表示蓝牙4.0 / 4.1链路层数据包的数据包格式、PDU格式和帧头格式。 从图2中可以看出,长度字段长度为5位(黄色高亮显示;5位等于二进制的0b11111、十六进制的0x1F、十进制的31),它可以表征0~31 的数值范围, 指示有效载荷和MIC(如果包含)的长度。 有效载荷字段的长度应小于或等于27个字节,因为MIC长度为4个字节,31-4 = 27。


图 3

图3是一个完整的周期图,从中可以看出一个完整周期包括:        
  • [size=1.4]"R时隙".


最小单帧长度为:10个八位字节,因为:

前导码接入地址报头CRC
1423

最小单帧PDU的长度= 1 + 4 + 2 + 3 = 10个字节。
1Mb/s速率下,它将消耗80μs,因为:


  • [size=1.4]T_IFS, 150 µs.

  • [size=1.4]"T时隙"



最大数据包长度为:
前导码接入地址报头有效载荷MICCRC
1422743

1 + 4 + 2 + 27 + 4 + 3 = 41个八位字节
它将消耗328μs,因为:


4.0 / 4.1吞吐量计算公式为:


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

图 4

从图4中可以看出,长度字段的长度为8位(黄色高亮显示,8位等于二进制的0b11111111、十六进制的0xFF、十进制的255),它具有0到255个字节,其指示了有效载荷和MIC(如果包括)的长度。 有效载荷字段的长度应小于或等于251个字节,因为MIC长度为4个字节,255-4 = 251。



图 5

图5是一个完整的周期图,从中可以看出一个完整周期包括:
  • [size=1.4]"R时隙"


它与v4.0 / 4.1相同,为80μs。
  • [size=1.4]T_IFS, 150 ms.

  • [size=1.4]"T时隙"


最大数据包长度为:
前导码接入地址报头有效载荷MICCRC
14225143

1 + 4 + 2 + 251 + 4 + 3 = 265个八位字节
它将消耗2120μs,因为:


蓝牙4.0 / 4.1吞吐量计算公式如下:




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

但是启用2Mb / s后就不同了。 图6中看到这一点。


图 6

图6是一个完整的周期图,从中可以看出一个完整周期包括:
  • [size=1.4]"R时隙"


空白PDU的长度为10个八位字节:
前导码接入地址报头CRC
1423

空白PDU的长度= 1 + 4 + 2 + 3 = 10个八位字节。
2Mb / s的速率下,它将消耗40μs,因为:


  • [size=1.4]T_IFS, 150 µs

  • [size=1.4]"T时隙"



最大数据包长度为:
前导码接入地址报头有效载荷MICCRC
14225143

1 + 4 + 2 + 251 + 4 + 3 = 265个八位字节
它将消耗1060μs,因为:


蓝牙5吞吐量计算如下:


结论

对于理论上的蓝牙低功耗吞吐量,下图说明了低功耗蓝牙各个版本之间的差异。可以看到蓝牙5的带宽比4.0/4.1版本高4.6倍,比4.2版本高约1.7倍。 更高的带宽可以转化为更高的速度,这将允许蓝牙低功耗能比以往更快速地传输数据流 —— 既更高效、且占用更少的频带,因而更适用于快速数据传输。对于诸如OTA固件升级或可穿戴设备数据日志同步等应用场景,蓝牙5将再次颠覆用户体验,而更高的速度也将为未来高数据速率流传输奠定坚实的基础。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|蓝嵌科技|蓝牙物联网

GMT+8, 2018-12-19 12:17

蓝牙物联网

© 2001-2015 www.bluetooth-iot.com

快速回复 返回顶部 返回列表