BLE低功耗的设置参数

2023-11-05

广播间隔,连接间隔,扫描间隔,扫描窗口

广播间隔:

两个相邻广播事件之间的时间称为广播间隔。可以选择“20ms ~ 10.28s”不等的间隔,通常,一个广播中的设备会每一秒广播一次。必须是“0.625ms”的整数倍。

由于设备间的时钟会不同程度的漂移,两个设备可能在很长一段时间同时广播而造成干扰。为防止这一情况的发生,除定向广播之外的其他广播类型,发送时间均会被扰动。实现该扰动的方式为,在上一次广播事件后加入“0 ~ 10ms”的随机延时。这意味着,即使两个设备广播间隔相同,并在相同信道及时间点上发送造成了冲突,但它们发送下一个广播事件时也会有很大可能不再冲突。

 T_AdvEvent = advInterval + advDelay

advInterval 必须是“0.625ms”的整数倍,范围是“20ms ~ 10.24s”之间。对于可扫描非定向广播和不可连接非定向广播这两种广播类型,该值最好不小于100ms,即(160个0.625ms)。advDelay是Link Layer(链接层)分配的一个伪随机数,它的范围为“0 ~ 10ms”。

37、38、39信道广播切换时间间隔 

在蓝牙广播过程中,设备需要定期更换广播信道以避免干扰和提高广播效率。在蓝牙 5.0 规范中,广播信道切换时间取决于广播事件的时间间隔和广播通道的数量。

对于使用三个广播通道的情况,蓝牙 5.0 规范规定广播事件时间间隔和广播信道切换时间之间的关系如下:

  • 当广播事件时间间隔 T_adv >= 30 ms 时,广播信道切换时间 T_chm=5ms。
  • 当广播事件时间间隔 T_adv < 30 ms 时,广播信道切换时间 T_chm=T_adv/6。

例如,如果广播事件时间间隔为 100ms,则广播信道切换时间为 5ms。如果广播事件时间间隔为 20ms,则广播信道切换时间为 3.33ms。

需要注意的是,广播信道切换时间不等于广播事件的时间间隔,广播事件的时间间隔是设备发送两个广播包之间的时间间隔,而广播信道切换时间是设备在一个广播事件期间内切换广播信道的时间。

BLE蓝牙扫描37、38、39信道切换时间

在BLE蓝牙协议中,扫描操作使用的是37、38和39这三个广播信道。这三个信道的切换时间是指在扫描过程中,BLE设备从一个广播信道切换到另一个广播信道所需要的时间。

根据BLE蓝牙协议规范,BLE设备在接收到广播数据后,需要在接收窗口结束之前进行广播信道的切换。接收窗口的时长可以由广播数据包中的参数进行设置,通常为10ms左右。

在BLE设备进行扫描操作时,它会轮流监听37、38和39这三个广播信道,每个信道的监听时长也可以由扫描参数进行设置。通常情况下,BLE设备会在每个广播信道上监听几毫秒,然后切换到下一个广播信道进行监听,这个切换时间通常为100us左右。

因此,BLE蓝牙扫描37、38、39信道的切换时间一般为100us,具体时间还会受到设备硬件和软件等因素的影响。

连接间隔:

在一个BLE连接中跳频机制需要被使用,这样两个设备之间可以在一个特定的通道上进行数据收发,在一个特定的时间之后会跳到一个新的通道上,LL层负责通道切换。这个遇见设备收发数据被称作是连接事件。尽管没有应用程序数据需要收发,两个设备之间仍然会交换链路层数据来保持连接。连接间隔是两个连接事件之间的时间,使用一个单元值为1.25ms的步进。连接间隔从最小值6(7.5ms)到最大值3200(4.0s)。
有数据传递时:通讯数据包是连续传递的,主机会选择最小连接间隔值来进行通讯。
无数据传递时:通讯是空闲状态,主机会选择最大连接间隔值来定期询问从机状态,以保持连接不中断。用来交互链路数

connInterval的大小,决定了数据传输的周期。对一个连接来说,每个周期只能有一次的收发,因此connInterval的选择,直接决定了数据传输的速度。BLE协议规定,connInterval必须是1.25ms的倍数,范围是7.5ms~4s。

扫描间隔 和扫描窗口 和持续扫描时间:

每次扫描,设备打开接收器去监听广播设备,这称为一个扫描事件,扫描事件有两个时间参数:扫描窗口和扫描间隔:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4NTMxNDYw,size_16,color_FFFFFF,t_70


扫描窗口(scan window):一次扫描进行的时间宽度。
扫描间隔(scan interval):两个连续的扫描窗口的起始时间之间的时间差,包括扫描休息的时间和扫描进行的时间

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BLE低功耗的设置参数 的相关文章

随机推荐

  • UID卡、CUID卡、FUID卡的区别

    UID卡 国外称GEN1 所有区块可被重复读写 卡片ID可改且使用后门指令更改ID ID可被重复修改 响应后门指令 意味着可被使用后门指令检测是否为克隆卡的机器发现 CUID卡 国外称GEN2 所有区块可被重复读写 卡片ID可改且使用普通写
  • stm32 串口发送和接收

    串口发送 include stm32f10x h Device header include
  • HTML+CSS 旋转照片墙!源代码(简易动画干货快收藏!!)

    拿走请三连 并注明出处 新手上路 路过的大佬请多多指教 动画特效为11张照片 环绕着旋转 照片可自改添加 源代码中用到的照片未上传
  • 本地上传文件到FastDFS命令上传报错:ERROR - file: connection_pool.c, line: 142, connect to server 192.168.0.197:221

    root ubuntu etc fdfs usr bin fdfs upload file etc fdfs client conf etc a jpg 2019 12 03 11 38 14 ERROR file connection p
  • MySQL学习(十七):数据类型之文本字符串类型

    文本字符串类型 类型 值的长度 长度范围 占用的存储空间 CHAR M M 0 lt M lt 255 M个字节 VARCHAR M M 0 lt M lt 65535 实际长度 1个字节 TINYTEXT L 0 lt L lt 255
  • 如何使用BBP公式直接计算π的第n位

    使用BBP公式可以直接求得十六进制 的第n位而不需要计算前n位的数 讲道理 我认为是可以计算十进制的第n位的 毕竟其本身就能直接计算出十进制的 但我没试 其优点在于可以进行分布式计算 即将一个耗时的运算拆分成若干个运算单元在不同的机器上进行
  • 芯片可靠性与商规、工规、车规

    在芯片的国产化浪潮下 国产芯片的出货量和替代率近年来迅速飙升 按出货量比率看 消费电子领域 电源管理芯片和射频前端芯片国产替代率已超过70 工控通信领域 电源管理和信号链芯片国产替代率也超过20 汽车电子领域 电源管理和功率器件的国产替代率
  • 【OpenAI】私有框架代码生成实践

    作者 京东零售 牛晓光 根据现有调研和实践 由OpenAI提供的ChatGPT GPT 4模型和CodeX模型能够很好的理解和生成业界大多数编程语言的逻辑和代码 其中尤其擅长Python JavaScript TypeScript Ruby
  • Python 进程原理 —— 《餐厅里的故事》

    在说明进程之前引入几个概念 本文向你诠释 并行 并发 同步 异步 阻塞 非阻塞 进程等概念 如果不理解这几个概念 在学习进程过程中时刻都在给自己预设障碍 所以我痛定思痛 先了解进程工作原理 概念1 单道程序与多道程序 不在赘述单道程序的工作
  • AHP权重计算方法案例

    AHP权重计算方法案例 1 案例背景 公司要对网站用户行为进行追踪 以优化推荐系统算法 需要对已有的5项行为指标 为便于理解 此处展示5项 分配对应权重 需要我们数据部门给出权重建议 当然不能拍脑门 我以AHP层次分析法为理论基础设计了一套
  • 花30分钟,我用ChatGPT写了一篇2000字文章(内附实操过程)

    有了ChatGPT之后 于我来说 有两个十分明显的变化 1 人变的更懒 因为生活 工作中遇到大大小小的事情 都可以直接找ChatGPT来寻求答案 2 工作产出量更大 之前花一天 甚至更久才能写一篇原创内容 现在有了主题 框架之后 ChatG
  • 求生之路2在Win10下鼠标看不见要怎么解决?

    求生之路2是很多玩家都非常喜欢的一款恐怖生存类游戏 但是在升级win10系统后玩求生之路会遇到一些问题 如鼠标看不见 这就让操作变的很麻烦 其实这是由于系统鼠标设置问题到导致的 跟着小编操作可解决这个问题 修复步骤如下 1 按下WIN X
  • #If...Then...#Else Directives

    If Then Else Directives Conditionally compiles selected blocks of Visual Basic code If expression Then statements ElseIf
  • 算法:单调栈

    栈 先进后出 最好是找一些简单的数据用纸和笔模拟一下具体过程 清清楚楚地表现出来 理解一个比较难懂的程序最快的方式是对照着一个程序一步一步将过程模拟出来 那么就很容易理解整个程序的意思了 不要光看程序代码 不动笔 这样可能会耗很多时间并且最
  • FasterTransformer 安装

    第一 安装TensorRT FasterTransformer 支持cuda10 0 所以TensorRT也下cuda10 0对应版本 1 下载TensorRT https developer nvidia com nvidia tenso
  • Android中的Wifi框架知识点

    一 Android wifi框架图 Android WIFI系统引入了wpa supplicant 它的整个WIFI系统以wpa supplicant为核心来定义上层接口和下层驱动接口 Android WIFI主要分为六大层 分别是WiFi
  • TCP套接字网络编程实例(二)

    TCP套接字网络编程实例 二 采用多线程实现客户端和服务器的聊天功能 OK 上代码 1 客户端部分 文件 tcp client c 内容 利用TCP实现客户端和服务器的实时聊天 注 服务器的端口号及IP 客户端的端口号及IP的输入通过mai
  • angular2+修改环境变量,不用重新build部署

    转载文章链接 How to use environment variables to configure your Angular application without a rebuild 整体思路 在assets目录下添加js文件 获取
  • warning negative label/yolo标签出现负值?

    问题如上图所示 出现场景 图像增强后 xml文件转txt文件 解决方法1 无脑粗暴 一秒见效 直接把负值转成正值 不影响标注与训练结果 代码如下 import os def process files in folder folder pa
  • BLE低功耗的设置参数

    广播间隔 连接间隔 扫描间隔 扫描窗口 广播间隔 两个相邻广播事件之间的时间称为广播间隔 可以选择 20ms 10 28s 不等的间隔 通常 一个广播中的设备会每一秒广播一次 必须是 0 625ms 的整数倍 由于设备间的时钟会不同程度的漂