网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

BLE应用提高数据通信速率的方法

时间:2023-03-30 14:22

人气:

作者:admin

标签:

导读:本文主要是讲述了BLE应用提高数据通信速率的方法,主要可简述为以下几个方面:   ●使能DLE单帧数据长度扩展;   ●BLE5.0及以上版本,使用LE 2M PHY;   ●使用通知notify或写入...

本文主要是讲述了BLE应用提高数据通信速率的方法,主要可简述为以下几个方面:

  ●使能DLE单帧数据长度扩展;

  ●BLE5.0及以上版本,使用LE 2M PHY;

  ●使用通知notify或写入无响应Write without

  ●Response数据类型

  ●尽可能增大 MTU,提高单次数据收发效率;

  ●选择1个合适的连接间隔;

  下文将针对以上几点,进行详细阐述。

  描述

  假设主从端采用通知有响应indicate数据类型,1M PHY编码率,每个连接间隔包含1个连接事件(公式②中的连接事件时间,我司模块采用协议栈默认值,一般就是协议栈允许最大值)。

  如图2,主、从机间单个数据包通信流程包含:从机发给主机空包、上一个包结束到下一个包开始之间的时间间隔IFS(协议规定是150us)、从机接收主机回复的完整data数据包、IFS。

图1 连接间隔与连接事件

图2 主、从机间收发1个数据包通信流程

图3 BLE ATT数据帧结构

  那么,公式①:

  公式②:

  公式③:

  公式④:

  公式⑤:

  结论

  分析上述BLE数据通信速率计算公式,可看出提高BLE数据通信速率的方法有以下几点,具体分析过程如下所示:

  ●从上述公式①可看出,适当减小连接间隔可以提高BLE数据通信速率,但是也要明白连接间隔会影响功耗和客户体验,即连接间隔减小、功耗会提高;连接间隔增加、实时性越差、用户体验感越差。

  ●结合公式②和③可看出,避免空包出现可以提高BLE数据通信速率,所以一般建议客户使用通知notify和写入无响应Write without Response,而不要使用通知有响应indicate和写入有响应Write。

  ●结合公式①和⑤可看出,使ATT payload尽可能的大,可提高BLE数据通信速率,那么使能DLE数据扩展后,Max ATT payload将从4.0/4.1协议的20bytes,提高至4.2/5.0协议的244bytes。

  ●结合公式④和⑤可看出,使用LE 2M PHY可以提高BLE数据通信速率,但是需注意2M PHY只有BLE5.0/5.1协议才支持,4.2及以下版本协议不支持。

  ●当MCU发给BLE设备的数据包字节数超过ATT MTU值时,协议栈会进行分包,如果ATT MTU尽可能大,例如大于等于Max ATT Payload,那么拆包数将达到最小,这将最小化数据包无效字节开销(即除了ATT Payload外其他字节开销),结合公式④和⑤可看出,这将极大提高BLE数据通信速率。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信