YAZSAKI, un interfaz de teclado PS2

Moderador: Fundadores

Responder
Avatar de Usuario
España antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1578
Registrado: 02 Abr 2013, 19:06
Has thanked: 1 time
Been thanked: 10 times
Contactar:

YAZSAKI, un interfaz de teclado PS2

Mensaje por antoniovillena » 19 Ago 2014, 20:27

Este proyecto es antiguo, se basa en hacer un interface de teclado con sólo 2 chips: una CPLD y un microcontrolador de 8 pines. El de mcleod es más sencillo porque sólo tiene el micro, el problema es que no existe tal micro en DIP y para hacer dicho montaje hay que crear las PCBs, ya sea artesanalmente o mediante empresas como seeedstudio. Esta es la página web del proyecto:

http://www.jrok.com/project/speckey/spec_key.html

Bueno, el proyecto en cuestión lo voy a hacer sobre una placa preperforada (las típicas de agujeritos). El único inconveniente es que el adaptador PLCC tiene filas dobles de pines, y para llegar a los pines interiores hay que hacer puentes por debajo. Con este tipo de placas hay que tenerlo todo diseñado de antemano e improvisar lo mínimo. Yo antes los diseños los hacía a lápiz/boli sobre libreta de cuadros, ahora por primera vez lo voy a hacer más decentemente, con el GIMP. Aquí tenéis los diseños por delante y por detrás. El diseño por delante lo empleamos para colocar los chips, zócalos, conectores sobre la cara de componentes. El diseño por detrás (el que tiene las letras invertidas) será el que consultemos cuando vayamos a soldar (cara de soldaduras).
spec_key_derecho.png
spec_key_reves.png
Lo ideal es imprimírselo y tenerlo de referencia, pero como yo tengo el ordenador cerca de la mesa de soldadura lo que hago es abrir el archivo con el GIMP, mostrar la rejilla en 8x8 (viene muy bien para contar los agujeros) y aplicarle un volteado horizontal. Así con la combinación de teclas de Deshacer y Rehacer accedo a la imagen normal y espejada sin tener que usar el ratón. Con la rejilla activada se vería algo así:
speckey_con_rejilla.png
Nota importante:

En la web original del proyecto no indican los fusibles necesarios para programar el ATTINY45, y tampoco está el archivo ensamblado (es una tontería tener que instalarte el IDE sólo para ensamblar un simple archivo). El archivo ensamblado (.hex) es éste:

download/file.php?id=438

Y la configuración de fusibles esta otra:

http://eleccelerator.com/fusecalc/fusec ... LOCKBIT=FF
Última edición por antoniovillena el 03 Sep 2014, 22:44, editado 1 vez en total.

Avatar de Usuario
España antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1578
Registrado: 02 Abr 2013, 19:06
Has thanked: 1 time
Been thanked: 10 times
Contactar:

Re: YAZSAKI, un interfaz de teclado PS2

Mensaje por antoniovillena » 19 Ago 2014, 20:36

Ahí van unas fotillos de cómo lo llevo, todavía me falta mucho.
IMG_20140819_193047.jpg
IMG_20140819_193058.jpg
IMG_20140819_193330.jpg
Última edición por antoniovillena el 19 Ago 2014, 20:40, editado 1 vez en total.

Avatar de Usuario
España antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1578
Registrado: 02 Abr 2013, 19:06
Has thanked: 1 time
Been thanked: 10 times
Contactar:

Re: YAZSAKI, un interfaz de teclado PS2

Mensaje por antoniovillena » 19 Ago 2014, 20:39

En general da igual el orden en el que se haga, con la excepción de los puentes que queden por debajo de algún componente. En este montaje hay puentes debajo del zócalo PLCC, por esa razón he soldado primero los puentes y luego el adaptador. En estas imágenes os muestro cómo se hace un puente en la cara de las soldaduras. Son los más chungos a la hora de soldar porque van directamente a un pin del adaptador.

Antes de soldar
IMG_20140819_195343.jpg
Después de soldar
IMG_20140819_195535.jpg

Avatar de Usuario
España_Comunidad_Valenciana flopping
Fundador
Fundador
Mensajes: 8533
Registrado: 29 Mar 2013, 15:26
Ubicación: Valencia
Has thanked: 2 times
Been thanked: 41 times
Contactar:

Re: YAZSAKI, un interfaz de teclado PS2

Mensaje por flopping » 19 Ago 2014, 21:09

Buen proyecto sí señor, voy a estar muy atento a el, ya que yo también lo tengo en mente, como ya sabes, ;) , a ver si funciona bien y lo podemos hacer para meterlo en los próximos clones que diseñemos, jejejejej......ves contándonos todos los detalles, que esto interesa y mucho, salu2.
No me hago responsable de mis post pues estan escritos bajo la influencia del alcohol y drogas psicotropicas, por la esquizofrenia paranoide que padezco.
(C) 1982-2018, 36 años de ZX Spectrum.
http://www.va-de-retro.com/ un foro "diferente".

Avatar de Usuario
España_Comunidad_Valenciana javu61
Fundador
Fundador
Mensajes: 2018
Registrado: 30 Mar 2013, 11:58
Ubicación: Valencia
Has thanked: 1 time
Been thanked: 25 times
Contactar:

Re: YAZSAKI, un interfaz de teclado PS2

Mensaje por javu61 » 20 Ago 2014, 01:33

La idea es buena, seguro que la adopto, y ya se que no es tan sencillo, pero poner una controladora USB que te da acceso a un teclado USB que es un dispositivo serie no puede ser mucho mas complicado, eso si se complica por los programación del controlador, pero no necesitas la cpld, un pic o arm de gama media con USB seria lo único
Larga vida y prosperidad \\//_

Avatar de Usuario
España antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1578
Registrado: 02 Abr 2013, 19:06
Has thanked: 1 time
Been thanked: 10 times
Contactar:

Re: YAZSAKI, un interfaz de teclado PS2

Mensaje por antoniovillena » 20 Ago 2014, 02:24

javu61 escribió:La idea es buena, seguro que la adopto, y ya se que no es tan sencillo, pero poner una controladora USB que te da acceso a un teclado USB que es un dispositivo serie no puede ser mucho mas complicado, eso si se complica por los programación del controlador, pero no necesitas la cpld, un pic o arm de gama media con USB seria lo único
El estándar USB es mucho mucho más complicado. Eso sí, para quitarnos el CPLD es necesario un microcontrolador muy rápido, no nos valen los de gama media. De hecho McLeod eligió un silabs que iba a 48MHz reales (los PICs van a 4 ciclos por instrucción, por lo que un PIC que corra a 20MHz en realidad ejecuta instrucciones a 5MHz). La razón de necesitar un micro tan rápido es para comunicarse con el Z80, ya que requiere mucha precisión para colocar un dato en el bus. En este interfaz que estoy haciendo la CPLD es el dispositivo rápido que envía la matriz del teclado al Z80 cuando éste lo requiere. El micro se encarga de leer del puerto PS/2 y enviar la info a la CPLD para que actualice su matriz interna.

En resumen, lo que dices de meterlo en un sólo chip se puede hacer, pero no es tan fácil. Se requiere un micro con soporte USB que sea muy rápido, y la programación no es tan sencilla como en el caso del PS/2. Si estoy construyendo este interfaz es porque está todo hecho (diseñado y programado) y es más fácil de fabricar que el de McLeod. No es por miedo a soldar SMD (ya tengo experiencia), es por tener que fabricarte la PCB (con este interfaz puedo hacerlo en placa preperforada y con el de McLeod no).

Avatar de Usuario
España_Comunidad_Valenciana javu61
Fundador
Fundador
Mensajes: 2018
Registrado: 30 Mar 2013, 11:58
Ubicación: Valencia
Has thanked: 1 time
Been thanked: 25 times
Contactar:

Re: YAZSAKI, un interfaz de teclado PS2

Mensaje por javu61 » 20 Ago 2014, 08:27

Bien, mantengamos la CPLD, he leido sobre el proyecto y tiene razón el que lo diseñó, es mucho mejor dejar que sea la CPLD la que envíe las señales al BUS del spectrum y hacer que el controlador se centre solo en leer el teclado, cada uno hace lo suyo de forma óptima.

Pero sigo pensando en cambiar el controlador por uno con soporte USB, estudiaré el tema y propongo cosas ya que en la red hay mucha información de cualquier tema, por ejemplo para leer un teclado PS2 con un PIC hay a patadas, seguro que con USB también hay cosas.
Larga vida y prosperidad \\//_

