距离蓝牙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会极大提升用户体验,同时更高的速度也为将来的高速数据流传输构建了一个可靠的平台。

深入理解蓝牙5之高数据传输率相关推荐

  1. 深入理解蓝牙BLE之“蓝牙的发展历程”

    目录 蓝牙 第一代 V1.0版(发布日期1999.7.5) V1.1版(发布日期2001.2.22) V1.2版(发布日期2003.11.5) 蓝牙 第二代 V2.0版(通常写成Bluetooth 2 ...

  2. 深入理解计算机系统 -资料整理 高清中文版_在所不辞的博客-CSDN博客_深入理解计算机系统第四版pdf

    深入理解计算机系统 -资料整理 高清中文版_在所不辞的博客-CSDN博客_深入理解计算机系统第四版pdf

  3. 深入理解分布式技术 - 缓存高可用

    文章目录 Pre Redis 的主从复制 Redis Sentinel--Redis 哨兵 Redis Cluster 集群 Twemproxy (Twitter) Codis(豌豆荚) Redis ...

  4. 唱歌如何保持高位置_如何理解歌唱发声的高位置?如何保持高位置歌唱状态?【男高音】...

    一.何谓声音的高位置? 高位置是指嗓音的位置和焦点"安放"的一种潜意识形态.对于男高音的歌唱,必须训练歌者在高位置上发声的习惯,熟练运用鼻咽腔和额窦腔的共鸣作用,让歌声进入面罩.获 ...

  5. 深入理解蓝牙BLE之“BQB认证”

    什么是蓝牙BQB认证? 蓝牙认证也就是BQB认证(Bluetooth Qualification Body),简言之就是如果您的产品具有蓝牙功能并且在产品外观上要标明蓝牙标志,必须通过一个叫做BQB的 ...

  6. 深入理解Java虚拟机(Java高阶读书笔记)

    深入理解Java虚拟机 - JVM高级特性与最佳实践(周志明)第2版 只要看:第2章.第3章.第4章.第5章简单看一看.第六章看6.1和6.2.第7章以及第12和13章.12和13属于并发里面的补充. ...

  7. KT6368A蓝牙透传芯片SOP8封装国产蓝牙双模性价比高

    目录 一.简介 KT6368A芯片是一款支持蓝牙双模的纯数据芯片,蓝牙5.1版本.芯片的亮点在超小尺寸,超级价格.以及简单明了的透传和串口AT控制功能.大大降低了嵌入蓝牙在其它产品的开发难度和成本 完 ...

  8. 深入理解蓝牙5之远距离通信

    物联网时代      据高盛的一篇文章所述,在20世纪90年代,大约有10亿台设备连接到互联网上.进入21世纪,随着智能手机的普及,这个数字上升到20亿.ABI研究公司预测,到2021年,将有480亿 ...

  9. 深入理解分布式技术 - 如何确保高可用

    文章目录 Pre 身边的能感受到的高可用保障的手段 高可用保障的常见手段 Pre 这部分的内容,将以电商大促为背景,讲解系统限流.降级熔断.负载均衡.稳定性指标.系统监控和日志系统等方面的内容. 今天 ...

最新文章

  1. 计算机科学 44(6a 增刊,窃昕攻击下子空间码的安全性-计算机科学.PDF
  2. linux存储--共享内存机制shm(十三)
  3. java script isblank_java判断一个字符串是否为空,isEmpty和isBlank的区别
  4. 《关系营销2.0——社交网络时代的营销之道》一检查拼写和语法
  5. ASP.NET Core 十种方式扩展你的 Views
  6. 学习深度学习需要哪些知识_您想了解的有关深度学习的所有知识
  7. WPF入门教程系列(二) 深入剖析WPF Binding的使用方法
  8. 程序员求助:腾讯面试题,64匹马8个跑道,多少轮选出最快的四匹
  9. 第一讲:网络协议概述
  10. UVALive - 5713 最小生成树
  11. Qt Style Sheets Reference Qt css 样式属性列表[官版]
  12. iframe透明解决方案
  13. RESTful 接口设计规范
  14. 2019重庆大学计算机学院研究生,【计算机】计算机学院举行2019级研究生年级大会...
  15. Java期末大作业基础项目--在线学生选课系统
  16. 经典爬虫:爬取百度股票
  17. Banana Pi开源社区开源硬件瑞芯微RK3568/RK3588全国产化支持计划
  18. smali打印callstack,Java打印callstack,JNI c++ 打印callstack
  19. 网站加载图片速度提升
  20. de1-soc培训教材记录

热门文章

  1. 谷歌三大论文之the Google File System
  2. Spring MVC 4 + Spring Security 4 + Hibernate +JPA实战
  3. vbs实现的支持拖动的txt文本切割器
  4. linux切割文件命令,Linux系统下切割文件的split命令用法教程
  5. Java使用luhn校验算法实现银行卡号合法性校验获取银行卡号所属银行
  6. 【5.20】用 canvas 绘制一朵玫瑰
  7. matlab中关于双重积分的问题
  8. eve-ng导入华为路由器镜像
  9. 微博图片作者识别功能,找到发图的人
  10. QT: skipping incompatible xx/xxx.dll when searching for -lxxx