首页 > 其他 > 详细

nrf52840蓝牙BLE5.0空中速率测试(nordic对nordic)

时间:2019-04-24 15:56:42      阅读:632      评论:0      收藏:0      [点我收藏+]

 

一、基础知识:

【1】Data Length:物理层发送一包数据的最大值;

【2】MTU: ATT层发送一次数据长度的最大值;

【3】GAP Event Length:一个connection event中多包持续最大时间,相应的限制了每个连接间隔中间的最大包数;

【4】PHY : 物理层发送速率,目前支持1Mbps和2Mbps;还有长距离传输用的CODED,也是1Mbps的,但编码方式不同。

【5】Connection Interval:连接间隔;

【6】connection event length extension:连接事件长度扩展。可使能或者禁能。不太理解该项,因为未得到验证,但字面意思为:控制连接间隔之间是否可以发送多包的开关。

 

规定:

下行:主给从发数据;

上行:从给主发数据;

 

二、空中抓包速率对比:

1. nordic主对nordic从:

参数设置: data length = 251字节,MTU = 247字节, GAP Event Length = 500ms, PHY = 2Mbps,

connection event length extension = enable,

(1)Connection Interval = 7.5ms时:

下行:

技术分享图片

上行:

技术分享图片

单个event的时间:

技术分享图片

技术分享图片

从上面的图中可以看出,7.5ms连接间隔时(其它参数值看上面),

上下行连接间隔中可以发四包数据,所以,速率理论上为:188KB/s,但实测发送1000包速率平均为132KB/s.

 

(2)Connection Interval = 30ms时:

下行:

技术分享图片

上行:

技术分享图片

单个event时间:

技术分享图片

技术分享图片

从上面的图中可以看出,30ms连接间隔时(其它参数值看上面),

上下行连接间隔中可以发20包数据,所以,速率理论上为:178KB/s,但实测发送1000包速率平均为164KB/s.

 

(3)Connection Interval = 500ms时:

下行:

技术分享图片

上行:

技术分享图片

单个event时间:

技术分享图片

技术分享图片

从上面的图中可以看出,500ms连接间隔时(其它参数值看上面),

上下行连接间隔中可以发更多包数据,推算理论速率上为:176KB/s,但实测发送1000包速率平均为176KB/s.

 

通过上面不同连接间隔的设定,我们大致可以看出,当连接间隔增大时,实际速率会更接近理论速率,这是由于各个连接间隔之间的空余部分基本上都是一样大的,当连接间隔增大时,这部分空间占的比重会更小,因此通讯速率也就更高。但是过大的连接间隔有一个问题,那就是如果一个应用数据包通讯出错,那么该应用数据包得到纠正的时间至少是下一个连接间隔,导致响应时间变长,所以更短的连接间隔更容易纠错,更长的连接间隔速率更高。30ms时的速率和纠错时间达到了一个比较好的平衡,所以大数据量传输时,选择这个连接间隔会比较好一些。如果数据量非常小的话,还是7.5ms速度最快,响应时间最短。

 

关于其它几个参数:

PHY:PHY为2Mbps相对于1Mbps时快一倍,这个是直接的,比如1Mbps传输一个bit需要1us的时间,但是在2Mbps时,只需要0.5us。

由于是满包发送,且我的需求是发送的数据量越大越好,所以我把GAP Event Length和MTU和data length都设置成了最大进行测试。

nrf52840蓝牙BLE5.0空中速率测试(nordic对nordic)

原文:https://www.cnblogs.com/unrulife/p/10762527.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!