Лекция: Режимы энергосбережения (Sleep Modes)

AVR могут быть переведены программным путем в один из трех режимов пониженного энергопотребления.

Для перевода в любой из трех режимов энергосбережения бит SE в регистре MCUCR (в таблице 1 адрес $35($55)) должен быть установлен в состояние1. Биты SM1 регистра MCUCR и SM2 регистра MCUCSR (в таблице 1 адрес $34($54)) определяют какой из режимов Idle, Power Down или Standby будет запущен командой SLEEP.

При возникновении разрешенного прерывания во время нахождения MCU в режиме энергосбережения, MCU активируется, выполняет подпрограмму обработки прерывания и продолжает работу до следующей команды SLEEP. Если во время режима энергосбережения происходит сброс, MCU активируется и начинает работу по вектору сброса. Содержимое регистрового файла, SRAM и памяти I/O в процессе активации не изменяется. В Таблице 4 представлен выбор режима энергосбережения.

Отметим, что если для возврата из режима энергосбережения Power Down или Standby, используется запуск прерывания по уровню, то низкий уровень должен удерживаться несколько дольше, чем время задержки сброса tTOUT, иначе микроконтроллер не активируется.

 

Таблица 4. Выбор режима Sleep

SM2 SM1 Sleep Mode
Режим Idle
Режим Power Down
Зарезервировано
Режим Standby

Режим холостого хода (IDLE). Если биты SM2/SM1 находятся в состоянии 00 команда SLEEP переводит MCU в режим Idle, останавливая CPU но оставляя активными таймеры/счетчики, внутренний генератор синхросигналов, сторожевой таймер и систему прерываний. Ток потребления не превышает 2,5 мА на частоте 12 МГц. Это обеспечивает активацию MCU внешними прерываниями и такими внутренними прерываниями, как переполнение таймера и завершение приема USART. При активации MCU из Idle режима CPU начинает выполнять программу незамедлительно.

Режим микропотребления (POWER DOWN). При установке битов SM2/SM1 в состояние 01 команда SLEEP переводит MCU в режим Power Down. Сохраняется содержимое регистрового файла, но останавливается внутренний генератор синхросигналов, и, следовательно, останавливаются все функции, пока не поступит сигнал внешнего прерывания или аппаратного сброса. Пользователь может разрешить работу сторожевого таймера. Если сторожевой таймер разрешен, то активация MCU произойдет по завершении установленного в сторожевом таймере периода времени. Если внешний источник тактового сигнала подключен к выводу XTAL1, то активация MCU из режима Power Down может происходить без ATMEL задержки, обычно необходимой для стабилизации XTAL генератора. При включенном сторожевом таймере ток потребления в этом режиме составляет около 80 мкА, а при выключенном – менее 1 мкА. (Все приведенные значения справедливы для напряжения питания 5 В).

 

Режим ожидания (Standby). При установке битов SM2/SM1 в состояние 11 команда SLEEP переводит MCU в режим Standby. Этот режим доступен только при использовании генератора с внешним резонатором в качестве источника тактового сигнала. Данный режим полностью идентичен режиму Power Down, за исключением того, что тактовый генератор продолжает функционировать, поэтому переход в рабочий режим проходит быстрее – 6 машинных циклов.

еще рефераты
Еще работы по информатике