第一次接触低功耗产品,在降功耗的过程中费了很多心思,把解决过程介绍给大家,供参考:
在很多场景下会要求产品要低功耗,stm32低功耗芯片最低10uA,实测,在运行模式下,最小系统板,全管脚模块收入时,0.224mA
下面介绍下我在项目中降功耗的经验
我们的PCB板上用到了片内片外的ADC、串口、片外FLASH、按键、显示屏等
1、首先控制芯片的频率,在满足使用的情况下,越低越好,我用的是4MHZ
2、管脚处理:使用的时候初始化,用完改为模拟输入
按照以上两方法,设计出来的软件运行功耗为2.3mA左右,太高了,要继续降
后面就是要分别测各个模块的功耗,进行各个击破:
1、首先测的就是lcd屏,拔掉屏后,功耗降了1mA,说明显示屏功耗太大了
那么1分钟无操作,自动息屏,由于我们的设备主要是测量和无线通信,很少会有人到现象查看,所以这里可以降1mA左右。
1.3mA还是有点大的,我们的目标是降到1mA以下。
其它的模块都焊在PCB上,不能进行拔插,下面要从最小系统板开始,一个个模块进行焊接:
2、片外ADC,这个片子焊上后功耗就增加了0.5mA左右,把Vcc脚抛起来都没用,要把REST脚拉低才行,这也不符合我们的使用要求
查看ADC数据手册,这个片子有低功耗模式,只有10uA左右,那么查看它的引脚和寄存器,根据要求,在使用前设置为运行模式,使用后设置为低功耗模式,这样,功耗又降了0.5ma左右。
后面再继续查其它模块。。。
硬件查完了再查软件,首先软件设计要模块化,否则很难查。
从BSP开始,对每个模块初始化后,记录下此时的功耗,这样就能直观的看出是哪个模块耗电最多,然后再进行相应的优化,这样,我们最后的功耗在0.6ma左右,在没有睡眠的情况下,已经大致目标
如果要继续降功耗,那么后面就要加睡眠、降频、降采样点数等方面考虑了
写了这么多,仅供大家参考,如果有不足之处,还请指出,多谢!
本文分享了一位工程师在STM32低功耗产品设计中的经验,通过调整芯片频率、管脚处理、模块功耗测试和优化,将运行功耗从2.3mA降低到0.6mA。关键步骤包括屏幕自动息屏、ADC低功耗模式设置等,为类似项目提供了参考。
1315

被折叠的 条评论
为什么被折叠?



