Obtención de datos de un puerto paralelo sin el problema de la "alimentación fantasma"

0

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 el 5VDC externo.

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

En el encendido, el temporizador 555 hace que la salida deshabilite un búfer de 3 estados durante un corto período de tiempo para que todas las salidas tengan alta impedancia. (Olvidé las resistencias pull-up en las salidas de búfer). Poco después, los buffers 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 puertos paralelos).

El microcontrolador está en una placa separada y las líneas gruesas representan un cable plano. VCC es 5VDC y tanto VCC como GND están conectados a la placa por separado 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 ninguna fuente fantasma? (Primero conectaré el circuito al puerto paralelo antes de que VCC se conecte a cualquier fuente de alimentación).

    
pregunta Mike

1 respuesta

0

Solo quiero decirle a la comunidad que me di cuenta de esto yo mismo.

Los optoacopladores funcionan

En lugar de usar compuertas 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 ingresen a la línea VCC del microcontrolador .

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

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 PCB era más fácil de enrutar y pude hacer que la PCB fuera un 10% más pequeña mientras seguía encajando todas las partes.

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

    
respondido por el Mike

Lea otras preguntas en las etiquetas