Полная версия этой страницы:
Atmega+I2C память
Stasevuch
Mar 20 2009, 14:33
Хотелось бы услышать отзывы о работе с памятью типа I2С. Пробема заключается в том , что время от времени при считывании памяти обнаруживаются ошибки . Поскольку наблюдается некоторая система возникновения ошибок в дампе , то это наталкиает на мысль о некорректной работе отдельно взятых ячеек . Распространена ли практика попытки многократной записи ячейки в случае обнаружения ошибки в процессе записи ? Или в таких случаях предпочтительно заменить чип ?
А вы подробнее опишите ситуацию, начиная от типа памяти, МК, частоты на шине, наличие подтяжек, длины шины. А то тут кто то тоже жаловался недавно на ошибки I2C, выяснилось что он подтяжки вообще не поставил, понадеялся на внутреннюю подтяжку порта.
fmdost
Mar 21 2009, 14:23
Проверь систему сброса контроллера.
Был случай на 51ом. Супервизор самодельный. При выключении питания через прерывание запускалась запись в 24c01. Всё успевало сделаться за счёт конденсатора. И всё было хорошо пока на некоторых платах не начала биться контрольная сумма.
Оказалось, что супервизор снимал сигнал сброса при снижении питания ниже 2вольт. Некоторые at98c51 что-то и на 2х вольтах умудрялись делать. А микросхема at24c01 может работать и от 1,8вольт.
Ещё во время сброса могут некорректно устанавливаються сигналы на шине, например подаётся команда СТОП, которая в ряде случаев запускает запись страницы.
_Pasha
Mar 21 2009, 15:05
Цитата(Stasevuch @ Mar 20 2009, 18:33)

Или в таких случаях предпочтительно заменить чип ?
Ко всему сказанному добавлю: сколько раз в микросхему писАлось что-то. Я про ресурс.
были проблемы на длинной шине (3 платы, на I2C еще висели расширители в/в и контроллеры индикации).
ловились наводки при вкл/выкл индуктивной нагрузки.
проблема решилась разделением на 2 шины - на 1й короткой - 24Схх, на 2й - все остальное, плюс супервизор питания с запрещением записи по WP.
Stasevuch
Mar 24 2009, 21:51
Собственно , поддтяжка стоит , линия связи контроллер-пямять от силы сантиметра полтора. Как я понимаю супевизор ещё ни одному процессору не помешал. Да ко всему прочему , как оказалось , atmega16 грешит сбоями хранения данных в eeprom.
Flasher
Mar 24 2009, 22:01
не ... ну ваще... уже и на мегу 16 гонят... Может сначала разберетесь почему так происходит, прежде чем кидать такие заявления?
Цитата(GDI @ Mar 20 2009, 17:40)

А то тут кто то тоже жаловался недавно на ошибки I2C, выяснилось что он подтяжки вообще не поставил, понадеялся на внутреннюю подтяжку порта.
А с подтяжками порта не годится? Нужно обязательно внешние ставить?
Serhiy_UA
Mar 25 2009, 06:09
Цитата(Stasevuch @ Mar 25 2009, 01:51)

Собственно , поддтяжка стоит , линия связи контроллер-пямять от силы сантиметра полтора. Как я понимаю супевизор ещё ни одному процессору не помешал. Да ко всему прочему , как оказалось , atmega16 грешит сбоями хранения данных в eeprom.
Использовал много раз память с I2C как в паре с AVR типа мега и классик, так и другими MCS51 и MCS196. Проблем не было, работают много лет. На EEPROM в AVR тоже нареканий не было, а внешние супервизоры не мешают.
Надо искать в своих драйверах и способах их включения в рабочие циклы программ, там могут быть ошибки. Желательно описать способ (с одного места программы или нескольких) и темп обращения.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.