¿Pull-up vs Pull-down para interruptor de contacto?

Estoy diseñando una interfaz de interruptor de contacto simple (táctil, que conduce cuando se presiona y vuelve a no conducir cuando se suelta) con un microcontrolador.

Su GPIO tiene opción tanto para pull-up interno como para pull-down.

1) ¿Cuál debo usar? Para tableros de 2 capas, pull-up me facilita hacer ilustraciones de PCB, ya que un extremo del interruptor se conecta a GND. Aparte de eso, ¿hay alguna diferencia o razón para que use una configuración sobre otra?

2) ¿Existe alguna posibilidad de que el ruido del contacto físico provoque un mal funcionamiento de la MCU?

Recomiendo levantar y conectar el interruptor a GND. que es más convencional y es compatible con la lógica WIRE-OR (o drenaje abierto). Para eliminar el rebote del interruptor, en su software MCU, cuando se detecta por primera vez que el pin de E/S (al interruptor) ha cambiado del estado actual conocido de la bandera asociada, no cambie el estado de la bandera, pero inicie un temporizador y lea el I/O dice 10 ms más tarde y cambia el estado de la bandera solo si el pin I/O se lee nuevamente para tener el mismo valor cambiado . una pequeña tapa en ese pin de E/S (a GND) también podría suavizar las cosas.

Respuestas (3)

1) ¿Cuál debo usar?

Lo que mejor se adapte a su diseño general

1) Para tableros de 2 capas, pull-up me facilita hacer ilustraciones de PCB, ya que un extremo del interruptor se conecta a GND.

Esa es exactamente la razón por la que los pull-ups se usan con más frecuencia que los pull-downs (y algunos chips solo tienen pull-ups): una línea de tierra suele estar más convenientemente disponible para el otro lado del interruptor (y las salidas de colector abierto/drenaje). son más comunes que sus contrapartes del lado superior).

1) Aparte de eso, ¿hay alguna diferencia o razón para que use una configuración sobre otra?

2) ¿Existe alguna posibilidad de que el ruido del contacto físico provoque un mal funcionamiento de la MCU?

Supongo que (en un sistema razonablemente bien diseñado) la energía es más ruidosa que la tierra, por lo que un interruptor activo alto induciría potencialmente más ruido. Pero incluso eso no debería ser un problema en una entrada digital con suficiente margen.

Entonces, por todos los medios, elija pull-up y un interruptor activo-bajo.

En realidad, cuando dices "exactamente la razón", hay muchas razones. Otra es que Rpu-GND en el cableado es mucho menos vulnerable a cortocircuitos accidentales a tierra del chasis que Vdd-Rpd. Esta es una consideración al enrutar el cableado alrededor del equipo que puede atraparlo y cortocircuitarlo. Otro es histórico: las entradas de compuerta 74LSxx y 74xx necesitan una resistencia pull-down mucho más baja que la resistencia pull-up, por lo que se prefirió y era común pull-up/switch-down, usando menos corriente de resistencia de tracción. Eso no fue un factor a partir de 74HC(T)xx o con CMOS.

La práctica estándar es habilitar pull-up interno de ~ 100k con un límite de rebote en el interruptor de modo que RC = T> tiempo de rebote o usar software de rebote.

Dependiendo del riesgo de ESD, el contacto también puede tener un R limitador de corriente en serie para permitir que los diodos IC clasificados para 5 mA hagan su trabajo o mejor, agregue protección Transil o TVS.

Cualquiera de los dos funcionará, un tirón hacia arriba con el interruptor en cortocircuito a tierra, o un tirón hacia abajo con el interruptor en cortocircuito a Vcc. Si el diseño es más fácil para usted usando un menú desplegable, entonces está bien.

El ruido del rebote del interruptor no debería alterar su microcontrolador, especialmente si ha seguido el esquema de desacoplamiento recomendado por el fabricante.

El rebote del interruptor no es lo mismo que el ruido.