Falla del circuito de alimentación de la tarjeta micro SD

7

Descripción

Estoy diseñando un sistema en el que hay un circuito que controla la energía aplicada a una tarjeta micro SD (habilitar / deshabilitar).

El circuito es el siguiente:

ElcircuitodecontroldepotenciaserealizamedianteunP-MOSFETqueestádesactivadodeformapredeterminada.

LaseñalMICROSD_PWR_ENestáconectadaaunpindeunmicrocontroladorconfiguradocomodrenajeabierto.

Problema

ElvoltajemedidoenelpinVDDdelatarjetamicroSDdeberíaser0Vpordefecto.Sinembargo,estevoltajeestácercade+1V,quenoesniun"0" lógico ni un "1" lógico. El voltaje medido en el nodo "+ 3.3V" es + 3.288V y el medido en la puerta del Q5 P-MOSFET es + 3.285V.

¿Tiene alguna idea con respecto a este problema?

¿Podría estar relacionado con la diferencia de 3 mV entre la fuente y la puerta del transistor?

Solución de firmware

En primer lugar, gracias a todos por sus respuestas.

Parece que resolví el problema con el firmware: configurando los GPIO de la tarjeta SD como salida de drenaje abierto y configurándolos en lógica "0", el voltaje en el pin VDD de la tarjeta SD ahora está cerca de 0 V.

Como todos señalaron, probablemente esté relacionado con los diodos de protección de los GPIO de chip de la tarjeta SD.

    
pregunta johsey

2 respuestas

5

El +1V residual que está viendo está siendo causado por sesgo en los otros pines de señal a la tarjeta uSD. La corriente pasa desde niveles altos en los pines de E / S del microcontrolador conectados en la interfaz SDIO o a través de las resistencias 47K que tiene en estas líneas en el chip del controlador en la tarjeta uSD. Desde allí, pasa a través de la red de protección de entrada en estos pines al pin VDD de la tarjeta uSD donde se ve que aparece en el nivel de 1V.

Puede corregir esta situación siguiendo los pasos a continuación:

1) Conecte el lado de la línea de suministro de las resistencias pullup al VDD conmutado de la tarjeta uSD.

2) Siempre que el firmware del microcontrolador configure la señal MICROSD_PWR_EN alta para desactivar la alimentación de la tarjeta, configure todos los pines de salida de la interfaz SDIO a un nivel bajo emitiendo valores de 0 bits a sus bits de registro de puerto. Tenga en cuenta que en algunos casos en los que el SDIO está habilitado para un periférico de a bordo dedicado en el microcontrolador, puede ser necesario volver a configurar estos pines de salida en el modo GPIO para permitir que el FW obtenga el control de los pines.

3) Para cualquier señal que sea una entrada al microcontrolador desde la interfaz SDIO, debe hacer que estos pasen a un nivel bajo cada vez que el microcontrolador ponga la señal MICROSD_PWR_EN en alto. Esto se puede hacer de una de dos maneras. Podría cambiar la resistencia de pullup de 47K a un menú desplegable en estas líneas específicas. De lo contrario, los pines de entrada podrían volver a programarse en modo GPIO y luego configurarse como salidas en un nivel bajo. Esto último puede ser más fácil ya que los pines de E / S se manejan igual que los pines de salida.

En el momento en que el microcontrolador vuelve a habilitar la alimentación uSD al establecer la señal MICROSD_PWR_EN baja, el firmware se escribiría para reconfigurar todos los pines de la interfaz SDIO de nuevo a su modo de operación normal.

    
respondido por el Michael Karas
0

Es muy probable que lo que esté midiendo sea la corriente de fuga de las líneas pic y las resistencias pull-up que producen un pequeño voltaje en los otros pines y que, debido a los diodos internos en la tarjeta SD, se esté filtrando al pin de alimentación. .

Probablemente esté midiendo ese voltaje con un voltímetro de alta impedancia. Intente colocar 100 k ohms desde el pin Vdd a tierra. ¿Reduce este voltaje que mide?

Las fugas a través del FET también es probable que sean significativas con estas altas impedancias.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas