[玩转BLE]发送窗口、连接间隔、从机延迟

2024-01-09 02:32

本文主要是介绍[玩转BLE]发送窗口、连接间隔、从机延迟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

连接参数与BLE性能分析
  • 1. 连接事件——连接间隔短
  • 主从设备功耗大
  • 数据发送延迟短
  • 数据吞吐量较高
  • 2. 连接事件——连接间隔长
  • 主从设备功耗低
  • 手机发送延迟长
  • 数据吞吐量较低
  • 3.从设备潜伏值小
  • 从设备功耗高
  • 从设备及时或更快速的收到主设备发送的数据
  • 4.从设备潜伏值大
  • 从设备在潜伏期期间功耗低
  • 从设备无法及时或快速接收主设备发送的数据
  • 从机潜伏对主设备接收从设备的数据延迟无影响
发送窗口
  • 在BLE中从设备自定义广播时间和广播间隔。在某些产品中为了达到更低的功耗,从设备的广播间隔会拉长。但是在从设备潜伏期期间主设备不可能一直在等待从设备,在从设备潜伏期期间主设备去完成其他任务。所以在连接建立期间,用两个参数来传递上述的信息:窗口大小窗口间隔
  • 当连接请求数据包发送完毕,存在一个1.25ms的强制时延,紧接着就是发送窗口偏移和发送窗口。发送窗口偏移可以是0到连接间隔之间的任意值,但是必须为1.25ms的整数倍。从发送窗口开始,从设备打开其接收器,并等待来自主设备的数据包。如果到发送窗口结束仍未收到数据包,从设备停止侦听,在下一个连接事件的连接间隔后在进行。
连接事件
  • 一个连接事件指的是主设备和从设备之间相互发送数据包的过程。

连接间隔

  • 连接间隔决定了主设备和从设备交互的间隔,指的是两个连续的连接事件之间的间隔,是以1.25ms为单位,连接间隔的范围从最小值6(7.5ms)到最大值3200(4.0s)。
    在这里插入图片描述

从机延迟

  • 此参数为从机(外设设备)提供跳过多个连接事件的能力。这种能力给外设设备更多的灵活性。如果外设没有要发送的数据,则可以跳过连接事件,保持睡眠并节省电量。 外设设备选择是否在每个连接事件时间点上唤醒。 虽然外设可以跳过连接事件,但不能超出从延迟参数允许的最大值
    在这里插入图片描述

监控超时

  • 是两次成功连接事件之间的最长时间。如果在此时间内没有成功的连接事件,设备将终止连接并返回到未连接状态。该参数值以 10 ms 为单位,监控超时值可以从最小值 10(100 ms)到 3200(32.0 s)。超时必须大于有效的连接间隔

有效连接间隔

  • 有效连接间隔等于两个连接事件之间的时间跨度,假设从机跳过最大数量的连接事件,且允许从机延迟,如果从机延迟设置为 0,则有效连接间隔等于实际连接间隔
  • 从机延迟表示可以跳过的最大事件数。该数字的范围可以从最小值 0(意味着不能跳过连接事件)到最大值 499。 最大值不能使有效连接间隔大于 16 秒。
//======平台 CC2640======
//====simple_peripheral=====
// 设置最小连接间隔(units of 1.25ms, 80=100ms)
#define DEFAULT_DESIRED_MIN_CONN_INTERVAL     10// 设置最大连接间隔(units of 1.25ms, 800=1000ms) 
#define DEFAULT_DESIRED_MAX_CONN_INTERVAL     20//设置从机延迟
#define DEFAULT_DESIRED_SLAVE_LATENCY         0//设置监控超时时间,这个时间里面,从机和主机没有发生交互关系,则认为两个是断开的。
#define DEFAULT_DESIRED_CONN_TIMEOUT          1000...uint16_t desiredMinInterval = DEFAULT_DESIRED_MIN_CONN_INTERVAL;uint16_t desiredMaxInterval = DEFAULT_DESIRED_MAX_CONN_INTERVAL;uint16_t desiredSlaveLatency = DEFAULT_DESIRED_SLAVE_LATENCY;uint16_t desiredConnTimeout = DEFAULT_DESIRED_CONN_TIMEOUT;...//最小的连接间隔GAPRole_SetParameter(GAPROLE_MIN_CONN_INTERVAL, sizeof(uint16_t), &desiredMinInterval);//最大的连接间隔GAPRole_SetParameter(GAPROLE_MAX_CONN_INTERVAL, sizeof(uint16_t), &desiredMaxInterval);//从机潜伏期GAPRole_SetParameter(GAPROLE_SLAVE_LATENCY, sizeof(uint16_t), &desiredSlaveLatency);//从机超时时间GAPRole_SetParameter(GAPROLE_TIMEOUT_MULTIPLIER, sizeof(uint16_t), &desiredConnTimeout);...

这篇关于[玩转BLE]发送窗口、连接间隔、从机延迟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/585655

相关文章

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

java连接opcua的常见问题及解决方法

《java连接opcua的常见问题及解决方法》本文将使用EclipseMilo作为示例库,演示如何在Java中使用匿名、用户名密码以及证书加密三种方式连接到OPCUA服务器,若需要使用其他SDK,原理... 目录一、前言二、准备工作三、匿名方式连接3.1 匿名方式简介3.2 示例代码四、用户名密码方式连接4

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

Apache 高级配置实战之从连接保持到日志分析的完整指南

《Apache高级配置实战之从连接保持到日志分析的完整指南》本文带你从连接保持优化开始,一路走到访问控制和日志管理,最后用AWStats来分析网站数据,对Apache配置日志分析相关知识感兴趣的朋友... 目录Apache 高级配置实战:从连接保持到日志分析的完整指南前言 一、Apache 连接保持 - 性

电脑蓝牙连不上怎么办? 5 招教你轻松修复Mac蓝牙连接问题的技巧

《电脑蓝牙连不上怎么办?5招教你轻松修复Mac蓝牙连接问题的技巧》蓝牙连接问题是一些Mac用户经常遇到的常见问题之一,在本文章中,我们将提供一些有用的提示和技巧,帮助您解决可能出现的蓝牙连接问... 蓝牙作为一种流行的无线技术,已经成为我们连接各种设备的重要工具。在 MAC 上,你可以根据自己的需求,轻松地

golang实现延迟队列(delay queue)的两种实现

《golang实现延迟队列(delayqueue)的两种实现》本文主要介绍了golang实现延迟队列(delayqueue)的两种实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录1 延迟队列:邮件提醒、订单自动取消2 实现2.1 simplChina编程e简单版:go自带的time

宝塔安装的MySQL无法连接的情况及解决方案

《宝塔安装的MySQL无法连接的情况及解决方案》宝塔面板是一款流行的服务器管理工具,其中集成的MySQL数据库有时会出现连接问题,本文详细介绍两种最常见的MySQL连接错误:“1130-Hostisn... 目录一、错误 1130:Host ‘xxx.xxx.xxx.xxx’ is not allowed