[玩转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

相关文章

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Python3.6连接MySQL的详细步骤

《Python3.6连接MySQL的详细步骤》在现代Web开发和数据处理中,Python与数据库的交互是必不可少的一部分,MySQL作为最流行的开源关系型数据库管理系统之一,与Python的结合可以实... 目录环境准备安装python 3.6安装mysql安装pymysql库连接到MySQL建立连接执行S

Spring Boot 整合 MyBatis 连接数据库及常见问题

《SpringBoot整合MyBatis连接数据库及常见问题》MyBatis是一个优秀的持久层框架,支持定制化SQL、存储过程以及高级映射,下面详细介绍如何在SpringBoot项目中整合My... 目录一、基本配置1. 添加依赖2. 配置数据库连接二、项目结构三、核心组件实现(示例)1. 实体类2. Ma

电脑win32spl.dll文件丢失咋办? win32spl.dll丢失无法连接打印机修复技巧

《电脑win32spl.dll文件丢失咋办?win32spl.dll丢失无法连接打印机修复技巧》电脑突然提示win32spl.dll文件丢失,打印机死活连不上,今天就来给大家详细讲解一下这个问题的解... 不知道大家在使用电脑的时候是否遇到过关于win32spl.dll文件丢失的问题,win32spl.dl

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

IDEA连接达梦数据库的详细配置指南

《IDEA连接达梦数据库的详细配置指南》达梦数据库(DMDatabase)作为国产关系型数据库的代表,广泛应用于企业级系统开发,本文将详细介绍如何在IntelliJIDEA中配置并连接达梦数据库,助力... 目录准备工作1. 下载达梦JDBC驱动配置步骤1. 将驱动添加到IDEA2. 创建数据库连接连接参数

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总