Problemas leyendo una SD

Scooter

Cascarrabias crónico
Acabo de montar un circuito para leer y escribir en una SD, y pasa una cosa curiosa.
Reconoce la SD pero dice que no tiene formato pero si que lo tiene. De hecho esa SD la usé hace tiempo en otro montaje con arduino y lo único que contiene es un archivo generado por él.
Todas las tarjetas que he probado hacen lo mismo...aparentemente no es el conexionado porque tiene muy buen aspecto y porque funciona en el reconocimiento de la SD que es un proceso de entablar un diálogo con la sd.
En fin ¿Alguna idea?
Voy a repasar el conexionado resoldando etc, no parece en absoluto por los dos motivos que he comentado, pero no se me ocurre otra cosa...
 
Hace tiempo tuve un problema con una memoria SD que me aparecía el mensaje de sin formato.
Buscando por ahí, me encontré un programa con el que pude recuperarla. El TESTDISK
Posiblemente con este programa se pueda solucionar el problema.
Adjunto el tutorial que usé para la reparación de la memoria.

Saludos.
 

Adjuntos

  • Memorias sin Formato.zip
    185.5 KB · Visitas: 5
La memoria si que tiene formato, el problema es que el arduino no es capaz de leerlo.
Es problema del adaptador pero no se cual; tengo dos adaptadores comerciales que solo van a medias y siempre detectan la SD pero nada mas y otro hecho a martillazos que si que funciona. Es curioso porque hay pocos cables y pocas cosas que mirar pero aún no he dado con el problema.
Para adaptar de 5 a 3,3V uso un 7407 con resistencias pullup a 3,3V he probado con dos 7407 y con los dos hace lo mismo ya no tengo mas para probar. El adaptador hecho a martillazos también va así y funciona, pero no puedo sacarle el 07 porque "murió allí"; está soldado con todas las patas cortadas...
Voy a probar con un 4050 alimentado a 3,3 a ver si va.
Igual es una simple soldadura o alguna chorrada absurda, en la identificacicón de la SD que son pocos bytes va pero con tramas largas empieza a meter errores.
 
Última edición:
Pues parece que son los 7407 y el 4050 que no van muy claros.
Los he quitado y he hecho el circuito simple con divisores de tensión, una tarjeta va perfectamente, la otra no va. He visto varios valores de divisores, por comodidad ya que tenía los valores he hecho el de 4k7 - 10k aunque he visto otros de 1k8 - 3k3. La tarjeta que no va es antigua y me imagino que consume mas así que seguramente si que irá con el divisor de menos resistencia ya que la tarjeta si que va en el pc.
Respecto a los drivers me imagino que puede ser un problema de velocidad; no conozco a fondo como van las SD pero se ve que primero se hace un reconocimiento a baja velocidad y después se enchufa a tope, por eso puede que siempre funcionase el reconocimiento de la tarjeta pero cuando se pedían datos a toda velocidad ya no funciona.
Así que en principio recomiendo divisores resistivos que son mas baratos y si acaso el de menos ohmios.
 
Que version de 7407 has usado? Supongo que usas el modo SD porque no todas las SD soportan el modo SPI. De todas forma a mi tambien me parece raro raro.
 
Uso el modo SPI porque el driver del arduino y de la mayoría de microcontroladores es SPI. Las dos tarjetas funcionaban en otro adaptador.
Usaba un 7407 "a secas" que es el que tenía. Lo único que se me ocurre es un problema de velocidad aunque es raro, supongo que el SPI con suerte funcionará a 100kHz o 1MHz cosa que debería de soportar el circuito. Parece ser que el reconocimiento de la SD se hace a una velocidad concreta relativamente baja y después ya se puede ir todo lo rápido que se pueda, solo se me ocurre eso para explicar que siempre reconocía y nunca transmitía.
Ahora no tengo resistencias de mas valores a mano, probaré con el divisor "de menos ohmios" a ver si van las dos tarjetas en ese caso, pero de momento me funciona.
 
Ok, yo lo decía porque algunas tarjetas SD antiguas, de 128MB o así, no soportan el SPI y en algunas cámaras nuevas y GPS fallan por eso. De todas formas para DSPs basados en el 87C32 y MIPS si no me equivoco se utiliza el modo SD por la velocidad de transferencia.

En cualquier caso para estar casi al 100% seguros que es por culpa de la velocidad, lo mejor sería hacerse con un osciloscopio o con un data logger, y como una de las tarjetas te funciona, pues tampoco te vas a complicar la vida por ello, supongo.

Un saludo.
 
Atrás
Arriba