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

 
 
> CF глючит - запарился уже, при горячей замене
Foxx
сообщение Dec 20 2007, 17:37
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 5-05-05
Пользователь №: 4 760



Прикрепленное изображение
Суть проблемы: имеется плата с Atmega128 на борту, которая работает с CompactFlash. Плата разработана достаточно давно и до сих пор работала без проблем.
Недавно были закуплены карточки Transcend 1Gb 80x, с которой замечается следующих глюк: после включения питания плата работает нормально, память читается и пишется. Если карточку вытащить, а затем вставить "по-горячему", в 50-70% случаев возможно некорректное считывание определенных секторов (пропускаюся байты, причем всегда одни и те же). Стабильность проявляется и в том, какой именно сектор читается криво, следующие за ним сектора читаются нормально. Выводится карточка из комы выключением/включением питания. Иногда удается это сделать ее повторным вытаскиванием/вставлением. Проблема проявляется на 7 имеющихся платах и с шестью карточками (все одинаковые - Transcend 1Gb 80x). Другие карты (Transcend 256M 45x, Kingston 256M, A-Data 2Gb 120x) при подобных опытах ведут себя совершенно нормально.
На картинке приведен результат считывания сектора - внизу при нормальном чтении, свеху при кривом.
Народ, какие есть идеи? Голова уже распухла 07.gif

Вдогонку...
Заметил, что при неправильном чтении сектора теряются байты исключительно со значением 0xFF, то есть если идет подряд 5 байт 0xFF, реально считывается только 4. Поскольку глюк наблюдается при чтении корневой записи в системе FAT16, такие последовательности встречаются только у длинных имен или если имя содержит заглавные символы.
Переформатировал карточку, привел все имена в соответствии с FAT16 - не более 8 символов, без заглавных. Пока не глючит.
Хрень какая-то.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
_LD
сообщение Dec 20 2007, 19:17
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 47
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 837



Были глюки чуть другого характера, но тоже проявлялись лишь на Transcend 80x.
У меня, правда, с ней работала ПЛИСина, но не важно. Я формировал срез сигналов CE и OE одновременно, поскольку в спецификации указано, что сетап одного относительно другого 0 нс. Все это работало на разных карточках, пока не попалась Transcend 80x - ей такое обращение не понравилось. Были очень "хитрые" глюки, сейчас не вспомню, какие именно. Пришлось чуть подвинуть срез ОЕ, сделать его попозже.
Может, мой опыт пригодится.
Go to the top of the page
 
+Quote Post
Foxx
сообщение Dec 21 2007, 15:05
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 5-05-05
Пользователь №: 4 760



Вроде разобрался...
Подал на CF питание 5В вместо 3,3В. Atmega также 5-вольтовая, видимо трабл заключался в уровнях сигналов.

Пока работает стабильно.
Go to the top of the page
 
+Quote Post

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

 


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


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