Puertos de microcontoller de drenaje abierto

9

Quiero comprender el concepto de puertos de drenaje abierto como el puerto P0 del microcontrolador 8051. ¿Por qué necesitamos conectar resistencias pull up al puerto P0?

Tengo conocimientos básicos de MOSFET y otros dispositivos electrónicos.

abkds
fuente
bien, lo que entiendo es que básicamente funciona como cualquier otro puerto, pero tenemos que proporcionar la fuente de alimentación a través de alguna fuente externa. Estoy en lo cierto?
abkds

Respuestas:

13

Ignorando los entresijos de cómo funcionan los mosfets. La salida actúa como un interruptor a tierra. No puede producir una señal alta (+ 5V) por sí sola. La resistencia pull up se usa para que cuando el interruptor esté abierto la salida sea alta. Cuando el interruptor está cerrado, la salida será baja (0V)

ingrese la descripción de la imagen aquí

JIM Dearden
fuente
9

Hay dos aplicaciones comunes de drenaje abierto (o colector abierto, en el caso de BJT):

1) Conexión de más de una salida a la misma línea. Esto se llama un OR por cable. Por ejemplo, puede tener un pin de restablecimiento normalmente alto en un dispositivo, que se restablece tanto desde un pin del microcontrolador como desde otra fuente, por ejemplo, un botón pulsador. El pin de reinicio está atado alto con una resistencia pull-up. El microcontrolador está configurado como una salida de drenaje abierto. El pulsador está atado al suelo cuando se presiona. Si el microcontrolador saca su salida a 0 o si se presiona el botón, el dispositivo se reiniciará.

Tenga en cuenta que cuando el microcontrolador establece su pin de salida en 1, el pin se desconecta de la línea. No está impulsando la línea ("abastecimiento") con ningún voltaje, por lo que cuando el botón empuja la línea a tierra, no hay cortocircuito.

Debido a que la configuración con cable O es tan útil, esta es la razón por la cual los pines como reiniciar en un microcontrolador, interrumpir líneas, borrar y habilitar líneas en dispositivos como flip-flops, son todos "activos bajos", lo que significa que normalmente están atados altos (nuevamente , a través de una resistencia pull-up), y cualquiera de los varios dispositivos configurados como de drenaje abierto puede hacer que bajen. Dichas entradas generalmente se designan como activo-bajo, ya sea con una barra en la parte superior del nombre de la señal, o bien con un encabezado. (! CLR), o un signo # final (CLR #).

2) Dispositivos de control conectados a diferentes voltajes de suministro. Digamos que tiene un relé que requiere 20 mA, pero un voltaje de 5 voltios. Pero la salida de su microcontrolador solo puede conducir pines hasta su voltaje de fuente de alimentación (VCC) de 3.3v. Con una salida de drenaje abierto, puede conectar un lado del relé a 5 V y el otro al pin de salida del microcontrolador. Cuando la salida del microcontrolador es 1, no sucede nada (de nuevo, actúa como si el pin estuviera desconectado). Cuando se establece en 0, esto pone a tierra el lado inferior del relé completando el circuito y operando el relé. En tal aplicación, es importante colocar un diodo de "retorno" a través de la bobina del relé para evitar daños en el microcontrolador cuando el dispositivo está desenergizado.

Para controladores de salida como el ULN2803 (matriz de transistores Darlington), puede controlar cargas conectadas a voltajes de hasta 50 v y controlarlos con una entrada compatible con la lógica.

tcrosley
fuente
a microcontroller can often sink more current (drive to ground) than it can source (drive to the VCC of the microcontroller)Eso ya no es cierto con el moderno microcontrolador CMOS
m.Alin
1
Su segundo caso de uso rara vez se aplica a los microcontroladores: en la mayoría de los casos, sus pines IO no pueden tolerar el voltaje fuera del intervalo de alimentación a tierra (aunque algunos chips de menor voltaje afirman ser tolerantes a 5V). Una excepción fue (¿es ??) el pin RA4 en algunos Microchip uc. Pero los chips de controlador de estilo 2003/2803 son un excelente ejemplo de su segundo caso de uso.
Wouter van Ooijen
Entre los MSP430, los Atmel AVR y los Pic 16/18, todavía no he visto un microcontrolador moderno que no pueda hundirse o generar la misma cantidad de corriente.
Passerby
m.Alin, Wouter_van_Ooijen, Passerby: gracias por sus comentarios, he editado mi respuesta.
tcrosley
2

Una salida de drenaje abierta es solo un interruptor abierto conectado a 0V. Para pasar corriente a través de él, necesita alimentarlo y esto se puede hacer con una resistencia pull-up. Si no pasa corriente al pin, no podrá ver un voltaje: -

ingrese la descripción de la imagen aquí

Aquí hay dos dispositivos que comparten la misma salida de drenaje abierto: observe la resistencia pull-up a + 5V. De hecho, este circuito utiliza "drenaje abierto" para realizar la lógica: si cualquiera de las compuertas NAND está "activada" con 1,1, tirarán del BUS a 0V. Por lo tanto, la lógica entregada al BUS es

INVERSO de BUS = AB + CD

Los MOSFET generalmente se usan como dispositivos de drenaje abierto, aunque los BJT regulares también pueden realizar esta función. Una salida de drenaje abierto es una simplificación de una salida CMOS normal: se enciende rápidamente a tierra, pero será más lenta en el viaje de regreso a + Lógica debido a los tiempos de carga de los condensadores parásitos a través de la resistencia pull-up.

Abrir colector en wiki es una buena lectura: hace lo mismo que abrir drenaje y se menciona en el artículo al igual que el pequeño diagrama que se muestra arriba.

Andy alias
fuente
0

1) Para simplificar el primer punto en la respuesta de tcrosley, la ventaja de no proporcionar la resistencia pull-up dentro de una salida es la capacidad de compartir esa resistencia pull-up entre muchas salidas. Las salidas se cablean en paralelo y todas se conectan a la resistencia compartida y a tierra.

2) El punto "debajo" de la resistencia (en los esquemas) es el lugar donde la salida combinada es recogida por otras partes del circuito. (Por supuesto, todo podría haber sido al revés con respecto al suelo y el suministro).

3) Si no desea recopilar la salida combinada de muchas salidas (y el circuito usa el mismo suministro de voltaje en todas partes), entonces no desea usar las salidas sin partes pull-up. De lo contrario, se le proporcionan salidas "incompletas" (en cierto modo), que puede personalizar según sus necesidades.

abracadabra
fuente
Analicé tu muro de texto en párrafos numerados. Hace que sea más fácil de entender al leer y comentar ciertas partes o declaraciones que hizo. Observe que los párrafos comienzan con un cambio de contexto en su respuesta.
Sparky256