Как записать в EEPROM перед отключением питания
Re: Как записать в EEPROM перед отключением питания
Естественно, что перечисленные первые 2 способа можно комбинировать со вторыми двумя.
Компаратор или АЦП- это лишнее. Каждый вход AVR снабжен триггером Шмитта. Вот вам и пороговый элемент.
Компаратор или АЦП- это лишнее. Каждый вход AVR снабжен триггером Шмитта. Вот вам и пороговый элемент.
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
как показала практика триггер шмидта там очень условный и в зависимости от напряжения питания ВРЕМЕНИ удержания прошлого напряжения и прочего - можно получить переключение и при 2.7 вольт и при 1 вольте и при 4-х вольтах
компаратор однозначно......можно и внешний супервизор прицепить - тогда да..просто выход супервизора на Rising Edge INT ножку и вуаля
конечно же надо чтоб питание МК было от отдельной кренки а всё остальное - от другой
но я делал и напрямую...разницы нет
главное БОД поставить на 3.3 вольта питания
тогда всё работает на ура
компаратор однозначно......можно и внешний супервизор прицепить - тогда да..просто выход супервизора на Rising Edge INT ножку и вуаля
конечно же надо чтоб питание МК было от отдельной кренки а всё остальное - от другой
но я делал и напрямую...разницы нет
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
Re: Как записать в EEPROM перед отключением питания
А если просто запитать МК через диод (лучше шоттки), с конденсатором на пару сотен мкФ? Зачем же ставить лишнюю КРЕНку?clawham писал(а):конечно же надо чтоб питание МК было от отдельной кренки а всё остальное - от другой
Re: Как записать в EEPROM перед отключением питания
clawham писал(а):как показала практика ...
Т.е. даташиты нам не указ?
Не говорите ерунды- ТШ там вполне обыкновенный. Для данной цели нам его вполне хватает.
Re: Как записать в EEPROM перед отключением питания
Flasher
Встроенный аналоговый компаратор + внутренняя опора (BANDGAP REFERENCE) представляются более надежным решением.
Встроенный аналоговый компаратор + внутренняя опора (BANDGAP REFERENCE) представляются более надежным решением.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
clawham писал(а):как показала практика триггер шмидта там очень условный и в зависимости от напряжения питания ВРЕМЕНИ удержания прошлого напряжения
Как это - времени? Сказки.
clawham писал(а):можно и внешний супервизор прицепить
В прошлой версии своего устройства я использовал внешний супервизор DS1706, он имеет отдельный компаратор для слежения за питанием и генерирует NMI.
clawham писал(а):конечно же надо чтоб питание МК было от отдельной кренки а всё остальное - от другой
Это не обязательно, если процессор программно способен отключить большинство потребителей.
Re: Как записать в EEPROM перед отключением питания
SmarTrunk писал(а):А если просто запитать МК через диод (лучше шоттки), с конденсатором на пару сотен мкФ? Зачем же ставить лишнюю КРЕНку?clawham писал(а):конечно же надо чтоб питание МК было от отдельной кренки а всё остальное - от другой
Редко кто любит медленные нарастания напряжения.
SmarTrunk писал(а):Flasher
Встроенный аналоговый компаратор + внутренняя опора (BANDGAP REFERENCE) представляются более надежным решением.
Не вижу никакой дополнительной надежности. Обоснуйте.
Re: Как записать в EEPROM перед отключением питания
Flasher
Ну данные на аналоговый компаратор и внутреннюю опору хорошо описаны, и почти не зависят от напряжения питания. Переключение компаратора произойдет, когда входное напряжение сравняется с BANDGAP REFERENCE, плюс-минус 40 мВ (Analog Comparator Input Offset Voltage). Гистерезиса тут нет, но он и не нужен, для отслеживания снижения напряжения питания. Благодаря независимости от напряжения питания (в разумных пределах) имеется бОльшая свобода в схемотехнике, например, в сторону упрощения схемы.
У входа порта напряжение переключения (и гистерезис) триггера шмидта напрямую зависят от напряжения питания, указаны в разделе Typical Characteristics. Эти данные менялись при переходе к модификации "А".
Ну данные на аналоговый компаратор и внутреннюю опору хорошо описаны, и почти не зависят от напряжения питания. Переключение компаратора произойдет, когда входное напряжение сравняется с BANDGAP REFERENCE, плюс-минус 40 мВ (Analog Comparator Input Offset Voltage). Гистерезиса тут нет, но он и не нужен, для отслеживания снижения напряжения питания. Благодаря независимости от напряжения питания (в разумных пределах) имеется бОльшая свобода в схемотехнике, например, в сторону упрощения схемы.
У входа порта напряжение переключения (и гистерезис) триггера шмидта напрямую зависят от напряжения питания, указаны в разделе Typical Characteristics. Эти данные менялись при переходе к модификации "А".
Re: Как записать в EEPROM перед отключением питания
Вообще, очень полезная тема, очень интересен чужой опыт.
Re: Как записать в EEPROM перед отключением питания
а на кой нам 40 мВ при отключении питания?
Все характеристики подробно описано в даташитах.
Все характеристики подробно описано в даташитах.
Re: Как записать в EEPROM перед отключением питания
Формулу расчёта ёмкости я написал выше. Есть у меня одно устройство на тини13, в котором мне необходимо было обеспечить работоспособность схемы при пропадании питания в течение не менее 5 секунд. Кроме тиньки ток тратится ещё и на долбление управляющего электрода симистора ШИМом. Суммарный ток потребления при этом удалось добиться порядка 2мА. BOD контроллера настроен на 2,7В. Стабилизация по входу 5В, время за которое эти 5В устанавливаются порядка 6-7 секунд. Ёмкость рассчитывал по указанной выше формуле, поставил 4700мкФ 6,3В, в итоге время получилось 7 секунд.
-
clawham
- Поставщик валерьянки для Кота
- Сообщения: 1957
- Зарегистрирован: Пт окт 31, 2008 09:38:55
- Откуда: Одесса
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
для тех кто полагается на встроенный в ПИН триггер шмидта есть 3 основные проблемы:
1) реакция переключения зависит от напруги питания а оно падает...в данных условиях(и я лично это проверял осцилом и логик анализером) тот триггерок шмидта сходит с ума - может и не сработать "в ноль" при напруге на выводе 0.6 ВОЛЬТ!!!
2) получается ситуация с минутной и часовой стрелками - чем меньше питание тем меньше внорень срабатывания, при этом когда на входе кренки 6-7 вольт - ток она больше с входного кондера НЕ ПОТРЕБЛЯЕТ и эти 7 вольт БОЛЬШЕ напруги принятия входа нулём даже в нормальных условиях
3) совершенно неконтролируемый уровень переброски с 1-в-0 от корпуса к корпусу не говоря уже от ревизии к ревизии...
используя компаратор и встроенный референс имеем:
1) абсолютную повторяемость конструкции....при напруге 2.5 вольта ГАРАНТИРОВАННО вызовется прерывание хоть при 3.3 вольтах питания хоть при 5
2) время реакции - можно поймать более точно нужный порог напруги ниже которой опрокинется компаратор
3) что рееренс что сам компаратор полностью нормированы под любыми кристаллами корпусами ревизиями и т.д.
практика показала...что...из 5-ти устройство с ОДИНАКОВЫМИ трансами, кондерами, процами, резюками делителей, экранов(подсветка которых это мощный стабилитрон на 3.3 вольта который и разрядит быстро входную ёмкость оочень низко и сразу... ТРИ устройства НЕ ЗАПОМИНАЛИ значения - не успевали записать и 4-го БАЙТА! и получалось срабатывание происходило уже при питании в 3.7 вольт!!!!! тоесть 70% времени мы уже выбросили в мусорку!!!
когда переделал под компаратор - из 10-ти все 10 стали сохранять значения при в 4 раза меньшем кондере после стабилизатора(10000 мкф вместо 60000)...и завершение сохранения завершалось при напруге 3.6 на кондере - тоесть ещё 20-30% времени остаётся!!!
вот таки дела
и не надо никаких суперкапов....кстати...я их использую для питания РТЦ в своих схемах - держать до 4 недель....но стоит на 5 минут включить питание и хоп - снова +4 недели автономии....зато и через 10 лет оно так же будет а батарейки нынче аткие пошли что....даже говорить не хочется...
но выбирать конечно свой вариант каждому и самостоятельно....ктото мож и захочет натрунькаться с работой в 220 и неработой в 190...
1) реакция переключения зависит от напруги питания а оно падает...в данных условиях(и я лично это проверял осцилом и логик анализером) тот триггерок шмидта сходит с ума - может и не сработать "в ноль" при напруге на выводе 0.6 ВОЛЬТ!!!
2) получается ситуация с минутной и часовой стрелками - чем меньше питание тем меньше внорень срабатывания, при этом когда на входе кренки 6-7 вольт - ток она больше с входного кондера НЕ ПОТРЕБЛЯЕТ и эти 7 вольт БОЛЬШЕ напруги принятия входа нулём даже в нормальных условиях
3) совершенно неконтролируемый уровень переброски с 1-в-0 от корпуса к корпусу не говоря уже от ревизии к ревизии...
используя компаратор и встроенный референс имеем:
1) абсолютную повторяемость конструкции....при напруге 2.5 вольта ГАРАНТИРОВАННО вызовется прерывание хоть при 3.3 вольтах питания хоть при 5
2) время реакции - можно поймать более точно нужный порог напруги ниже которой опрокинется компаратор
3) что рееренс что сам компаратор полностью нормированы под любыми кристаллами корпусами ревизиями и т.д.
практика показала...что...из 5-ти устройство с ОДИНАКОВЫМИ трансами, кондерами, процами, резюками делителей, экранов(подсветка которых это мощный стабилитрон на 3.3 вольта который и разрядит быстро входную ёмкость оочень низко и сразу... ТРИ устройства НЕ ЗАПОМИНАЛИ значения - не успевали записать и 4-го БАЙТА! и получалось срабатывание происходило уже при питании в 3.7 вольт!!!!! тоесть 70% времени мы уже выбросили в мусорку!!!
когда переделал под компаратор - из 10-ти все 10 стали сохранять значения при в 4 раза меньшем кондере после стабилизатора(10000 мкф вместо 60000)...и завершение сохранения завершалось при напруге 3.6 на кондере - тоесть ещё 20-30% времени остаётся!!!
вот таки дела
и не надо никаких суперкапов....кстати...я их использую для питания РТЦ в своих схемах - держать до 4 недель....но стоит на 5 минут включить питание и хоп - снова +4 недели автономии....зато и через 10 лет оно так же будет а батарейки нынче аткие пошли что....даже говорить не хочется...
но выбирать конечно свой вариант каждому и самостоятельно....ктото мож и захочет натрунькаться с работой в 220 и неработой в 190...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
Re: Как записать в EEPROM перед отключением питания
А компаратор достаточно подключить внутри, к Bandgap Voltage 1,23В, или снаружи, к опорному напряжению 2,56В (но будет потрачен лишний вывод?)
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Как записать в EEPROM перед отключением питания
clawham писал(а):когда на входе кренки 6-7 вольт - ток она больше с входного кондера НЕ ПОТРЕБЛЯЕТ и эти 7 вольт БОЛЬШЕ напруги принятия входа нулём даже в нормальных условиях
Потребляет, но не стабилизирует. Входное напряжение она передает на выход за вычетом падения.
А порог должен быть выше того момента, когда кренка перестает стабилизировать.
Впрочем, мне тоже не нравится идея использования входных триггеров Шмитта.
Re: Как записать в EEPROM перед отключением питания
SmarTrunk писал(а):Вообще, очень полезная тема, очень интересен чужой опыт.
Эт точно , в одной из своих конструкций, сделал очень просто, использовал для этого АЦП контроллера, для простых задач весьма надежный способ.
По крайней мере никто не жаловался.... (просто еще никто не повторил схему
Вариант схемного решения здесь http://radiokot.ru/circuit/digital/home/115/
Re: Как записать в EEPROM перед отключением питания
А читать, что тебе пишут пробовал?SmarTrunk писал(а):А компаратор достаточно подключить внутри, к Bandgap Voltage 1,23В, или снаружи, к опорному напряжению 2,56В (но будет потрачен лишний вывод?)
ELcat писал(а):Н... или можно внутренний компаратор использовать. Один его вход программно подключается к внутреннему ИОН, а второй к внешнему резистивному делителю на нужное значение и разрешаются прерывания по изменению состояния выхода компаратора. А по срабатыванию компаратора все нагрузки гасить. Ёмкость - С=I*T/U, размерности всех величин по системе СИ, T-необходимое время, I-потребляемый ток, U-разность напряжений, на которую допустимо опуститься для сохранения рабочих параметров микроконтроллера.
Re: Как записать в EEPROM перед отключением питания
Мудрите ребята, компараторы, ацп...
Все намного проще.
При обнаружении на ножжке PB0 нуля Выключаем все переферию, сохраняем нужные данные в eeprom, останавливаем процессор. Обязательно установить Bodlevel на самое минимальное напряжение, во избежании записи в eeprom мусора.
Кондер я ставил на 100мкф, хотя все работало и при 47мкф, но лучше перестраховаться.

Все намного проще.
При обнаружении на ножжке PB0 нуля Выключаем все переферию, сохраняем нужные данные в eeprom, останавливаем процессор. Обязательно установить Bodlevel на самое минимальное напряжение, во избежании записи в eeprom мусора.
Кондер я ставил на 100мкф, хотя все работало и при 47мкф, но лучше перестраховаться.

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