Здравствуйте, господа!
Тоже с толкнулся с подобной проблемой.
В общем, разработали плату в составе модема M10, LPC2378 и интерфейса карты памяти. Интерфейс карты был подключен по аналогии со схемой SK-LPC2378. Единственное, что не подключили - вывод картридера Card detect. Недавно стал переделывать под свою плату пример с диска, который лежит в папке \Tests\Keil\MCI, карта определилась, как SD, но уже процедура проверки CID вылетает с флагом таймаута в регистре статуса.
Скажите, может подобное случиться из-за неподключенного контакта Card detect? Если нет, то что может работать не так?
P.S. Свой проект для Keil прикладываю во вложении..
- попробуйте другую карточку (ваша вероятно sdhc)
- проверьте в каком режиме пробуется инициализация (spi, 1w, 4w)..
- по поводу сигнала CD - проследите, может все же он где-то в п/п используется и дело до обмена с карточкой не доходит.. отсюда и вылет по тайауту..
Здравствуйте!
Спасибо за предложения
насчет карточки - попробую другую, хотя эта 2Гб и на ней не было написано SDHC
Насчет режима - точно не скажу, но SPI не должен использоваться - подключаю через MCI контроллер
Касательно сигнала CD, я спрашивал специально у человека, который разводил плату и он заявил, что сигнал этот заводить не стал для экономии времени на разводку платы
не обязательно это предположение приведет к успеху, но проверить все же вы должны..
а что "не написано" - дак наверно стесняются..
вот у меня две карточки есть и их лог:
а вот как выглядят.. это так, к примеру..
по возможности потыкайте осциллом - есть ли активность, нет ли подозрительно затихших ножек (про монтаж не спрашиваю - надеюсь 3 раза проверено). питание на карту приходит и тыпы..
хм.. странноватая экономия.. может есть возможность пробросить проводок? или хоть пин нужный к земле притянуть?
зы дабы не вводить в заблуждение - забыл предупредить - не кит, не вашу схему, не LPC ни разу не видел.. рассуждаю исключительно об узле с SD..
Попробовал вчера с другими картами - три из пяти стали нормально работать.
Возникли следующие вопросы:
1. При нормальной частоте работы, установленной в проекте по-умолчанию, на CMD13 (запрос статусного регистра) я получал ответ INVALID RESPONSE. Правомерно ли уменьшать эту частоту (я уменьшил ее примерно в полтора раза - тогда CMD13 отрабатывалась)?
2. После выполнения записи первого блока и его чтении, приходится долго ждать, когда произойдет запись второго блока и не всегда удается дождаться. Если дожидаюсь, то про чтении третьего записанного блока вылетает ошибка чтения. Что это может быть?
Заранее спасибо!
далее у вас идут проблемы "стендалоне" и вероятно. каких-то либ..
если есть исходники либ, то тщательно проверьте, что и куда они пишут, да и вообще - как работают. поищите отзывы в инете на их работу - возможно они с глюками..
для понимания работы SD карточки поищите описание стандарта в "открытой части", там все достаточно несложно..
тайминги ответов, готовности и подтверждения запросто могут плавать.. и даже в больших пределах, чем оговаривается по стандартам - на электрониксе был схожий по тематике тред "о таймингах"
уменьшить то можно, но попробуйте разобраться в природе возможного дефекта (хотя при нынешнем зоопарке производителей карточек это может оказаться нереальным)..