реклама на сайте
подробности

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Запись на EEPROM
defunct
сообщение Aug 26 2008, 18:48
Сообщение #16


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Боинг749 @ Aug 26 2008, 21:23) *
Вот текст ответа этого чела(нашёл в инете):

Вероятно, у этого человека тест неправильно был построен.

IgorKossak приводил несколько другую цифру, и она кореллирует с тем, что написано в ДШ.
Сам я тоже проверял, мои цифры выше.
Всяко лучше самому измерить ресурс чем доверять сомнительным источникам, тем более когда речь идет о разнице в 50 раз.
Go to the top of the page
 
+Quote Post
Боинг749
сообщение Aug 26 2008, 18:59
Сообщение #17


Частый гость
**

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



Цитата(defunct @ Aug 26 2008, 22:48) *
Вероятно, у этого человека просто тест неправильно был построен.

С чего Вы взяли? Я же привёл описание теста, который проводил чел... Что в нём не правильного?

P.S. Врядли Atmel при указании цифры "100000 записей" предполагал, что сбои начнутся на 100001-й записи.. Наверняка заложил какой-то запас.... 100000 он гарантирует.. А вот несколько миллионов записей потребитель должен закладывать в свой проект "на свой страх и риск".
Go to the top of the page
 
+Quote Post
singlskv
сообщение Aug 26 2008, 19:51
Сообщение #18


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(defunct @ Aug 26 2008, 05:14) *
Где? smile.gif В ДШ (если вы их читаете) есть цифра 100K перезаписей.
Производители eeprom не настолько тупы, чтобы писать 100k там, где реально есть 5.5M.

Проверить оч. легко:

Код
void test(void)
{
  static volatile __eeprom char x;
  char cnt = 0;
  long cycle = 0;

  do
  {
      x = ++cnt;
      cycle += 1;
  } while (x == cnt);

  printf("eeprom resource is %d cycles\n", cycle);
}
За 10-20 минут ячейку заелозит и увидите реальное число.

defunct не все так просто на самом деле...,
100000 это долговременная стабильность при НЕтепличных условиях(по температуре например) и
при питании 2,7(1,8)V, то есть 100000 при любых условиях гарантированны...

В какой-то момент я сам решил проверить работу своего хитрого алгоритма по сохранению
данных в EEPROM, так вот у меня не хватило терпения его проверять...,
в итоге пришлось на симуляторе прогнать все состояния...
При 2-3 миллионах записей на AT90S2313 сбоев не было ни в одной ячейке,
правда условия эксперимента были вполне тепличными.
Так что миллионы записей - вполне реально, НО все рассчеты НУЖНО делать
исходя из 100000...
Go to the top of the page
 
+Quote Post
Боинг749
сообщение Aug 26 2008, 19:59
Сообщение #19


Частый гость
**

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



Цитата(singlskv @ Aug 26 2008, 23:51) *
defunct не все так просто на самом деле...,
100000 это долговременная стабильность при НЕтепличных условиях(по температуре например) и
при питании 2,7(1,8)V, то есть 100000 при любых условиях гарантированны...

В какой-то момент я сам решил проверить работу своего хитрого алгоритма по сохранению
данных в EEPROM, так вот у меня не хватило терпения его проверять...,
в итоге пришлось на симуляторе прогнать все состояния...
При 2-3 миллионах записей на AT90S2313 сбоев не было ни в одной ячейке,
правда условия эксперимента были вполне тепличными.
Так что миллионы записей - вполне реально, НО все рассчеты НУЖНО делать
исходя из 100000...


Ну да.. Если у Вас MCU работает при колебаниях температуры от -40 до +125 при просадках питания и требуется сохранность данных в течении 20-ти лет, то тогда да, не следует рассчитывать что при таких условиях эксплуатации и записи инфы в EEPROM после 100000 перезаписей надеется, что инфа у Вас будет сохранна в течении 20-ти лет .

А если же у Вас MCU работает при комнатной температуре и при стабильном напряжении питания 5В и данные храняться в EEPROM-е не более одного дня (например запись логов каждый день) то на цифру "3 миллиона записей" можно вполне рассчитывать

Сообщение отредактировал Боинг749 - Aug 26 2008, 20:05
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 26 2008, 20:08
Сообщение #20


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(singlskv @ Aug 26 2008, 22:51) *
В какой-то момент я сам решил проверить работу своего хитрого алгоритма по сохранению
данных в EEPROM, так вот у меня не хватило терпения его проверять...,

