1. 理论速率

    在BLE产品中,一个普遍的矛盾就是功耗和数据速率之间的矛盾:为了传输快,就需要提高传输速率,但提高传输速率,则增大了功耗。

    BLE规范目前定义了两种调制速率1Mbit/s和2Mbps,

    BLE 5.0理论上最高可以支持到2Mbps,但在实际应用中会收到各种原因影响,速率会低很多,例如双向传输,协议开销(协议头),CPU的能力,RF硬件的限制等等

    一旦BLE设备建立连接后,两个设备会以相等的时间间隔交换数据,这个间隔成为连接间隔(Connection Interval),间隔范围是7.5ms-4s。并且,要交互的数据都发生在Connection Event之间,其余时间处于sleep状态,即使应用层无数据交互,整个链路也会以Connection Interval间隔交互数据(空包),应用层数据多,Connection Event时间就越长,sleep时间就越短。

因此,连接间隔决定着传输速率,值越小,发送数据越快,但功耗也会越大。假如连接间隔是7.5ms,每个连接间隔可以发送125个字节,那么单向传输速率计算如下:

1000ms / 7.5ms *125bytes = 16666 bytes/sec = 133333 bps

 

如果是有回应的,双向传输:

1000 ms / (2 * 7.5 ms) * 125 bytes = 8,333 bytes/sec =66,666 bps

2. PDU大小

在数据通过BLE传输时,数据是以包(packet)的方式收发的,多个包可以在一个连接间隔内发送出去,每个包大小并不一定一样,但包有最大限制,因此又需要引入一个PDU(protocoldata unit)的概念。最大PDU表示在一个连接间隔中能发送的最大数据能力。不同BLE协议栈中或者不同的芯片支持的值是不同的例如下图是Silabs蓝牙芯片中支持的情况。

3. ATT MTU

MTU(maximumtransfer unit)和最大PDU类似,也用于表示在一次连接间隔内能发送多少数据,其概念用于GATT交互中。

数据吞吐量(DataThroughput)的计算

Nordic nRF51822

nRF51822使用的是1MbpsPHY,根据其规范说明,一个连接间隔内最大可以发送120个字节,因此当连接间隔设置为7.5ms时,最大传输速率计算:

1000ms/7.5ms * 120 = 15960 bytes /s = 127680 bps

可以看到,即使按照最短连接间隔计算,速率也原小于BLE规范理论速率。

Nordic nRF52840

nRF52840 支持蓝牙5.0,其ATT PDU是可配置的,假如我们设置MTU为251 个字节,按照最小连接间隔读操作或者有回应写操作,计算如下:

1000ms / (2*7.5 ms)* 251bytes = 16733  bytes/sec = 133866bps

4. 蓝牙5.0的最大数据吞吐量

要获取最大数据吞吐能力,可以将写操作属性设置为不需要ACK,即Write withoutACK,此时IFS以及接受和发送的时间都将极大优化,其蓝牙官网中给出的最大计算能力表示如下:

各个版本最大值如下

参考

https://www.bluetooth.com/blog/exploring-bluetooth-5-how-fast-can-it-be/

https://www.nordicsemi.com/Products/Low-power-short-range-wireless/nRF52840

https://www.silabs.com/community/wireless/bluetooth/knowledge-base.entry.html/2015/08/06/throughput_with_blue-Wybp

zz

https://mp.weixin.qq.com/s?__biz=MzI1NTIzMTk0Ng==&mid=2247483667&idx=1&sn=801d1c24764e31c89a0b53f2da635c29&chksm=ea3853b6dd4fdaa04c74a60ebb9728299d022f73e811962fed6e47664a406ad58043b2567b97&token=1514169698&lang=zh_CN#rd

