影响BLE功耗的重要参数

蓝牙BLE学习-GAP GAP层(Generic access profile-通用访问配置文件)。GAP是对LL层payload(有效数据包)如何进行解析的两种方式的一种,而且也是最简单的一种。GAP简单的对LL payload进行一些规范和定义,因此GAP能实现的功能极其有限。GAP目前主要用来进行广播,扫描和发起连接。GAP保证了不同的BLE设备可以互相发现对方并建立连接GAP定义了蓝牙设备如何发现和建立与其他设备的安全或不安全连接。它处理一些一般模式的业务,比如询问、命名和搜索,还处理一些安全问题,比如担保。 阅读详情

1、GAP-通用接入规范:
BLE协议栈的GAP层负责处理设备的接入方式和过程,包括设备发现,链路建立,链路终止,启动安全功能,设备配置。

GAP层通常扮演以下四种角色中的一种:

广播者——广告发送者,不是可连接的设备

观察者——扫描广告,不能够启动连接

外围设备——广告发送者,是可连接的设备,在单一链路层连接时作为一个从机

中央设备——扫描广告启动连接,在单一或者多链路层连接时作为主机,支持三个同时连接

在一个典型的蓝牙系统中,外围设备发送具体的广告数据让任何中央设备知道他是一个可连接的设备。广告内容包含设备地址,还可以包含一些额外的额数据,比如设备名称。中央设备接收到广告后发送一个搜索请求给外围设备,外围设备答复一个搜索答复。这就是设备发现的过程,这样中央设备就知道外围设备是一个可连接的设备。中央设备可以发送一个建立连接的请求给外围设备,一个连接情况包含一些连接参数:

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

 

不同的应用也许需要不同的连接间隔,一个长时间的连接间隔将会节约更多的能量,因为设备可以在两个连接事件之间睡眠更长的时间。但是他会导致数据发送不及时,如果有数据要发送那么他只能够在下一次连接事件到来时才能被发送。

从机延迟——这个参数描述了从机跳过连接事件的次数。这使外围设备具有一定的灵活性,如果它不具有任何数据传送,它可以选择跳过连接事件,并保持睡眠,从而提供了一些积蓄力量。这一决定取决于外围设备。

监督超时——这是两个成功的连接事件之间间隔的最大值。如果超过这个时间还未出现成功的连接事件,那么设备将会考虑失去连接,返回一个未连接状态。这个参数值使用10ms的步进。监督超时时间从最小10(100ms)到最大3200(32.0s)。同时超时时间必须大于有效连接事件。

有效连接事件时间 = 连接间隔 X (1 + 从机延迟值)

 

在某些情况下,中央设备请求与外围设备建立连接包含连接参数对外围设备而言是不利的。在其他情况下,外围设备可以在连接过程中改变连接参数这个取决于外围设备的应用程序。外围设备可以请求中央设备改变连接参数通过设置连接参数更新请求。这个请求是被协议栈的L2CAP处理的。

 

这个请求包含四个参数:最小连接间隔、最大连接间隔、从机延迟、监督超时时间。这些值代表了外围设备针对连接的期望参数,连接间隔是以范围的形式提供的。当中央设备接收到这个请求, 他有权利决定是接受还是拒绝这些参数。

GAP通常还会负责启动BLE连接的安全功能。只有对通过身份验证的连接而言某些数据是可读或可写的。一旦形成一个连接,两个设备可以通过一个过程被称为配对。进行配对时,密钥建立加密和认证的链接。在一个典型的案例,外围设备需要中央设备提供密钥以完成配对过程。这可能是一个固定值,如“000000”,或可能是一个随机生成的值被提供给用户。中央设备发送正确的密钥后,两台设备交换安全密钥加密和验证的链接。

在许多情况下,相同的中央设备和外围设备将会经常建立连接和断开连接。BLE具有一个安全功能允许两个设备在配对的时候给对方一个长久的安全密钥。此功能称为绑定,使得两个重连设备能够迅速重新确立加密和认证而不需要经过充分的配对过程,只要它们存储长期的密钥信息。

 

