Я использую карту microSD во встроенном дизайне. Карта подключается к микроконтроллеру с использованием интерфейса SPI. Он работал отлично для всех карт, которые я использовал раньше, но теперь моя новая карта не будет инициализирована. Карта представляет собой карту microSD Transcend 2 GB (TS2GUSD).
После отправки начального тактового генератора для переключения в режим SPI, я делаю следующее:
-
CMD0 (Аргумент 0, CRC 0x95) → Ответ 0x01 → OK
-
CMD8 (аргумент 0x000001AA, CRC 0x87) → Response 0x01 0x000001AA → Обозначает карту SDC V2 +, диапазон напряжения 2,7 V - 3,6 V поддерживается → OK
Затем я должен отправить команду ACMD41, но при отправке CMD55 (аргумент 0, CRC 0), который должен предшествовать CMD41, я получаю ответ 0x05 → Незаконная команда. Я также пытался отправить CMD1 (для карт MMC), но он дает аналогичный незаконный ответ команды. Код отлично работает с моей картой microSD от Sandisk 2 GB.
Как исправить эту проблему?