Да причем тут хитрый алгоритм.
Давайте остановимся на нехитром счетчике, как в приведенном примере.
на проверку понадобится всего 10-20 минут, максимум полчаса и одна ячейка eeprom'a любого AVR чипа.
Go to the top of the page
 
+Quote Post
sKWO
сообщение Aug 26 2008, 20:19
Сообщение #21


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Цитата(Боинг749 @ Aug 26 2008, 22:59) *
Ну да.. Если у Вас MCU работает при колебаниях температуры от -40 до +125 при просадках питания и требуется сохранность данных в течении 20-ти лет, то тогда да, не следует рассчитывать что при таких условиях эксплуатации и записи инфы в EEPROM после 100000 перезаписей надеется, что инфа у Вас будет сохранна в течении 20-ти лет .

А если же у Вас MCU работает при комнатной температуре и при стабильном напряжении питания 5В и данные храняться в EEPROM-е не более одного дня (например запись логов каждый день) то на цифру "3 миллиона записей" можно вполне рассчитывать

АВР типа Industrial работает в температурном диапазоне (из ДШ мега8) -40°C to 85°C.
Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
Data retention: 20 years at 85°C/100 years at 25°C
может расскажете где взяли Вы другую цифру. Какие программы, алгоритмы использовали, какой чип?


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
zhevak
сообщение Aug 26 2008, 20:25
Сообщение #22


Знающий
****

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



ну, блин, понеслась...

У chajnik, задавшего вопрос, стоит вполне конкретная задача типя селектора каналов TV для любимой тещи. Работать скорее всего его конструкция будет внутри помещения, в течении времени максимум -- год. Условия не полевые. Гарантия не требуется.

За год chajnik подрастет и будет делать все как надо. Сейчас ему нужно просто стартовать. Не важно как, не важно с какой надежностью. Главное -- сделать что-нимбудь работающее. Потом это маленький комочек знаний он откатает до размеров снеговика. Сами-то разве не так начинали?

Задача очень простая. А мы тут такой огород вспозали, будто заказчиком является не иначе как NASA.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Боинг749
сообщение Aug 26 2008, 20:27
Сообщение #23


Частый гость
**

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



Цитата(sKWO @ Aug 27 2008, 00:19) *
АВР типа Industrial работает в температурном диапазоне (из ДШ мега8) -40°C to 85°C.
Write/Erase Cycles: 10,000 Flash/100,000 EEPROM
Data retention: 20 years at 85°C/100 years at 25°C
может расскажете где взяли Вы другую цифру. Какие программы, алгоритмы использовали, какой чип?

"Другую цифру" (несколько миллионов записей) я взял из сообщения одного человека на форуме, информацию от которого я рассматриваю как достоверную (ибо врать ему резона не было ни какого)
Go to the top of the page
 
+Quote Post
singlskv
сообщение Aug 26 2008, 20:31
Сообщение #24


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(defunct @ Aug 27 2008, 00:08) *
Да причем тут хитрый алгоритм.
Почти не при чем, просто я его пытался проверить в реальном железе
запустив запись и потом считывание и проверку по циклу, но проверить его было не суждено...,
ждать надоело...
Цитата
Давайте остановимся на безхитростном алгоритме - тупой счетчик, как в приведенном примере.
на проверку понадобится всего 10-20 минут, максимум полчаса и одна ячейка eeprom'a любого AVR чипа.
Примерно так в итоге и проверял, писал в ячейку счетчик а в соседнюю его побитовую
инверсию, если при считывании ячейки оказывались битыми, переходил на след пару ячеек,
при нажатии кнопки(тестил на STK500) в 4 старшие ячейки прописывал количество записей
в еепром и дальше просто ждал отключения.
После 5-7 часов работы количество записей в eeprom соответствовало
теоритическому(по скорости записи в еепром),
задействованно было только 2 первых ячейки...
Тест проводил раза 3 на следующих ячейках, терпения дождаться сбоя не хватило...

Если есть желание, запостите свой код для проверки под STK500 и AT90S2313
я его потестирую и потом выложу дамп еепрома.
Go to the top of the page
 
+Quote Post
defunct
сообщение Aug 27 2008, 04:37
Сообщение #25


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(singlskv @ Aug 26 2008, 23:31) *
Если есть желание, запостите свой код для проверки под STK500 и AT90S2313
я его потестирую и потом выложу дамп еепрома.

Поставил на ночь крутиться на m16 до первого сбоя (программка приблизительно такая же как приводил выше, инкрементируется байт и пишется в последнюю ячейку eeprom'a)

Сейчас снял результаты:
77 -- ожидаемое значение
7F -- реальное значение
0x24240 - цикл
итого свалилось на 148032 цикле.
перезапустил тест крутиться дальше.

Вечером отпишусь еще, и выложу код теста.


О, уже упало, даже ждать вечера не пришлось:

AD -- ожидаемое значение
ED -- реальное значение
0x990A - цикл (39178)

После этого упало уже на 6160-м цикле
20 - ожидаемое
62 - прочитанное

А вы говорите миллионы...
Go to the top of the page
 
+Quote Post
Боинг749
сообщение Aug 27 2008, 06:49
Сообщение #26


Частый гость
**

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



Цитата(defunct @ Aug 27 2008, 08:37) *
Поставил на ночь крутиться на m16 до первого сбоя (программка приблизительно такая же как приводил выше, инкрементируется байт и пишется в последнюю ячейку eeprom'a)....

А вы говорите миллионы...

Уговорили.. Пойду тоже запущу тест... Не.. всё же не буду.. Есть всего 3 девайса на руках... И каждый из них нужен... Если угроблю хотя бы один - нЕначем будет отлаживаться..

Подождём .. Мож ещё кто тест EEPROM погоняет и скажет о результатах... Кому не жалко изничтожить для таких целей проц... И будем набирать статистику.. А то пока только всего один участник заявил, что износостойкойсть EEPROM только чуть-чуть больше заявленных в даташите, и один заявил, что износостойкость EEPROM на порядок превышает те "100000 записей", о которых говорится в даташите

Сообщение отредактировал Боинг749 - Aug 27 2008, 06:50
Go to the top of the page
 
+Quote Post
zhevak
сообщение Aug 29 2008, 09:31
Сообщение #27


Знающий
****

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



Цитата(defunct)
А вы говорите миллионы...


Ничего не понимаю... Может это мне так везет. :05:
Почти час "мучал скотину" -- накрутил чуть более миллиона циклов. Проблем не было!
условия испытания:
-- комнатная температура (на столе),
-- STK-500,
-- ATMEGA48-20PU, дата изготовления 0623, снизу на брюхе три строки
6F6183
35573С
1-PЗ0623 e3
-- комп.

В проге задействован пара светодиодов. Один преключается при каждой перезаписи, другой переключается через какждые 100 циклов перезаписи. Так же через каждые 100 циклов через UART отправляю в комп строку, где указываю текущий номер цикла.

На каждом цикле прога записывает младший байт номера цикла в ЕЕПРОМ по адресу 0х00. Выход из цикла по ошибке записи. При этом в комп уйдет строка с номером цикла, а так же это номер будет записан в ЕЕПРОМ по адресам 0х01-0х04.

Код написан CV (исходник "приартачен"). Код проги не является примером, для подражания или обучения.
Go to the top of the page
 
+Quote Post
Боинг749
сообщение Aug 29 2008, 09:39
Сообщение #28


Частый гость
**

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



Цитата(zhevak @ Aug 29 2008, 13:31) *
Почти час "мучал скотину" -- накрутил чуть более миллиона циклов. Проблем не было!

Запись длится где-то 8,5мСек. Чтобы сделать миллион записей потребуется 2,36 часа
Go to the top of the page
 
+Quote Post
singlskv
сообщение Aug 29 2008, 09:53
Сообщение #29


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(Боинг749 @ Aug 29 2008, 13:39) *
Запись длится где-то 8,5мСек. Чтобы сделать миллион записей потребуется 2,36 часа
В mega48 3,4мсек , так что миллион как раз за час...
Go to the top of the page
 
+Quote Post
zhevak
сообщение Aug 29 2008, 10:45
Сообщение #30


Знающий
****

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



Цитата(Боинг749 @ Aug 29 2008, 15:39) *
Запись длится где-то 8,5мСек. Чтобы сделать миллион записей потребуется 2,36 часа

Нет, нет. Я сразу же определил время записи. На Меге48 оно было 3.54-3.58 мс (LeCroy WaveJet-322).
Так же определил, что запись действительная, т.е. проц мне "в уши не дует": я останавливал процесс в разное время и смотрел программатором ЕЕПРОМ, каждый раз было случайное число.

После того, как убедился, что процесс записи не "липовый", запустил убивалку. Ожидал, что через 10 минут мега издохнет... крхе!


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 18:23
Рейтинг@Mail.ru


Страница сгенерированна за 0.01507 секунд с 7
ELECTRONIX ©2004-2016