Страница 1 из 1

Как обеспечить сохранность данных в EEPROM?

Добавлено: Ср сен 02, 2009 12:47:02
Igor_67
Добрый день, уважаемые!
Возникла небольшая проблема: Устройство, собранное на МК PIC16F628A не хочет сохранять настройки в EEPROM.
То есть, ситуация такая: заношу в ячейки EEPROM какие-то значения. Пока питание включено - все работает. При кратковременном отключении питания - теряется часть информации (в некоторых ячейках), причем такое происходит не всегда. При долговременном отключении питания - теряется вся информация (тоже, кстати, не всегда), т.е. в ячейки записывается то, что должно быть по умолчанию. Думаю, здесь проблема с подачей/снятием питания. Как правильно это организовать? Супервайзеры не предлагать, т.к. сброс внутренний.

Добавлено: Ср сен 02, 2009 13:55:54
urry
Расположить информацию в нескольких местах, добавить байт контрольной суммы, по включению - проверять, если не сошлась - переписывать с той области, где сходится.

Добавлено: Ср сен 02, 2009 14:01:39
Igor_67
Это конечно хорошо, но прогу не я писал и изменить нет возможности. Кагбэ аппаратными средствами это решить?

Добавлено: Ср сен 02, 2009 14:30:09
urry
Никак. Будет сбрасываться, особенно начальные ячейки.

Добавлено: Ср сен 02, 2009 16:37:57
Igor_67
А если использовать DS1813 или MAX691? Поможет, если цепь сброса переделать на внешний сброс и поправить прошивку?

Добавлено: Пт сен 04, 2009 11:50:13
Igor_67
Ну и что все молчат? Никто не знает? Неужели нельзя аппаратными средствами решить эту проблему? :shock:

Добавлено: Пт сен 04, 2009 11:55:48
GP1
urry писал(а):Никак. Будет сбрасываться, особенно начальные ячейки.
:)
на AVR'ках ни разу такого не наблюдал. :)))

Добавлено: Пт сен 04, 2009 11:59:49
Igor_67
В том то и фича, что PIC, а не AVR!

Добавлено: Пт сен 04, 2009 13:02:23
akl
Здравствуйте.
Не знаю характеристик PIC, но если есть возможность снизить питание контроллера на 0.5...1В, попробуйте. Проходил такое ( потеря информации в EEPROM при включении-выключении питания 5В ) на AT90S4414. В серийном приборе с батарейным питанием 3.6В контроллеры вели себя нормально.
Но стоило сделать модификацию с 5В питанием начались аналогичные Вашим глюки с EEPROM. В итоге вся партия (1000 штук) ушла с 3 вольтовым питанием. В чем было дело, не разбирался.
Может попробовать поставить контроллер из заведомо другой партии.

Добавлено: Пт сен 04, 2009 14:37:14
urry
ничего не даст, будет при супервизоре питания сбрасываться реже, но все равно БУДЕТ.
Рецепт - приводил выше.

Добавлено: Пт сен 04, 2009 21:48:45
Igor_67
urry писал(а):ничего не даст, будет при супервизоре питания сбрасываться реже, но все равно БУДЕТ.
Рецепт - приводил выше.
Ну что ж, это не есть гуд! :( Но раз лучше не получится, то пусть хоть так... - всё меньше сбросов будет. Решено, ставлю супервизор!

Модераторам: - тему можно закрыть.