Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

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

Пн янв 23, 2012 11:16:26

для 100 герц мало
для каких-нить релюх - мало
для плавного запуска импульсника - тоже МАЛО!

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

Пн янв 23, 2012 11:53:22

При чем тут все вышеперечисленное? Этот конденсатор Выполняет роль фильтра для входа компаратора микроконтроллера. Думаю, тау в состоянии расчитать, да и, наконец-то, заглянуть в даташит для того чтобы узнать какой порог переключения ТШ из 1 в 0.
Судя по-всему, Вы не до конца понимаете суть происходящих процессов, или мы с Вами говорим на разных языках. Ведь без конденсатора после диодного моста эта схема и не предполагалась.

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

Пн янв 23, 2012 11:57:37

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

Дело 30 минут - взять макетку, написать несколько строк кода да проверить. Уверен - несколько секунд можно выиграть после срабатывания компаратора или чего-там еще на вменяемых емкостях. А несколько секунд - это очень много, с головой хватит на всё.

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

Пн янв 23, 2012 12:01:06

вот вот и я о том же...но когда начинает неполучаться или получаться через раз - я например просто говорю СВОЙ опыт не одного и не десятка девайсов....тупо 2 резюка до кренки на прерывание это очень ненадежный и неконтролируемый вариант
а сохранение в еепром каждый раз когда симистор холодную лампочку клацнет или холодильник включится - это не пустяки...это убиение еепрома и снова - несохранение ато и запорчивание результата

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

Пн янв 23, 2012 13:08:36

Самое ценное в таком диалоге, это ссылка на датшиты (особенная ценность, когда не приводятся цитаты цитати, ну а целиком датшит привести в пример , тоже класс)... вы их не читали? Ну откуда вы тогда можете знать как это делается... Изображение

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

Пн янв 23, 2012 13:34:31

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

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

Пн янв 23, 2012 13:44:51

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

Откуда такая информация?
МК отлично запишет при штатном питании. Для него оно будет нормальное на время записи (порядка 4В), а что там снаружи пропало - его не колышит. А после можно спокойно зациклиться, и ждать, когда сработает BOD.

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

Пн янв 23, 2012 13:50:04

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

на сколько я могу судить, BOD спасает от порчи EEPROM при ВКЛЮЧЕНИИ питания, да и то это вроде бы было присуще "старой" ревизии кристаллов, а в новых вроде как этой проблемы уже нет. кстати, если не ошибаюсь, портилась при этом нулевая ячейка - многие даже советовали ничего в нее не писать никогда.
при ВЫКЛЮЧЕНИИ питания BOD ничем помочь не может: если напряжение стало слишком низким в момент, когда началось обновление информации в EEPROM, то это самое обновление не будет корректно завершено хоть с BOD, хоть без него. поэтому такой ситуации надо однозначно избегать, если целостность данных критически важна.

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

Пн янв 23, 2012 13:50:28

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

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

Пн янв 23, 2012 13:52:07

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

интересно, а как внешний монитор поможет?! бред какой-то...

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

Пн янв 23, 2012 13:57:31

Да не путайте вы: мы пишем при НОРМАЛЬНОМ питании! Пока напряжение падает с 5В до 4В (например) - тогда и пишем, а потом тупо зацикливаемся.

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

Пн янв 23, 2012 13:58:13

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

Речь о том, что данные в EEPROM были корректро записаны ДО критической просадки напряжения. Понятно, что если напр.пит. просело ниже некого критического минимума, в момент записи в EEPROM, то ничем не помочь. Но выше обсуждалось, как такого не допустить. В простейшем случае это электролит и диод шоттки (плюс программно освободить выходы от излишней нагрузки).

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

Пн янв 23, 2012 14:01:59

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

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

Пн янв 23, 2012 14:03:41

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

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

Пн янв 23, 2012 14:11:30

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

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

Пн янв 23, 2012 14:17:58

Ревич, видимо, имел ввиду то же, что и я в предыдущем сообщении.

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

Пн янв 23, 2012 14:18:40

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

не думаю, что автор книжки Ревич имел ввиду именно это.

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

Пн янв 23, 2012 14:24:35

Во всяком случае супервизор чётко отработает просадку, без помех и всего прочего, чем тут пугали. А стоит 10 рублей.
Вот, например, MC33064 - 4.6В - отличный вариант.

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

Пн янв 23, 2012 15:32:26

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


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

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


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

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


Никак не могу понять, о чем это? Запись в EEPROM начинается в момент срабатывания детектора питания, после чего мы имеем гарантированный интервал времени для записи. Питание не может пропасть во время записи!

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

Пн янв 23, 2012 16:08:24

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