两台BLE设备创建连接后,从主设备发送数据包起来

BLE传输品质主要受以下多少个要素影响:操作类型,Connection
Interval,每种Connection
伊夫nt内发送的帧数、每壹帧数据的尺寸。具体参见如下链接:

Connection Events

连日事件

https://en.wikipedia.org/wiki/Bluetooth\_low\_energy

 本身在TI官方网站的求学笔记,现整理如下

2个接连事件是指主设备和从设备之间相互发送数据包的长河。在再3再四个中,主设备会在各样连接事件里向从设备发送数据包。但是,连接事件的展开首终要放在一个频率,因为每一种数据包在上个数据包发完未来会再发送。

https://devzone.nordicsemi.com/question/3440/how-do-i-calculate-throughput-for-a-ble-link/

 

连天间隔决定了主设备与从设备的并行间隔,也正是说八个一连的接连事件起始处的时日相差,能够是7.5ms
~
四s里面包车型大巴任性值,但不能够不以一.二伍ms为倍数(BLE协议规定)。如上图所示,连接事件被一个个的连接间隔分开,从主设备发送数据包起来,每一种连接事件能够不断拓展,直至主设备或从设备截止响应(表达:在连接事件之外,主从设备之间不发送任何数据包)。

https://atmosphere.anaren.com/wiki/Data_rates_using_BLE

两台BLE设备创设连接后,全部的通讯事件都以透过Connection
伊芙nts中发出的

连接参数介绍

https://punchthrough.com/blog/posts/maximizing-ble-throughput-on-ios-and-android

 

两台BLE设备建立连接后,全部的通讯事件都以经过连日事件(Connection
伊芙nts)实行的。

近些日子的3个档期的顺序对BLE传输质量有较高要求,将上述几个元素依次确认,使用协议支持的最优值,个中Connection
Interval设置为7.五ms,每壹帧数据长度为20字节,每一种Connection
伊夫nt依照作业供给安装为贰,依此计算出的论战传输速度约为5600Bps。为了测试实效,在Android端写了一个小程序,将数据流和岁月戳打字与印刷出来,如下:

图片 1

配备在成立连接之后的大许多时光都是地处Sleeping,这种景观下耗能量就十分低,那也是BLE为何省电的原故之一。

[21]:TS 238.794720 PN 20780 [1]:
[21]:TS 238.795954 PN 20780 [2]:
[21]:TS 238.802182 PN 20781 [1]:
[21]:TS 238.802373 PN 20781 [2]:
[21]:TS 238.810432 PN 20782 [1]:
[21]:TS 238.832608 PN 20782 [2]:
[21]:TS 238.832650 PN 20783 [1]:
[21]:TS 238.832728 PN 20783 [2]:
[21]:TS 238.832751 PN 20784 [1]:
[21]:TS 238.832820 PN 20784 [2]:
[21]:TS 238.832843 PN 20785 [1]:
[21]:TS 238.833862 PN 20785 [2]:
[21]:TS 238.839201 PN 20786 [1]:
[21]:TS 238.839403 PN 20786 [2]:
[21]:TS 238.848280 PN 20787 [1]:
[21]:TS 238.848894 PN 20787 [2]:
……
[21]:TS 288.128815 PN 27346 [1]:
[21]:TS 288.128977 PN 27346 [2]:
[21]:TS 288.136323 PN 27347 [1]:
[21]:TS 288.136908 PN 27347 [2]:
[21]:TS 288.159292 PN 27348 [1]:
[21]:TS 288.159569 PN 27348 [2]:
[21]:TS 288.159922 PN 27349 [1]:
[21]:TS 288.165079 PN 27349 [2]:
[21]:TS 288.167879 PN 27350 [1]:
[21]:TS 288.168157 PN 27350 [2]:
[21]:TS 288.173809 PN 27351 [1]:
[21]:TS 288.173906 PN 27351 [2]:

 

(表达:在各样Connection 伊夫nts事件中,都亟需由Master发起包,再由slave回复。

在这之中贰1为多长、TS为时间戳、PN为包号,一和贰是1个Connection
伊芙nt内的包的种类。能够看出,一般景观下,三个Connection
伊夫nt发送两帧数据,那两帧数据的时刻间隔在一ms以内,五个Connection
伊夫nt之间的日子间隔约为7ms。为了直观展现测试结果,在PC端写了三个工具以剖析抓取的LOG,首要依靠包号、包的品类、字节长度和岁月戳,计算丢包率和传输速度,如下图所示。

 

Master即主机,简称M;Slave即从机,简称S。抓包进程中来看的M→S或然S→M,即主机到从机或许从机到主机。)

图片 2

 

由此退换上边八个参数,就足以设置BLE连接进程中的传输速度和功耗。

能够阅览,一共传输了约1陆.贰万个包,相当少丢失,两帧之间最大日子距离约为2②.38四ms,最大传输速度为56四壹Bps,平均速度约为558叁ms,与理论值相大致。Connection
Interval对传输品质的影响比较下图。

 

一.Connection Interval(连接间隔)

图片 3

上海体育场所为两台BLE建设构造连接后,用示波器从内部1台器械中衡量的波形

本条接二连三间隔是指在一个三番五次事件的开始到下二个总是事件的发端的岁月间隔(连接间隔以一.2五ms为单位;连接间隔的限制是陆~3200,即7.5ms~4s之间)

