Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 20.03.2010, 22:24  
vitaliksv
Прохожий
 
Регистрация: 18.03.2010
Сообщений: 4
Сказал спасибо: 0
Сказали Спасибо 1 раз в 1 сообщении
vitaliksv на пути к лучшему
По умолчанию Реальное количество циклов записи в EEPROM в AVRах?

Сталкивался ли кто-нибудь с определением реально-возможного количества надёжной и достоверной записи в EEPROM в атмелах? Производители обещают 100 000 циклов. Я так понимаю - это минимум.
Интересно, кто какие использует алгоритмы для записи, если заранее известно, что возможное количество циклов записи может быть больше гарантированного?
Заранее благодарю за ответы!
Реклама:
vitaliksv вне форума  
Непрочитано 20.03.2010, 23:12  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Реальное количество циклов записи в EEPROM в AVRах?

Есть камушек на убиение? Проведите опыт для мировой научной общественности.
Easyrider83 вне форума  
Непрочитано 21.03.2010, 05:38  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Реальное количество циклов записи в EEPROM в AVRах?

Сообщение от vitaliksv Посмотреть сообщение
Сталкивался ли кто-нибудь с определением реально-возможного количества надёжной и достоверной записи в EEPROM в атмелах? Производители обещают 100 000 циклов. Я так понимаю - это минимум.
Интересно, кто какие использует алгоритмы для записи, если заранее известно, что возможное количество циклов записи может быть больше гарантированного?
Заранее благодарю за ответы!
ЭТО - ГАРАНТИРОВАННО... всё что больше.. может быть да а может быть и нет... если вас устраивает негарантированая запись ...

ИМХО лучше делать 1 ячейку как указатель адреса на ячейку для сохранения переменной... через 100 000 меняем адрес на след. Количество гарантированых перезаписей увеличивается.

Я вот в PIC16F84 лет 8 назад пробовал, написал цикл:
запись
ожидание окончания записи
проверка после записи,
инкремент
вывод в порт сигнала

получилось в одну ячейку шил около 4,5 милисек.
и оставил работать... и через сутки ОНО работало..
то есть на выходе были импульсы... я больше не стал ждать )))) выключил...
1000/4,5*60*60*24=

Всегда пользую алгоритм записи
запись (одна переменная в 3 ячейки) пауза 8-10 милисек, проверка после записи, если 3 раза не пишет -авария.

Алгоритм считывания - считать 3 ячейки и мажоритарное сравнение, если ошибок нет то всё гут, если есть ошибка котор моно скоректировать, то запуск записи для коррекции, если нельзя - то авария или запись значения по дефолту.
picavr вне форума  
Непрочитано 21.03.2010, 06:08  
alexgap
Гражданин KAZUS.RU
 
Аватар для alexgap
 
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
alexgap на пути к лучшему
По умолчанию Re: Реальное количество циклов записи в EEPROM в AVRах?

Стараюсь писать в EEPROM только при пропадании питания. Энергия для записи - остаточная в конденсаторе после выпрямителя БП.
__________________
.

В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
alexgap вне форума  
Непрочитано 21.03.2010, 06:34  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Реальное количество циклов записи в EEPROM в AVRах?

Сообщение от alexgap Посмотреть сообщение
Стараюсь писать в EEPROM только при пропадании питания. Энергия для записи - остаточная в конденсаторе после выпрямителя БП.
Это параметры изменяющиеся в процессе работы и необходимые для восстановления режима работы... А переменные установки.. запись при изменении..

ВАУ!! Бил Гилберт ))) Знакомые всё лица.... CRACKEDSOFT.
picavr вне форума  
Непрочитано 21.03.2010, 23:40  
chapa
Вид на жительство
 
Аватар для chapa
 
Регистрация: 13.05.2005
Сообщений: 386
Сказал спасибо: 9
Сказали Спасибо 44 раз(а) в 37 сообщении(ях)
chapa на пути к лучшему
По умолчанию Re: Реальное количество циклов записи в EEPROM в AVRах?

я делал так: в первой ячейке хранится адрес ячейки с данными. Туда производится запись, далее чтение и проверка на совпадение, если нет, то в первой ячейке увеличиваем адрес и пишем в следующую ячейку, а предыдущую бросаем. И так до конца EEPROM, а дальше...
Делел так в хитром выключателе света, хранил тупо текущее состояние вкл/выкл для восстановления при пропадании питания. Устройство работало около 10 лет, клацали светом часто, для пробы прочитал значение в первой ячейке, а там так и лежит адрес второй, не сдохла...

Так вот как выглядел Билл Гилберт!!! А я его подругому в детстве представлял... Эдакий монстр, запутавшийся в лентах МК-60.

