Obtener datos del puerto paralelo sin el problema de la "alimentación fantasma"

Después de hacer circuitos fallidos en el pasado, aprendí que la causa es que el puerto paralelo estaba produciendo "alimentación fantasma" (también conocida como alimentación del circuito). Esto se debe a que conecté mi circuito al puerto paralelo antes de agregarle los 5 VCC externos.

Basado en otras ideas, Mi idea de circuito es esta:

Al encenderse, el temporizador 555 hace que la salida deshabilite un búfer de 3 estados durante un período corto de tiempo para que todas las salidas sean de alta impedancia. (Olvidé las resistencias pull-up en las salidas del búfer). Poco después, los búferes más a la izquierda siempre están habilitados y luego los datos del puerto pueden comunicarse bidireccionalmente con el microcontrolador. (los datos se devuelven como estados de puerto paralelo).

El microcontrolador está en una placa separada y las líneas gruesas representan un cable plano. VCC es de 5 V CC y tanto VCC como GND también están conectados a la placa separada a través del mismo cable plano.

Mi pregunta es, ¿funcionará bien este circuito para dos líneas de datos bidireccionales entre el puerto paralelo y el microcontrolador sin tener alimentación fantasma? (Primero conectaré el circuito en el puerto paralelo antes de que VCC esté conectado a cualquier fuente de alimentación).

intento de reducción de potencia fantasma

¿Desde dónde vas a alimentar el 74HC125? ¿Cómo evitará que sus diodos de protección de entrada desvíen la energía a lo que parece ser un riel de suministro compartido? Si su tasa es lo suficientemente lenta como para trabajar con resistencias pull-up, puede usar un cambiador de nivel MOSFET donde el lado de bajo voltaje se alimenta solo cuando su circuito lo está.
La impresora paralela nunca ha tenido este problema. pero los viejos teclados de PS2 sí.
Podría estar equivocado, pero ¿sería mejor usar 74HCT125 en lugar de 74HC125 porque creo que los IC de la serie HC tienen diodos de protección y los HCT no? o debo ir estilo LS?
Todos tienen la misma protección con 4 diodos y resistencias de 10k entre ellos, pero limitados a 5mA solo por diodo. pero HCT tiene umbrales TTL de 1,5 V aprox. Pero si el riel Vdd tiene un gran límite, entonces se puede exceder la corriente en la alimentación fantasma de 1 señal de diodo alta.
¿Es mejor usar solo transistores viejos en lugar de circuitos integrados?
no, espera... ¿qué pasa con los optoacopladores o el acoplamiento de condensadores? ¿puedo tener suerte con eso? Planeo transmitir datos a 100bps

Respuestas (1)

Solo quiero decirle a la comunidad que lo descubrí yo mismo.

¡Los optoacopladores funcionan!

En lugar de usar puertas lógicas, fui un poco más analógico y decidí usar optoacopladores (chip #4N35) para evitar que la lógica alta de cualquiera de los bits de datos del puerto paralelo ingrese a la línea VCC del microcontrolador.

Las otras líneas conectadas al puerto están conectadas a las entradas del puerto paralelo y dado que esas líneas generalmente son "débilmente" elevadas por el puerto en lugar de fuertemente elevadas (que es lo que sucedió con los puertos de datos), este circuito es un ganador para mi.

Todas las resistencias son de 220 ohmios, excepto la que está más a la izquierda, que es una resistencia de 0 ohmios porque la usé como cable de puente en la PCB.

Además, noté que la placa de circuito impreso era más fácil de enrutar y además pude hacer la placa de circuito impreso un 10 % más pequeña sin dejar de ajustar todas las piezas.

La única advertencia a este diseño con el que estoy de acuerdo es que al enviar datos, debo especificar los valores de bits invertidos desde el lado de la PC. (ejemplo, si quiero enviar 70 h al hardware, entonces debo especificarle al software un valor de 00 h, y si quiero enviar 40 h, debo especificar 30 h)

optoacoplador sin alimentación fantasma

Esto probablemente funcione, pero puede consumir más corriente de la que el puerto paralelo está teóricamente clasificado para suministrar. Para implementaciones de puertos más antiguas, sería mejor si lo hiciera del otro lado, impulsando los cátodos de los LED; eso también eliminaría su necesidad de invertir. No está muy claro qué están haciendo las resistencias después de los optos. Deben ser pullups pero no se dibujan como tales.
El banco es pull-ups, pero las resistencias individuales conectadas a las líneas del puerto son resistencias de 220 ohmios como una pequeña medida de protección contra la explosión del LED del optoacoplador y para evitar que entre una corriente excesiva en las líneas de estado del puerto.