BLE之连接间隔

本文介绍了BLE(蓝牙低功耗)的连接间隔概念,最小值为7.5ms,增量为1.25ms。连接间隔、数据包长度及发送速率相互影响,通过案例分析了20字节和127字节数据包在iOS上的发送速率,揭示了数据包长度对速率的显著影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.MTU

  • MTU:Maximum Transmission Unit,最大传输单元

在BLE中,逻辑链路上至少23字节的MTU(其中:包括三字节的头部,有效载荷是20字节)

2.BLE连接间隔

BLE蓝牙连接成功后,即:Master和Slave,而Master和Slave之间进行交互的间隔称为BLE蓝牙连接间隔,其中,连接间隔最小的值为7.5ms,最小的增量为1.25ms

在这里插入图片描述

  • 一个连接间隔发送单个数据包

在这里插入图片描述

  • 一个连接间隔发送多个数据包

在这里插入图片描述

3.速率

影响速率的因素如下:

  • 连接间隔

  • 每一个连接间隔内发送数据包的长度

  • 每一包的数据包的长度

### BLE 协议中的连接间隔和超时时间 #### 连接间隔的意义与设置 在BLE协议中,连接间隔是指两个相连设备之间数据包传输的时间周期。此参数定义了主设备向从设备发送数据的频率。较短的连接间隔意味着更频繁的数据交换,但也会增加功耗;较长的连接间隔则可以节省能量,适用于对实时性要求不高的应用场景[^1]。 对于连接间隔的具体设定,在建立连接的过程中可以通过协商来决定最合适的数值范围。通常情况下,默认值为7.5毫秒至4秒之间的某个整数倍(单位为1.25毫秒),具体取决于应用的需求以及双方硬件的支持情况[^2]。 #### 监控超时时间的意义与作用 监控超时时间指的是当连续多个连接事件未能成功接收或发送任何有效载荷之后的最大等待期限。如果超过了这个时限,则认为当前连接已经断开并触发相应的处理机制。合理配置这一参数有助于提高系统的稳定性和可靠性,防止因偶尔的一次失败而导致不必要的重连操作。 一般来说,监控超时时间为连接间隔长度的若干倍,例如默认可能是20个连接间隔。这意味着即使某些时刻网络状况不佳造成短暂失联也不会立即判定为掉线,而是给予一定宽限期以便恢复正常通讯。 ```java // Java代码示例:设置BLE连接参数 BluetoothGatt gatt; BluetoothGattCharacteristic characteristic; gatt.requestConnectionPriority(BluetoothGatt.CONNECTION_PRIORITY_HIGH); BluetoothGattDescriptor descriptor = characteristic.getDescriptor( UUID.fromString("00002902-0000-1000-8000-00805f9b34fb")); descriptor.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); characteristic.writeDescriptor(descriptor); // 修改连接参数 (需平台支持) int minConnInterval = 6; // 最小连接间隔, 单位: 1.25 ms * N int maxConnInterval = 12; // 最大连接间隔, 同上 int slaveLatency = 0; // 从机延迟 int timeoutMultiplier = 500;// 超时乘数, 即超时时长=timeoutMultiplier*minConnInterval ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值