Colectores abiertos y 74LVC245

7

Estoy intentando conectar un teclado PS / 2 a un MSP430 para un juguete. El teclado PS / 2 funciona con 5V, pero el microcontrolador MSP430 funciona con 3.3V. Así que tengo un cambiador de nivel 74LVC245 para convertir entre los dos.

Ahora tengo esto, sin embargo, he descubierto que la interfaz del teclado PS / 2 usa señales de colector abierto, de modo que pueden manejarse desde cualquier extremo, y aparentemente usar un 74LVC245 con estos es complicado. Esta es la primera vez que me encuentro con algo así; Soy sobre todo un tipo de software.

No estoy interesado en enviar comandos AL teclado, solo en recibir comandos DEL teclado, por lo que nunca necesito manejar los datos y las líneas del reloj desde el extremo del microcontrolador. ¿Es suficiente simplemente vincular las señales del teclado a Vcc a través de una resistencia de extracción (grande), de modo que permanezcan altas cuando el teclado no las impulsa (esto es requerido por el protocolo; si no son altas, el teclado no enviar). Pero esto significa que cuando el teclado trata de reducir las líneas, está conduciendo contra la resistencia, y no sé cuáles son las implicaciones de esto. Y no sé si el 74LVC245 en sí tiene sus propios resistores pullup / pulldown en las entradas.

¿Es esta una buena idea? Si no es así, ¿por qué? ¿Hay alguna forma de hacer que esto funcione sin tener que construir un circuito de controlador adecuado con resistencias?

La hoja de datos 74LVC245 está aquí, para referencia: enlace

    
pregunta David Given

1 respuesta

3

Esto es solo un pensamiento de $ 0.02, y no necesariamente una respuesta.

El cambio de nivel de una señal de colector abierto bidireccional a veces se realiza en el bus I 2 . Hay IC de cambio de nivel especializados para I 2 C, como PCA9306, que podría intentar adoptar para PS / 2. Hay otro método, donde el cambio de nivel se realiza con un MOSFET conectado como este

Estaimagenmuestraelcambiodenivelde2líneasseparadas(obviamente).Másdetallesen esta nota de aplicación de Philips (ahora NXP).

    
respondido por el Nick Alexeev

Lea otras preguntas en las etiquetas