AVR / Режимы пониженного энергопотребления
.docРежимы пониженного энергопотребления:
Все модели микроконтроллеров поддерживают два спящих режима:
-
idle (ждущий режим)
-
PowerDown (режим микропотребления)
-
ADC Noise Reduction (режим снижения шумов ADC)
-
Power-save
-
Standby
Переключение в любой из режимов пониженного энергопотребления осуществляется командой SLEEP. При этом флаг SE регистра MCUCR должен быть разрешён. Чтобы избежать непреднамеренного переключения микроконтроллера в спящий режим, рекомендуется устанавливать этот флаг непосредственно перед выполнением команды Sleep. Выбор конкретного режима определяется состоянием флагов SM1 и SM0 регистра MCUCR.
SM2 SM1 SM0 режим
0 0 0 Idle
0 0 1 ADC Noise Reduction
0 1 0 Power Down
0 1 1 Power-save
1 0 0 Reserved
1 0 1 Reserved
1 1 0 Standby
Standby только при внешнем керамическом резонаторе
Выход из спящего режима может быть осуществлён в результате прерывания или сброса. В первом случае микроконтроллер переходит в рабочий режим, останавливается на 4 машинных цикла, выполняет подпрограмму обработки прерывания, после чего выполнение программы возобновляется с инструкции, следующей после команды SLEEP.
При сбросе микроконтроллер переходит в рабочий режим и выполнение программы начинается с адреса $000.
Режим Idle
В этом режиме прекращает работу ЦПУ микроконтроллера, а все остальные периферийные устройства а также система прерываний продолжают функционировать. За счёт этого выход из режима Idle возможет как по внешнему прерыванию, так и по внутреннему. Основным преимуществом режима Idle является быстрая реакция на события пробуждающие микроконтроллер.
Режим Power Down
В режиме Power Down функционирование всех систем микроконтроллера, включая тактовый генератор, прекращается. Единственными узлами, продолжающими работать в этом режиме, являются сторожевой таймер и подсистема обработки внешних прерываний.
Режим Power Save
Режим энергосохранения в микроконтроллерах, имеющих таймер-счётчик отличается от режима пониженного энергопотребления возможностью сохранения работы данного таймера после перехода в режим и возможностью выхода из режима по запросу прерывания от этого таймера.
Режим ADC noise reduction
В этом режиме прекращает работу ЦПУ микроконтроллера, а АЦП, подсистема обработки внешних прерываний, сторожевой таймер и тактовый генератор продолжают функционировать. За счёт этого уменьшаются помехи на входах АЦП.
Режим Standby
В этом режиме работает генератор, обработка внешних прерываний и модуль TWI