2、BLE SPEC以及IOS对connection parametrs的一些限制:
 

关于更新连接参数 ConnectionParameter Update Request

有阅读蓝牙协议栈和一些材料,简单的说就是主机决定连接参数的值( connection interval, slave latency, timeout),从机可以请求更新这些参数,主机决定是不是接受,接受的值是多少。所以是会出现手机接受参数后和从机请求的参数有偏差,或者甚至是拒绝(ios)。

这里不得不提到:android 和 ios  的ble开发与兼容不是一个等级。

相同点:android 和 ios 都是在手机和设备建立连接时就会默认设置这些参数,app开发是无法修改这些参数的,这些默认参数由手机厂商决定。

不同点:当产品基于功耗等的考虑是应该要修改这些参数的,都是由从机提出更新申请,ios 有保护机制当从机给的参数超过它的范围它会拒绝这些不合理参数,然后使用默认值。而android 目前(4.3 4.4)是都会接受从机的更新参数,即使不合理。这里就会照成一种 设备通信 ios可以  android出问题 而且android即使接受参数并且使用这些参数更新后还会出现和参数不和的现象,典型的就在这个timeOut上,是会比更新请求里的timeOut长而且不同手机长的时间不一样。ios 好像是长5秒

所以,总结为Android目前遵守BT Spec的需求,但IOS设备还有自己独立的要求:

1)Spec要求1:

连接间隔从最小值6(7.5ms)到最大值3200(4.0s)。

2)Spec要求2:

 Refer to section 9.3.9.2, Vol 3,Part C of the Core 4.0 BT spec. The application should retry the 'connection paramter update' procedure after time TGAP(conn_param_timeout) which is 30 seconds.

所以必须要等30s之后才能进行第二次更新。即不要频繁更新。

 

3)IOS的要求如下:

 

Interval Max * (Slave Latency + 1) ≤ 2 seconds
Interval Min ≥ 20 ms
Interval Min + 20 ms ≤ Interval Max
Slave Latency ≤ 4
connSupervisionTimeout ≤ 6 seconds
Interval Max * (Slave Latency + 1) * 3 < connSupervisionTimeout

 

 

3、影响BLE功耗的参数:
 

首先,应该明白蓝牙BLE设备的几个状态:从机处于待机,广播,连接状态中的一种,主机处于待机,扫描,连接状态的一种。connection interval是连接状态的参数,两设备没有连接,该参数就不会影响其这个状态的功耗。

再次,设备在不是在连接状态一般就处于广播状态,降低功耗,当然可以增大广播间隔。其原理是蓝牙设备每隔一定的周期(广播间隔)后唤醒发射广播报文,其余时间处于sleep状态,功耗为1uA(PM2模式),增大了广播间隔,睡眠时间长,自然就降低了功耗。

所以影响功耗的参数,包含ADV parameter和connection parameters,在不同的状态下发挥作用;

 

4、延伸----怎样提升BLE的传输速度:
 

对于BLE来讲,传输速度与功耗总是矛盾的,如何解决好这个问题,是一个大课题,这也是BLE目前正在追求的目标。

这里只是站在Host和APP的角度来总结一下,可以提升BLE 传输速度的方式:

1)双方协调ATT_MTU大小;

2)选择合适的连接参数,例如减小BLE connection interval会提升数据交互频率;

3)选择一些不需要rsp的操作方式,例如write without rsp或notification等;
————————————————
版权声明:本文为CSDN博主「no输给现实」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/z497544849/article/details/74971201

一 蓝牙低功耗(BLE)协议栈 之 PHY层 一 2.4GHz 物理层相对于软件工作者来说是最简单的一层,几乎不用关心,但是这一层却非常重要,直接体现出蓝牙芯片的好坏。 蓝牙工作在2.4GHz的频段,具体的频段范围是2400MHz到2483.5MHz,频段宽度为83.5MHz。BLE将这83.5MHz的宽度分成了0到39共40个通道,每一个通道宽度为2MHz。 其中广播通道为37/38/39,对应的中心频率分别为2402MHz、2426MHz、2480MHz。BLE在广播的时候会轮流使用这3个通道进行广播。 从图中可以看出BLE的3个广播通道并不是连 阅读详情

