logo

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

ATmega32 减少功耗的方法

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

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

模数转换器

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

模拟比较器

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

掉电检测BOD

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

片内基准电压

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

看门狗定时器

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

端口引脚

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

JTAG 接口与片上调试系统

如果通过熔丝位OCDEN使能了片上调试系统,当MCU 进入掉电或省电模式时主时钟保持运行。在休眠模式中这个电流占总电流的很大比重。下面有三种替代方法:
· 不编程OCDEN
· 不编程JTAGEN
· 置位MCUCSR 的JTD
当JTAG 接口使能而JTAG TAP 控制器没有进行数据交换时,引脚TDO 将悬空。如果与TDO 引脚连接的硬件电路没有上拉电阻,功耗将增加。器件的引脚TDI 包含一个上拉电阻,因此在扫描链中无需为下一个芯片的TDO 引脚设置上拉电阻。通过置位MCUCSR寄存器的JTD 或不对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

ATmega32 减少功耗的方法

——