tarjeta SDHC, un escudo microSD y Arduino Duemilanove

5

Obtuve una nueva tarjeta microSD shield de LittleBird y estoy teniendo algunos problemas con ella.

Descargué la biblioteca de muestra que decía que usé, introduje una tarjeta microSD y esperaba que funcionara ... No se inicializará por alguna razón, y he hecho un poco de búsqueda de Google y no veo cómo para que funcione. Todo el mundo solo dice usar esta biblioteca, usa esa.

Hardware

¿La tarjeta SDHC forma parte del problema?

Trabajo con una Mac e incluso formateé la tarjeta en una máquina con Windows XP para engordar 16, pero todavía no tengo suerte.

    
pregunta Ashley Hughes

6 respuestas

2

Estoy agregando una tarjeta microSD a mi nueva placa '644 para hacer un registrador de datos de bajo costo. Todas mis tablas son de 3.3 V, por lo que no tendré los problemas de 5 V. He probado tres bibliotecas diferentes y ninguna de ellas inicializa las tarjetas :( También probé tres tarjetas SD y SDHC diferentes de dos diferentes Fabricantes (todos de gran capacidad) y ninguno inicializa.

Tengo mi analizador lógico en la placa ahora, y estoy revisando el especificación. Parece que el procedimiento de inicialización es diferente para la tarjeta más nueva. Estoy casi seguro de que el SDHC es diferente. No hay respuesta a la rutina de inicialización.

De muchas búsquedas en Google, he descubierto lo siguiente:

NB : (No he verificado esta información, solo la encontré;)

  • Uso de los divisores de resistencia para traducir de 5 V a 3,3 V Puede ser problemático debido a la pérdida de velocidad de borde debido a la resistencia en serie. No estoy seguro de cuánta velocidad de borde se pierde o cuán sensibles son las diferentes tarjetas a esto. Dado que esto no es un problema para mi placa de 3.3 V, no estaba preocupado.

  • Si los pines de E / S no están a 0 V cuando se aplica alimentación al tarjeta la tarjeta puede ser de inicio en un estado desconocido. Desafortunadamente La hoja de datos no menciona si hay un software. Procedimiento de inicialización que se puede utilizar para restablecer el Tarjeta a un estado conocido.

  • En la versión 2.00 de la especificación SD, la inicialización procedimiento cambiado No estoy seguro si las bibliotecas soportan estos cambios.

  • Algunas personas han informado que el éxito ha cambiado a baja capacidad tarjetas Esperaba encontrar una baja capacidad en la oficina. Tienda de suministros, pero la más pequeña que tenían en stock era de 2 GB. Sospecho que puede no ser del tamaño de la tarjeta, pero la edad (ya que la mayoría de las tarjetas más pequeñas también son tarjetas más antiguas).

  • SPI es opcional para la microSD. Me sorprenderia si Las tarjetas no soportaban SPI ya que si es requerido para el otro formatos Esperaba encontrar una lista de tarjetas que fueran Se sabe que soporta SPI, pero no pude encontrarlo.

Ahí es donde estoy. Desafortunadamente, probablemente no tenga Mucho tiempo para trabajar en esto durante la semana. Mi siguiente paso es ir a través de la especificación y escribir un simple función de inicialización y verificar la salida en el analizador lógico.

    
respondido por el jluciani
2

A menos que la biblioteca incluya específicamente el soporte SDHC, no funcionará. SDHC y SD tienen diferentes modos de direccionamiento y algunas diferencias en sus rutinas de inicialización, y es suficiente para evitar que funcione. Obtén una SD de 2GB o más pequeña.

    
respondido por el raphael
1

¡Creo que he encontrado mi problema de microSD! Espero que esto ayude a alguien más.

Mi problema principal fue un error esquemático :( Mientras buscaba el error esquemático Encontré un par de otros problemas potenciales -

  • Para la operación SPI, todas las líneas RSV (patillas 1 y 8) deben tener pull-ups aunque no se utilicen (hoja de datos de Samsung microSD pág. 14 (versión 0.3, 7 de marzo de 2007)). No estoy seguro si esto es un Requisito de Samsung o un requisito de MicroSD. También se recomiendan pullups en todas las líneas RDAT y la línea RCMD.

  • Se requieren al menos 8 pulsos de reloj antes de que la tarjeta dé una respuesta a una orden. Esta espera tiene la etiqueta NCR en el Samsung DS y tiene un mínimo valor de 8 (pulsos) y un valor máximo de 64 (pulsos).

He probado una tarjeta uSD Transcend de 1GB y SanDisk de 2GB. Ambos inicializan a estado inactivo Ahora voy a terminar las bibliotecas de uSD para mis '328 y' 644 tableros Si descubro cualquier otro problema de hardware o software intentaré para actualizar esta publicación.

    
respondido por el jluciani
1

No tengo ninguno de estos juguetes, pero vi este requisito para un módulo TFT / LCD que incluye una ranura SD: "Debe usar una tarjeta micro SD que admita la interfaz SPI y que tenga 2 GB o menos. Tenga en cuenta que no todas las tarjetas uSD son compatibles con SPI".

enlace

    
respondido por el Philippe
1

También obtuve uno de estos, de SparkFun , y solo funcionó. Revisé los comentarios al final de la página del producto, y podría haber un par de problemas:

  1. El tamaño de su tarjeta
  2. 3,3 V - > 5 V incompatibilidad.

El último comentario parece prometedor. Utilicé el esquema de diodos de SparkFun para conectar un sensor de presión de 3.3 V a un Arduino, y funcionó bien.

Consulte Escudo microSD de SparkFun .

    
respondido por el Tim Gooding
0

Es poco probable que este sea su problema, pero el estándar microSD no muestra la compatibilidad con SPI como obligatoria. Hace un tiempo tuve una microSD específica que no estaba hablando con mi AVR y podría haber jurado que era porque le faltaba una interfaz SPI.

¿Quizás intentes con otra tarjeta de otra marca?

    
respondido por el penjuin

Lea otras preguntas en las etiquetas