Перейти к содержанию
    

Особенности использования FLASH AM29LV320

У меня в приборе к LPC2214 подключена упомянутая флешка, поэтому и решил сюда написать. Возникали ли у вас проблемы при ее использовании? У меня возникла следующая ситуация. Во флешке я держу базу и журнал. Журнал пишется по кольцу. При записи события проц проверяет сначала возможность записи - флеха в пределах размера записи должна быть стерта. Если это не так - предварительно стирается сектор. Так вот уже в парочке приборов приключилась неисправность - зависает проц по причине неготовности флешки, которую я проверяю после записи. Готовность я проверяю не по ноге реди/бази а по командному интерфейсу. Поделитесь мыслями - когда такая ситуация может происходить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

зависает проц по причине неготовности флешки, которую я проверяю после записи. Готовность я проверяю не по ноге реди/бази а по командному интерфейсу. Поделитесь мыслями - когда такая ситуация может происходить?

На счет АМ не знаю, но такая же ситуация у меня бывает (очень редко) с самсунговскими флешками и xD картами. Есть подозрение, что либо пропускается, либо, за счет выброса, появляется лишний импульс записи. Или чтения, хм? То бишь, команда не проходит - флешка в ступоре.

Выход - таймаут или собака с ресетом флешки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нда. Я еще ставлю атмеловские флехи, там пока не было такого. К слову сказать во флехе журнал на 300000 событий и в связи с недавностью начала выпуска мало где он полноценно пользовался. В первой плате флеха встала так в ступор, что ни сброс питания ни перешивка не помогла. Застопорилась программа на определенном указателе записи во флешку. Подсоединился мтлинком и руками в программе проставил, что якобы Get_Memory_Status() в норме. Как программа перевалила через этот адрес, пошло нормально. Причем выход реди/бази показывал вроде что флеха в норме. Приедет вторая плата повнимательнее посмотрю. Пока переписал статус проверять по ноге.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нда. Я еще ставлю атмеловские флехи, там пока не было такого.

В смысле EEPROM? Да, с ним полегче.

 

В первой плате флеха встала так в ступор, что ни сброс питания ни перешивка не помогла. Застопорилась программа на определенном указателе записи во флешку. Подсоединился мтлинком и руками в программе проставил, что якобы Get_Memory_Status() в норме. Как программа перевалила через этот адрес, пошло нормально. Причем выход реди/бази показывал вроде что флеха в норме. Приедет вторая плата повнимательнее посмотрю. Пока переписал статус проверять по ноге.

А как на счет битых ячеек?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет к сожаленю флешка. Хорошая штука стандарт. Хочешь ставишь AM29lv320, хочешь другого производителя. Они по ногам и командам как из одной бочки розлиты. Почти. На счет битых не знаю. Все - таки амд качественная контора. Разве что ошибка в коде и молотит в один сектор, в результате 100000 циклов расходуется. Приедет ворая плата подробнее посмотрю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тоже недавно заметил такую же проблему на LPC2294 + AM29LV320DT. Использую пин RDY. Только я точно не молотил в один сектор данные. Я проверял посекторную запись/чтение. И в какой-то момент пин RDY упал в ноль и уже не выходил. Сброс флэшки подключён к общему сбросу. В чём проблема я пока не понял, но решил в следующей версии платы подключить сброс флэшки к проессору. Вдруг поможет.

 

ЗЫ. Возможно я выдал флэшке некорректную команду/адрес/данные, из-за чего она зависла. Но это ещё надо проверить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ту проблему я давно решил. Оказались кривые руки - пытался писать данные в нестертые ячейки. Поэтому и клинило память. Разобрался устранил - как часы работает. Но сделали новый дизайн, переразвели красиво плату и появилась новая проблема. В старой версии ставили AT49BV322A в новой стали ставить AT49BV322D. Она дешевле и вроде быстрее трется. Суть проблемы в следующем - систематически раз в сутки, почему-то после дня рабочего, память отказывает. Когда с нее читаешь дамп, вместо FFFF допустим FFF8 или FFF4. И кое-что потерто. И ничего не помогает поднять. Только снятие/восстановление питания. Днем работает стабильно. На софт грешить трудно - в старой версии софт косметически отличается - входы/выходы некоторые. Что может вызывать такой эффект? Может проблема в том, что LPC2214 питается от одного 3.3В а память от другого и они (питатели) на разных платах? Нужно ли память ресетить каждый раз после стирания/записи блока данных?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем упомянутая выше проблема вылечилась только перепайкой памяти на AT49BV322A. Получается что 322D чем-то отличается, хотя по параметрам якобы только в плане улучшения. Но не может же атмел выпускать лажу. Возможно я как-то не корректно пристыковал к LPC2214. Может подтяжки нужны по шинам или последовательно резаки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В общем упомянутая выше проблема вылечилась только перепайкой памяти на AT49BV322A. Получается что 322D чем-то отличается, хотя по параметрам якобы только в плане улучшения. Но не может же атмел выпускать лажу. Возможно я как-то не корректно пристыковал к LPC2214. Может подтяжки нужны по шинам или последовательно резаки?

 

Если что-то произвольно стирается, то очень похоже на то, что проблемы с питанием или в разводке платы

 

А AT49BV322D может быть более чувствительна к таким вещам

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Логично. Странно только, что в основном работает превосходно. Частота сравнительно не большая. Основной питатель у меня периодически просаживается на несколько вольт и это не влияет на работу. Микросхемы близко к процу и ничего лишнего рядом не проходит с шинами. На этой же шине еще чипы срам. С ними проблем нет. В общем хз. Разве что пользую пока LPC 0 ревизии. Может у него что не так в EMC. Пока буду ставить B ревизию памяти или AMD.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Логично. Странно только, что в основном работает превосходно. Частота сравнительно не большая. Основной питатель у меня периодически просаживается на несколько вольт и это не влияет на работу. Микросхемы близко к процу и ничего лишнего рядом не проходит с шинами. На этой же шине еще чипы срам. С ними проблем нет. В общем хз. Разве что пользую пока LPC 0 ревизии. Может у него что не так в EMC. Пока буду ставить B ревизию памяти или AMD.

 

Дело как раз не в просевшем питании, а наоборот во всплесках в питании и в проблемных землях.

Кстати источник всплеска может быть и внешний

Был случай, когда на ките был задет дребезжащий земляной провод. Результат - чистая флешка контроллера.

 

Если возникают такие проблемы, видимо надо посерьезней отнестись к питанию и к разводке платы.

Это залог стабильной работы устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...