Инициализация карты microSD с использованием интерфейса SPI

Я используюMicroSD карта во встроенном дизайне. Карта подключена к микроконтроллеру через интерфейс SPI. Он работал нормально для всех карт, которые я использовал ранее, но теперь моя новая карта не будет инициализироваться. Карта памяти Transcend 2 ГБ microSD (TS2GUSD).

После отправки начального набора часов для переключения в режим SPI я делаю следующее:

CMD0 (аргумент 0, CRC 0x95) -> Ответ 0x01 -> ОК

CMD8 (Аргумент 0x000001AA, CRC 0x87) -> Ответ 0x01 0x000001AA -> Означает, что это SDC V2 + карта, диапазон напряжения 2,7 В - 3,6 В поддерживается -> ОК

Затем я должен отправить команду ACMD41, но при отправке CMD55 (аргумент 0, CRC 0), который должен предшествовать CMD41, я получаю ответ 0x05 -> Illegal Command. Я также пытался отправить CMD1 (для карт MMC), но он дает аналогичныйнезаконная команда ответ. Код отлично работает с моей картой памяти Sandisk 2 ГБ microSD.

Как мне решить эту проблему?

Ответы на вопрос(5)

Ваш ответ на вопрос