¿Todos los pines IO deben tener su propia resistencia de subida / bajada?

13

Una pregunta muy básica:

¿Debe cada pin IO de un microcontrolador que funciona como entrada desde un interruptor o puente tener su propia resistencia de subida / bajada?

Enesteejemplo,cadapinesbajadoporunaresistencia,luegoeslevantadoporuninterruptor1P3TaVCC.

Parecesencillo,peroamedidaqueseusanmáspinesIO,¿serequierenmásresistencias?¿Hayalgunaformainteligentedemantenerlacuentaregresivadelaresistencia?

Preguntarelacionada: Compartir una resistencia de recuperación

    
pregunta JYelton

3 respuestas

16

De acuerdo con el esquema provisto, si las 3 entradas compartieran una resistencia, entonces cualquiera de las líneas que se elevan a través del interruptor elevaría las 3 líneas a alto, contrarrestando el propósito del diseño: la MCU no sabría cuál Se selecciona la posición del interruptor.

Una forma común de reducir recuento de partes , no el recuento de resistencias, para tales diseños es usar una red o matriz de resistencias de bus común:
(from here )

Estos están disponibles como SIP / DIP de orificio pasante y SMD, en una variedad de conteos de resistencias, según sus necesidades. El pin del bus está conectado a tierra, y los otros pines están conectados a las entradas MCU respectivas como se muestra en su esquema. (de here )

(de aquí )

    
respondido por el Anindo Ghosh
8

La mayoría de las MCU tienen resistencias opcionales de pull-up (no down) integradas para cada pin, por lo que es normal tirar de los pins hacia abajo con el interruptor (y manejar la inversión de polaridad en el software).

Entonces, no se necesitan resistencias.

En cuanto a por qué pullup, no down, es un hábito que se desprende de los circuitos lógicos TTL de la década de 1970, donde se necesitaba mucho menos corriente para tirar de una entrada hacia arriba que hacia abajo: una resistencia desplegable desperdiciaría más energía. Esto ya no se aplica a la lógica CMOS de hoy, pero la tradición de las flexiones ha persistido, por lo que los primeros chips CMOS de 5V eran compatibles con la lógica TTL más antigua.

    
respondido por el Brian Drummond
0

Nunca querrá dejar abierta una entrada a la lógica suponiendo que se moverá hacia arriba o hacia abajo. Si una entrada se deja abierta, es una pequeña antena y también está sujeta a las corrientes dentro del dispositivo lógico. Así que tira hacia arriba o hacia abajo para asegurarse de tener una entrada limpia y predecible. Aprendí esta regla mientras trabajaba en Fairchild Semiconductor en la década de 1980.

    
respondido por el Lma Ranger

Lea otras preguntas en las etiquetas