|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
低功耗是mcu的一项非常重要的指标,比如某些可穿戴的设备,其携带的电量有限,如果整个电路消耗的电量特别大的话,就会经常出现电量不足的情况,影响用户体验。所以如何保证MCU的功耗尽可能的低成为了重中之重,一下给出了几条小建议。# E2 _3 x4 B$ y- m
1.关闭外设时钟
+ J# j# m! D6 f 现在市面所生产的大多数MCU,其外设模块一般都会对应着一个时钟开关,只需要打开这个时钟开关,就可以正常的使用这个外设了,但是,使用这个外设就会产生相应发功耗,反之,想要让这个外设不产生功耗,就可以关闭这个时钟开关。
- p# [5 c/ @1 I0 b8 U0 L2.时钟不需要倍频; q1 L) m: f' b0 _% g8 x
除了外设模块消耗功率之外,还有一个功耗大户需要注意一下,这就是PLL和FLL模块。PLL和FLL主要是用来对原始的时钟信号进行倍频操作,从而提高系统的整体时钟,相应的,其功耗也会被提上去。所以在进入低功耗之前,需要切换时钟模式,旁路掉PLL和FLL模块,从而尽可能的降低MCU的功耗,等到MCU唤醒之后再把时钟切换回去。! r4 ~7 ]" q( I& c
% |, b+ r6 @9 n$ B: q6 R
) Q1 A3 z+ u9 t( N0 a) K9 j- K
7 n, o8 w/ C z1 y6 }2 v+ N+ L
3.注意I/O口的电平状态
" X$ o z5 {, h* B( ^/ }7 n/ k 一般IO的内部或者是外部都会有上下拉电阻举个例子,如下图所示,假如某个IO口有个10KΩ的上拉电阻,把引脚拉到3.3V,然而当MCU进入低功耗模式的时候,此IO口被设置成输出低电平,根据欧姆定律,此引脚就会消耗3.3V/10K=0.33mA的电流,假如有四、五个这样的IO口,那么几个mA就贴进去了,太可惜了。所以在进入低功耗之前,请逐个检查IO口的状态:3 o; B+ H V7 h/ _+ A9 [
如果此IO口带上拉,请设置为高电平输出或者高阻态输入;
+ l5 `7 X' d$ M! A. w; [如果此IO口带下拉,请设置为低电平输出或者高阻态输入;8 E' H( Z! C4 B* L2 p2 `% y- [8 _0 a
$ f- ?' E0 t9 X6 K& K1 Z# j
5 f7 x7 S/ ~8 S" `6 H1 l E7 w2 c- Y
- J/ k9 i3 z, q6 A
) h$ W; Y! q1 V: J5 d/ t4.使I/O与外设IC相互统筹
( d$ j3 h+ `1 C% H IO口与外部IC相连时的电流消耗。假如某个IO口自带上拉,而此与IO相连的IC引脚偏偏是自带下拉的,那么无论这个引脚处于什么样的电平输出,都不可避免的产生一定的电流消耗。所以凡是遇见这一类的情况,首先需要阅读外设IC的手册,确定好此引脚的的状态,做到心中有数;然后在控制MCU睡眠之前,设置好MCU的IO口的上下拉模式及输入输出状态,要保证一丝儿电流都不要被它消耗掉。: h( j$ E. f+ O# ?2 t
5.将调试器的连接断开, _* Q X) Z+ s5 G9 p+ S% R5 l
当MCU连接着调试器时,大部分的电流就会被调试器掳走,导致测试的功耗增加,所以以后在测试功耗时,一定不要连接着调试器,更不能一边调试一边测试电流。
$ c) \& W3 D6 ~% W |
|