Estoy trabajando en un controlador NEC v850ES / JH3 para probar un controlador de tarjeta SD en modo SPI. Conectamos la ranura de la tarjeta SD directamente al controlador v850ES / JH3 sin ninguna resistencia de arranque . ¿Tiene algún efecto negativo?
-
Puedo inicializar la tarjeta SD en modo SPI. También recibo una respuesta 0x00 para CMD16.
-
Después de la inicialización de la tarjeta SD, estoy cambiando la frecuencia del reloj a 4 MHz.
-
Estoy comprobando si la tarjeta SD está ocupada o no (si la respuesta es 0xFF, entonces la tarjeta SD no está ocupada).
-
Cuando estoy enviando un comando de lectura (CMD17) y datos ficticios, obtengo la respuesta 0xC1, y después de eso, el siguiente byte es 0x3F. Eso significa que el comando de lectura falló.
-
Si no enviamos datos ficticios después del comando de lectura, obtengo la respuesta 0x04, lo que significa un comando ilegal. En este caso también, la lectura está fallando.
-
Si no verificamos que la tarjeta SD esté ocupada o no, obtengo la respuesta 0x00 para el comando de lectura, lo que significa que se aceptó el comando de lectura. Y también recibo el token de inicio (0xFE), lo que significa que la tarjeta SD enviará un bloque de datos. Si leo 512 bytes de datos de bloque, obtengo todos ceros. Estoy tratando de leer el registro de arranque. Eso significa que hay algunos datos que no sean ceros.
-
También tengo el mismo problema con la escritura de bloque de tarjeta SD.
¿Cuál es el problema y cómo puedo solucionarlo?