Avatar de Usuario
Scooter
Demonio tercer orden
Demonio tercer orden
Mensajes: 740
Registrado: 27 Feb 2014, 11:33
Ubicación: Alicates
Been thanked: 1 time
Contactar:

Re: YAZSAKI, un interfaz de teclado PS2

Mensaje por Scooter » 20 Ago 2014, 09:23

En mi afán de hacer cosas raras se me ocurrió un interfaces con un micro al gusto y ocho registros 74xx579 (si no me equivoco de número)
El micro lee el teclado y llena los registros de carga serie con los datos adecuados.
El speccy lee los registros en paralelo de forma "normal" al activar las lineas correspondientes. Da igual si se hace una lectura rara leyendo varias filas a la vez, debería de funcionar 100%
Es que si uso una cpld, o incluso una gal me ha dicho el medico que el hígado se me estropea...
En principio no hay conflicto posible de buses, solo que el zx puede pillas a medio grabar y leer mal, pero no hay ningún peligro "eléctrico"

Enviado ende mi parato usando catacrak
Solo se que no se nada (algunos no saben eso)

Avatar de Usuario
España antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1578
Registrado: 02 Abr 2013, 19:06
Has thanked: 1 time
Been thanked: 10 times
Contactar:

Re: YAZSAKI, un interfaz de teclado PS2

Mensaje por antoniovillena » 20 Ago 2014, 11:07

javu61 escribió:Bien, mantengamos la CPLD, he leido sobre el proyecto y tiene razón el que lo diseñó, es mucho mejor dejar que sea la CPLD la que envíe las señales al BUS del spectrum y hacer que el controlador se centre solo en leer el teclado, cada uno hace lo suyo de forma óptima.

Pero sigo pensando en cambiar el controlador por uno con soporte USB, estudiaré el tema y propongo cosas ya que en la red hay mucha información de cualquier tema, por ejemplo para leer un teclado PS2 con un PIC hay a patadas, seguro que con USB también hay cosas.
Sí, por ejemplo el PIC18F2550 es DIP28 y sale por 3 ó 4 euros si haces una tirada pequeña de 5 ó 10 unidades. Se puede adaptar código ya hecho sin entender ni papa lo que el código hace, no es lo más recomendable pero es posible. El problema de trabajar de esta manera es que nunca sabes el tiempo que te puede llevar, y lo peor de todo es que puedes dedicarle más horas con este método sólo para que las cosas funcionen, y al final no has sacado ningún aprendizaje.

De este proyecto me he leído el código VHDL y lo entiendo, el código del micro no lo he leído aún pero seguro que lo voy a entender porque sé cómo funciona el estándar PS/2. Si más adelante necesito hacer cambios, como soportar otra máquina distinta al Spectrum o añadir nuevas funciones a las teclas, sé que podré hacerlo.

Avatar de Usuario
España antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1578
Registrado: 02 Abr 2013, 19:06
Has thanked: 1 time
Been thanked: 10 times
Contactar:

Re: YAZSAKI, un interfaz de teclado PS2

Mensaje por antoniovillena » 20 Ago 2014, 11:13

Scooter escribió:En mi afán de hacer cosas raras se me ocurrió un interfaces con un micro al gusto y ocho registros 74xx579 (si no me equivoco de número)
El micro lee el teclado y llena los registros de carga serie con los datos adecuados.
El speccy lee los registros en paralelo de forma "normal" al activar las lineas correspondientes. Da igual si se hace una lectura rara leyendo varias filas a la vez, debería de funcionar 100%
Es que si uso una cpld, o incluso una gal me ha dicho el medico que el hígado se me estropea...
En principio no hay conflicto posible de buses, solo que el zx puede pillas a medio grabar y leer mal, pero no hay ningún peligro "eléctrico"

Enviado ende mi parato usando catacrak
Es el 74xx597 y sí, es factible hacerlo como dices pero esto implica un montaje con un mínimo de 9 chips. Sería más óptimo cargar cada registro con todas las filas (un registro por columna), así reduces de ocho a cinco el número de 74xx597 necesarios. Es interesante y seguramente más barato de fabricar, a ver quién se atreve a construirlo.

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado