Сохранение содержимого переменной в EEPROM до отрезания выключения питания

E

emavil

Guest
любой, кто имеет представление о том, как сохранить значение переменной EEPROM, прежде чем потерял власть?Я использую PIC16F628A с внутренним RC OSC включен.

 
Вам необходимо обнаружить момент, когда напряжение на входное напряжение регулятора начинает падать.Внутреннего использования контроллера АЦП или компаратора - соединить свои материалы для входного напряжения через резистивный делитель.А использование фильтрации входных конденсаторов с емкостью достаточно для снабжения микроконтроллера при сохранении данных в EEPROM

 
umup пишет:

Вам необходимо обнаружить момент, когда напряжение на входное напряжение регулятора начинает падать.
Внутреннего использования контроллера АЦП или компаратора - соединить свои материалы для входного напряжения через резистивный делитель.
А использование фильтрации входных конденсаторов с емкостью достаточно для снабжения микроконтроллера при сохранении данных в EEPROM
 
Yes, diode needed if there are some high power components besides controller, but emavil
said nothing about it

janni8
Да, диод нужны, если есть некоторые компоненты высокого власти, кроме контроллера, но emavil
ничего не сказал о нем

Я использовал такую конфигурацию (с ATmega8, внутренние ссылки 1.23V, так компаратора обнаружено напряжение падает ниже 11V):<img src="http://images.elektroda.net/35_1170512239.png" border="0" alt="Saving variable content to EEPROM before power is cut-off" title="Сохранение переменная содержания EEPROM до отрезания выключения питания"/>
 
Есть несколько других точек рассмотреть после обнаружения предстоящей потере мощности:
1.Согласно Microchip DS40044E-Страница 139, Tdew, данных EEPROM стирания / записи цикла, является типичным 4 мс.В зависимости от конфигурации схемы питания может не хватить времени.
2.4 мс может быть на один байт, поэтому рассмотрим общую длину данных.
3.4 мс требует, чтобы Vmin поддерживается во время записи.
4.Если схема не позволяет достаточно времени для записи, используйте LF версии чипа.
5.Используйте ввода-вывода, чтобы определить реальное время записи.
6.Если власть будет поддерживаться достаточно долго, дай те же данные, 2 или 3 раза в разные адреса, и сравните результаты при перезагрузке за справедливость.
7.В зависимости от того, что eeprom_write кода используется следует знать, что прерывание может быть отключен при фактической записи.

Надеюсь, что некоторые из этих указателей вам помочь.

 
Я согласен, нужно определить, когда власть неудачу.
за что я могу рекомендовать способ сделать:
- Соедините напряжение питания на базе транзистора и Conect его к внешнему порту прерываний, используйте батарейный блок (только, несколько мА) сохранить переменную EEPROM, а затем пойти спать, когда власть является восстановление инструмента звонок вверх.

Надежды, что помогает.

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

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

При сохранении кол quanity или он может быть ОК, чтобы сохранить ценность каждого N пунктам.Это зависит от того, насколько приемлемо это ошибка.

Datasheet списков ПЗУ, как хороша для 1 миллион циклов записи.
Если вы сохранили данные вам каждую минуту EEPROM будет только продолжаться около двух лет.
Если приложение требует только 1 / 4 от EEPROM, что может быть продлен до 8 лет

Вверх это не требует никаких дополнительных схем.Меньше затрат и аппаратной сложности.Еще одним преимуществом является то, что у вас есть сохраненные данные действительны на все времена.Если процессор аварии по какой причине он выступает с действительными данными.

Недостатком является то, что программное обеспечение сложности идет вверх и со временем он может износиться EEPROM.

Edit:

После того как я Написал я нашел микрочип AppNote AN601
http://ww1.microchip.com/downloads/en/AppNotes/00601.pdf

Цитата:

Как будет описано более подробно ниже, если дизайнер

имеет никакого контроля над определенными экологическими или операции

условия, которые он должен соблюдать следующие основные

принципов:

Храните применение температуры от

возможно

Держите приложение напряжения (или V

CC

Напряжение

на основе EEPROM устройства), а низкое качество

возможно

Пишите так, как несколько байт, сколько возможно

Используйте страницу написать особенностей возможности

Запись данных как можно реже

С помощью этих основных руководящих принципов, применяемых в полной мере

степени выносливости EEPROM-устройств могут

быть расширены далеко за пределы минимального гарантированного

выносливости.
В некоторых очень специфических условиях,

Microchip Serial ЭППЗУ, как было показано в последнем

вот уже более 100 миллионов циклов.3v0
 
3v0

Что делать, если власть опускается в процессе написания EEPROM.Данные будут недействительными ...

 
В микропроцессоре условиях, напряжение обычно занимает несколько миллисекунд до капли несколько вольт.Если вы используете достаточно больших конденсаторов, у вас будет несколько десятков миллисекунд.Если вы сможете генерировать прерывание как напряжение начинает падать, вы можете легко хранить данные в EEPROM и дать ему о 10ms завершить свои внутренние время записи.

 
Азы

с вводом конденсатор, который достаточно велик (> 1000uF) и разделения власти голодные компоненты питания микроконтроллера может длиться несколько секунд, достаточно даже для медленного AVR внутренней EEPROM, для быстрого резервного копирования лучше использовать внешние EEPROM Paged

 
Еще одна мысль, иначе некоторые другие ideeas очень хорошие.
1.использование Supercap вместо 1000uF конденсатора
2.Магазин переменным памяти страниц и написать целую страницу, если вы используете внешний EEPROM, это позволит сэкономить время
3.использование резервного LF microcontroler питания на 3V монеты клеток и вам не нужно этого больше

 
Supercap или барана страницы не требуется.Новый внешний EEPROMs дешевы и имеют от 64 до 256byte страниц.Перемещение распределенных величин оперативной памяти EEPROM занимает несколько миллисекунд только на достойную 8-битный контроллер.Вы можете легко перемещать десятки байт Serial EEPROM и дать ей 10ms время записи и делать это с 1000uf Cap до тех пор, как вы выключите питание от голодной компоненты, как только вы получите предупреждение прерывания.

 
janni8 Я думаю, ур метод очень совершенным, пожалуйста, вы можете предложить некоторые общие диод Шоттки части числа.Спасибо

С уважением,
Гарг

 
umup пишет:3v0Что делать, если власть опускается в процессе написания EEPROM.
Данные будут недействительными ...
 
Определение системы реального времени, заключается в ее предсказуемости.Почему бы падение напряжения до EEPROM записи завершена, если ваш проект не поврежден.

 
Не забудьте отключить все устройства, которые не являются необходимыми для записи EEPROM при Power Fail обнаружено (на прерывание может быть), на примере, светодиоды, ЖК, внешние устройства и т.д.

 

Welcome to EDABoard.com

Sponsor

Back
Top