Режимы пониженного энергопотребления

Для запуска режима пониженного энергопотребления должен быть ус­тановлен в «1» бит SE регистра MCUCR, и исполнена команда SLEEP. Если во время нахождения в режиме пониженного потребления про­исходит одно из разрешенных прерываний, процессор начинает работать, исполняет подпрограмму обработки прерывания и продолжает выполнение программы с команды, следующей за SLEEP. Содержимое регистрового файла и памяти ввода/вывода не изменяется. Если в режиме пониженного потреб­ления происходит сброс, процессор начинает выполнение программы с век­тора сброса.

Если используется прерывание по уровню, для вывода из режима Power Down, низкий уровень должен удерживаться на время, достаточное для запуска генератора тактовых импульсов - 16 мс. Иначе флаг прерыва­ния может сброситься в «0» до того как процессор начнет работу.

Idle mode.

Когда бит SM сброшен в «0», команда SLEEP переводит процессор в ре­жим холостого хода (Idle mode). Процессор микроконтроллера останавливается, а все остальные периферийные устройства (интерфейсные модули, таймеры/счет­чики, аналоговый компаратор, АЦП, сторожевой таймер) и система прерываний продолжают работать. Это позволяет процессору возобновлять работу как от внешних прерываний, так и по переполнению таймера/счетчика или по сбросу от сторожевого таймера. Если разрешена работа от АЦП, то преобразование начнет выполняться сразу после перехода в Idle Mode. Если прерывание от аналогового компаратора не требуется, ана­логовый компаратор может быть отключен установкой бита ACD регистра ACSR. Это уменьшает потребляемую мощность в режиме холостого хода.

Основным преимуществом Idle Mode является быстрая реакция на события, приводящие к «пробуждению» микроконтроллера. Выполнение программы начинается сразу же после перехода из Idle Mode в рабочий режим.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: