Solución del diodo para conflictos compartiendo teclado en PS/2

Proyectos ajenos al equipo oficial pero desarrollados o promovidos por la comunidad, relacionados con el ZX-UNO / Projects outside the official team but developed or promoted by the community, related to the ZX-UNO
Responder
Avatar de Usuario
spark2k06
Mensajes: 1136
Registrado: 12 Feb 2016, 13:58

Solución del diodo para conflictos compartiendo teclado en PS/2

Mensaje por spark2k06 » 07 Nov 2017, 13:51

En lugar de reflotar el siguiente hilo, lo voy a enlazar para poneros en contexto:

viewtopic.php?f=12&t=1581

Aquellos usuarios que hacen uso de proyectos que utilizan las mismas lineas CLK/DATA de teclado para conectar un teclado externo, como son usuarios del Go+, ZXUno XL, Joy2PS2, etc... y que observen conflictos al tener un teclado externo conectado, tienen la solución del diodo que comenté en el hilo que enlazo. A continuación, y con ayuda de Antonio para optimizar y miniaturizar al máximo posible esa solución en una PCB sin usar SMDs, lo tenéis compartido y disponible en OSHPark para hacer directamente el pedido:

https://www.oshpark.com/shared_projects/1LlJMRAv

Tenéis que coger un múltiplo de 3 unidades (a tan solo 1,97€ cada pack de 3), pero el envío es gratuito y no suele tardar mas de 2 semanas en llegar. A lo cual sólo le tenéis que soldar un diodo y un conector PS/2, a parte necesitaréis un cable corto de PS/2 conectado a un conector de 2x3 en la PCB. En el diseño se mantienen las líneas CLK/DATA del ratón intactas, por lo que se puede agregar a la salida un splitter que ya tengáis sin problema alguno.

La solución del diodo evita como he comentado que el teclado externo se bloquee y se queden teclas repetidas ante pulsaciones de la otra parte, porque las pulsaciones desde el teclado externo no afectan al sistema y no genera conflictos mientras no haya escucha activa de la otra parte, que la mayor parte de tiempo no la hay, sin embargo, la escucha activa por parte del teclado externo es inevitable a no ser que se le ponga el diodo. Por contra, con este addon conectado en medio no se podrá utilizar el core de PC/XT ya que es imposible que se produzca la inicialización del teclado externo debido al diodo, pero yo creo que es un mal menor en comparación para aquellos con el problema de conflictos mencionado.
Última edición por spark2k06 el 07 Nov 2017, 13:51, editado 5 veces en total.

Avatar de Usuario
yoxxxoy
Mensajes: 25
Registrado: 23 Sep 2016, 23:15
Ubicación: inst:@yoxxxoy
Contactar:

Re: Solución del diodo para conflictos compartiendo teclado en PS/2

Mensaje por yoxxxoy » 07 Nov 2017, 21:27

Pequeño video del conflicto típico.
Observen la luz en el teclado PS/2 , cuando se queda bloqueado en repetición de tecla se apaga y ya no responden ninguno de los teclados.

phpBB [media]

Avatar de Usuario
spark2k06
Mensajes: 1136
Registrado: 12 Feb 2016, 13:58

Re: Solución del diodo para conflictos compartiendo teclado en PS/2

Mensaje por spark2k06 » 08 Nov 2017, 06:43

yoxxxoy escribió:Pequeño video del conflicto típico.
Observen la luz en el teclado PS/2 , cuando se queda bloqueado en repetición de tecla se apaga y ya no responden ninguno de los teclados.
Ahí se ve claramente cuando se produce el conflicto... concretamente pulsando teclas del gomas, momento en el cual entra en juego la escucha de comandos del teclado externo (al contrario no pasa nada porque de forma habitual, el firmware del arduino no permanece en escucha). Con tu permiso @yoxxxoy, muestro la idea que me has pasado de poner el diodo dentro del propio teclado externo:

Imagen

Y añadiendo un interruptor para habilitar o deshabilitar la función del diodo:

Imagen

Deshabilitando la función del diodo, volvemos a convertirlo en un teclado normal con escucha activa, y por tanto funcional para el core de PC/XT... muy ingenioso :okidoki;

Por lo tanto, ya tendríamos dos soluciones basadas en el diodo:

1. Hacer un mod a un teclado e integrarlo dentro como ha hecho yoxxxoy.
2. Con el addon de conector PS/2 y diodo, de quita y pon que propongo yo, para no tener que modificar ningún teclado y sirva con todos.

Luego siempre habrá a quienes no le suceda el problema mencionado como algunos usuarios del ZXGo+, afortunados que no tendrán que hacer nada :-)
Última edición por spark2k06 el 08 Nov 2017, 06:43, editado 1 vez en total.

Avatar de Usuario
spark2k06
Mensajes: 1136
Registrado: 12 Feb 2016, 13:58

Re: Solución del diodo para conflictos compartiendo teclado en PS/2

Mensaje por spark2k06 » 24 Nov 2017, 13:49

Solo comentar que desde que hice el pedido el día 7 de Noviembre a OSHPark, hoy día 24 ha llegado (2 semanas + 3 días) :)

Imagen

Una vez soldado, a este se le puede conectar directamente un teclado, o a través de un splitter si se dispone de el, para usar también un ratón. La linea DATA del teclado es atravesada por el diodo:

Imagen

Y conectado por ejemplo en el interfaz de Joy2PS2, a la entrada del teclado externo:

Imagen

Avatar de Usuario
mapache
Mensajes: 271
Registrado: 15 Dic 2016, 22:24

Re: Solución del diodo para conflictos compartiendo teclado en PS/2

Mensaje por mapache » 21 Dic 2017, 22:27

spark2k06 ha tenido el detallazo de enviarme uno de estos circuitos con diodo y funciona perfectamente, muy bien pensado todo... aunque el Joy2PS2 de por sí es plenamente usable en el 99% de los casos, tener un teclado a mano facilita enormemente las cosas para quieres no usamos el ZX-Uno con un mero mando tipo recreativas y no queremos complicarnos consultando la tabla de combinaciones.

Simplemente me quito el sombrero... es curioso como cambia la experiencia de manejar el Spectrum al usarlo con un mando de consola.

¡GRACIAS! :-)

Responder