2,367
个编辑
更改
BLE技术揭秘
,→连接
=== 连接 ===
在BLE连接中,使用跳频方案,两个设备在特定时间、特定频道上彼此发送和接收数据。这些设备稍后在新的通道(协议栈的链路层处理通道切换)上通过这个约定的时间相遇。这次用于收发数据的相遇称为<code>连接事件</code>。如果没有要发送或接收的应用数据,则交换链路层数据来维护连接。两个连接事件之间的时间跨度称为<code>连接间隔</code>,是以1.25 ms为单位,范围从最小值7.5 ms到最大值4.0 s
[[文件:BLE技术 连接间隔与连接事件.png|居中|无框|560x560像素]] ==== 连接参数 ===='''Connection Interval连接间隔''',两次连接事件之间的时间间隔称为连接间隔。,两次连接事件之间的时间间隔称为连接间隔。1.25 ms为单位,范围从最小值7.5 ms到最大值4.0 s
'''Slave Latency从机延迟''',如果从机没有要发送的数据,则可以跳过连接事件,继续保持睡眠节省电量。
'''Supervision Time-out监控超时''',是两次成功连接事件之间的最长时间。如果在此时间内没有成功的连接事件,设备将终止连接并返回到未连接状态。该参数值以10 ms为单位,监控超时值可以从最小值10(100 ms)到3200(32.0 s)。超时必须大于有效的连接间隔。
==== 有效连接间隔 ====
Effective Connection Interval有效连接间隔等于两个连接事件之间的时间跨度,假设从机跳过最大数量的连接事件,且允许从机延迟(如果从机延迟设置为0,则有效连接间隔等于实际连接间隔,)。
从机延迟表示可以跳过的最大事件数。该数字的范围可以从最小值0(意味着不能跳过连接事件)到最大值499。最大值不能使有效连接间隔(见下列公式)大于16秒。间隔可以使用以下公式计算:
Effective Connection Interval '''=''' '''('''Connection Interval''')''' × '''('''1 '''+''' '''['''Slave Latency'''])'''
Consider the following example''':'''
* Connection Interval''':''' 80 '''('''100 ms''')'''
* Slave Latency''':''' 4
* Effective Connection Interval''':''' '''('''100 ms''')''' × '''('''1 '''+''' 4''')''' '''=''' 500 ms
当没有数据从从机发送到主机时,从机每500ms一个连接事件交互一次。
==== 注意事项 ====
在许多应用中,从机跳过最大连接事件数。选择正确的连接参数组在低功耗蓝牙设备的功率优化中起重要作用。以下列表给出了连接参数设置中权衡的总体概述。
减少连接间隔如下:
* 增加两个设备的功耗
* 增加双向吞吐量
* 减少任一方向发送数据的时间
增加连接间隔如下:
* 降低两个设备的功耗
* 降低双向吞吐量
* 增加任一方向发送数据的时间
减少从机延迟(或将其设置为零)如下:
* 增加外围设备的功耗
* 减少外围设备接收从中央设备发送的数据的时间
增加从机延迟如下:
* 在周边没有数据发送期间,可以降低外设的功耗到主机设备
* 增加外设设备接收从主机设备发送的数据的时间
=== 通信 ===