BLE连接概述
- 低功耗蓝牙中实现双向通信的最常见方式是使用连接
- 对于简单的应用程序,默认连接参数可能工作得很好,但您也可以调整这些参数以最适合您的应用程序,为您提供最低的功耗,或实现您需要的吞吐量。
连接过程
- 整个过程分为“发现和发起连接”、“连接建立”、“断开连接”
发现和发起连接
建立连接需要两个设备,一个充当当前正在广播的外围设备,另一个充当当前正在扫描的中央设备。当中央设备从外围设备获取广播数据包时,它可以发起连接。通常,这涉及扫描广播数据包的内容,然后根据该内容决定是否发起连接。当中央设备发送连接请求时,外围设备和中央设备已建立双向连接(面向连接)通道。
连接建立
- 外设成功收到连接请求数据包后,两个设备即处于连接状态。建立连接后,设备将不再使用广告通道(通道 37、38 和 39),而是开始使用数据通道(通道 0 至 36)。为了减少干扰并提高连接期间的吞吐量,低功耗蓝牙使用通道跳跃,这意味着用于数据传输的通道会频繁更改。
断开连接
当两个设备连接时,如果没有发生任何事情,它们将永远保持连接状态。有两种方法可以终止连接,即设备断开连接:
- 由应用程序断开连接
- 因监听超时而断开连接
连接参数
- 当外围设备和中央设备建立连接时,会交换一组连接参数。其中一些参数具有标准起始值,以实现向后兼容,而另一些参数则由中央设备指定,并包含在连接请求数据包中。
连接参数包括如下
连接间隔:该间隔规定了设备之间通信的频率。
Supervision timeout(监听超时时间):参数决定从成功收到最后一个数据包到设备认为连接丢失需要多长时间。
Peripheral latency:外设延迟允许外设在没有任何数据要发送的情况下跳过一定数量的连接事件唤醒。
PHY radio mode:
- 普通蓝牙 LE (1M PHY) 的传输速度为 1Mbps。
- 在蓝牙 5.0 中,引入了高速 (2M PHY) 和长距离 (编码 PHY) 无线电模式
- 使用编码 PHY,这可以显著增加范围,但代价是降低吞吐量。
Data length and MTU:MTU 是一次 GATT 操作(例如,发送操作)中可以发送的字节数,而数据长度是一次蓝牙 LE 数据包中可以发送的字节数。MTU 的默认值为 23 字节,数据长度的默认值为 27 字节。
更新连接参数
- 连接参数的同步过程叫: 更新连接参数
- PHY无线模式的默认值为1M,默认MTU为23。