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

本文主要是讲述了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数据通信速率。

基于Contourlet变换的稀疏成分分析提高遥感图像信号的分离精度
海洋工程装备制造业是《中国制造2025》确定的重点领域之一
华硕YX570ZD笔记本完美的解决了薄和性能强大的问题
Digi-Key Electronics发布《数字化城市》视频系列的第2季,第二季重点关注以技术为中心的智能家居的兴起
电源管理原理解析及参考设计集锦
BLE应用提高数据通信速率的方法
ADI看好智能电网设备市场,汇聚式处理器提供核心平台
成本500美元:“星战”全息影像可由电脑实现
用于流媒体的内容交付网络
满足探地雷达主机应用需求的高速板对板连接器
iOS圣诞下载排行榜一览:消费者偏好VR体验
马斯克称人类首次植入脑机接口芯片 神经元尖峰检测(neuron spike detection)很有前景
新宝骏旗下六款车型将通过OTA升级支持HUAWEI HiCar
5G研发已进入第二阶段 国内外共同推动5G产业链成熟
人美本更靓 台电X8性感MM热辣登场
以松下空气净化器为例 本文告诉你选购净化器有哪些要点
南卡和漫步者哪个更好?两款蓝牙耳机的深度对比!
半导体行业走势分析
应急启动电源放车上安全吗?安全问题探讨
使用 Microsoft Azure Stack HCI 和 NVIDIA BlueField DPU 加速企业应用程序