Последний раз редактировалось chapa; 21.03.2010 в 23:45.
chapa вне форума  
Непрочитано 22.03.2010, 00:20  
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Реальное количество циклов записи в EEPROM в AVRах?

Сообщение от picavr Посмотреть сообщение
ЭТО - ГАРАНТИРОВАННО... всё что больше.. может быть да а может быть и нет... если вас устраивает негарантированая запись ...

ИМХО лучше делать 1 ячейку как указатель адреса на ячейку для сохранения переменной... через 100 000 меняем адрес на след. Количество гарантированых перезаписей увеличивается.

Я вот в PIC16F84 лет 8 назад пробовал, написал цикл:
запись
ожидание окончания записи
проверка после записи,
инкремент
вывод в порт сигнала

получилось в одну ячейку шил около 4,5 милисек.
и оставил работать... и через сутки ОНО работало..
то есть на выходе были импульсы... я больше не стал ждать )))) выключил...
1000/4,5*60*60*24=

Всегда пользую алгоритм записи
запись (одна переменная в 3 ячейки) пауза 8-10 милисек, проверка после записи, если 3 раза не пишет -авария.

Алгоритм считывания - считать 3 ячейки и мажоритарное сравнение, если ошибок нет то всё гут, если есть ошибка котор моно скоректировать, то запуск записи для коррекции, если нельзя - то авария или запись значения по дефолту.
Не совсем корректно. Надо так запись-питаниевыкл-питаниевкл-проверка
Gnider вне форума  
Непрочитано 22.03.2010, 00:59  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Реальное количество циклов записи в EEPROM в AVRах?

Сообщение от Gnider Посмотреть сообщение
Не совсем корректно. Надо так запись-питаниевыкл-питаниевкл-проверка
Не совсем согласен. Я придерживаюсь следующего алгоритма.

1) Те параметры и установки устройства, которые изменяются вручную или автоматом при калибровке, настройке, так же различные счётчики, сохранять только после изменения. Адреса устройств, Ключи Далласа, номера термодатчиков итд.. итд.. итд..

2) А те параметры, которые нужны только для восстановления режима работы устройства после выкл-вкл, нужно сохранять при пропадании питания.

3) А в процессе сохранения: Имеем массив для сохранения (2-3 массива) отдельно для сохранения после выкл и отдельно для сохранения при изменении.
C начала проверяется равно ли записанное ячейки тому что хотим записать, если равно переходим к след ячейке.
Если окончен массив то выключаем процес сохранения.

Если не равно, то запускаем запись в ячейку данных. Через 4-10 милисек (смотрим в даташит МК на время записи EEPROM +20-30%) опять проверяем, если допустим 3 раза не совпадает, то либо сигнализируем аварию либо другие действия.
Это позволяет уменьшить количество параметров для сохранения при выключении и соответственно уменьшить время сохранения, и предотвратить лишние презаписи ячеек, так же контролировать соответствие записаного тому что необходимо записать, ещё в процессе записи.

И перед каждым обращением к EEPROM!!!(чтение или запись) проверяем флаг занятости EEPROM. Если занят, то выход и возврат через время достаточное для записи 1 ячейки.
picavr вне форума  
Непрочитано 22.03.2010, 01:02  
Gnider
Почётный гражданин KAZUS.RU
 
Регистрация: 30.06.2005
Сообщений: 3,399
Сказал спасибо: 5
Сказали Спасибо 431 раз(а) в 306 сообщении(ях)
Gnider на пути к лучшему
По умолчанию Re: Реальное количество циклов записи в EEPROM в AVRах?

Думаешь еепром начинает порться ячейками по 1 байт?
Gnider вне форума  
Непрочитано 22.03.2010, 18:27  
OneTech
Вид на жительство
 
Регистрация: 09.10.2009
Сообщений: 356
Сказал спасибо: 21
Сказали Спасибо 64 раз(а) в 46 сообщении(ях)
OneTech на пути к лучшему
По умолчанию Реальное количество циклов записи в EEPROM в AVRах?

Есть специальные алгоритмы которые позволяют распределить нагрузку на биты в байте, тем самым повышая ресурс ячейки и незанимая дополнительные ячейки. Этот алгоритм особенно актуален при постоянном сохранении счётчиков событий, используется в абсолютных энкодерах. Предварительно число кодируется в код Грея, сохраняется в ячейку, при считывании - процесс наоборот.

Двоичный код в котором постоянно меняется младший бит:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Код Грея в котором младший бит меняется вдвое реже, значит ресурс ячейки возрастает вдвое:
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
OneTech вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 21:01.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot