Uso de la resistencia de pull-up y pull-down en los pines MCU de entrada o salida

15

¿Las resistencias pull-up / down (internas o externas) solo son necesarias para los pines de ENTRADA DE MCU? En contraste, un pin de MCU configurado como SALIDA "sabe a qué nivel se encuentra" porque hace la conducción; un pin de SALIDA de MCU "flotante" vinculado a alguna entrada de otro circuito no tiene sentido, porque el estado del pin de MCU solo puede ser alto o bajo ... tengo esto bien? Ahora, después de un arranque o falla de la MCU, puede ser beneficioso tener un pull-up / down atado a esta línea de "salida de MCU a la entrada de IC" para asegurar que la entrada a algún IC nunca esté flotando.

Tal vez acabo de responder a mi propia pregunta aquí ... ¿Se pueden usar resistencias pull-up / down en los pines de entrada y salida, dependiendo de la aplicación?

    
pregunta The_Ders

5 respuestas

19

Los pull-up y pull-downs se usan normalmente para garantizar que una línea tenga un estado definido mientras no esté activa. Se utilizan en las entradas para evitar las líneas flotantes, cambiando rápidamente entre alta y baja y una región "indefinida" media. Las salidas normalmente no las necesitan.

Pero la mayoría de los pines mcu son GPIO, y algunas veces en el inicio se definen como entradas en lugar de salidas. Como dijiste, a veces no quieres una entrada de pin de IC flotando en el inicio, especialmente como un pin de reinicio que normalmente manejarías con el GPIO de tu microcontrolador.

Esto es cuando usas un Débil Pull-up o Pull-down en la línea. Debido a que son débiles, y usted elige el estado predeterminado, no proporcionan interferencia con su circuito (si se supone que la entrada es baja en todo momento, luego se coloca en alto, usted elige un menú desplegable débil, y viceversa), pero Ellos consumen un poco de corriente. Esta es la razón por la que elige una resistencia débil (más alto el valor, más débil) suficiente para el trabajo.

Otra configuración de salida normal que usa pull-ups (o desplegables, más raros) es Open Drain o Open Collector . Estos solo conducen una conexión baja, o liberan la línea, dejándola flotando. Los pull-ups se utilizan para llevar la línea a un estado lógico alto.

    
respondido por el Passerby
7

Lo tienes sobre el derecho; Normalmente, no necesita pullups en las salidas, pero pueden ser útiles para mantener la seguridad durante el tiempo de arranque, etc.

Otra razón para usar un pull-up en una salida: si varias salidas de varias MPU están conectadas entre sí, realmente no quiere que haya un VCC de conducción y otro 0V de conducción en la mismo cable! Por lo tanto, puede controlar 0V en la salida o desactivar la salida (quizás configurándolo como una entrada). Cuando todas las salidas están apagadas, el cable se tira a '1' (Vcc) por el pullup. Esto se llama una señal "Y cableada". (Puede hacer la misma conducción '1' o desactivada, con una R desplegable, luego se llama un OR cableado).

Este patrón tiene varios usos, entre ellos, permitir a cualquier MPU señalar un error o encender un LED, o permitir que todos se turnen para enviar mensajes entre sí en un solo cable.

    
respondido por el Brian Drummond
3

Como usted indicó, el uso de resistencias pullup / pulldown en los pines que se espera que sean pines de salida puede estar allí para garantizar un estado de entrada.

Esto se hace para mitigar la falla del firmware / MCU, pero solo funcionará para proteger contra el estado de alta impedancia (básicamente, el pin se configura como entrada por accidente).

La mayoría de los MCU Estoy familiarizado con los pines de E / S predeterminados para el estado de entrada de alta impedancia en el arranque (pero no tengo garantía, y no tengo experiencia con ningún lugar cerca de todas las familias de MCU), lo que significa que puede tomar algún tiempo antes de que aparezca el código se inicializa el estado del pin se ejecuta.

A veces esto no importa, otras veces lo hace.

    
respondido por el helloworld922
2

La respuesta es que depende de la familia de microcontroladores, y su comportamiento predeterminado es en Power On Reset. Si el microcontrolador solo puede configurarse para "salida" o "entrada" en un pin, esto generalmente significa que está usando un controlador Totem-Pole para la salida, es decir, es esencialmente la salida de una puerta CMOS, en cuyo caso el La salida siempre se conduce a un riel, por lo que no hay razón para influir de manera pasiva. El único caso en el que tiene sentido utilizar pull-ups / pull-downs en una salida es cuando se configura como topología de Open Collector / Open Drain. Es mucho más común ver opciones internas de pull-up / pull-down que solo son aplicables cuando un pin está configurado como entrada. Si puede garantizar que en su sistema, la entrada siempre está controlada por algo, esto desperdicia un poco de energía.

    
respondido por el vicatcu
1

Puede tener un pin que es una salida parte del tiempo , como para hacer I2C.

    
respondido por el pjc50

Lea otras preguntas en las etiquetas