Zlo 0 6 августа, 2009 Опубликовано 6 августа, 2009 · Жалоба Вопрос таков: все ли SPI у SD карт одинаковые ? Столкнулся со следующей проблемой: пытался инициализировать SD карту (взял 2 разные, как оказалось ответы на команды инициализации CMD8, ACMD41 и CMD55 у них тоже разные). одна (от NOKIA) говорит что много ошибок а вот от Kingston на CMD55 (55+0x40) выдаёт 5 (Idle + Error Comand) так же как и на ACMD41 и CMD1 (может я что не так делаю) ? Алгоритм инициализации следующий: 1. отправляю 16 байт 0xFF 2. отправляю CMD0 получаю 1 3. отправляю CMD1 или CMD55 + ACMD41(0xC0+41) - получаю 5 на каждую команду при отправке всех команд CS опускается и поднимается после нескольких опытов карточка стала возвращать 0xe0 на все команды Вопрос: может проще MMC использовать ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 6 августа, 2009 Опубликовано 6 августа, 2009 · Жалоба Зайдите на сайт Atmel'а. Там в разделе 32-разрядных ARM'ов есть свежие библиотеки, в том числе и по работе с SD. У меня проблем с инициализацией карт не возникало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 6 августа, 2009 Опубликовано 6 августа, 2009 · Жалоба 1. отправляю 16 байт 0xFF 2. отправляю CMD0 получаю 1 3. отправляю CMD1 или CMD55 + ACMD41(0xC0+41) - получаю 5 на каждую команду - Для SDHC перед ACMD41 обязательно должна идти CMD8 - Код ACMD41(0x40 + 41) Между окончанием ответа на предыдущую команду и началом передачи следующей должен быть 1 пустой цикл (NRC). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zlo 0 7 августа, 2009 Опубликовано 7 августа, 2009 · Жалоба Зайдите на сайт Atmel'а. Там в разделе 32-разрядных ARM'ов есть свежие библиотеки, в том числе и по работе с SD. У меня проблем с инициализацией карт не возникало. работа с картой производилась по SPI ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrovichs 0 24 августа, 2009 Опубликовано 24 августа, 2009 · Жалоба Я как раз тоже занялся изучением SD и мини-SD карт. Шастаю по интернету, никак не могу найти документ с полным описанием того как они работают (одна реклама). Поделитесь подобным документом, прочитав который, можно будет освоить работу с SD-картами. Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 24 августа, 2009 Опубликовано 24 августа, 2009 · Жалоба Шастаю по интернету, никак не могу найти документ.... Как только я вижу отмазки про искал в интернете и не нашел, я сразу понимаю, что они гнилые :(. Вот только поиск по этому форуму - тема поднималась несчетное число раз. http://www.google.com/search?hl=en&cli...mp;oq=&aqi= Учитесь пользоваться поисковиками - это много проще, нежели программировать... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
head_sk 0 24 августа, 2009 Опубликовано 24 августа, 2009 · Жалоба Держи, парень. ProdManualSDCardv1.9.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrovichs 0 24 августа, 2009 Опубликовано 24 августа, 2009 (изменено) · Жалоба Огромное вам спасибо. Просто опытному разработчику сразу в голову приходит нужно решение, а когда начинаешь, то так легко запутаться :( Можете ответить ещё на один, последний вопрос. В чем разница между SD-card и MicroSD-card? Везде пишут, что разница только в габаритах, но так ли это? Волнует вопрос поддерживает ли Micrо-SD режим SPI?? А то фраза "опционально" очень смущает. Заранее спасибо за советы и помощь. Изменено 24 августа, 2009 пользователем petrovichs Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 3 25 августа, 2009 Опубликовано 25 августа, 2009 · Жалоба microSD Kingston-ы на 2 Гб поддерживают SPI. Проверено. За остальных сказать не могу. Но что точно можно сказать это то, что SD карты чувствительны к целостности сигналов и как и все микрухи не любят овершутингов и фазовых сдвигов клока. Поэтому стоит тестировать всегда на минимальной скорости и с последовательными резаками. Второе это то, что даже SD карты одного производителя и типономинала но сделанные в тайване и в японии могут по разному реагировать на всякие вольности в протоколе. Был случай когда японские карты не читались к картридерах оставшихся от тайваньских. Есть другой USB кардридер, так тот тоже иные карты берет сразу как их вставишь, а для других у кардридера надо питание перетыкать. Исследования показали что вроде как некоторые карты плохо реагируют на повторную команду CMD0. Волнует вопрос поддерживает ли Micrо-SD режим SPI?? А то фраза "опционально" очень смущает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrovichs 0 25 августа, 2009 Опубликовано 25 августа, 2009 · Жалоба Все-таки задам маленький последний вопросик. Если у микроконтроллера нет аппаратной поддержки интерфейса SD, то сложна ли программная её реализация? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 25 августа, 2009 Опубликовано 25 августа, 2009 · Жалоба Все-таки задам маленький последний вопросик. Если у микроконтроллера нет аппаратной поддержки интерфейса SD, то сложна ли программная её реализация? Не то чтобы сложна, главное, крайне неэффективна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrovichs 0 25 августа, 2009 Опубликовано 25 августа, 2009 · Жалоба Я понял, значит если нет аппаратного SD-интерфейса, тогда только SPI остается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nidanilov 0 8 сентября, 2009 Опубликовано 8 сентября, 2009 · Жалоба Есть вопрос относительно скорости записи/чтения MMC-card в SPI mode...ф. Apacer 1Гб, на карте 13 ног, название MMC mobile. Конкретно на эту карту параметров не нашел, но в документе от SanDisk "NAND MMC and SD-based Products" нашел следующее: для MultiMediaCard макс скорость обмена по SPI составляет 2,5MB/s, максимальная частота CLK=20MHz. Но на практике максимальное значение F clk=600 кГц (по осцил.), если увеличть скорость обмена появляется ошибка "Parameter error".Подскажите в чем может быть проблема? SPI реализован на ADSP 21375, взял пример с Analog.com для ADSP 21369 + ММС и адаптировал на 75 проц. Все вроде работает, но очень медленно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 8 сентября, 2009 Опубликовано 8 сентября, 2009 · Жалоба Подскажите в чем может быть проблема? В Вашем железе и/или диаграмме.... 20MHz это вообще обыденная частота. А конкретную, Вы можете и у карточки спросить :) - читайте документацию. P.S. Надеюсь, Вы не пытаетесь сразу ДО инициализации работать на мегагерцах? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nidanilov 0 9 сентября, 2009 Опубликовано 9 сентября, 2009 · Жалоба ...читайте документацию. P.S. Надеюсь, Вы не пытаетесь сразу ДО инициализации работать на мегагерцах? Прочитал MultiMediaCard™ User’s Manual Hitachi - нет там (или не заметил) такого регистра в котором хранилось бы заводское значение макс частоты для девайса.Единственное что нашел:"there are two communication protocol modes—MMC (MultiMediaCard™) mode and SPI mode. The maximum clock operating frequency in both modes is 20 MHz". Также сказано (ежу понятно), что после инициализации можно повысить Fclk до 20Мгц, так и делаю: CMD0->CMD1->[responce=0 - увеличиваю Fclk с 400кГц->1Мгц]->mmc_set_block_length(512)->....ошибка. :( Может какую команду еще пропустил? Если работать на той же скорости то все нормально. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться