Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread
功耗调优
RT-Thread功耗调优项目实战 - 认识功耗
发布于 2022-01-30 11:24:43 浏览:1188
订阅该版
[tocm] [RT-Thread功耗调优项目实战 - 认识功耗](https://club.rt-thread.org/ask/article/3371.html) [基础:RT-Thread PM管理基础概念 系列](https://club.rt-thread.org/ask/article/2282.html) [进阶:RT-Thread PM管理知识进阶 系列](https://club.rt-thread.org/ask/article/2296.html) [上手:功耗管理与调优经验分享 系列](https://club.rt-thread.org/ask/article/2707.html) [应用:PM组件应用与经验分享 系列](https://club.rt-thread.org/ask/article/292.html) ## 前言 - 之前根据实际项目的功耗管理抽空写了几篇功耗管理相关的文章,但感觉还没有讲透功耗是个什么,怎么按步骤进行管理 - 直观的感受,如手机充满用了一天,发现电量低于50%,晚上要接着充电吧,否则第二天电量估计不足,这个50%、充满100%是个什么概念? - 引入实际的项目并讲解功耗管理(功耗调优)为大势所趋 - 一言以蔽之,前面的文章只是理论与基础,质量不太高 - 有了前面的文章的理论与基础,相信在电源管理、功耗调优方面会有一点方向感 ## 实践与实战 - 假如项目使用一个低功耗的MCU,通过查看MCU的手册,如STM32L系列,直观上会认为让STM32L475本身进入低功耗模式,实现电源模式切换,功耗管理就完成了 - 但是没想到,实际中功耗管理起来相当的复杂,并且管理的是硬件与业务,不仅仅是MCU本身的功耗。 - 大型的团队里,与功耗相关的小组有:硬件部、测试部、BSP(驱动部)、OS(系统部)、UI(应用部)、BMS(电池管理)、项目部、策划部(产品定义),等等。 - 大型项目中的功耗管理不再是:**自扫门前雪**,由于牵涉的部门与成员很多,管理起来很麻烦。 - 功耗管理不仅是需要熟悉PM框架(软件)的使用,还需要各种电源仪器仪表(直流电源、万用表),不仅需要懂MCU的电源管理,还要懂各个片外外设,要熟悉硬件(不只是了解),还有熟悉软件 - 功耗管理一般是个**冷板凳**的活,很少有公司专门投入较大的人力与时间去研究去管理,干好了没什么可说的,干不好的话,呵呵。 ## 理论结合实战 - 需要用数据与事实来讲解,这里使用STM32L475-Pandora 开发板,讲解一下功耗相关的数据 - 工具:电源分析仪一台,或者可以使用Power Monitor等,用途为:**供电**、**电源分析**,在这里,电源分析是重要的。 - PC端使用电源分析仪带的电源分析工具,图形化查看功耗数据(电压、时间、电流) - 打仗,需要了解打的是谁,功耗管理也是一样,管的是什么?做到什么程度才算好。 - 开发板:STM32L475-Pandora,其他电路板也可以 - 万用表:测量电压,测量某路的电流 - 另外根据情况配置电烙铁、杜邦线、开发板下载工具、USB转串口工具等 ## 接线 - 这里有点**讲究**:要了解或熟悉硬件,否则接错了很可能把板子烧掉,或者测量的不准确(不是主电源),严重影响下一步的电源分析与管理。 - 为了防止烧掉板子需要了解板子的**电压供电范围**,通过电路板的原理图,可以查找电源的【主入口】 - 如STM32L475-Pandora开发板,电源入口是两个USB座,5V的电源来自USB VBUS,有5V的扩展排针,可以作为整板供电,但接线时需要注意电压要正确,为5V,电源的正负极接对。 - 假如你接的位置不正确,如接的是3.3V,或测量功耗时还接着USB线供电,测量的数据会千差万别,用来测量功耗,会带来很多烦恼。 - 使用外部电源分析仪供电时,不要再使用USB供电,这样电源分析仪测量的即为**整机电流**。 - 说到整机电流,就是这个板子的所有电流,全部由一个电源入口进入。 - 在测量整机功耗时,如果板子使用电池,需要先取下电池,引出电池的正、负极两根电源线,使用外部的电源作为**假电池**供电,注意使用颜色区分电源的正负极,防止接反损坏电路板。 ![2022-01-30_110024.png](https://oss-club.rt-thread.org/uploads/20220130/ecd18fabc4af0af3a9c4e54bf5431106.png.webp) ![2022-01-30_110536.png](https://oss-club.rt-thread.org/uploads/20220130/cd427622c2e205b592dc23567139a484.png.webp) ![2022-01-30_110622.png](https://oss-club.rt-thread.org/uploads/20220130/5e5ef009ce97010789be75c312d7eb36.png.webp) ## 功耗测量 - 功耗数据一般由:供电电压、供电电流、持续时间组成,分为**瞬时功耗**、**平均功耗**。 - 瞬时功耗一般为当前实时(短时间)的平均功耗 - 平均功耗一般只一段较长时间的功耗,如10S内、10min内,1小时或1天内的平均功耗 - 功耗的单位:毫安(mA)、微安(uA)、毫安时(mAh)等,为何不包括电压?因为电压变化不大(尤其是使用电池场景),某些场景下,有电压,但是没有电流,不产生功耗。 ![2022-01-30_101819.png](https://oss-club.rt-thread.org/uploads/20220130/fccd0791a83fa1dd3ac78d6cb8012415.png.webp) - 开发板默认功耗:一个LED的功耗 ![2022-01-30_102600.png](https://oss-club.rt-thread.org/uploads/20220130/884a3c66e7e84ae8b463a23c3ca772c7.png.webp) ## 小疑问 - 项目给的功耗目标是待机 100uA,这里 50mA,功耗算不算合格? > 100uA 是 0.1mA, 跟50mA比,当然是50mA大了,所以功耗不合格 - 项目给的电池 100mAh,我用 50mA的放电电流,可以放电多久?一天? > 放电时间:`电量 / 放电电流 = 使用时间`,这里:100mAh / 50mA = 2h,只能放电 2小时,注意一般的电池,实际可以使用的电量不可能100%,普通锂电池的有效电量为:85%~95%,所以实际使用2个小时都达不到。 - 100mAh 与 100mA的区别是什么? > mAh是电量,mA是电流。如100mA放电,100mAh可以放电1h,如用10mA放电,不考虑电池自放电与实际有效容量的情况下,理论上就可以放电10h - 手机刚买回来,能用续航两天,一年之后,却用不了一天? > 这是电池的特性,越用越不耐用,反复充电影响电池的寿命与容量(容量越来越小) ## 小结 - 电源(功耗)管理需要懂的东西,不只是PM框架或MCU本身,要去了解更多的东西 - 当前的开发板50mA的电流都干什么了,我代码里只有一个LED闪灯啊。 > 接下来讲解:如何降低这个功耗,这也是功耗调优的意义所在:降低功耗,提高续航 - LED关了确实降低了功耗,可是电流还是有50mA左右,怎么达成uA级的目标? > 接下来讲解:功耗拆拆解,找到功耗大头 - 假如我的业务就是LED闪烁,你直接给我关了,我不干事情了?不关闭,能否降低整机功耗? > 接下来讲解:什么是间歇性工作,如何在完成工作的同时降低功耗 - 各个疑难如何排查?如何成为功耗管理专业人士?敬请期待...
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
张世争
学以致用
文章
131
回答
802
被采纳
173
关注TA
发私信
相关文章
1
RT-THREAD在STM32H747平台上移植lwip
2
正点原子miniSTM32开发板读写sdcard
3
反馈rtt串口驱动对低功耗串口lpuart1不兼容的问题
4
Keil MDK 移植 RT-Thread Nano
5
RT1061/1052 带 RTT + LWIP和LPSPI,有什么坑要注意吗?
6
RT thread HID 如何收发数据
7
求一份基于RTT系统封装好的STM32F1系列的FLASH操作程序
8
RT-Thread修改项目名称之后不能下载
9
rt-studio编译c++
10
有木有移植rt-thread(nano)到riscv 32位MCU上
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
MicroPython
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
16
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
RTT_逍遥
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部