详细解析MCU降功耗的6个方法

描述

降功耗对于一款使用电池供电的产品来说是至关重要的。当然这项工作不只是软件开发人员的责任,还需要硬件工程师合理的电路设计,器件选型,最终共同努力将功耗控制到可接受的范围。

MCU降功耗可以从以下6个方面着手:

1.器件选型

基于成本的考虑,电路使用的元器件可能不是低功耗的最佳选择,如某些传感器,本身功耗就比较大,这时想通过软件降功耗就很麻烦了。最好选择那些可以配置的,存在低功耗模式的传感器。至于MCU,是显而易见的,肯定选一款功耗低,满足功能要求的,这些评审时自然会考虑到。一些8位MCU功耗是几十微安,睡眠模式1uA左右,成为首选。这类MCU最容易出现的就是资源有限,引脚个数少,如某款IC ROM只有1K,RAM32字节,这样最后的软件实现很可能捉襟见肘。

2.降低主频

众所周知,芯片主频越高,功耗越大。降功耗方案一般不使用外部晶振,使用内部晶振,频率选择常用的32768Hz虽然低,却只能得到秒一级别的精度,想得到ms或us级别的精度,大于1M的频率少不了。

3.睡眠模式

睡眠模式是降功耗的主要方式,MCU可以睡眠模式睡眠,模块也可以睡眠。在外部触发唤醒MCU之后,MCU再唤醒功耗更大的模块,完成功能或通信后,马上又进入睡眠,总之进入睡眠状态自然是省电的。一些模块存在多种睡眠模式,都是为了在不影响功能的前提下更加灵活地来降低功耗。

4.关闭未用资源

在使用稍复杂一点的MCU时,它本身所带的外设,未使用时一定关闭。使用简单的MCU时,可能所有的功能都是引脚模拟实现,如IIC,SPI,Uart之类,不过也要注意,进入睡眠停止工作之前,应将与之对应的传感器等器件关闭或使其进入PowerDown Mode,唤醒后再做初始化、配置的工作。

5.配置IO口

前面提到睡眠之前,关闭外部器件,你以为这样就可以了,其实未必。如果某些引脚接了外部上拉电阻,而MCU睡眠时该引脚置低,这样一来,有压差,有电阻,就形成了不必要的功耗。这点容易被忽略,所以各个引脚一定要根据外部电路合理配置。

6.间歇工作原则

所谓间歇工作,就是劳逸结合,工作休息交替进行,采用切电源的方式,开和关交替执行,这样该器件的功耗就降了一半。如果某器件上电后,需要预热一段时间,那这个方法就行不通了。还有一些电平驱动的元件,给一定占空比的脉冲就可以工作,还可以根据电压调整占空比,平衡负载,实现电源最大利用率,不过这又是一项复杂的工作了。

以上是一些从MCU的角度降功耗的基本方法。降功耗是一项艰巨又具有挑战的工作,要求越高,就越能发掘出越多的方法出来。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分