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

 
 
> Вопрос по Atmel`овским флешкам серии AT45DB
eav1978
сообщение Mar 26 2008, 19:13
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 13-01-07
Из: Санкт-Петербург
Пользователь №: 24 409



Подскажите, как лучше организовать запись данных во флешку AT45DB321. Запись нужно проводить 1 раз в минуту во временный буфер(допустим в 1-ю страницу). Каждый час данные из временного буфера будут переписываться в часовой архив который будет начинаться со 2-й или 3-й страницы. Писаться будет по 88 байт, т.е. по 6 записей на страницу. Часовой архив ведется не менее 4-х лет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
rezident
сообщение Mar 26 2008, 19:39
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Вопрос не оригинальный. Для увеличения ресурса Flash-памяти при журналировании обычно используют циклическую запись с временными метками. Т.е. пишите последовательно по всей памяти DataFlash, сопровождая начало каждой записи меткой времени (в формате UNIX это 32-битное число) и завершая запись LRC или CRC8, например, для контроля ее целостности.
Go to the top of the page
 
+Quote Post
Getmanov
сообщение Mar 26 2008, 19:42
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 66
Регистрация: 28-01-08
Из: Николаев
Пользователь №: 34 507



Зачем писать в первую страницу. Пишите в буфер микросхемы, их там аж два.
Допустим раз в час переписывайте буфер в нужную страницу, а в первом байте пишите номер записи, через час читаете последнюю записанную страницу во второй буфер и определяя по номеру записи смещение, дописываете данные из первого буфера. Записываете во флеш.
Использовать в качестве буфера первую (или любую другую страницу) не рекомендую, сталкивался, что при частой записи одной и той же страницы с ней через время могут возникнуть проблемы.
Go to the top of the page
 
+Quote Post
eav1978
сообщение Mar 26 2008, 20:07
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 57
Регистрация: 13-01-07
Из: Санкт-Петербург
Пользователь №: 24 409



Буфер разве энергонезависимый?
Go to the top of the page
 
+Quote Post
rezident
сообщение Mar 26 2008, 20:21
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(eav1978 @ Mar 27 2008, 01:07) *
Буфер разве энергонезависимый?
Буфер у DataFlash это ОЗУ, естественно при пропадании питания информация в нем пропадет. А разве у вас в устройстве не предусмотрено сигнала аварии, возникающего при снижении питания ниже нормы? Вообще ваше устройство с сетевым питанием или с батарейным или сетевое с резервным питанием?
Go to the top of the page
 
+Quote Post
Harbour
сообщение Mar 27 2008, 05:34
Сообщение #6


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



supervisor/cpu+flash через диод буферируем кондером - при емкости в 10 мкф можно ОЗУ за это время 10 раз сбросить
Go to the top of the page
 
+Quote Post
Getmanov
сообщение Mar 27 2008, 14:16
Сообщение #7


Участник
*

Группа: Свой
Сообщений: 66
Регистрация: 28-01-08
Из: Николаев
Пользователь №: 34 507



Цитата(eav1978 @ Mar 26 2008, 22:07) *
Буфер разве энергонезависимый?

А где хоть слово про энергонезависимость. Поставьте батарейку, при таком количестве циклов записи флеш сколько проживёт?
За год 525600 циклов, гарантированно дают 100000, вот и думайте.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Mar 27 2008, 18:02
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Getmanov @ Mar 27 2008, 17:16) *
гарантированно дают 100000, вот и думайте.

Даже 10000. Т.к. после этого надо другие страницы в этом-же блоке перезаписать. Т.е. если с момента записи страницы в этом блоке было более 10000 записей в другие страницы - эта страница м.б. запорчена. А реализовывать счётчики кол-ва записей страниц - это такой гемор. Думаю, что никто этого не делает. Введение-же циклической записи эту проблему само-собой снимает.
Go to the top of the page
 
+Quote Post
avva
сообщение Mar 29 2008, 15:03
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 15-02-07
Из: Москва
Пользователь №: 25 386



У АТ45DBххх максимум 50 тыс циклов перезаписи (информация получена напрямую с Атмела) пару лет назад, когда критичные данные начали портиться по причине многократной записи в одну и ту же страницу.
Для минимизации рисков ни в коем случае не надо писать в одну и ту же страницу.


--------------------
С уважением,
Go to the top of the page
 
+Quote Post
Baser
сообщение Mar 29 2008, 18:29
Сообщение #10


Просто Che
*****

Группа: Свой
Сообщений: 1 567
Регистрация: 22-05-07
Из: ExUSSR
Пользователь №: 27 881



Цитата(eav1978 @ Mar 26 2008, 21:13) *
Подскажите, как лучше организовать запись данных во флешку AT45DB321...

Я поднимал похожую тему, правда с более конкретным вопросом:
Хранение указателя на конец данных в AT45xx DataFlash, Как лучше организовать?
Почитайте, может какую хорошую идею для вашего случая почерпнете.
Свою проблему я решил немного иначе, чем мне советовали. Может быть, когда весь прибор до конца доделаю и испытаю, то отпишу подробно про свой алгоритм работы.
Go to the top of the page
 
+Quote Post

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

 


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


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