完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
连接事件 一个连接事件是指主设备和从设备之间相互发送数据包的过程。在连接当中,主设备会在每个连接事件里向从设备发送数据包。不过,连接事件的进行始终要位于一个频率,因为每个数据包在上个数据包发完之后会再发送。 连接间隔决定了主设备与从设备的交互间隔,也就是说两个连续的连接事件开始处的时间距离,可以是7.5ms ~ 4s之间的任意值,但必须以1.25ms为倍数(BLE协议规定)。如上图所示,连接事件被一个个的连接间隔分开,从主设备发送数据包开始,每个连接事件可以持续进行,直至主设备或从设备停止响应(说明:在连接事件之外,主从设备之间不发送任何数据包)。 连接参数介绍 设备在建立连接之后的大多数时间都是处于Sleeping,这种情况下耗电量就比较低,这也是BLE为什么省电的原因之一。 (说明:在每个ConnectionEvents事件中,都需要由Master发起包,再由slave回复。 Master即主机,简称M;Slave即从机,简称S。抓包过程中看到的M→S或者S→M,即主机到从机或者从机到主机。) 通过修改下面三个参数,就可以设置BLE连接过程中的传输速度和功耗。 1.ConnectionInterval(连接间隔) 这个连接间隔是指在一个连接事件的开始到下一个连接事件的开始的时间间隔(连接间隔以1.25ms为单位;连接间隔的范围是6~3200,即7.5ms~4s之间) 2.SlaveLatency(从设备延迟或者从设备时延) 允许Slave(从设备)在没有数据要发的情况下,跳过一定数目的连接事件,在这些连接事件中不必回复Master(主设备)的包,这样就能更加省电(范围可以是0~499)。 详细解答如下: 上图,Slave Latency =OFF时,master发包,slave必须回复,如果不回复,Master就会认为slave那边接收不正常。若Slave Latency = ON时, master 发包,slave允许有3个包不回复 3.SupervisionTimeout(超时时间或者监控超时) 这个参数设定了一个超时时间,如果BLE在这个时间内没有发生通信的话,就会自动断开(单位是10ms,范围是10~3200即100ms~32s)。 连接间隔、从机时延以及超时时间这三者必须满足如下公式: Supervision Timeout >(1 +slaveLatency)*(connectionInterval) 注:slaveLatency不能算在 supervision Timeout的时间内,否则连接就会不正常断开 这三个连接参数在不同情况下对通信速率和功耗的影响: 1.Connection Interval缩短,Master和Slave通信更加频繁,提高了数据吞吐速度,缩短了数据发送时间,但也提高了功耗。 2.Connection Interval加长,通信频率降低,数据吞吐速度降低,数据发送等待的时间更长,但这种设置降低了功耗。 3.Slave Latency减少或者设置为0,那么每次连接事件中都需要回复Master的包,当然功耗会上升,但数据发送速度也会提高。 4.Slave Latency加长,功耗下降,数据发送速度降低。 |
|
相关推荐 |
|
只有小组成员才能发言,加入小组>>
2707 浏览 3 评论
1285 浏览 3 评论
4301 浏览 1 评论
1749 浏览 1 评论
2944 浏览 2 评论
255浏览 1评论
1098浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-25 14:45 , Processed in 0.673773 second(s), Total 52, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号