Estoy tratando de conectar un teclado PS/2 a un MSP430 para un juguete. El teclado PS/2 funciona con 5 V, pero el microcontrolador MSP430 funciona con 3,3 V. Así que tengo un cambiador de nivel 74LVC245 para convertir entre los dos.
Ahora que tengo esto, sin embargo, he descubierto que la interfaz del teclado PS/2 usa señales de colector abierto, por lo que pueden ser manejadas desde cualquier extremo, y aparentemente usar un 74LVC245 con estas es complicado. Esta es la primera vez que me encuentro con algo así; Soy principalmente un tipo de software.
No estoy interesado en enviar comandos AL teclado, solo en recibir comandos DESDE el teclado, por lo que nunca necesito controlar las líneas de datos y reloj desde el extremo del microcontrolador. ¿Es suficiente simplemente vincular las señales del teclado a Vcc a través de una resistencia pullup (grande), de modo que permanezcan altas cuando el teclado no las esté impulsando (esto es requerido por el protocolo; si no son altas, el teclado no lo hará) enviar). Pero esto significa que cuando el teclado intenta bajar las líneas, está conduciendo contra la resistencia, y no sé cuáles son las implicaciones de esto. Y no sé si el 74LVC245 tiene sus propias resistencias pullup/pulldown en las entradas.
¿Es esta una buena idea? Si no es así, ¿por qué, y hay alguna forma en que pueda hacer que esto funcione sin tener que construir un circuito de controlador adecuado con resistencias?
La hoja de datos 74LVC245 está aquí, como referencia: http://www.adafruit.com/datasheets/sn74lvc245a.pdf
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 C. Hay circuitos integrados 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 así
Esta imagen muestra el cambio de nivel de 2 líneas separadas (obviamente). Más detalles en esta nota de aplicación de Philips (ahora NXP).
m.alin
usuario17592
david dado
david dado
yippie
m.alin
david dado