b-volkov 0 23 января, 2008 Опубликовано 23 января, 2008 · Жалоба Карта ММС+ Transcend 1гиг и LPC2148. Инициализация проходит, содержимое CSD и CID читается, а вот прочитать блок данных не могу. На команду чтения блока (17) приходит нормальный ответ (0), а данные так и не идут, т.е. постоянно принимается 0хFF сколько не читай. Пробовал читать статус (ком 13), ошибок нет (r2=0). Пробовал задавать разную длину блока и читать по разным адресам – бесполезно. Писать пока не пробовал. Может быть, у этих карт есть какие-то хитрости с обменом? К сожалению, маленькой карты под рукой нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
etoja 0 24 января, 2008 Опубликовано 24 января, 2008 · Жалоба Карточки MMC+ Transcend 1Гбайт и 2Гбайта лучшие по надёжности и пожалуй единственные, работающие при температуре от -25С. Порядок обмена с ними не отличается от обмена с карточками маленького объёма, например MMC 64Мбайта. Проверено на практике с процессорами ADSP2189 и LPC2138. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
KAlex 0 24 января, 2008 Опубликовано 24 января, 2008 · Жалоба А точно инициализация проходит до конца? Ничего не упущено? CMD7 проходит?. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 24 января, 2008 Опубликовано 24 января, 2008 · Жалоба Карточки MMC+ Transcend 1Гбайт и 2Гбайта лучшие... Насколько я сталкивался с Transcend продукцией - это имя просто наклейка на произвольном OEM изделии. Тем не менее с ними, как и с другими карточками никаких особых проблем не наблюдалось. Нюансы вообще были характерны для "старинных" карточек в диапазоне 16-256Mb. Со свежими, как-то все более устаканилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sawik 0 24 января, 2008 Опубликовано 24 января, 2008 · Жалоба Маялся недавно с такой же проблемой. Вроде все хорошо а в ответ только $FF. Оказалось все просто: 1 - Перестал пользоваться командой 17 до лучших времен, начал использовать команду 18 2 - Послал команду 18 с адресом $00000000, читаю карту пока не придет в ответе $FE. 3 - Только после этого ответа карта начинает передавать данные 4 - Важно! Адрес $00000000 - это физический 0, как правило здесь начинаются скрытые сектора. 5 - Чтобы найти логический 0 - с которого и начинают располагаться Boot Sector, FAT1-FAT...n, Root Directory и т.д. Я считываю по одному байту с каждого сектора, пока не получу $EB. Это и есть Boot Sector. Далее используешь это смещение для вычисления всех адресов Не уточнил - это все при условии нормального сброса и инициализации, но я думаю это и так понятно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
b-volkov 0 25 января, 2008 Опубликовано 25 января, 2008 · Жалоба Всем большое спасибо! Причина оказалась куда банальнее - флешка сдохла, с другой все заработало. Но после того, как заработало возникла еще куча вопросов: 1. С какой максимальной частотой клока вам, уважаемые, удвалаось работать? (понятно, речь о SPI) Мене выше 5 МГц не удается. На 5 работает стабильно, а на 6 даже инициализируется через раз. Осциллом смотрел - вроде все нормально, фронты хорошие. 2. Какая должна получаться скорость записи? У меня сектор пишется порядка 2.5 мс, т.е. 200кв/с. Не маловато будет? 3.Если сектора предварительно стереть, то быстрее будет писАться? Или ММС всегда стирает сектор перед записью? 4.Можно ли в процессе обмена с картой делать между байтами паузы произвольной длины? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться