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.
mosfet
8051
open-drain
abkds
fuente
fuente
Respuestas:
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)
fuente
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.
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 CMOSUna 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: -
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.
fuente
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.
fuente