BLE 传输速率/数据吞吐量(Data Throughput)相关推荐

  1. 如何实现BLE 最大数据吞吐率并满足设计功耗要求?

    文章目录 一.如何提高BLE 数据传输速率? 1.1 Nordic BLE 最大数据吞吐率是多少? 1.2 如何获知BLE 当前数据吞吐率? 1.3 如何提高BLE 数据传输速率? 1.3.1 LE ...

  2. 认知:大数据-Big Data

    大数据-Big Data 作者 | WenasWei 一 大数据 大数据(Big Data)也称为海量数据(Massivee),是随着计算机技术及互联网技术的高速发展而产生的数据现象,2013年也称为 ...

  3. linux中mysql回滚重演_DM7 达梦 数据库 数据守护(Data Watch) (1) -- 基本概念

    1 数据守护概念 DM 数据守护(Data Watch)是一种集成化的高可用.高性能数据库解决方案,是数据库异地容灾的首选方案.数据守护可以配置成实时主备.MPP主备.或读写分离集群,基本不受数据规模 ...

  4. IOPS、带宽(band width)、吞吐量 (throughput)

    SAN和NAS存储一般都具备2个评价指标:IOPS和带宽(throughput),两个指标互相独立又相互关联.体现存储系统性能的最主要指标是IOPS. IOPS (Input/Output Per S ...

  5. android ble蓝牙接收不到数据_Android蓝牙4.0 Ble读写数据详解 -2

    Android蓝牙4.0 Ble读写数据详解 -2 上一篇说了如何扫描与链接蓝牙 这篇文章讲讲与蓝牙的数据传输,与一些踩到的坑. 先介绍一款调试工具,专门调试Ble蓝牙的app.名字叫:nRF-Con ...

  6. BLE传输速率以及抓包工具

         一.BLE传输速率       1.BLE理论吞吐率以及吞吐率计算 1)BLE4.0/4.1的理论吞吐率为39kb/s: 2)BLE4.2的理论吞吐率为100kb/s: 3)BLE5.0的理 ...

  7. 数据吞吐量高达800亿条!实时计算在贝壳找房的应用实践

    摘要:本文由贝壳找房实时计算负责人刘力云分享,主要内容为 Apache Flink 在贝壳找房业务中的应用,分为以下三方面: 业务规模与演进 Hermes 实时计算平台介绍 未来发展与规划 重要:点击 ...

  8. Android的BLE广播数据包介绍和解析---BLE--Android系列, 蓝牙技术BLE

    目录 一.引言 二.广播的类型 三.广播数据格式 四.广播数据解析 五.总结 一.引言 理解和分析这个数据包结构(这里面也涉及广播间隔时间的设置,设备广播数据间隔设置长了,会影响设备被发现的效率:设置 ...

  9. KT6368A蓝牙芯片的MTU的说明以及如何加快BLE传输速率

    目录 一.蓝牙MTU的简介 二.详细的方法说明以及测试 三.KT6368A提升ble传输速率方法 BLE传输带宽主要跟两个要素有关: 通信周期和每个通信点可传输的数据量. 1.通信周期: 安卓手机一般 ...

最新文章

  1. 王咏刚分享DeeCamp三年成功经验:学生超自主,导师很顶尖,批量培养AI人才不是梦...
  2. winform中键盘和鼠标事件的捕捉和重写(转)
  3. office自定义安装选项_如何自定义Office 2013中功能区上的现有选项卡
  4. AAAI 2018经典论文获奖者演讲:本体论的昨天和今天
  5. Python——rrdtool模块的安装
  6. SQLException:The server time zone value is unrecognized
  7. f4 stm32 神经网络_STM32神经网络开发工具箱将AI技术引入边缘和节点嵌入式设备...
  8. mongodb java 嵌套查询_MongoDB java 查询嵌套JSON数据?
  9. 日志管理-NLog日志框架简写用法
  10. java ajaxsubmit_jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
  11. 如何填写xshell注册码_激活码
  12. HTML——1.Sublime快捷键、HTML常用标签
  13. 遇见的网易云评论整理(持续更新)
  14. java 为文件赋权,linux 系统给文件赋权命令大全
  15. python视觉识别定位_机器视觉以及验证码识别
  16. 穿透内网群晖NAS实现远程访问【无公网IP】
  17. 【信息技术学考】2021年深圳市高中学业水平考试卷(解析版)
  18. Mineflayer简介——Minecraft机器人
  19. Mac下安装cordova-hot-code-push-cli失败
  20. SIM卡状态字 SW1 SW2

热门文章

  1. 问题 AI: cos(x)-x=0
  2. 这里主要推荐一下前端常用,提高效率的一些库和软件
  3. AutoCAD 初学者课程
  4. go语言的魔幻旅程20-io包
  5. 爬取pexels女性图片+百度人脸检测过滤高颜值美女
  6. 网络营销信息源类别及传递调查
  7. 小白如何快速训练词向量
  8. java显示日历 插件_JAVA里 怎么用日期控件 在Grid里显示这个月的1-31号
  9. task host window任务宿主阻止关机解决方法
  10. python ubuntu word txt 转pdf,python实现pdf转换成word/txt纯文本文件