本文主要是讲述了BLE应用提高数据通信速率的方法,主要可简述为以下几个方面:
●使能DLE单帧数据长度扩展;
●BLE5.0及以上版本,使用LE 2M PHY;
●使用通知notify或写入无响应Write without
●Response数据类型
●尽可能增大 MTU,提高单次数据收发效率;
●选择1个合适的连接间隔;
下文将针对以上几点,进行详细阐述。
描述
假设主从端采用通知有响应indicate数据类型,1M PHY编码率,每个连接间隔包含1个连接事件(公式②中的连接事件时间,我司模块采用协议栈默认值,一般就是协议栈允许最大值)。
如图2,主、从机间单个数据包通信流程包含:从机发给主机空包、上一个包结束到下一个包开始之间的时间间隔IFS(协议规定是150us)、从机接收主机回复的完整data数据包、IFS。
![](https://file.elecfans.com//web2/M00/9B/F0/pYYBAGQkFKeAbxmHAAEMIubpJxg788.jpg)
图1 连接间隔与连接事件
![](https://file.elecfans.com//web2/M00/9B/6D/poYBAGQkFKiAJDDoAADdAGKgJCk375.jpg)
图2 主、从机间收发1个数据包通信流程
![](https://file.elecfans.com//web2/M00/9B/F0/pYYBAGQkFKmADv9xAAHALUuxsts471.jpg)
图3 BLE ATT数据帧结构
那么,公式①:
![](https://file.elecfans.com//web2/M00/9B/F0/pYYBAGQkFKqAZ7DxAAFRcz41XyU303.jpg)
公式②:
![](https://file.elecfans.com//web2/M00/9B/6D/poYBAGQkFKqABJbUAAC-fgvv-i0321.jpg)
公式③:
![](https://file.elecfans.com//web2/M00/9B/F0/pYYBAGQkFKuAQ1pVAACe1-XWOTw096.jpg)
公式④:
![](https://file.elecfans.com//web2/M00/9B/F0/pYYBAGQkFKyAFBJ6AADwinhaFks584.jpg)
公式⑤:
![](https://file.elecfans.com//web2/M00/9B/F0/pYYBAGQkFK6AUTIQAAFBkYBOr3Y683.jpg)
结论
分析上述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数据通信速率。
-
物联网
+关注
关注
2914文章
45014浏览量
377916 -
BLE
+关注
关注
12文章
671浏览量
59655
发布评论请先 登录
相关推荐
数据通信基础课件
数据通信的基本概念
无线移动数据通信,无线移动数据通信是什么意思
数据通信,数据通信原理是什么?
![<b class='flag-5'>数据通信</b>,<b class='flag-5'>数据通信</b>原理是什么?](https://file.elecfans.com/web1/M00/E9/A5/pIYBAGBtDdyATx-XAABeVWAyyyQ158.jpg)
什么是数据通信的传输速率
数据通信协议种类分析
![<b class='flag-5'>数据通信</b>协议种类分析](https://file.elecfans.com/web1/M00/EA/BE/pIYBAGB1QBuAYfPPAAD3Os-fTEE987.jpg)
数据通信协议的简介_数据通信协议有哪些
![<b class='flag-5'>数据通信</b>协议的简介_<b class='flag-5'>数据通信</b>协议有哪些](https://file.elecfans.com/web1/M00/45/DA/pIYBAFp5amiAX1D6AAELe7ft_Aw390.png)
详谈数据通信的传输速率分类和原理
详谈数据通信的传输损耗分类和原理
![详谈<b class='flag-5'>数据通信</b>的传输损耗分类和原理](https://file.elecfans.com/web1/M00/C2/45/o4YBAF8Y-ZqAN1VvAAAdil0g22M758.png)
评论