Как записать в EEPROM перед отключением питания

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение clawham »

для 100 герц мало
для каких-нить релюх - мало
для плавного запуска импульсника - тоже МАЛО!
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
Flasher
Мудрый кот
Сообщения: 1802
Зарегистрирован: Ср сен 07, 2011 21:40:30

Re: Как записать в EEPROM перед отключением питания

Сообщение Flasher »

При чем тут все вышеперечисленное? Этот конденсатор Выполняет роль фильтра для входа компаратора микроконтроллера. Думаю, тау в состоянии расчитать, да и, наконец-то, заглянуть в даташит для того чтобы узнать какой порог переключения ТШ из 1 в 0.
Судя по-всему, Вы не до конца понимаете суть происходящих процессов, или мы с Вами говорим на разных языках. Ведь без конденсатора после диодного моста эта схема и не предполагалась.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Как записать в EEPROM перед отключением питания

Сообщение ploop »

Сколько шума из ничего. Пустяковая задача по сути.

Дело 30 минут - взять макетку, написать несколько строк кода да проверить. Уверен - несколько секунд можно выиграть после срабатывания компаратора или чего-там еще на вменяемых емкостях. А несколько секунд - это очень много, с головой хватит на всё.
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение clawham »

вот вот и я о том же...но когда начинает неполучаться или получаться через раз - я например просто говорю СВОЙ опыт не одного и не десятка девайсов....тупо 2 резюка до кренки на прерывание это очень ненадежный и неконтролируемый вариант
а сохранение в еепром каждый раз когда симистор холодную лампочку клацнет или холодильник включится - это не пустяки...это убиение еепрома и снова - несохранение ато и запорчивание результата
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
C@at
Вымогатель припоя
Сообщения: 652
Зарегистрирован: Вс ноя 13, 2011 16:42:05
Откуда: Украина

Re: Как записать в EEPROM перед отключением питания

Сообщение C@at »

Самое ценное в таком диалоге, это ссылка на датшиты (особенная ценность, когда не приводятся цитаты цитати, ну а целиком датшит привести в пример , тоже класс)... вы их не читали? Ну откуда вы тогда можете знать как это делается... Изображение
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Как записать в EEPROM перед отключением питания

Сообщение SmarTrunk »

Ну как инициировать запись в EEPROM, понятно, предложено несколько способов. А как уберечься от повреждения данных в момент пропадания питания? Не раз читал про рекомендацию обязательно ставить внешний "монитор питания", например в книге Ревича стр.180 (глава 9 "Использование ЕЕРROM"). Или достаточно рекомендаций из даташита? Или таких предосторожностей достаточно:
clawham писал(а):BOD обязательно на 3.3 вольта и после завершения всех записей ОБЯЗАТЕЛЬНО почитать / записать ЛЮБУЮ другую НЕНУЖНУЮ ячейку еепрома...с вероятностью 70% последняя прочитанная или записанная ячейка ПОРТИТСЯ при выключении питания !!!
Ещё рекомендую в компараторном прерывании вконце войти в вечный цикл и взвести вачдог...тогда при кратковременном пропадании питания МК не перезагрузится но сохранится - лучше бы в таком случае МК Перезагрузить! вот вачдог(который не надо сбрасывать в вечном цикле вконце прерывания компаратора) и передернет красиво и аккуратно МК!
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Как записать в EEPROM перед отключением питания

Сообщение ploop »

с вероятностью 70% последняя прочитанная или записанная ячейка ПОРТИТСЯ при выключении питания !!!

Откуда такая информация?
МК отлично запишет при штатном питании. Для него оно будет нормальное на время записи (порядка 4В), а что там снаружи пропало - его не колышит. А после можно спокойно зациклиться, и ждать, когда сработает BOD.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение Мастер Ломастер »

да, когда в кучу собираются надерганные со всего свету советы, даж еще от "умельцев", обжегшихся на молоке и потому дующими на воду, сложно сказать, что хорошо, что плохо...

на сколько я могу судить, BOD спасает от порчи EEPROM при ВКЛЮЧЕНИИ питания, да и то это вроде бы было присуще "старой" ревизии кристаллов, а в новых вроде как этой проблемы уже нет. кстати, если не ошибаюсь, портилась при этом нулевая ячейка - многие даже советовали ничего в нее не писать никогда.
при ВЫКЛЮЧЕНИИ питания BOD ничем помочь не может: если напряжение стало слишком низким в момент, когда началось обновление информации в EEPROM, то это самое обновление не будет корректно завершено хоть с BOD, хоть без него. поэтому такой ситуации надо однозначно избегать, если целостность данных критически важна.
битва с дураками проиграна, победители торжествуют. слава победителям!
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Как записать в EEPROM перед отключением питания

Сообщение SmarTrunk »

ploop
Ревич "Практическое программирование микроконтроллеров AVR на языке ассемблера" 2011
стр.180: "Но, как показывает опыт, для обеспечения абсолютной защиты данных в EEPROM, к сожалению, встроенной системы BOD не достаточно. Самый надежный и проверенный способ... применение внешнего (трехвыводного) монитора питания."
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение Мастер Ломастер »

SmarTrunk писал(а):ploop
Ревич "Практическое программирование микроконтроллеров AVR на языке ассемблера" 2011
стр.180: "Но, как показывает опыт, для обеспечения абсолютной защиты данных в EEPROM, к сожалению, встроенной системы BOD не достаточно. Самый надежный и проверенный способ... применение внешнего (трехвыводного) монитора питания."

интересно, а как внешний монитор поможет?! бред какой-то...
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Как записать в EEPROM перед отключением питания

Сообщение ploop »

Да не путайте вы: мы пишем при НОРМАЛЬНОМ питании! Пока напряжение падает с 5В до 4В (например) - тогда и пишем, а потом тупо зацикливаемся.
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Как записать в EEPROM перед отключением питания

Сообщение SmarTrunk »

Мастер Ломастер
Как поможет монитор питания? При просадке напряжения питания до заданного уровня потянет за "RESET", и будет держать до конца. Так что с МК уже ничего не сможет случиться.

Речь о том, что данные в EEPROM были корректро записаны ДО критической просадки напряжения. Понятно, что если напр.пит. просело ниже некого критического минимума, в момент записи в EEPROM, то ничем не помочь. Но выше обсуждалось, как такого не допустить. В простейшем случае это электролит и диод шоттки (плюс программно освободить выходы от излишней нагрузки).
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение Мастер Ломастер »

SmarTrunk писал(а):Мастер Ломастер
Как поможет монитор питания? При просадке напряжения питания до заданного уровня потянет за "RESET", и будет держать до конца. Так что с МК уже ничего не сможет случиться.
я не понял ордного: внешний монитор, значит, сможет ресет удержать, а встроенный нет? в чем превосходство ВНЕШНЕГО перед ВСТРОЕННЫМ?!
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Как записать в EEPROM перед отключением питания

Сообщение ploop »

Внешний можно посадить не на ресет, а на любой пин. Он будет сигнализатором просадки ДО диода.
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Как записать в EEPROM перед отключением питания

Сообщение SmarTrunk »

Мастер Ломастер писал(а):я не понял ордного: внешний монитор, значит, сможет ресет удержать, а встроенный нет? в чем превосходство ВНЕШНЕГО перед ВСТРОЕННЫМ?!
Мне тоже интересно. Так в книжке написано, Ревич "Практическое программирование микроконтроллеров AVR на языке ассемблера" 2011 стр. 180.
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Как записать в EEPROM перед отключением питания

Сообщение ploop »

Ревич, видимо, имел ввиду то же, что и я в предыдущем сообщении.
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение Мастер Ломастер »

ploop писал(а):Внешний можно посадить не на ресет, а на любой пин. Он будет сигнализатором просадки ДО диода.

не думаю, что автор книжки Ревич имел ввиду именно это.
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Как записать в EEPROM перед отключением питания

Сообщение ploop »

Во всяком случае супервизор чётко отработает просадку, без помех и всего прочего, чем тут пугали. А стоит 10 рублей.
Вот, например, MC33064 - 4.6В - отличный вариант.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Как записать в EEPROM перед отключением питания

Сообщение Леонид Иванович »

clawham писал(а):тупо 2 резюка до кренки на прерывание это очень ненадежный и неконтролируемый вариант


Тем не менее он надежно работает. Только не на прерывание, а на компаратор.

clawham писал(а):а сохранение в еепром каждый раз когда симистор холодную лампочку клацнет или холодильник включится - это не пустяки.


На входе кренки стоит здоровенный конденсатор, не может там происходить провалов напряжения.

SmarTrunk писал(а):А как уберечься от повреждения данных в момент пропадания питания?


Никак не могу понять, о чем это? Запись в EEPROM начинается в момент срабатывания детектора питания, после чего мы имеем гарантированный интервал времени для записи. Питание не может пропасть во время записи!
SmarTrunk
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Re: Как записать в EEPROM перед отключением питания

Сообщение SmarTrunk »

Речь вот о чем: От момента окончания записи в EEPROM (при еще нормальном напряжении питания) до момента уменьшения напряжения питания до нуля, что надо делать, чтобы 100% сохранить данные в EEPROM?
SmarTrunk писал(а):Ревич "Практическое программирование микроконтроллеров AVR на языке ассемблера" 2011
стр.180: "Но, как показывает опыт, для обеспечения абсолютной защиты данных в EEPROM, к сожалению, встроенной системы BOD не достаточно. Самый надежный и проверенный способ... применение внешнего (трехвыводного) монитора питания."
Или BOD достаточно? Интересен практический опыт. Встречаются разные советы, в т.ч. в этой ветке:
clawham писал(а):BOD обязательно на 3.3 вольта и после завершения всех записей ОБЯЗАТЕЛЬНО почитать / записать ЛЮБУЮ другую НЕНУЖНУЮ ячейку еепрома...с вероятностью 70% последняя прочитанная или записанная ячейка ПОРТИТСЯ при выключении питания !!!
Ещё рекомендую в компараторном прерывании вконце войти в вечный цикл и взвести вачдог...тогда при кратковременном пропадании питания МК не перезагрузится но сохранится - лучше бы в таком случае МК Перезагрузить! вот вачдог(который не надо сбрасывать в вечном цикле вконце прерывания компаратора) и передернет красиво и аккуратно МК!
Спасибо
Ответить

Вернуться в «Разные вопросы по МК»