硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4460|回复: 1
收起左侧

[客户分享] 低功耗的几点注意事项(来自ZLG)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107888
QQ
发表于 2015-9-4 14:32:20 | 显示全部楼层 |阅读模式
原地址:链接
第一条:掐断外设命脉——关闭外设时钟
       先说最直观的,也是工程师都比较注意的方面,就是关闭MCU的外设时钟,对于现在市面上出现的大多数的MCU,
其外设模块都对应着一个时钟开关。只需要打开这个外设的时钟,就可以正常的使用这个外设了,当然,此外设也就会
产生相应的功耗;反之,如果想要让这个外设不产生功耗,只需关闭它的时钟即可。


第二条:让工作节奏慢下来——时钟不要倍频
       除了外设模块功率消耗之外,还有一个功耗大户需要注意一下,这就是PLL和FLL模块。PLL和FLL主要是用来对
原始的时钟信号进行倍频操作,从而提高系统的整体时钟,相应的,其功耗也会被提上去。所以在进入低功耗之前,
需要切换是种模式,旁路掉PLL和FLL模块,从而尽可能的降低MCU的功耗,等到MCU唤醒之后再把时钟切换回去。
1.png

第三条:围堵涓涓细流——注意I/O口的电平状态
       如果认为只要关闭外设时钟就能够保证外设不再耗电,那么你就太天真了。如果IO口没有做好处理的话,它就会
在暗地里偷走功耗,而你却浑然不知。具体原因是这样的,一般的IO的内部或者外部都会有上下拉电阻,举个例子,
如下图所示,假如某个IO口有个10KΩ的上拉电阻,把引脚拉到3.3V,然而当MCU进入低功耗模式的时候,此IO口被
设置成输出低电平,根据欧姆定律,此引脚就会消耗3.3V/10K=0.33mA的电流,假如有四、五个这样的IO口,那么
几个mA就贴进去了,太可惜了。所以在进入低功耗之前,请逐个检查IO口的状态:
    [li]
    如果此IO口带上拉,请设置为高电平输出或者高阻态输入;
    [/li][li]
    如果此IO口带下拉,请设置为低电平输出或者高阻态输入;
    [/li]

2.png

关于上下拉电阻的使用原则的详细说明,请参考已发布的微信文档《上拉电阻、下拉电阻知多少》(创客社区论坛的
文章位置:http://maker.zlgmcu.com/portal.php?mod=view&aid=2013)。


       总之一句话,不要把上好的电流浪费在产生热量的功能上,咱可不靠这点温度去暖手。


第四条:睦邻友好合作——注意I/O与外设IC的统筹
       IO口的上下拉电阻消耗电流这一因素相对比较明显,下边咱来说一个不明显的因素:IO
口与外部IC相连时的电流消耗。假如某个IO口自带上拉,而此与IO相连的IC引脚偏偏是自带
下拉的,那么无论这个引脚处于什么样的电平输出,都不可避免的产生一定的电流消耗。所
以凡是遇见这一类的情况,首先需要阅读外设IC的手册,确定好此引脚的的状态,做到心中
有数;然后在控制MCU睡眠之前,设置好MCU的IO口的上下拉模式及输入输出状态,要保
证一丝儿电流都不要被它消耗掉。


第五条:断开调试器连接,不要被假象所迷惑
  还有一类比较奇特,检测出来的电流消耗很大,可实际结果是自己杞人忧天,什么原因呢?
是因为在测试功耗的时候MCU还连接着调试器呢!这时候大部分电流就会被调试器给掳走,
平白无故的让工程师产生极度郁闷的心情。所以在测低功耗的时候,一定不要连接调试器,
更不能边调试边测电流。


总结
     MCU的低功耗设计是一个细致活,要养成良好的习惯,做到每添加一个功能都要重新验
证一下低功耗是否符合要求,这样就可以随时随地干掉消耗功率的因素。如果把所有功能都
设计好了才去考虑低功耗的问题,一个不小心,就可能要更改程序的架构——即便如此也
不一定能把功耗给彻底降下去。
回复

使用道具 举报

6

主题

65

回帖

83

积分

初级会员

积分
83
发表于 2015-9-7 13:24:17 | 显示全部楼层
好文[s:151]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-17 12:56 , Processed in 0.204699 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表