nrf52832芯片手册_nRF52832低功耗问题不完全总结

0.前言

技术和经历经验都有限,以下内容仅供初学者参考和个人总结记录,不定期更新。

都是使能协议栈开启BLE广播的情况

协议栈:s132_nrf52_6.1.1

SDK:nRF5_SDK_15.3.0_59ac345

1.进入低功耗方式

nRF52832进入低功耗或保持低功耗方式比较简单,关闭所有能唤醒的定时器中断(包括但不限于:协议栈模拟定时器app_timer、各种软硬件定时器、RTC)。

注意是唤醒进入定时服务函数的动作要关闭,有的定时器本身可以不关闭(例如RTC,PS:app_timer也是RTC实现的),具体的可以测试。

然后执行下面的函数,仿真打断点发现进入此函数后不再出来,进入低功耗成功。此时功耗最低点可以下降到<30uA。

/**@brief Function for handling the idle state (main loop).** @details If there is no pending log operation, then sleep until next the next event occurs.*/
void idle_state_handle(void)
{nrf_pwr_mgmt_run();
}

硬件上IO口的拉高低问题,所有MCU都差不多,不赘述。

2.如果可能,打开DCDC功能

需要硬件支持,芯片的46、47脚接电感,具体参考手册。

3.有些用到DMA的外设进入低功耗前必须关闭,否则会不断唤醒,功耗激增

比如UART,只要使能(NRF_UART0->ENABLE = 1),就会无法进入休眠,一定要关闭。否则将会导致第1条中的进入低功耗失败。

4.GPIO设置为输入可能并不是最省电的方式

某些情况下,直接输出高或低比设置为输入更省电。

5.硬件SPI可能会与协议栈冲突,导致功耗增加

硬件SPI简单的关闭失能后,还是会导致功耗增高,关闭协议栈后正常,原因未知,正确关闭方法暂时未知,只能暂时使用模拟SPI。

评论区朋友反馈,这可能是 GPIOTE与TWI(SPI)冲突造成,可以尝试如下方式解决

TWI: Static 400 µA current while using GPIOTE​infocenter.nordicsemi.com

6.看门狗的坑:可能偷偷复位系统

该芯片看门狗比较特别,开启后就无法软件关闭,此外,在休眠期间协议栈会唤醒CPU导致看门狗会偷偷计数而用户代码完全不知道,如果只是单纯一直休眠而不定期唤醒喂狗,可能会导致系统不久后自动复位。

7.FPU的问题

此问题听说过还没遇到过,可以参看

书生:Nordic nRF52832 SDK12.3 关于FPU未关闭引起的功耗问题​zhuanlan.zhihu.com

8.外部中断的选择

外部中断分为port event(GPIO Sense)和GPIOET,两者功耗可能不一样(前者是低功耗,实测2uA;或者是高功耗,实测9uA)

但是port event的使用局限性比较大,比如:一个IO口进入中断后,除非再解除,否则其他IO口无法检测、只能检测高电平或低电平,且速度不能太快,等

详见:

nRF5芯片外设GPIO和GPIOTE介绍-CSDN论坛​bbs.csdn.net

9.待续。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/472096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

openpyxl 读写 excel

import openpyxl book openpyxl.load_workbook(b.xlsx) # 读取 # sheet book["name_tab"] sheet book.active # rowsheet.max_row # 行数 columnsheet.max_column # 列数 print(row) print(column) for r in range(2, row1): # 跳过表头&#xff0c;行号是从1开…

iOS开发周报-- 第一期

从Java转iOS第一个项目总结 http://www.cocoachina.com/ios/20150417/11595.html icon设计探讨&#xff1a;图标&#xff0c;文字&#xff0c;还是图标加文字&#xff1f; http://www.cocoachina.com/design/20150414/11552.html 为什么整个互联网行业都缺CTO http://www.cocoa…

mysql 连接 内存溢出_mysql - MySQL中止连接未知错误 - 堆栈内存溢出

我使用多jdbc执行全表查询以进行数据迁移。 当我使用并行的75个jdbc查询每个表有近3000000行的差异表时&#xff0c;我发现MySQL在所有数据返回到jdbc之前中止了一个连接。慢日志&#xff1a;Time: 160919 9:09:38UserHost: test[test] [10.142.90.20]Thread_id: 349 Schema: …

opengl计算帧率_或许是迄今为止第一篇讲解 fps 计算原理的文章吧

前言fps&#xff0c;是 frames per second 的简称&#xff0c;也就是我们常说的“帧率”。在游戏领域中&#xff0c;fps 作为衡量游戏性能的基础指标&#xff0c;对于游戏开发和手机 vendor 厂商都是非常重要的数据&#xff0c;而计算游戏的 fps 也成为日常测试的基本需求。目前…

041、基于CNN的样式迁移

之——基于CNN的滤镜 目录 之——基于CNN的滤镜 杂谈 正文 1.基于CNN的样式迁移 2.实现 杂谈 通过CNN的特征提取&#xff0c;可以实现将一个图片的样式模式特征迁移到另一张图像上。 正文 1.基于CNN的样式迁移 就是在某些层的输出上用其他的图片进行监督。 2.实现 一般来…

LeetCode 483. 最小好进制(二分查找)

文章目录1. 题目2. 解题1. 题目 对于给定的整数 n, 如果 n 的 k&#xff08;k>2&#xff09;进制数的所有数位全为1&#xff0c;则称 k&#xff08;k>2&#xff09;是 n 的一个好进制。 以字符串的形式给出 n, 以字符串的形式返回 n 的 最小 好进制。 示例 1&#xff…

rds for mysql的监控指标_mysql(RDS)常用性能指标监控

Mysql1.1.1监控指标说明主要针对SQL耗时、吞吐量(QPS TPS)命中率 锁等待等指标进行监控。本来运维工具产品有以下参数&#xff1a;(global status里面的状态量)TPS/QPS连接数每秒SQL执行次数全表扫描数InnoDB缓冲池命中率InnoDB缓冲池使用率/脏块率InnoDB逻辑读排序记录数InnoD…

numpy 随机数_TF+Numpy减少随机性的影响

有这么一个段子:深度学习论文有一半不公开源代码,另外公开源代码的一半复现不了,鬼知道作者怎么把结果搞得这么牛逼的.其中一个原因就是深度学习使用了大量的随机数,就我一般使用的PythonTensorFlow环境而言,Python的随机性来自于numpy,而TensorFlow在初始化参数的时候也是使用…

LeetCode LCS 01. 下载插件

文章目录1. 题目2. 解题1. 题目 小扣打算给自己的 VS code 安装使用插件&#xff0c;初始状态下带宽每分钟可以完成 1 个插件的下载。 假定每分钟选择以下两种策略之一: 使用当前带宽下载插件将带宽加倍&#xff08;下载插件数量随之加倍&#xff09; 请返回小扣完成下载 n …

ASCII字符集中的功能/控制字符

转载:ASCII字符集中的功能/控制字符 Function/Control Code/Character in ASCII 【什么是 Function Code 功能码或 Function Character 功能字符】 ASCII 字符集&#xff0c;大家都知道吧&#xff0c;最基本的包含了 128 个字符。其中前 32 个&#xff0c; 0-31 &#xff0c;即…

mysql chown_chown -R mysql:mysql ./及chown详解

chown -R mysql:mysql ./及chown详解&#xff0c;当我们在不通过yum(CentOS)、apt-get(Ubuntu)来安装MySQL的时候&#xff0c;通常执行以下命令来改变目录的拥有者&#xff1a;[rootlocalhost ~]# chown -R mysql:mysql ./那&#xff1f;这两个mysql谁是用户名谁是用户组呢&am…

LeetCode LCS 02. 完成一半题目(计数+排序)

文章目录1. 题目2. 解题1. 题目 有 N 位扣友参加了微软与力扣举办了「以扣会友」线下活动。 主办方提供了 2*N 道题目&#xff0c;整型数组 questions 中每个数字对应了每道题目所涉及的知识点类型。 若每位扣友选择不同的一题&#xff0c;请返回被选的 N 道题目至少包含多少种…

opensip db mysql_opensip和opensip_cp安装配置

一&#xff0c;opensip安装1&#xff0c;老老实实安装各种库&#xff0c;我在这里吃了点亏&#xff1a;yum install gcc makeyum install flex bison ncurses libncurses-dev ncurses-develyum install mysql mysql-server mysql-libs mysql-devel2&#xff0c;下载opensip&…

摄像头图像分析目标物体大小位置_单个运动摄像头估计运动物体深度,谷歌挑战新难题...

雷锋网 AI 科技评论按&#xff1a;人类视觉系统有一个我们习以为然但其实极其强大的功能&#xff0c;那就是可以从平面图像反推出对应的三维世界的样子。即便在有多个物体同时移动的复杂环境中&#xff0c;人类也能够对这些物体的几何形状、深度关系做出合理的推测。然而类似的…

Spring中DispacherServlet、WebApplicationContext、ServletContext的关系

解释一&#xff1a; 要想很好理解这三个上下文的关系&#xff0c;需要先熟悉spring是怎样在web容器中启动起来的。spring的启动过程其实就是其IoC容器的启动过程&#xff0c;对于web程序&#xff0c;IoC容器启动过程即是建立上下文的过程。 spring的启动过程&#xff1a; 首先&…

LeetCode LCS 03. 主题空间(广度优先搜索BFS)

文章目录1. 题目2. 解题1. 题目 「以扣会友」线下活动所在场地由若干主题空间与走廊组成&#xff0c;场地的地图记作由一维字符串型数组 grid&#xff0c;字符串中仅包含 “0"&#xff5e;"5” 这 6 个字符。 地图上每一个字符代表面积为 1 的区域&#xff0c;其中 …

UIImage 裁剪图片和等比列缩放图片

本文转载至 http://blog.csdn.net/cuiweijie3/article/details/9514293 转自 http://www.tedz.me/ios/uiimage-crop-resize-image interface UIImage(UIImageScale)-(UIImage*)getSubImage:(CGRect)rect;-(UIImage*)scaleToSize:(CGSize)size;endimplementation UIImage(UIIma…

python模式匹配算法_详解Python 最短匹配模式

问题你正在试着用正则表达式匹配某个文本模式&#xff0c;但是它找到的是模式的最长可能匹配。 而你想修改它变成查找最短的可能匹配。解决方案这个问题一般出现在需要匹配一对分隔符之间的文本的时候(比如引号包含的字符串)。 为了说明清楚&#xff0c;考虑如下的例子&#xf…

Paddle 基于预训练模型 ERNIE-Gram 实现语义匹配

文章目录1. 导入一些包2. 加载数据3. 数据预处理3.1 获取tokenizer&#xff0c;得到 input_ids, token_type_ids3.2 转换函数、batch化函数、sampler、data_loader4. 编写模型5. 学习率、参数衰减、优化器、loss、评估标准6. 评估函数7. 训练评估8. 保存模型到文件9. 预测10. 多…

j2ee和mysql怎么连接_J2EE数据库连接不再烦恼

刚开始接触j2ee的时候总是为数据库的开关连接问题而烦恼,虽然问题很简单却很是琐碎,于是干脆写成一个类将所有必要的基本操作全部总结进去,以后只要轻松的import一下就可以了啊:)菜鸟们enjoying!import java.sql.Connection;import java.sql.Statement;import java.sql.ResultS…