¿Diferencia eléctrica entre el empuje y el drenaje abierto?

3

Hice un pequeño boo boo en el código de mi STM32F4: durante 2 años las salidas que pensé que estaban en Open Drain donde en realidad estaban en Push Pull. Me puse a pensar un poco más sobre eso, y he llegado a la conclusión de que, en realidad, la diferencia entre Open Drain y Push Pull no es tan interesante.

De la especificación, en drenaje abierto, la MCU nunca abre las compuertas en la parte superior del tótem. Mirando mi circuito, no creo que a nadie le importe tener una salida de 3.3 V debido a la resistencia o el P-MOS. Simplemente haría una diferencia en la compatibilidad con 5V e incluso entonces, el Vdd tolerante a 5V probablemente sobreviviría.

¿Me estoy perdiendo algo en mi análisis, o simplemente descubrí una gran conspiración Illuminati para mantenernos ocupados con cosas estúpidas mientras cubren el hecho de que ET realmente aterrizó?

    
pregunta nraynaud

2 respuestas

4

Hay algunos lugares donde el drenaje abierto es útil, pero estoy de acuerdo en que no hay muchos.

Los buses como I2C requieren una salida de drenaje abierta, ya que utilizan un enfoque "cableado O" donde cualquier dispositivo puede bajar el bus.

Otra es si necesita una forma sencilla de conectarse a una entrada lógica que use un voltaje MÁS BAJO que el VDD de su MCU. Entonces puede simplemente usar un pull-up para el suministro de voltaje más bajo. Si utilizara una salida de tótem, proporcionaría un voltaje excesivo en el estado alto. Este método es lento, ya que solo hay un bit de recuperación de resistencia, es simple si solo quiere una o dos salidas de 1.8V y las otras salidas son de 3.3v.

También puedo usar una salida de drenaje abierto cuando me conecto a controladores analógicos personalizados.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Kevin White
3

Otros ya han mencionado que las salidas de drenaje abierto permiten unir varias salidas a la misma entrada con una sola resistencia de pull-up. Si en su lugar se usaran salidas push-pull, entonces si más de una fuera alta, tendría un corto cuando algunas salidas eran altas y otras bajas, e incluso cuando todas eran altas, podría haber corrientes indeseables que fluyen entre las salidas debido a diferencias menores en voltajes de salida.

Un ejemplo real de esto es cuando se necesitan dos microcontroladores para acceder a la misma SRAM externa, pero no al mismo tiempo. Cada una de las 35 direcciones y líneas de datos se conectaron a ambos microcontroladores y se elevaron con resistencias pull-up. Había una línea adicional entre los microcontroladores utilizados para negociar cuál de ellos iba a tener el control de la SRAM.

    
respondido por el tcrosley

Lea otras preguntas en las etiquetas