良许Linux教程网 干货合集 单片机实现低功耗的几种方法和注意事项

单片机实现低功耗的几种方法和注意事项

对于采用电池供电的产品,尤其是对于一些需要持续工作一年甚至数年的产品,这些产品的平均电流需求非常低,基本在微安或纳安级别。

在我之前的公司,我曾经涉及多个采用电池供电的产品,这些产品共同的特点是:它们的待机电流非常低。

接下来,结合我的工作经验和市场上相关产品,我将描述关于低功耗设计的注意事项以及实现低功耗的方法。

低功耗产品的情况

低功耗产品通常要求待机功耗低,有些产品在待机状态下功耗可以降至零,有些产品在待机状态下多个外设模块会交替工作或同时工作。

  1. 零待机功耗

对于待机功耗为零的产品,只需要确保工作时的功耗即可。如果产品的工作时间也很短,那么在低功耗方面需要投入的研发相对较少。

举例来说,像电视遥控板:

这类产品在待机状态下功耗为零,通过按键唤醒后,工作几毫秒(不同型号的时间可能有所差异)然后再次进入待机状态。

实现原理:
通过按键供电,启动微控制器,执行工作任务,任务完成后,通过微控制器控制总电源断电。

也就是:通过外部开启电源,通过内部控制断电的机制实现。

image-20240228203844698
image-20240228203844698

2.间歇待机

有些产品是间歇性待机,比如:工作1ms,待机499ms。

比如IC卡设备:

IC卡设备如果一直处于寻卡工作状态,电流其实相对较大,而很多时候都没有IC来感应。

实现原理:

这种产品,可以间隔0.25s,或者0.5s来感应(寻卡)一次,同时不会给人带来“卡顿”的感觉。(寻卡工作的时间其实很短)

image-20240228203841098
image-20240228203841098

(图片来自网络)

同理,类似的产品还有很多,比如无线遥控天然气、水表等。

这种做法目的是为了让产品功耗更低,但人看起来产品一直在工作。

3.长期待机

有些产品的MCU是通过外围设备唤醒,比如通过触摸按键唤醒产品。

这种产品相对上面两种难度更大,要同时保证MCU内部资源,以及外部资源在工作和待机时功耗都要尽量低。

实现低功耗的方法

结合上面产品的描述可以总结几点实现低功耗的方法。

1.控制电源开关

通过控制系统总电源、(高功耗)外围模块电源的开关,特别是使用频率低、功耗大的外围模块,在需要时才开启。

2.控制MCU内部外设

有些MCU产品的外设在上电时默认是开启的(比如STM8S),不用的外设一定要关闭,在需要时才开启。

image-20240228203837333
image-20240228203837333

3.控制时钟频率

这里说的控制时钟频率不单纯是降频,是根据实际工作情况(工作模式、时长等)调整频率。

有些产品它在执行任务A时,要求快速处理(不如跑一段算法),则需要调整到更高的频率;

而在执行任务B时,处理简单事情(比如控制LED亮灭),则需要将时钟调整到很低状态。

同时,还需要结合工作时长,比如上面任务A,如果时间很长,这个频率也需要综合考虑。

4.控制IO状态

现在MCU基本都有多种状态:

  • 模拟输入
  • 浮空输入
  • 下拉输入
  • 上拉输入
  • 开漏输出
  • 推挽输出
  • 复用开漏输出
  • 复用推挽输出

在低功耗状态、工作过程都需要设置成合理状态。比如通常在待机时,将不用的引脚设置成模拟输入。

5.检查硬件

检查是否存在漏电流,比如不合格电容、电阻等器件。

还有虚焊或板卡上存在残留焊锡等情况,都会导致功耗增加。

(这里面的坑比较多,来留言说说你遇到过的坑)

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

137e00002230ad9f26e78-265x300
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部