|
|
  |
Запись на EEPROM |
|
|
|
Aug 29 2008, 19:01
|
Частый гость
 
Группа: Новичок
Сообщений: 83
Регистрация: 25-08-08
Пользователь №: 39 801

|
Докладываю. Сейчас 22-52. Счётчик больших циклов показывает $183D. Т.е. уже было осуществлено не менее чем $183D х 256 = 1 588 480 УСПЕШНЫХ записей при том, что не было НИ ОДНОЙ не успешной. Засим свой эксперимент прекращаю (надоело ждать  ) так и не сумев "убить" ячейку EEPROM. Так что Atmel очень осторожничает говоря о ресурсе EEPROM в 100 000 записей  Удачи!
Сообщение отредактировал Боинг749 - Aug 29 2008, 19:03
|
|
|
|
|
Sep 9 2008, 12:43
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 5-06-08
Пользователь №: 38 076

|
Решил проверить на 16 меге - в ячейку записывались поочередно 0x55, 0xAA, до первой ошибки. Рухнуло примерно на 5млн. записей при температуре 24С. Нагрел мегу до 80С  , число циклов сократилось до ~1.2млн.
|
|
|
|
|
Sep 9 2008, 13:03
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(ARB @ Sep 9 2008, 18:43)  Решил проверить на 16 меге - в ячейку записывались поочередно 0x55, 0xAA, до первой ошибки. Рухнуло примерно на 5млн. записей при температуре 24С. Нагрел мегу до 80С  , число циклов сократилось до ~1.2млн. Пожалуйста уточните -- при втором испытании (при повышенной температуре): - вы работали с той же самой ячейкой или перестроились на другую, - вы испытывали тот же экземпляр МК или взяли другой. Попутно. Просто интересно, а повторная запись в ту же самую ячейку после сбоя дает положительный результат? На каком цикле произойдет следующая ошибка записи в эту же самую ячейку?
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Sep 10 2008, 10:24
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 5-06-08
Пользователь №: 38 076

|
МК тот же, ячейки конечно же были разные. Сразу после ошибки, для интереса, запускал повторно тест: Пару раз для 24C - 37774 и 13266 циклов, дальше просто не стал проверять, ячейка возвращала 0х45, ожидалось 0х55. При 80С - 743, после следующих перезапусков тоже показывало сколько-то циклов, возвращаемое значение - 0х2A. Думаю, для некоторых ячеек сбой может быть первым и последним, может у кого это подтвердится
|
|
|
|
|
Sep 10 2008, 10:31
|

Знающий
   
Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065

|
Цитата(ARB @ Sep 10 2008, 16:24)  МК тот же, ячейки конечно же были разные. Сразу после ошибки, для интереса, запускал повторно тест: Пару раз для 24C - 37774 и 13266 циклов, дальше просто не стал проверять, ячейка возвращала 0х45, ожидалось 0х55. При 80С - 743, после следующих перезапусков тоже показывало сколько-то циклов, возвращаемое значение - 0х2A. Думаю, для некоторых ячеек сбой может быть первым и последним, может у кого это подтвердится  Спасибо. Думаю, через недельку или через месяц следет еще раз запустить тестирование того же МК на те же самые ячеки с целью отмести, так сказать, "чудо восстановления" работоспособности ячеек. И на этом закончить издевательства над АВРками.
--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
|
|
|
|
|
Sep 10 2008, 10:43
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 5-06-08
Пользователь №: 38 076

|
Хорошо, позже отпишусь ;-)
|
|
|
|
|
Sep 17 2008, 08:05
|

Участник

Группа: Участник
Сообщений: 30
Регистрация: 1-08-05
Из: Украина Винница
Пользователь №: 7 258

|
Доброго времени суток всем. Я например прописываю EEPROM каждых 5 сек и ничего работает уже 2-й год. Делаю просто. Выделяю N ячеек и пишу их по кругу. Перед записью проверяю ячейку на 0xFF (стёртая) После прохождения круга затираю все N ячеек и начинаю сначала. Единственное ограничение - нельзя записать число 0xFF (мне и не нужно, но можно выделять 2 байта). Ресурса хватает на N* количество_записей_в_ячейку или по минимуму N*100000. N можно делать соответственно свободного пространства EEPROM. Спасибо за внимание.
|
|
|
|
|
Sep 18 2008, 06:53
|
Местный
  
Группа: Участник
Сообщений: 246
Регистрация: 4-12-06
Пользователь №: 23 101

|
Цитата(ARB @ Sep 10 2008, 14:24)  МК тот же, ячейки конечно же были разные.
Сразу после ошибки, для интереса, запускал повторно тест: Пару раз для 24C - 37774 и 13266 циклов, дальше просто не стал проверять, ячейка возвращала 0х45, ожидалось 0х55. При 80С - 743, после следующих перезапусков тоже показывало сколько-то циклов, возвращаемое значение - 0х2A. Спасибо, наконец увидел ответ на мой вопрос "КАК они умирают" - умершие биты читаются нулями. Ведь значение 2A возвращалось при записи AA, так? Интересно, в обоих случаях сдох старший бит. (он старший, за всех остальных в ответе  )
|
|
|
|
|
Sep 23 2008, 18:43
|
Участник

Группа: Новичок
Сообщений: 21
Регистрация: 25-08-08
Пользователь №: 39 811

|
Это опять я  С записью на eeprom -оказалось проще некуда- Код eeprom char x; например.Но вот потребовалось при нажатии кнопок переключать цифры raz и dva и записывать сразу в память.Если вот так- Код eeprom unsigned int raz=35; eeprom unsigned int dva=10; .... if(!PIND.1){....=raz;} if(!PIND.2){....=dva;} -при нажатии кн.1 индикатор показывает 12,а при нажатии кн.2- 49,откуда взялись эти цифры ? Почему так в память не пишется,не пойму.Т.е. цифры переключаются-13,14,15....,а при нажатии кн.1-опять 12. Если без eeprom,то показывает 35 и 10.
|
|
|
|
Guest_Цыкетчик_*
|
Sep 23 2008, 20:30
|
Guests

|
Цитата(chajnik @ Sep 23 2008, 22:43)  Это опять я  С записью на eeprom -оказалось проще некуда- Код eeprom char x; например.Но вот потребовалось при нажатии кнопок переключать цифры raz и dva и записывать сразу в память.Если вот так- Код eeprom unsigned int raz=35; eeprom unsigned int dva=10; .... if(!PIND.1){....=raz;} if(!PIND.2){....=dva;} -при нажатии кн.1 индикатор показывает 12,а при нажатии кн.2- 49,откуда взялись эти цифры ? Почему так в память не пишется,не пойму.Т.е. цифры переключаются-13,14,15....,а при нажатии кн.1-опять 12. Если без eeprom,то показывает 35 и 10. Ну это уже вопрос относится к особенностям используемого компилятора. К износоустойчивости EEPROM (впрочем как и другим архитектурным особенностям микроконтроллеров AVR) он ни имеет НИКАКОГО отношения
|
|
|
|
|
Sep 24 2008, 02:22
|
Участник

Группа: Новичок
Сообщений: 21
Регистрация: 25-08-08
Пользователь №: 39 811

|
Но тему создал я,конкретно с вопросом про запись на eeprom на CVAVR,вот на своей теме и спрашиваю,это потом здесь начали обсуждать износоустойчивость.
|
|
|
|
Guest_Цыкетчик_*
|
Sep 24 2008, 08:07
|
Guests

|
Цитата(chajnik @ Sep 24 2008, 06:22)  Но тему создал я,конкретно с вопросом про запись на eeprom на CVAVR,вот на своей теме и спрашиваю,это потом здесь начали обсуждать износоустойчивость. Прошу тогда пардона. "За деревьями леса не увидел"(с)
|
|
|
|
|
Oct 10 2008, 11:16
|
Участник

Группа: Участник
Сообщений: 18
Регистрация: 5-06-08
Пользователь №: 38 076

|
Как обещал, делюсь результатами (и так как chajnik закрыл на все это глаза). Ранее записанное 0xFF считалось верно. Для первой (число циклов до ошибки, возвращаемый неверный байт): 22660, 0x45 перезапустил (счетчик записей = 0) 78431, 0x8A ' теперь 6-й бит, раньше не было Для второй: 44645, 0x2A 51829, 0x8A ' 14320, 0x45 ' Значит, ячейки точно накрылись
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|