logo

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

ATmega128 减少功耗的方法

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

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

模数转换器
使能时, ADC 在睡眠模式下继续工作。为了降低功耗,在进入睡眠模式之前需要禁止 ADC。重新启动后的第一次转换为扩展的转换。具体请参照P 213“ 模数转换器” 。

模拟比较器
在空闲模式时,如果没有使用模拟比较器,可以将其关闭。在ADC 噪声抑制模式下也是 如此。在其他睡眠模式模拟比较器是自动关闭的。如果模拟比较器使用了内部电压基准 源,则不论在什么睡眠模式下都需要关闭它。否则内部电压基准源将一直使能。请参见P 210“ 模拟比较器” 以了解如何配置模拟比较器。

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

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

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

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

TAG 接口与片内调试系统
当通过设置OCDEN 熔丝位使能片内调试系统,且进入掉电或省电模式时,主时钟源仍然使能。此时仍会增加电流消耗。有三种方式可以避免该情况的发生:
• 禁止OCDEN 熔丝位。
• 禁止JTAGEN 熔丝位。
• 对MCUCSR 寄存器的JTD 位写1。
当JTAG 接口使能而JTAG TAP 控制器没有移出数据, TDO 引脚悬空。若与TDO 引脚的硬件连接没有拉高逻辑电平,功耗将增加。注意,在以后的芯片中扫描链中的TDI 引脚含有上拉电阻避免该问题。对MCUCSR 寄存器的JTD 位写1 或不对JTAG 熔丝位编程禁用JTAG 接口。

 相关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

ATmega128 减少功耗的方法

——