¿Cómo puedo emular el protocolo PS / 2 sin un microcontrolador?

0

Estoy intentando emular el protocolo de teclado PS / 2 con una pieza de hardware personalizada, sin utilizar un microcontrolador. Dicha pieza de hardware consistirá en 13 pulsadores momentáneos.

enlace

Las claves se asignarán a valores ASCII específicos. Mi idea es (con un diseño de trazo intrincado), al presionar un botón, para llenar un registro de desplazamiento con el valor ASCII correcto + bits PS / 2 y desplazar los bits como datos PS / 2. Esperaba controlar el registro de cambios con un contador de décadas, abrir el pestillo e inhibir el reloj del registro de cambios durante un ciclo, luego esperar 11 ciclos para que los datos salieran del registro de cambios.

¿Existe una solución más simple y obvia o debería continuar refinando mi diseño? Estoy probando el concepto con 8 etapas shift + contador, pero se ampliará más adelante para acomodar los 11 bits necesarios si el concepto funciona. Además, no hay capacitación formal en ingeniería eléctrica, me disculpo si mi pregunta no es apropiada.

    
pregunta chris.antonellis

1 respuesta

7

Debe tener cuidado: el protocolo PS / 2 es bidireccional, por lo que no puede simplemente transmitir. De vez en cuando, la computadora bajará la línea de CLK y luego controlará la señal de DATOS durante unos pocos relojes, y luego deberá reconocerla. Además, su comprensión de un protocolo de teclado parece ser un poco incompleta. No envían valores ASCII, envían códigos de clave, incluidos eventos de apertura de teclas separados y eventos de activación de teclas separados. Además, necesitas salidas de drenaje abierto.

Sería mucho más hacer esto con un microcontrolador. Con respecto a sus argumentos específicos en contra de ellos en sus comentarios:

  • Costo: hay lotes de microcontroladores con suficiente E / S para leer la matriz de claves y hablar PS / 2 que son menos de $ 0.50, como el PIC16F54. Será difícil que obtenga todas sus partes discretas por menos.

  • Programación: puede solicitar chips preprogramados con cualquier firmware que proporcione a un distribuidor como Digikey, o directamente del fabricante.

  • Eficiencia (espacio): un solo microcontrolador será mucho más pequeño que varios chips discretos y generalmente incluye un reloj interno, pull-ups, búfer de drenaje abierto, etc. (Tenga en cuenta que el drenaje abierto puede lograrse mediante cambiar un pin entre dos estados: salida 0, o entrada con pullup habilitado.)

  • Eficiencia (potencia): los microcontroladores tienen muchos modos de suspensión disponibles y pueden apagarse casi por completo mientras no se presionan teclas, o entre las exploraciones del teclado.

  • Eficiencia (su tiempo): Es probable que tenga muchos problemas además de los problemas de protocolo, como la necesidad de deshacer claves, etc. Las soluciones de firmware serán mucho más rápidas que tener que responder a una PCB o una orden algunos nuevos chips.

respondido por el Jim Paris

Lea otras preguntas en las etiquetas