7 votos

Fallo del circuito de alimentación de la tarjeta Micro SD

Descripción

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

El circuito es el siguiente:

enter image description here

El circuito de control de potencia se realiza mediante un P-MOSFET que está desactivado por defecto.

La señal MICROSD_PWR_EN se conecta a un pin de un microcontrolador configurado como drenaje abierto.

Edición

El voltaje medido en el pin VDD de la tarjeta micro SD debe ser 0V por defecto. Sin embargo, este voltaje está cerca de +1V, que no es ni un "0" lógico ni un "1" lógico. La tensión medida en el nodo "+3,3V" es de +3,288V y la medida en la puerta del P-MOSFET Q5 es de +3,285V.

¿Tiene alguna idea al respecto?

¿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 vuestras respuestas.

Parece que he resuelto el problema por firmware: configurando los GPIOs de la tarjeta SD como salida open-drain y poniéndolos a "0" lógico, el voltaje en el pin VDD de la tarjeta SD está ahora cerca de 0V.

Como todo el mundo ha señalado, probablemente esté relacionado con los diodos de protección de los GPIOs del chip de la tarjeta SD.

5voto

Bernd Puntos 61

El +1V residual que estás viendo está siendo causado por el 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 a la interfaz SDIO o a través de las resistencias de 47K que tienes en estas líneas al chip controlador de la tarjeta uSD. Desde allí pasa a través de la red de protección de entrada en estos pines hasta el pin VDD de la tarjeta uSD donde la ves aparecer en el nivel de 1V.

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

1) Conecta el lado de la línea de alimentación de las resistencias pullup al VDD conmutado de la tarjeta uSD.

2) Siempre que el firmware del microcontrolador ponga la señal MICROSD_PWR_EN a nivel alto para desactivar la alimentación de la tarjeta, ponga todos los pines de salida de la interfaz SDIO a nivel bajo, enviando 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 dedicado en el microcontrolador puede ser necesario poner estos pines de salida de nuevo en modo GPIO para permitir que el FW obtenga el control de los pines.

3) Para todas las señales que son entradas al microcontrolador desde la interfaz SDIO, necesitas arreglarlas para que pasen a un nivel bajo cada vez que el microcontrolador ponga la señal MICROSD_PWR_EN alta. Esto se puede hacer de dos maneras. Puedes cambiar la resistencia pullup de 47K por una pulldown en estas líneas específicas. De lo contrario, los pines de entrada podrían ser programados de nuevo a modo GPIO y luego establecerlos como salidas a un nivel bajo. Esto último puede ser más fácil ya que entonces los pines de E/S se manejan igual que los pines de salida.

En el momento en que el microcontrolador va a volver a habilitar la alimentación de la uSD poniendo la señal MICROSD_PWR_EN a nivel bajo, el firmware se escribiría para volver a configurar todos los pines de la interfaz SDIO a su modo de funcionamiento normal.

0voto

ianb Puntos 659

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

Probablemente estés midiendo esa tensión con un voltímetro de alta impedancia. Prueba a poner 100k ohmios de la patilla Vdd a masa - ¿reduce esta tensión que mides?

La fuga a través del FET también es probable que sea significativa con estas altas impedancias.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X