相关推荐

BLE连接参数设置要点

IOS对连接参数要求 苹果手机对connection interval的要求, 其实还有其他的连接参数要求, 比如slave latency, supervision timeout, 如果不满足这些, IOS设备会拒绝.     ● Interval Max * (Slave Latency + 1) ≤ 2 seconds     ● Interval Min ≥ 20 ms     ● I...

卧龙 1万+

BLE Spec 链路层的传输包(Uncodeed PHYs) 梳理

本篇主要为梳理 BLE spec 中传输包的格式(因为有好几种包;另外,本文讲解只针对 Packets Format for the LE Uncoded PHYs,且本文仅梳理包的结构,故介绍中不会对其中的参数进行详细解释,需自行查阅 BLE spec_v5.0)

菜狗的玄学修炼室 545

BLE连接参数调优实战:如何平衡功耗与性能(附常见参数配置表)

本文深入探讨BLE连接参数调优的实战技巧,帮助开发者在蓝牙低功耗(LE)设备中平衡性能与功耗。文章详细解析连接间隔、从机延迟和监控超时等核心参数的影响,并提供针对可穿戴设备、智能家居和工业传感器的优化策略,附有经过验证的参数配置表,助力开发者实现最佳能效比。

weixin_30275415的博客 430

BLE协议栈 – GAP

转载自:http://www.cydaxiang.com/2016/11/ble-stack-gap/ GAP(Generic Access Profile)通用访问规范层算是BLE协议栈中最顶部的一层,它定义了设备如何广播、扫描、发现和建立连接,以及配置工作角色(Role)、可发现性、广播数据内容和安全相关的参数。从编程视角来看,GAP中的内容就像是一个config文件,BLE协议栈其他层的工...

parasoft的专栏 2189

(二十)深入理解蓝牙BLE之“官方Spec文档中涉及的缩写词”

蓝牙官方Corespec的文档中包含了很多表格,多数情况下表格中的信息是由专有的缩写词来表示的,这样使文档更加的简洁美观,不过也增加了初学者的理解难度,下面我以一个典型的含有缩写词的表格为例,解释每一个缩写字母的含义。图1。.........

1014

【MTK平台】BLE链接参数和功耗的关系

此值越大,BLE设备就会有更多时间Sleep,数据通信频繁度降低,数据吞吐率变低,功耗下降。如果Slave Latency为0,表示slave必须回复Master的数据包,而如果不为0,slave就可以跳过几个Conenction Event,如果在设定的Latency数目内,Slave不回复Master的包,Slave设备就有更多的时间Sleep,Master不会认为连接异常。BLE即低功耗蓝牙,是专为智能设备设计的一种低功耗、低延迟,小数据传输的蓝牙技术。目前广泛应用到手机,平板,及智能穿戴式设备中。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 884

认识BLE 5协议栈 —— 通用访问规范层(GAP,Generic Access Profile)

转自 http://www.sunyouqun.com/2017/04/understand-ble-5-stack-generic-access-profile-layer/ 通用访问规范GAP(Generic Access Profile)是BLE设备内部功能对外的接口层,它规定了三个方面:GAP角色、模式和规程、安全问题。 GAP层将设备分为四种角色,分别是外围设备,中央设备,播报设备和...

Hansen Mi Blog 4729

RK3588零拷贝视频流水线实战:用GStreamer+Mpp实现8K硬解与DRM显示

本文深入探讨了在RK3588平台上构建零拷贝视频流水线的工程实践。通过结合GStreamer与MPP,实现了从8K视频硬解到DRM显示的全流程硬件加速,有效解决了高分辨率视频处理中的DDR带宽瓶颈问题。文章详细解析了dma-buf数据流机制、管道构建与性能优化策略,为多路视频并发处理提供了高效的系统架构解决方案。

github5actions的博客 1152

BLE设备功耗太高?只需几个参数即可搞定

BLE之所以能做到μA级别的功耗,在使用纽扣电池供电的情况下能工作达半年甚至更久的原因就是BLE特殊的休眠的机制,简单概括就是在特定的时间启动射频,快速地发射完数据后关闭射频进入休眠状态,也就是说在BLE工作期间,其射频大部分时间都是处于关闭状态,所以它的功耗就能非常低。 图1就展示了BLE设备发送广播数据的电流(图片来源于信驰达产品实测)。 图1 BLE设备广播电流 影响BLE功耗的参数 本文所说的影响功耗的参数是站在BLE...

RF_star的博客 1963

水气泵控制原理,三角波发生电路,LM331M/TR芯片,高速运放芯片

气泵的控制采用闭环控制,根据气泵的FG反馈信号进行反馈调节,由于气泵的反馈信号是脉冲反馈,即频率改变,占空比不变,即需要通过F/V转换芯片转换成电压信号,变为电压与转速成正比,其电压进入比较器与基准电压进行比较,将比较结果进行运算并进行PWM控制信号。水泵的控制采用闭环控制,根据水泵的pwm信号进行反馈调节,水泵的反馈信号是脉冲反馈,即频率改变,占空比不变,即需要通过F/V转换芯片转换成电压信号,变为电压与转速成反比,其电压进入比较器与基准电压进行比较,将比较结果进行运算并对PWM控制信号。

m0_51010122的博客 2850

傻瓜式下载、安装CentOS7操作步骤

CentOS7.9下载和安装操作步骤

weixin_45608163的博客 1万+

BLE 包结构及传输速率

蓝牙BLE的最大特点就是低功耗,而低速率和简单的交互协议是降低功耗的重要组成部分。因此BLE一般应用于低速率的近场控制和数据交互,如智能家电、运动手环等等,小数量的控制和交互对传输速度没有要求,每秒1K字节就可以了,有时为了功耗可能会更低。但在某些场景下,可能要求BLE尽可能提高传输速率,如无线空中升级OTA、无线对讲语音传输等等。接下来,我们来分析如何提高BLE的速率来满足需求,并探讨BLE连接...

jrunw的博客 2690

单精度浮点数存储、双精度浮点数存储

单精度浮点数存储、双精度浮点数存储

fancynthia的博客 1280

【低功耗蓝牙BLE】连接事件和相关参数

低功耗蓝牙连接相关的知识 1、连接事件 在一个连接当中,主设备会在每个连接事件里向从设备发送数据包。一个连接事件是指主设备和从设备之间相互发送数据包的过程。连接事件的进行始终位于一个频率,每个数据包会在上个数据包发完之后等待150μs再发送。 连接间隔决定了主设备与从设备的交互间隔;它是指两个连续的连接事件开始处的时间距离,可以是7.5ms ~ 4s内的任意值,但必须为1.25ms的整数倍。要确定从设备与主设备的实际交互间隔,需要用到从设备延迟这一参数,代表从设备在必须侦听之前可以忽略多少个连...

NBDR_YL的博客 2250

Oracle21C Windows安装全攻略:从下载到配置环境变量,避开ORA-12514的坑

本文详细介绍了Oracle21C在Windows系统上的安装全流程,包括环境准备、安装包验证、分步安装指南、数据库实例创建与配置、环境变量精准配置等关键步骤,特别针对常见的ORA-12514错误提供了解决方案,帮助用户顺利完成安装并避免常见问题。

ooo22的博客 409

UE实现贴地线(SurfaceLine)效果

UnrealEngine实现贴地线效果

专注GIS开发 4568

低功耗蓝牙BLE之连接事件、连接参数和更新方法

连接事件 在一个连接当中,主设备会在每个连接事件里向从设备发送数据包。一个连接事件是指主设备和从设备之间相互发送数据包的过程。连接事件的进行始终位于一个频率,每个数据包会在上个数据包发完之后等待150μs再发送。 连接间隔决定了主设备与从设备的交互间隔;它是指两个连续的连接事件开始处的时间距离,可以是7.5ms ~ 4s内的任意值,但必须为1.25ms的整数倍。要确定从设备与主设备的实...

feelinghappy的专栏 974

【软件系统架构】系列五:TCP/IP 协议栈

TCP/IP协议栈是现代网络通信的核心框架,采用分层架构设计,包含应用层、传输层、网络层和网络接口层四层结构。应用层提供HTTP、FTP等用户服务接口;传输层通过TCP/UDP实现端到端通信;网络层负责IP寻址和路由选择;网络接口层处理物理数据传输。数据在传输过程中经历层层封装,从应用层报文最终转换为物理层的比特流。该协议栈通过三次握手建立连接、数据传输、四次挥手断开连接的流程,确保可靠通信。作为互联网的基础,TCP/IP协议栈具有跨平台、标准化和可扩展的特点,广泛应用于各类网络设备和嵌入式系统中。

moton2017的博客 2143

ble连接参数分析

如果需要进一步优化BLE连接,可以调整这些参数以适应具体应用场景(如传感器数据上报、音频传输等)。:从设备(Slave)在连接事件(Connection Event)期间可以发送数据的。:主设备(Master)每隔多长时间尝试与从设备(Slave)通信一次,单位是。决定从设备何时可以开始发送数据(相对于连接事件的起始时间)。较长的间隔 → 高延迟,但功耗低(通信不频繁)。从设备可以在窗口期内发送数据(如通知、指示等)。较短的间隔 → 低延迟,但功耗高(频繁通信)。开始可以发送数据(窗口打开)。

shishuangquan111的博客 1016

CAN总线介绍及硬件设计

1. CAN是什么 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO*1 国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统 被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很 多,线束的数量也随之增加。为适应“减少线束的数量”、“......

sinat_15677011的博客 9980

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

BLE 基础知识

蓝牙4.0: 包含经典蓝牙和ble ble单模:ble ble双模:经典蓝牙和ble ble协议栈:控制器层,host层,app 控制器 HCI HCI层为接口层,向上为主机提供软件应用程序接口(API),对外为外部硬件控制接口,可以通过串口、SPI、USB来实现设备控制 Link Layer L层为RF控制器,控制设备处于准备(standby)、广播、监听/扫描(scan)、初始化...

IoT的搬运工!!! 1万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

关于nRF54L15 BLE 方案功耗的评估

采用一个较为常规的配置条件:发射功率:0 dbm,广播间隔:1s的条件下,可以快速计算出产品的平均功耗只有9.8uA,这个功耗数据是非常低的,这意味着,当该工作模式下,采用一个CR2032(电池容量220mAh)纽扣电池供电,电池电量使用率按照80%来算,那么可以得出,这个产品的使用寿命是:220mAh*0.8/9.8uA=2年的使用寿命。关于功耗评估方面有什么想问的,都可以下面留言给我哦。利用我们的这个工具,只需要把你的产品所需要的配置,在这个工具页面上配置好,功耗数据就立马出来了,非常的高效便捷。

2503_91126752的博客 793

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

连接参数与BLE性能分析 1. 连接事件——连接间隔短 主从设备功耗大 数据发送延迟短 数据吞吐量较高 2. 连接事件——连接间隔长 主从设备功耗低 手机发送延迟长 数据吞吐量较低 3.从设备潜伏值小 从设备功耗高 从设备及时或更快速的收到主设备发送的数据 4.从设备潜伏值大 从设备在潜伏期期间功耗低 从设备无法及时或快速接收主设备发送的数据 从机潜伏对...

slimmm的博客 8942
上一篇: BLE连接错误0x3E原因及应对
下一篇: 关于苹果MFI认证那些事
饭小粒
博客等级 码龄19年 690粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值