Режим «SLEEP»
Общая информация
Микроконтроллер имеет возможность переходить в режим пониженного энергопотребления. Существует два различных режима «SLEEP»:
- «Сон процессора»;
- «Глубокий сон».
Сон процессора
Для перевода системы в режим «Сон процессора» необходимо записать бит CPU_SLEEP_EN в регистр PMM_CTRL модуля PMM при отсутствии активных прерываний в регистре INT_FIX модуля «Контроллер прерываний». При этом с процессора будет снята синхрочастота, до момента, пока контроллер прерываний не зафиксирует одно из прерываний системы. При возникновении прерывания подача синхросигнала на процессор 8051 будет возобновлена.
Глубокий сон
Для перевода системы в режим «Глубокий сон» необходимо записать бит EN в регистр FSM_CTRL модуля «Рабочий автомат». При этом произойдет запуск модуля «Рабочий автомат», и по началу счета система начнет переход в режим «Глубокий сон». Со всех модулей системы, кроме модулей «Рабочий автомат», CMM, PMM будет снята синхрочастота, ПЗУ перейдет в малопотребляющий режим. Выход из данного режима произойдет, когда таймер модуля «Рабочий автомат» окончит счет. При этом будет сформировано немаскируемое прерывание, и подача синхрочастоты возобновится на все модули системы. Также выход из данного режима может быть осуществлен по фронту сигнала на выводе заранее настроенного GPIO или по любому сигналу сброса.
Режим «COLD_SLEEP»
Общая информация
Микроконтроллер имеет возможность переходить в режим пониженного энергопотребления с полностью отключенными генераторами «COLD_SLEEP» (Холодный сон).
Холодный сон
Для перевода системы в режим «Холодный сон» необходимо записать бит EN в соответствующий регистр PMM. При этом разрешающие входы генераторов будут переключены в неактивное состояние. Выход из режима «Холодный сон» производится за счет формирования перехода из лог. «0» в лог. «1» на входе любой площадки, а сброс флага пробуждения произойдет после обратного события, перехода из лог. «1» в лог. «0».