Inicialización de una tarjeta microSD usando una interfaz SPI

Estoy usando una microSD tarjeta en un diseño incrustado. La tarjeta está conectada a un microcontrolador utilizando la interfaz SPI. Funcionó bien para todas las tarjetas que he usado antes, pero ahora mi nueva tarjeta no se inicializará. La tarjeta es una tarjeta microSD Transcend de 2 GB (TS2GUSD).

Después de enviar el tren del reloj inicial para cambiar al modo SPI, hago lo siguiente:

CMD0 (Argumento 0, CRC 0x95) -> Respuesta 0x01 -> OK

CMD8 (Argumento 0x000001AA, CRC 0x87) -> Respuesta 0x01 0x000001AA -> Significa que es tarjeta SDC V2 +, el rango de voltaje 2.7 V - 3.6 V es compatible -> OK

Entonces debería enviar el comando ACMD41, pero cuando envío el CMD55 (argumento 0, CRC 0) que debe preceder a CMD41, obtengo la respuesta 0x05 -> Comando ilegal. También intenté enviar CMD1 (para tarjetas MMC), pero me da un @ simil comando ilegal respuesta. El código funciona bien con mi tarjeta microSD Sandisk de 2 GB.

¿Cómo soluciono este problema?

Respuestas a la pregunta(10)

Su respuesta a la pregunta