¿Resistencia de empuje / tracción y pull-up GPIO?

1

Tengo una pregunta sobre el comportamiento de los pines GPIO de una MCU cuando se configura de cierta manera en hardware y software. En este caso, estoy usando un dsPIC33EP, pero creo que esta pregunta es generalmente aplicable a MCU con salidas push / pull. En ciertos puntos del circuito que estoy desarrollando necesito una resistencia pull-up en la línea para garantizar que el chip conectado tenga un estado predeterminado de hardware (en este caso ALTO) incluso cuando el PIC se haya apagado. Si elevo esta línea a un voltaje igual o mayor que la fuente de alimentación del PIC (3.3V) pero el PIC genera un ALTO ligeramente por debajo de lo que sea este nivel de voltaje ... ¿qué sucede con la salida del PIC? ?

Estoy usando un pin tolerante a 5V en el PIC, que en las especificaciones eléctricas garantiza que tolerará hasta 3.6V cuando el PIC esté apagado, por lo que no es un problema. De lo que no estoy seguro es de cómo el PIC maneja una condición (pequeña) de sobretensión en una salida a través de una resistencia pull-up.

Si Vp es mayor que VOH, ¿se dañará el chip?

En una nota al margen, he considerado algunas soluciones a este problema y probablemente configuraré estas salidas en el software para que se comporten como tipos de drenaje abierto. Mi pregunta es sobre la viabilidad de hacerlo utilizando salidas PUSH-PULL, pero si alguien tiene alguna otra solución simple para ofrecer por el bien de la aplicación, ¡siéntase libre!

    
pregunta WMW

2 respuestas

1

Lo que hará su solución cuando se apague el PIC depende del tipo de pin (algunos son tolerantes a 5V, lo que significa que no hay diodo en el riel de alimentación).

Al observar las clasificaciones máximas absolutas para pines tolerantes de 5 V, se muestra un máximo de 3,6 V cuando Vdd < 3.0. Si esto es cierto cuando está apagado, no se responde específicamente, pero como parece ser una clasificación de estrés electrostático, lo sospecho.

Para un funcionamiento normal, la tensión de salida depende de la carga como verá en las especificaciones del controlador de salida. Aunque el voltaje de salida mínimo que se garantiza es 2.4V, es probable que el voltaje de salida sea mucho más cercano a Vdd para una interfaz a una entrada de alta impedancia.

Observo que subes a 3.4V, ¿es porque tu módulo tiene entradas CMOS verdaderas? (transiciones a 1/3 y 2/3 Vdd).

Editar: La calificación máxima absoluta de dsPIC33EP para Vdd > 3.0V en un pin tolerante de 5V es 5.5V, por lo que realmente no veo un problema si no superas eso.

Parte de la corriente fluirá hacia la línea si el pullup excede el Vout, por lo que la salida del PIC es alta pero más baja que el pullup, entonces el pullup tenderá a intentar y realimentar la salida de pushpull. Si no enciende el diodo del cuerpo del FET superior (una caída de diodo), no estaría especialmente preocupado.

    
respondido por el Peter Smith
0

Aquí hay un método de protección común para GPIO:

simular este circuito : esquema creado usando CircuitLab

Si alimenta IO con un voltaje que excede el VDD más el voltaje directo del diodo (3.3 + Vf = 3.6, este es el voltaje de entrada nominal máximo), el diodo comenzará a pinzar y mantendrá un voltaje aceptable.

Por lo tanto, el GPIO puede manejar cualquier voltaje de entrada, siempre que la corriente de entrada sea limitada (por supuesto, mediante resistencia de limitación de corriente).

Esos diodos ESD solo pueden soportar pocos mA, digamos, 5 mA (tomé este valor de la hoja de datos de STM32 MCU), puede calcular el valor mínimo de la resistencia con esta fórmula aproximada:

$$ R_ {límite} = \ frac {V_ {entrada} - VDD} {5 mA} $$

Incluso puede alimentar el voltaje de la red a GPIO (si lo desea) si está protegido por una resistencia adecuada.

Nota: la abrazadera solo funciona si hay una presencia de voltaje de alimentación para el GPIO.

    
respondido por el Long Pham

Lea otras preguntas en las etiquetas