BLE传输延迟(Latency)主借使指设备端将数据放至蓝牙5.0协议栈到Android主机械收割到的光阴距离。由于通讯双方时间戳不合并,不能够根据后边通过打字与印刷时间戳的艺术来做总括传输延迟,只好通过硬件信号做一道。设备端将数据放至蓝牙五.0协议栈时给出二个实信号,Android主机械收割到该数额时也交给一个数字信号,使用示波器抓取五个能量信号就能够获取数码通过蓝牙( Bluetooth® )BLE传输的推迟,如下图所示。

 

二.Slave Latency(从设备延迟或然从设备时延)

图片 4

丙申革命是光阴轴 — 横轴,

允许Slave(从设备)在并未有数据要发的情况下,跳太早晚数额的连天事件,在那些连接事件中不要回复Master(主设备)的包,那样就能够更为省电(范围能够是0~499)。

能够见到BLE传输延迟约为八ms左右,会上下波动。

耗能量 — 深灰纵轴

详细解答如下:

多少传输延迟还跟Android端软件读取数据的动态平衡程度有关,Android端软件需及时将数据从缓存中读抽取来,不然也会形成一定的延迟。评估数据读取均匀程度的不2诀要同上,也是透过示波器抓取波形来看,如下图所示。

 

上海教室,Slave Latency
= OFF时,master发包,slave必须回复,假若然则来,Master就能够认为slave那边接受不正规。若Slave
Latency = ON时,master发包,slave允许有一个包不苏醒

图片 5

尖刺的波正是Connection
伊夫nts

三.Supervision Timeout(超时时间依旧监察超时)

当中一大路为道具端发送数据,贰通道为Android端读取数据,双方节奏基本保持1致,确定保证了霎时读取和分发设备端上报的数额。

 

本条参数设定了八个超时时间,借使BLE在这些时刻内未有发生通信的话,就能活动断开(单位是十ms,范围是十~3200即100ms~32s)。

本文主假如透过打击流氓犯罪和抓波形的不二等秘书籍,验证了蓝牙( Bluetooth® )BLE的传输性能和延时。实际调节和测试进程中还是能够应用FTS4BT工具深入分析btsnoop_hci.log文件,以钻探BLE创建链接、Update
Parameters和数码传输等细节。

结余的 Sleeping 是睡眠时间

总是间隔、从机时延以及超时时间这三者必须满意如下公式:

 

Supervision Timeout >(1 +slaveLatency)*(connectionInterval)

配备在成立连接后的大繁多光阴都以处在Sleeping的景况的

注:slaveLatency不能够算在supervision
Timeout的小时内,不然连接就能够不正规断开

 

那多个一连参数在区别情况下对通讯速率和功耗的熏陶:

这种场合下,功耗量唯有一uA

壹.Connection
Interval缩水,Master和Slave通讯尤其频仍,升高了数额吞吐速度,裁减了多少发送时间,但也拉长了耗电。

 

二.Connection
Interval加长,通讯频率降低,数据吞吐速度下落,数据发送等待的时光越来越长,但这种装置下降了耗能。

而在Connection
伊芙nts中,最高的是二十一个毫安

三.Slave
Latency减少只怕设置为0,那么每便一连事件中都亟待恢复Master的包,当然耗电会上涨,但数额发送速度也会增进。

 

4.Slave Latency加长,功耗下跌,数据发送速度下跌。

那就是BLE为啥省电的案由

关于Tunercom168微信号

 

每一周发表关于昇润科技(science and technology)Bluetooth模块与Bluetooth方案的摩登音信,提供关于物联网、智能家居、可穿戴设备、汽车电子、医疗电子等使用信息,让您紧跟才干前卫,接待关切!

在每个Connection
伊芙nts事件中,都急需由Master发起包,再由slave回复

 

 

Connection
Parameters

 

通过退换这七个参数,就足以设置BLE连接的传输速度和功耗

 

1、Connection
Interval

指在二个Connection 伊夫nts的启幕到下一个Connection 伊夫nts 的启幕
的年华距离

 

单位是1.25ms,最小是7.5ms,最大是4.0s

 

2、Slave
Latency

允许Slave设备在未有数量要发的场所下,跳太早晚数额的Connection 伊芙nts

在那个Connection
伊芙nts中不用回复master的包,那样就能够尤其省电

 

界定能够是0~499

 

3、Supervision
Timeout

其1参数设定了三个过期时间,如若BLE在这几个小时内尚未生出通信的话,就能够自行断开

 

单位是10ms,范围是100ms ~
32s

 

不能够不满足如下公式:

Supervision Timeout > (1
+ slaveLatency)* (connectionInterval)

 

slaveLatency无法算在 supervision
Timeout的光阴内,不然连接就能够不正规断开

 

图片 6

 

上海体育场合slaveLatency 为0
时,master发包,slave必须回复,
如若然则来,master就能够感觉slave那边接受不健康

slaveLatency 为 三 时, master
发包,slave允许有一个包不唯有水重波

 

参数的熏陶:

 

Connection Interval 缩小,master与slave通讯特别频仍,提升了耗电,进步多少吞吐速度,减弱数据发送时间

Connection Interval
加长,通讯频率降低,下落功耗,数据吞吐速度回落,数据发送等待时间越来越长

 

slaveLatency
收缩也许安装为0,每一回connection Envents中就都亟需应对master的包

功耗回升,数据发送速度会拉长

slaveLatency
加长,耗电下落,数据发送速度下落

 

那么些参数都以能够在一连创设之后动态修改的

 

 

招待沟通

如有转发请表明出处

新浪博客:http://blog.sina.com.cn/u/2049150530
博客园:http://www.cnblogs.com/sky-heaven/
知乎:http://www.zhihu.com/people/zhang-bing-hua

 

 

 

相关文章