Перейти к содержанию
    

EEPROM в PIC16xx

В PIC16LF628 повреждаются данные в EEPROM (произвольно), возможно, во время включения питания МК. Кто-нибудь сталкивался с такой проблемой?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Была похожая ситуация с ATMEL при обращении к памяти и одновременном проподании питания портилась информация.

Попробуйте обойтись без частого чтения/записи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У пиков по моему есть функция сброса микроконтроллера при понижении питания меньше 4в (кажется называется brown out detect).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если возможно то сделай програмную задержку по включению питания - где - то в 1 сек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подобные проблемы возникали всегда, начиная с PIC16F84. Причины, похоже - в цепях питания: плавные изменения и "иголки". В моем случае помогли супервизоры и 4-х слойная п/плата.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там ещё есть аппаратная задержка при включении, но скорее всего это программа , так как такой эффект редкость крайняя

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Некоторые исследования показывают что:

1. супервизор действительно может помочь, но лишь частично. :(

2. Если портятся данные, то (почему-то) 1 байт. :blink:

3. При старте "хорошо помогает" даже программная

задержка ~1сек. Супервизор, кстати, нечто подобное тоже делает.

Видимо это связано с разгоном кварца - его частота с достаточной

точностью может устанавливаться до 1 сек !. Получается, что

данные на самом деле еще не испорчены, просто считываются

неверно.

4. Самый надежный B) (на мой взгляд) метод - считать

EEPROM не памятью, а внешним устройством. Блок данных

EEPROM записывать сопровождая 16 битной CRC (хотябы)

и при этом сохранять 3 -4 (далее везде) копии.

Нетрудно предложить алгоритм при которм во время старта

будут определяться дефектные или отличающиеся блоки данных.

Эти самые блоки легко восстанавливаются и в итоге получаем

весьма "устойчивый" прибор с восстановлением ошибок EEPROM-а.

В результате спокойно выбрасываемиз схемы супервизор экономя

некоторое количество денег.

Хоть немножко, но все наше.

:P

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А кто такой супервизор?  :huh:

 

http://www.chipinfo.ru/docs/9a85c8d0b55d4d...M1232ARN_AD.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хотя получше будет тут:

 

http://www.analog.com/en/prod/0,2877,ADM1232,00.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...