2016-12-05 2 views
0

Мне нужно минимизировать текущее потребление на моей плате, которое использует LPC1768. Теперь у меня нет никаких проблем с переходом в режим Deep Sleep или Power Down и просыпаться от этих режимов. Я настроил RTC для генерации прерывания после некоторого предопределенного времени, которое правильно пробуждает MCU и работает нормально.Пробуждение из режима Deep Power Down приводит к сбросу в LPC1768

Моя проблема возникает, когда я хочу перейти в режим Deep Power Down, который является именно тем, что мне нужно (он потребляет гораздо меньше энергии). Но после генерации прерывания RTC MCU переходит в состояние сброса и запускает выполнение с самого начала, как если бы кто-то нажал кнопку сброса!
Теперь почему? Я прочитал из документов (например, этот пример: AN10915: Using the LPC1700 power modes), что эти три процедуры почти одинаковы.

Я не понимаю. В соответствии с примером не должно быть проблем.
Мне действительно нужно это сделать, иначе мы потеряем аккумулятор раньше, чем предполагалось.

+0

Чтобы процитировать руководство: _ «В режиме Deep Power-down питание отключается от всего чипа, за исключением часов реального времени, выходов RESET, WIC и резервных копий RTC». Я бы предположил, что состояние CPU и SRAM являются частью «всего чипа», поэтому это, вероятно, ожидаемое поведение. – Notlikethat

+0

Хорошо. Моя проблема решена. По-видимому, это то, что должно произойти, когда вы входите в режим Deep Power Down. А также вы потеряете все содержимое SRAM! Черт. – mostafanfs

ответ

1

UM10360.pdf, глава 4.8.4 говорит: «В режиме Deep Power-вниз, питание отключается на весь чип» [...]

Это означает, что все данные, которые не в RTC резервные регистры теряются, и чип, таким образом, перезагружается с сбросом.

+0

Спасибо. Я просто понял, перейдя в режим Deep Power Down, все содержимое SRAM ушло навсегда. Я должен использовать flash или что-то, чтобы хранить важные переменные. – mostafanfs

Смежные вопросы