La tarjeta MicroSD se atascó después de CMD8, respondiendo 0x5 antes de que se emita el próximo CMD

0

Tengo un problema por el cual no puedo encontrar la solución en temas anteriores.

Estoy usando un microcontrolador para leer datos de una tarjeta Micro SD de Kodak de 2GB. Quiero escribir un controlador mínimo en modo SPI, no es necesario realizar operaciones de escritura o formato, solo leer algunos archivos.

Puedo ver esas señales en un alcance de 4 canales: CS, MOSI, MISO, CLK.

Hago lo siguiente:

  1. Envío 100 bytes a 100KHz, con MOSI y CS alto.

  2. Envío CMD 1, sin argumentos, el tipo de respuesta R1 devuelve 0x1, correcto.

  3. Envío CMD 8, arg = 0x1AA, el tipo de respuesta R7 devuelve 0x1 + arg 0x1AA, correcto.

  4. En este punto, cada comando devuelve 0x5 en el cuarto byte del comando . En otras palabras, antes de que se emita completamente el comando de 6 bytes.

¿Alguna explicación para eso?

    
pregunta Diego Colombo

1 respuesta

0

En la última hora hice otra prueba ... Parece solucionado. La diferencia es que antes, cuando quería apagar los pulsos de reloj necesarios para leer cada respuesta de comando, no presté especial atención a los datos enviados en MOSI , era 0x00 . Ahora uso 0xFF y todo funciona bien.

    
respondido por el Diego Colombo

Lea otras preguntas en las etiquetas