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

 
 
 
Reply to this topicStart new topic
> Непонятная работа AT45DB041D
Sergio66
сообщение May 28 2013, 14:09
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Доброго времени суток...
Столкнулся с такой проблемой... Голову сломал в поисках причины... Может кто сталкивался с подобным...
Имеется плата под управлением МЕГА32 и AT45DB041D подключены по SPI.
Девайс постоянно накапливает данные с датчиков и складывает на флэш. 1 запись = 8 байт...
Флэш организована таким образом:
0-я страница - служебная. В ней помимо прочего пишется и адрес первой свободной для записи данных ячейки остальной части флэш.
Пока данные поступали редко - 1 запись в 2 - 3 минуты, все было нормально...
Теперь данные поступают раз в 2 секунды. Соответственно, модификация 0-й страницы происходит так же часто...
как только набирается 60 - 70 тысяч записей, начинают портиться данные в страницах 1,2,3... дальше не проверял... Данные в 0-й странице - в порядке.
Область для данных закольцована... Это не вызывает сомнений. проверено и в отладчике, и на медленном процессе... Кроме того, данные в начальных страницах начинают портиться либо ДО перехода через начало, либо далеко после. Но НЕ в момент перехода на начало области данных...
Пробовал ставить Rewrite через каждые 10 000 попыток доступа к 0-й странице. не помогает...
Может кто имеет соображения по этому поводу???
Еще раз - на медленном процессе все работает нормально...
Буду благодарен за любой ответ...
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 28 2013, 15:35
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Sergio66 @ May 28 2013, 18:09) *
Пробовал ставить Rewrite через каждые 10 000 попыток доступа к 0-й странице. не помогает...

Как именно Вы делали rewrite?

Цитата(Sergio66 @ May 28 2013, 18:09) *
Может кто имеет соображения по этому поводу???

ИМХО:
1. Вообще не хранить данные в секторе 0a (первые восемь страниц), только служебную информацию.
2. Указатель "хвоста" размазывать по этим восьми страницам, иначе очень быстро кончится ресурс.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение May 28 2013, 18:15
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



И вообще не хранить указатель "хвоста", а определять его сканированием до первой свободной (FF....FF) зоны. Это если при включении. А пока устройство включено - в оперативной памяти, естественно.
Go to the top of the page
 
+Quote Post
zombi
сообщение May 28 2013, 20:21
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Sergio66 @ May 28 2013, 17:09) *
Теперь данные поступают раз в 2 секунды. Соответственно, модификация 0-й страницы происходит так же часто...
как только набирается 60 - 70 тысяч записей, начинают портиться данные в страницах 1,2,3... дальше не проверял... Данные в 0-й странице - в порядке.

А может флешкой уже кто то пользовался до Вас.
"раз в 2 секунды" т.е. Ваше устройство работоспособно ~55.5 часов? А потом что? выбрасывать?
Go to the top of the page
 
+Quote Post
Арк К
сообщение May 30 2013, 11:20
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 8-05-08
Пользователь №: 37 363



Цитата(zombi @ May 29 2013, 00:21) *
А может флешкой уже кто то пользовался до Вас.
"раз в 2 секунды" т.е. Ваше устройство работоспособно ~55.5 часов? А потом что? выбрасывать?

Ну там ресурс же не 100000 стираний...
bb-offtopic.gif Сейчас хотел посмотреть у Атмела и обнаружил, что в их номенклатуре больше нет позиции DataFlash® Я что-то пропустил? Как дальше жить?! crying.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 30 2013, 11:30
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Арк К @ May 30 2013, 15:20) *
bb-offtopic.gif Сейчас хотел посмотреть у Атмела и обнаружил, что в их номенклатуре больше нет позиции DataFlash® Я что-то пропустил? Как дальше жить?! crying.gif

Они продали это направление Adesto Technologies Corporation. А жить лучше вообще без DataFlash sm.gif
Go to the top of the page
 
+Quote Post
zombi
сообщение May 30 2013, 15:12
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(Арк К @ May 30 2013, 14:20) *
Ну там ресурс же не 100000 стираний...

А сколько?
В DS смотрю :
Цитата
100,000 Program/Erase Cycles Per Page Minimum

Или я чего то не догоняю?
Go to the top of the page
 
+Quote Post
vacvvn
сообщение May 31 2013, 06:26
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 17-09-10
Пользователь №: 59 547



Чудес не бывает, бывают трудноуловимые ошибки в программах, которые замыленный глаз автора программы в упор не видит. Ищите багу и пересмотрите порядок хранения данных - обновлять во флеше адреса головы и хвоста архива каждые 2 сек совершенно неправильно. Если девайс не выключается, то хранить адреса в оперативке, а при запуске голову и хвост сканировать. Если выключается часто и времени на сканирование нет, то придумывать что то еще. Например sram с батарейкой.
Go to the top of the page
 
+Quote Post
Арк К
сообщение May 31 2013, 06:42
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 8-05-08
Пользователь №: 37 363



Цитата(zombi @ May 30 2013, 19:12) *
Или я чего то не догоняю?

Всё верно. Я перепутал с 24-ой серией, где эта цифра на порядок больше, но тоже мало на самом деле.
Ещё есть вариант потавить отдельную ПЗУшку от Ramtron для хранения адреса. У них неограниченное число перезаписей
Go to the top of the page
 
+Quote Post
desh
сообщение May 31 2013, 21:11
Сообщение #10


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

Группа: Свой
Сообщений: 113
Регистрация: 25-10-07
Из: Краснодар
Пользователь №: 31 725



Отдельная микросхема - это неудобно.
Если к данным добавить поле с ключом, значение которого увеличивается от записи к записи - можно вообще не хранить индексы, а вычислять их по старту алгоритмом, аналогичным бинарныму поиску.
Получается весьма быстро.
Go to the top of the page
 
+Quote Post

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

 


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


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