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

 
 
> Хранение указателя на конец данных в AT45xx DataFlash, Как лучше организовать?
Baser
сообщение Jan 20 2008, 19:22
Сообщение #1


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

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



Прибор должен сохранять лог измеряемых данных в DataFlash 32Мбит в худшем случае каждые 3 секунды по одной или несколько строк из 16 байт. Работа прибора непрерывная с непредсказуемыми перерывами (может вкл./выкл. в любое время с любой частотой). Батарейного питания на плате нет. Срок жизни прибора лет 10 (может и больше smile.gif ).
Где лучше хранить указатель на конец данных и как это все получше организовать?

Посколько DataFlash не позволяет писать меньше страницы в 512 байт, то планирую кешировать данные в буфере. При кешировании указатель будет в ОЗУ. При сохранении страницы во флеш и при вкл/выкл прибора действия могут быть разными. Придумал два варианта:

1. Сохранять указатель в одной ячейке EEPROM AVR только при выкл. прибора, а при вкл. грузить его в ОЗУ и с ним работать.
+ простота алгоритма
- проблема в случае сбоя записи при выкл.: нужно искать конец данных в 32Мбит DataFlash

2. Сохранять указатель в циклическом буфере ячеек EEPROM не только при выкл. прибора, но и при записи страницы во флеш.
Циклический буфер указателей нужен из-за малого ресурса перезаписи у EEPROM.
- сложности с организацией циклического буфера указателей
+ всегда можно будет найти предыдущий указатель и конец данных.

Какие есть еще варианты и соображения?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Baser   Хранение указателя на конец данных в AT45xx DataFlash   Jan 20 2008, 19:22
- - Aesthete Animus   2Baser Первый вариант я бы рассматривать не стал,...   Jan 20 2008, 20:06
- - Rst7   Давно использую в приборе для архива 45DB021. Тоже...   Jan 20 2008, 20:06
- - Baser   Цитата(Aesthete Animus @ Jan 20 2008, 22...   Jan 20 2008, 20:59
|- - Alex B._   со связанным списком сложно получится - нужно буде...   Jan 20 2008, 21:18
|- - singlskv   Цитата(Baser @ Jan 20 2008, 23:59) Объемы...   Jan 20 2008, 21:24
|- - DenisN   Цитата(Baser @ Jan 20 2008, 22:59) Это я ...   Jan 21 2008, 18:18
- - Baser   Цитата(Alex B._ @ Jan 20 2008, 23:18) ......   Jan 20 2008, 22:02
|- - Alex B._   Цитата(Baser @ Jan 21 2008, 01:02) У меня...   Jan 21 2008, 08:02
- - defunct   Можно поставить рядышком NVRAM (с RTC) и хранить в...   Jan 21 2008, 00:29
- - Rst7   ЦитатаОбъемы флешки у вас не те. В 2Мбитах можно и...   Jan 21 2008, 06:25
- - proba   32Mb состоит из 4096 секторов, следовательно для п...   Jan 21 2008, 08:55
- - Baser   Цитата(defunct @ Jan 21 2008, 02:29) NVR...   Jan 21 2008, 09:25
|- - Alex B._   Цитата(Baser @ Jan 21 2008, 12:25) А чем ...   Jan 21 2008, 11:01
|- - defunct   Цитата(Baser @ Jan 21 2008, 12:25) А чем ...   Jan 21 2008, 11:20
- - Rst7   Цитатадля поиска свободного сектора требуется чтен...   Jan 21 2008, 09:31
- - Rst7   ЦитатаВариант с пустым сектором как маркером конца...   Jan 21 2008, 11:21
|- - alcosar   Цитата(Rst7 @ Jan 21 2008, 15:21) Вы види...   Jan 21 2008, 11:46
- - Rst7   ЦитатаА что будет, если ErasePage из-за пропадания...   Jan 21 2008, 11:56
- - Baser   Цитата(Alex B._ @ Jan 21 2008, 13:01) С и...   Jan 21 2008, 12:03
|- - defunct   Цитата(Baser @ Jan 21 2008, 15:03) Вашу м...   Jan 21 2008, 12:37
- - Rst7   ЦитатаВ EEPROM никто эти указатели не сохраняет? ...   Jan 21 2008, 12:16
- - GDI   А я в свое время хранил адрес следующей записи(или...   Jan 21 2008, 13:08
- - Rst7   ЦитатаА я в свое время Вот и у меня так было (тол...   Jan 21 2008, 13:49
- - Baser   to defunct: все понял, спасибо. Наконец-то до мен...   Jan 21 2008, 20:32


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

 


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


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