问题:BLE连接间隔(Connection Interval)和延迟(Latency)如何设置?
答案:
在BLE协议中,连接间隔(Connection Interval)和延迟(Latency)通过主机(Central)在连接请求中协商确定,具体设置取决于应用需求与设备能力。
**连接间隔(Connection Interval)**
- 范围:7.5 ms 至 4.0 s(以1.25 ms为步进,对应参数值6至3200)。
- 设置原则:短间隔(如7.5-30 ms)降低延迟,适合实时性要求高的应用(如HID设备);长间隔(如100 ms以上)节省功耗,适合周期性数据上报(如传感器)。
- 实际设置需由主机发起,从机可通过白名单或参数更新请求提出偏好值,但最终由主机决定。
**延迟(Slave Latency)**
- 范围:0 至 (连接间隔参数值 - 1) 的整数,通常建议不超过30。
- 作用:允许从机在指定次数内跳过监听事件,保持睡眠以降低功耗。例如,延迟为4时,从机可连续跳过4个连接事件,但必须至少在下一个事件中响应。
- 注意:延迟不能导致连接超时(connSupervisionTimeout)被违反,即 `(连接间隔 × (1 + 延迟)) < 连接超时时间`。
**设置方法**
- 主机侧:在发起连接时,通过 `LE Create Connection` 命令的 `connIntervalMin`、`connIntervalMax`、`connLatency` 参数指定范围。
- 从机侧:若需更改,可调用 `L2CAP Connection Parameter Update Request`(需主机支持)或通过服务端更新(如使用 `GAP Update Connection Parameters` API)。
- 实际参数由算法在主机范围内自动选取,例如TI或Silicon Labs的协议栈会基于RF环境与双方能力优化。
**补充说明(参考资料未明确提及)**
- 常见设备推荐:低功耗传感器常用100-400 ms间隔、延迟4-10;交互式设备(如遥控器)常用15-30 ms间隔、延迟0-2。
- 测试建议:使用抓包工具(如Ellisys、nRF Sniffer)验证实际参数,避免因主机限制导致参数更新失败。
- 参考标准:核心规范Vol 6, Part B, Section 4.5.1定义了所有参数约束,上述范围与规则均源于此。
> 答案参考了知识库中的相关资料。
[hr]本问答由 AI 基于知识库自动生成,仅供参考。