AVR应用笔记 AVR单片机内核剖析 ATmega168 减少功耗的方法

ATmega168 减少功耗的方法

以下资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!

试图降低AVR 控制系统的功耗时需要考虑几个问题。一般来说,要尽可能利用睡眠模式,并且使尽可能少的模块继续工作。不需要的功能必须禁止。下面的模块需要特殊考虑以达到尽可能低的功耗。

模数转换器

使能时, ADC 在所有休眠模式下都继续工作。为了降低功耗,在进入休眠模式之前需要禁止 ADC。重新启动后的第一次转换为扩展的转换。详见 P217“ 模数转换器” 。

模拟比较器

ATmega168在 ADC 噪声抑制模式下也是如此。在其他休眠模式模拟比较器是自动关闭的。如果模拟比较器使用了内部电压基准 源,则不论在什么休眠模式下都需要通过程序来关闭它。否则内部电压基准源将一直使能。请参见 P214“模拟比较器”以了解如何配置模拟比较器。

掉电检测BOD

如果系统没有利用掉电检测器 BOD,这个模块也可以关闭。如果编程熔丝位 BODLEVEL使能 BOD 功能,它将在各种休眠模式下继续工作,从而消耗电流。在深层次的休眠模式下,这个电流将占总电流的很大比重。请参看 P40“掉电检测” 以了解如何配置 BOD。

片内基准电压

当使用 BOD、模拟比较器 或 ADC 时可能需要内部电压基准源。若这些模块都禁止了,则基准源将被禁止,从而不会消耗能量。重新使能后用户必须等待基准源稳定之后才可以使 用。如果基准源在休眠过程中是使能的,其输出立即可以使用。请参见 P43“片内基准电压”以了解基准源启动时间的细节。

看门狗定时器

如果系统无需利用看门狗,这个模块就可以关闭。若使能,则在任何休眠模式下都持续工作,从而消耗电流。在深层次的睡眠模式下,这个电流将占总电流的很大比重。请参看P44“看门狗定时器”以了解如何配置看门狗定时器。

端口引脚

ATmega168进入休眠模式时,所有的端口引脚都应该配置为只消耗最小的功耗。最重要的是避免驱动 电阻性负载。在休眠模式下I/O时钟clkI/O和ADC时钟clkADC都被停止了,输入缓冲器也禁止了,从而保证输入电路不会消耗电流。在某些情况下输入逻辑是使能的,用来检测唤醒条件。用于此功能的具体引脚请参见 P63“数字输入使能和休眠模式”。 如果输入缓冲器是使能的,此时输入不能悬双 VCC/2,否则输入缓冲器会消耗额外的电流。

模拟输入引脚的数字输入缓冲器应一直禁用。否则,即使当输入引脚工作于模拟输入状态,当模拟信号电压接近 VCC/2 时输入缓冲器需要消耗很大的电流。可以通过操作数字输入禁止寄存器 (DIDR1 与 DIDR0) 来禁止数字输入缓冲器。具体参见 P216“数字输入禁止 寄存器 1 – DIDR1” 与 P231“数字输入禁止寄存器 0 – DIDR0” 。

片上调试系统

如果通过熔丝位 DWEN 使能了片上调试系统,当芯片进入休眠模式时主时钟保持运行。在休眠模式中这个电流占总电流的很大比重。


 相关AVR资料说明

可作为如下AVR的参考资料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535

 相关AVR型号资料

ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny26 ATtiny2313
ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32
ATmega64 ATmega128 ATmega162 ATmega169 ATmega8515 ATmega8535

ATmega168 减少功耗的方法

——