深入理解蓝牙5之高数据传输率

    距离蓝牙5标准的发布已经有一段时间了。 我们知道,蓝牙5具有更大的传输距离,是蓝牙4.2的4倍,更快的传输速度,是蓝牙4.2的2倍,同时广播数据包的长度也得到了提升,能够传输的数据是之前的8倍。蓝牙5发布后,有开发者问我,既然蓝牙5具有更高带宽,那它究竟能传输多快呢?今天我们就深入探讨一下蓝牙5的高数据传输率特性。这里主要针对蓝牙BLE技术。(注:之所以没有称之为蓝牙5.0,是因为官方认为此标准并非简单沿袭之前蓝牙4.0,4.1,4.2的方式,而是一次巨大的革新,是蓝牙技术的一个新阶段)。
    众所周知,对于无线连接来说,需要花费一定的传输成本用于链路层维护,同时数据包中还有一部分冗余数据用于确保连接的高效与鲁棒性。对于蓝牙BLE来说,一次完整的传输周期如图1所示:
这里写图片描述
* “T” 代表传输数据包,包括帧头,负载(payload),完整性检查。传输的有用信息位于负载区域。
* “R”代表从对端设备接收数据包。当本地设备发送数据包后,对端设备会返回应答数据。
* “T_IFS” 是帧间空闲(Inter Frame Space),它规定了两个连续数据包的时间间隔。不管是蓝牙5还是蓝牙4.0,T_IFS   都是150微秒。具体内容请参考蓝牙核心规范Vol 6, Part B, Section 4.1 。

所以对于蓝牙BLE,数据传输率公式如下所示,此时设备处于连接状态,利用这个公式我们就可以计算蓝牙4.0到蓝牙5的数据传输率了:
这里写图片描述

蓝牙4.0/4.1

    蓝牙4.0/4.1中BLE的包格式与信号调制速率相同,为1 Mb/s,即发送器每秒可以传输1M二进制位。
这里写图片描述
    图2为蓝牙4.0/4.1链路层传输数据的包格式,PDU格式,数据头格式。从图2可以看到,长度字段(图中高亮位置)只有5位,表示Payload+MIC的长度范围是0~31字节。因为MIC占4个字节,所以Payload的长度必需小于等于27。
这里写图片描述
    图3是一个完整的周期图。从图3可以看到,一个完整的周期包括:
* “R
空的PDU长度是10字节,因为:
这里写图片描述
在1Mb/s 速度下它将耗费80 us,因为:
这里写图片描述
* T_IFS,150 us
* “T
最大数据包长度是41字节:
这里写图片描述
它将耗费328 us,因为:
这里写图片描述
所以对于蓝牙4.0/4.1,真正的数据传输率为:
这里写图片描述

蓝牙4.2

    蓝牙4.2的调制速率与蓝牙4.0/4.1相同,依然是1 Mb/s。但是数据包格式不同。如图4所示:
这里写图片描述
    从图4可以看到,长度字段有8位(图中高亮部位),可以表示的长度范围是0~255。所以Payload的长度必需小于等于251。
这里写图片描述
    图5是一个完整的周期图,与前面提到的类似,只是“T”的长度不同,最大数据包长度是265字节:
这里写图片描述
它将耗费2120 us,因为:
这里写图片描述
所以对于蓝牙4.2,真正的数据传输率为:
这里写图片描述

蓝牙5

    蓝牙5的调制速率有两种。第一种与蓝牙4.0/4.1/4.2相同,为 1 Mb/s 。第二种为 2 Mb/s 。蓝牙5与蓝牙4.2的包格式相同,Payload最大为251字节。所以在 1 Mb/s的信号调制速率下,蓝牙4.2与蓝牙5的数据传输率相同。当使用 2 Mb/s调制速率时二者不相同,如图6所示:
这里写图片描述
    图6是一个完整的周期图。从图6可以看到,一个完整的周期包括:
* “R
空的PDU长度是10字节,因为:
这里写图片描述
在2Mb/s 速度下它将耗费40 us,因为:
这里写图片描述
* T_IFS,150 us
* “T
最大数据包长度265字节:
这里写图片描述
它将耗费1060 us,因为:
这里写图片描述
所以对于蓝牙5,真正的数据传输率为:
这里写图片描述

总结

    下图从理论上对比了不同版本蓝牙BLE规范的数据传输率。我们可以看到,蓝牙5的带宽是蓝牙4.0/4.1 的4.6倍,是蓝牙4.2的1.7倍。更高的带宽可以转化为更高的速度,这使蓝牙BLE能更快地传输数据流——更高效、更少的带宽占用,更适合快速数据传输。对于诸如OTA升级,或可穿戴设备的数据同步等应用场景,蓝牙5会极大提升用户体验,同时更高的速度也为将来的高速数据流传输构建了一个可靠的平台。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/bi_jian/article/details/80780915