首页 理论教育电源管理和休眠模式的优化方法

电源管理和休眠模式的优化方法

【摘要】:休眠模式可以使应用程序关闭MCU中没有使用的模块,从而降低功耗。图4-32休眠模式控制寄存器Bit7~Bit 4 Res:保留位。表4-11休眠模式选择注:①仅在使用外部晶体或谐振器时Standby模式才可用。为了使MCU在执行SLEEP指令后进入休眠模式,SE必须置位。为了确保进入休眠模式是程序员的有意行为,建议仅在SLEEP指令的前一条指令置位SE,一旦唤醒立即清除SE。

休眠模式可以使应用程序关闭MCU中没有使用的模块,从而降低功耗。AVR具有不同的休眠模式,允许用户根据自己的应用要求实施剪裁。进入5个休眠模式的条件是置位寄存器SMCR的SE,然后执行SLEEP指令。具体哪一种模式(空闲模式、ADC噪声抑制模式、掉电模式、省电模式和Standby模式)由SMCR的SM2、SM1和SM0决定,如图4-32所示。使能的中断可以将进入休眠模式的MCU唤醒。经过启动时间,外加4个时钟周期(此时MCU停止)后,MCU就可以运行中断服务程序了,然后MCU返回到SLEEP的下一条指令。MCU唤醒时寄存器文件和SRAM的内容不会改变。如果在休眠过程中发生了复位,则MCU从中断向量开始执行。休眠模式控制寄存器——SMCR休眠模式控制寄存器,包含了电源管理的控制位,如图4-33所示。

图4-32 休眠模式控制寄存器

(1)Bit7~Bit 4 Res:保留位。ATmega48/88/168中的这些位都没有使用到,读返回值始终是“0”。

(2)Bit3~Bit1——SM2~SM0:休眠模式选择位2、1和0。如表4-11所示,这些位用于选择具体的休眠模式。

表4-11 休眠模式选择

注:①仅在使用外部晶体或谐振器时Standby模式才可用。

(3)Bit0——SE:休眠使能。为了使MCU在执行SLEEP指令后进入休眠模式,SE必须置位。为了确保进入休眠模式是程序员的有意行为,建议仅在SLEEP指令的前一条指令置位SE,一旦唤醒立即清除SE。

1.空闲模式

SM2~SM0为000时,SLEEP指令使MCU进入空闲模式。在此模式下,CPU停止运行,而SPI、USART、模拟比较器、ADC、两线串行接口、定时器/计数器、看门狗和中断系统继续工作。这个休眠模式只停止了clkCPU和clkFLASH,其他时钟则继续工作。定时器溢出与USART传输完成等内外部中断都可以唤醒MCU。如果不需要从模拟比较器中断唤醒MCU,为了减少功耗,可以切断比较器的电源,方法是置位模拟比较器控制和状态寄存器ACSRACD。如果ADC使能,则进入此模式后将自动启动一次转换。

2.ADC噪声抑制模式

SM2~SM0为001时,SLEEP指令使MCU进入噪声抑制模式。在此模式下,CPU停止运行,而ADC、外部中断、两线串行地址匹配、定时器/计数器2和看门狗继续工作(如果已经使能)。这个休眠模式只停止了clkI/O、clkCPU和clkFLASH,其他时钟则继续工作。此模式改善了ADC的噪声环境,使得转换精度更高。ADC使能的时候,进入此模式将自动启动一次AD转换。ADC转换结束中断、外部复位、看门狗复位、BOD复位、两线串行地址匹配、定时器/计数器2中断、SPM/EEPROM准备好中断、外部中断INT0、INT1或引脚电平变化中断,可以将MCU从ADC噪声抑制模式唤醒。

3.掉电模式

SM2~SM0为010时,SLEEP指令使MCU进入掉电模式。在此模式下,外部晶体停振,而外部中断、两线串行地址匹配、看门狗(如果使能的话)继续工作。只有外部复位、看门狗复位、看门狗中断、BOD复位、两线串行地址匹配、外部电平中断INT0或INT1,以及引脚电平变化中断可以使MCU脱离掉电模式。这个休眠模式基本停止了所有的时钟,只有异步模块可以继续工作。使用外部电平中断方式将MCU从掉电模式唤醒时,必须使外部电平保持一定的时间。从施加掉电唤醒条件到真正唤醒MCU有一个延迟时间,此时间用于时钟重新启动并稳定下来。唤醒时间与熔丝位CKSEL定义的复位时间是一样的。

4.省电模式

SM2~SM0为011时,SLEEP指令使MCU进入省电模式。这一模式与掉电模式只有一点不同:如果定时器/计数器2及看门狗是使能的,在器件休眠期间它们继续运行。除了掉电模式的唤醒方式外,定时器/计数器2的溢出中断和比较匹配中断也可以将MCU从休眠方式唤醒,只要TIMSK2使能了这些中断,而且SREG的全局中断使能位I置位。如果定时器/计数器2无须运行,建议使用掉电模式而不是省电模式。定时器/计数器2在省电模式下可采用同步与异步时钟驱动。如果定时器/计数器2未采用异步时钟,休眠期间定时/计数振荡器将停止;如果定时器/计数器2未采用同步时钟,休眠期间时钟源将停止。要注意的是,在省电模式下同步时钟只对定时器/计数器2有效。