SD Comms Resetting Processor

4

He implementado una combinación SD / FAT en un procesador Renesas RL78 / G13. La tarjeta SD está siendo manejada usando SPI.

Se ha comprobado que el código funciona en dos tableros de destino personalizados con una tarjeta de 2 GB: la SD puede inicializarse correctamente a través del middleware FAT y se puede crear un archivo en la tarjeta y escribir en él. El resultado se puede confirmar conectando la tarjeta a una máquina con Windows y leyendo el archivo.

De repente, como por arte de magia, la tarjeta SD dejó de funcionar recientemente. Usando un depurador, rastreé el problema hasta la primera vez que la secuencia de inicialización FAT intenta realizar una operación de lectura de datos.

El envío de CMD17 (Read Single Block) y su respuesta se manejan correctamente, pero cuando el paquete de datos está sincronizado (dummy 0xFF sincronizado en SO), el procesador parece reiniciarse (recibo el código principal anterior) en ejecución, que puedo confirmar a través de mi registro de depuración).

Me pregunto si la alimentación SD es un problema. Debido a otros aspectos del diseño de la placa, estamos viendo ~ 2.9V para alimentación SD y comunicaciones SPI. Solo puedo ver referencias a 3.3V para SD SPI, pero ¿realmente necesita ser exactamente eso? ¿Podría estar causando el problema, o es una pista falsa y hay otro razonamiento?

Cualquier ayuda sería muy apreciada.

    
pregunta Ed King

1 respuesta

5

La especificación de memoria SD versión 1.01 establece un voltaje operativo de 3.1 a 3.5 V, por lo que está fuera de ese rango. Además, la especificación permite extraer hasta 50 mA durante un período de 400 uS y los picos pueden ser más altos, por lo tanto, a menos que tenga un capacitor de tamaño suficiente para actuar como un depósito durante esos picos, es posible que tenga pequeñas caídas en la fuente de alimentación causando un reinicio del procesador.

También podría tratarse de un problema de software que cause un restablecimiento de vigilancia u otra condición indefinida si la tarjeta SD no responde como se esperaba debido a que se opera fuera del rango especificado. De cualquier manera, valdría la pena llegar al fondo de sus problemas de suministro de energía.

    
respondido por el PeterJ

Lea otras preguntas en las etiquetas