一、博客参考参考
站在巨人的肩膀上做产品,如果你刚被公司b着做低功耗的调试,不妨先看看各位大佬的经验!
1.MCU低功耗设置
https://blog.csdn.net/baidu_31437863/article/details/81038089
2.STM32低功耗模式解读
https://blog.csdn.net/beep_/article/details/47975227
3.电阻(4)之上拉电阻与下拉电阻详解
https://www.cnblogs.com/sunshine-jackie/p/8413901.html
4.stm32f030, 低功耗, stop模式,5.6uA 程序配置
https://wenku.baidu.com/view/c9e10e2eb207e87101f69e3143323968001cf47d.html
5.SX1278与STM8L的精美结合
https://blog.csdn.net/u013184273/article/details/80051263
二、个人理解
A.调试低功耗的目的是让自家的产品省电,这样同样的电池,供电量就更长;
B.低功耗的原则是避免非相关电子元器件形成回路;
C.最重要一条:一切理论以最终实际校验为第一标准!
三、低功耗方法
如果此IO口带上拉,请设置为高电平输出或者高阻态输入;
如果此IO口带下拉,请设置为低电平输出或者高阻态输入;
空闲IO一律模拟模式(实际上个人感觉没啥卵用)
四、其他芯片
注意其他芯片静态工作电流,包括LDO,之前做过一款LDO静态工作电流90uA的,坑!
五、其他
调功耗没有好方法,只有有耐心调功耗的人!我现在的老大说得,调功耗就一点一点扣,包括IO,包括其他芯片,电阻,设备等等。。。。。。如果你经验不足,接到一个低功耗的活,那是倒霉的,我当时是胡乱调试!(说得现在我再调功耗不是胡乱调试一样)
六、例子
我之前调过的一个东西是stm32+lora;
Lora的睡眠电流极低,调整个设备先让设备睡眠,再调板子的其他功耗!这是我应该做的第一步;
确定外接的每一个IO所连接的内容,电阻(能卸就卸),不能卸的都按【低功耗方法】进行配置,这是第二步;往往第二部做完之后功耗仍不能如意,这个时候只能保持耐心了,坚定低功耗原则,尽量不要瞎调(不过这是不可能的,祝好运),不要做重复调试的内容,做完每次做笔记!(噗!像催眠一样)
假设:我的设备工作休眠状态(80ms)电流5uA,接收状态(640us)电流15mA,那么平均电流就是(5x80x1000+640x15x1000)/80640=124uA
电池电量:3800mAh
可工作小时:3800*1000uA/124uA=30645小时
天数:30645/24=1276天
年:1276/365=3.5年