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

 
 
> Увеличение количества циклов записи в EEPROM, как правильно программно?
smk
сообщение Mar 20 2007, 20:31
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



В программе используется переменная "char n". Всякий раз при включении она инкременируется и по достижении определенного значения - обнуляется. Чтение-запись происходит примерно 1 раз в секунду. При количестве циклов 100 000, надолго одной ячейки не хватит. Есть необходимость писать поочередно во все ячейки EEPROM. Как это сделать правильно, при условии что между любыми двумя циклами чтения-записи контроллер отправляется в "powerdown". Кто-то делал подобное? Как это можно сделать вообще, ведь адрес тоже нужно где-то помнить?

Буду крайне признателен за подсказки и примеры! help.gif


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
smk
сообщение Mar 21 2007, 19:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата
Дык вроде бы питание не снимается, а только в powerdown контроллер падает.


Уже переписал все так, что в данном конкретном приложении удалось обойти эту ситуацию.

Но есть другие, где запоминание байта (иногда и бита хватает) будет важно. Например, питание (возможно ошибочно) было выключено во время нахождения в powerdown. Иногда полезно вести статистику возникновения ситуаций в эксплуатации, интенсивность эксплуатации... да мало что еще...


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
xemul
сообщение Mar 22 2007, 09:55
Сообщение #3



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(smk @ Mar 21 2007, 19:12) *
Но есть другие, где запоминание байта (иногда и бита хватает) будет важно. Например, питание (возможно ошибочно) было выключено во время нахождения в powerdown. Иногда полезно вести статистику возникновения ситуаций в эксплуатации, интенсивность эксплуатации... да мало что еще...

При мониторинге событий обычно интересны не только сами события, но и время их возникновения. Для мониторинга питания есть специально обученные логгеры у DallasSemi. По любому для этих целей удобнее удобнее использовать что-нибудь с более быстрым циклом записи, чем у ЕЕПРОМ.
А в качестве примера использования кольцевого буфера в EEPROM - те же одометры в машинках. В VW'ах, например, пройденный путь пишется в 3 байта, буфер или 24, или 48 байт (не помню, давно ковырял), дискретность записи (LSB) 100 м. Несложно подсчитать, что VW не расчитаны на пробег более 1677721 кмsmile.gif

Цитата(proba @ Mar 21 2007, 22:55) *
если сделать кольцевои счетчик из 256 баит то число перезаписеи и растет 256 раз. если из 512 баит то получится ок. 50 млн. циклов.
некоторые EEPROM ( и все FLASH) имеют запиь без стирания, там можно атомарно биты писать, каждыи баит при том имеет 9 состоянии : FF,FE,FC,F8,F0,80,40,20,10,00.

А можно ссылочку на pdf таких занятных EEPROM и всех FLASH, которые умеют писАть без (скрытого) стирания, да еще и по-битово?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- smk   Увеличение количества циклов записи в EEPROM   Mar 20 2007, 20:31
- - Сергей Борщ   Давно в ru.embedded пробегала такая идея: использо...   Mar 20 2007, 21:31
- - prottoss   Цитата(smk @ Mar 21 2007, 00:31) ... Поищ...   Mar 20 2007, 21:35
- - CDT   ... Выделяем кусок ЭПРОМ, в котором храним счетчик...   Mar 21 2007, 07:56
|- - mse   Цитата(CDT @ Mar 21 2007, 07:56) КодFM252...   Mar 21 2007, 09:53
|- - Nanobyte   Цитата(mse @ Mar 21 2007, 09:53) ...Кроме...   Mar 21 2007, 11:30
|- - mse   Цитата(Nanobyte @ Mar 21 2007, 11:30) Поч...   Mar 21 2007, 11:59
|- - Сергей Борщ   Цитата(mse @ Mar 21 2007, 10:59) Если бы ...   Mar 21 2007, 12:30
- - Dog Pawlowa   Цитата(smk @ Mar 20 2007, 21:31) В програ...   Mar 21 2007, 10:14
- - WHALE   имхо,для таких задач RTC с внутренним ОЗУ с батаре...   Mar 21 2007, 12:56
- - rumit2000   to Сергей Борщ не в тему ветки, но про FRAM, не мо...   Mar 21 2007, 15:52
|- - Сергей Борщ   Цитата(rumit2000 @ Mar 21 2007, 14:52) в ...   Mar 21 2007, 16:16
|- - rumit2000   Цитата(Сергей Борщ @ Mar 21 2007, 16:16) ...   Mar 21 2007, 16:19
- - CD_Eater   rumit2000 В ДШ к последним FRAM-ным м/сх указывает...   Mar 21 2007, 16:22
|- - rumit2000   Цитата(CD_Eater @ Mar 21 2007, 16:22) Но ...   Mar 21 2007, 16:29
|- - Rst7   Цитата(CD_Eater @ Mar 21 2007, 15:22) Поч...   Mar 21 2007, 17:01
- - CD_Eater   Rst7, Вы не правы. Байт, отвечающий за младший би...   Mar 21 2007, 17:33
|- - Сергей Борщ   Цитата(CD_Eater @ Mar 21 2007, 16:33) Rst...   Mar 21 2007, 18:26
- - smk   Есть предложение. Кто-нибудь может привести конкре...   Mar 21 2007, 18:32
- - xemul   Соглашусь с предыдущими ораторами - при такой част...   Mar 21 2007, 18:41
- - defunct   Если записи одинакового формата. То счетчик можно ...   Mar 21 2007, 19:19
|- - acorn   Цитата(defunct @ Mar 21 2007, 18:19) Если...   Mar 21 2007, 21:56
|- - defunct   Цитата(acorn @ Mar 21 2007, 20:56) когда ...   Mar 30 2007, 00:54
- - proba   если сделать кольцевои счетчик из 256 баит то числ...   Mar 21 2007, 22:55
- - CD_Eater   Почему запись без стирания не считается изнашивающ...   Mar 21 2007, 23:31
- - smk   ЦитатаНесложно подсчитать, что VW не расчитаны на ...   Mar 22 2007, 11:10
|- - Григорий2000   Самое простое - это хранение в начале/конце еепро...   Mar 29 2007, 15:56
- - Alex B._   >> Но вот только ходят слухи, что главный би...   Mar 29 2007, 22:31


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 08:28
Рейтинг@Mail.ru


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