Página 4 de 8

Re: Interface interno teclado PS/2

Publicado: 14 Feb 2015, 23:46
por scooter
Los 8052 'normales' tienen salidas pseudo triestado; transistor a masa y resistencia de pullup, ese esquema permite además que se puedan unir salidas en paralelo y me parece que el teclado también. Tendría que pensarlo.

Re: Interface interno teclado PS/2

Publicado: 14 Feb 2015, 23:53
por mcleod_ideafix
scooter escribió:Los 8052 'normales' tienen salidas pseudo triestado; transistor a masa y resistencia de pullup, ese esquema permite además que se puedan unir salidas en paralelo y me parece que el teclado también. Tendría que pensarlo.

Exacto. Esa es la configuración cuando configuro una salida en colector abierto. La resistencia de pullup interna es grande, alrededor de 100K, y el pullup es a 3.3V no a 5V. Por estas dos últimas razones, no sé qué puede pasar si conecto estas salidas configuradas de esta forma en paralelo con el teclado existente, a las entradas de columnas de la ULA, que contienen un pullup a 5V. La teoría dice que no debería haber ningún problema, pero lo cierto es que no lo he comprobado. Por eso decía que en esa situación puede que funcione, y puede que no. Lo malo es que no tengo tiempo ahora (estoy preparando el material para la asignatura del segundo cuatrimestre) para pararme a probarlo.

Re: Interface interno teclado PS/2

Publicado: 15 Feb 2015, 00:00
por wilco2009
mcleod_ideafix escribió: una resistencia de 10K entre la salida del microcontrolador y el conector de teclado hará que la ULA ni se entere de lo que el microcontrolador envía. En todo caso, lo de los diodos, con el cátodo mirando al 8051.


Lo digo desde el lado del que es novato en esto de la electrónica, yo siempre he sido de software.
Yo he intercalado una resistencia de 10k entre una gal y el bus de datos para solucionar un problema que tenia con mi interface de joystick y algunos modelos de spectrum y funcionaba. De hecho sin la resistencia o con valores inferiores me bloqueaba el teclado. Sin embargo en otros spectrums era suficiente con una resistencia de 1k5.

Re: Interface interno teclado PS/2

Publicado: 15 Feb 2015, 00:22
por mcleod_ideafix
wilco2009 escribió:Yo he intercalado una resistencia de 10k entre una gal y el bus de datos para solucionar un problema que tenia con mi interface de joystick y algunos modelos de spectrum y funcionaba. De hecho sin la resistencia me bloqueaba el teclado.

Sí, entiendo por qué necesitas ahí las resistencias (aunque 10K es mucho, me parece a mi). En este caso no hay que "atacar" al bus de datos, sino a un bus interno de la ULA. En el Harlequin sería equivalente ese bus interno a las entradas de un 74HCT245 que tiene (el que provoca un poco de sordera en el clon si se usa el chip original).

Aquí lo que tenemos es algo como esto...
ula_y_c8051.jpg
ula_y_c8051.jpg (35.87 KiB) Visto 6686 veces


Y lo que no tengo muy claro es cómo se portará el conjunto. Repito que todo apunta a que sí debería funcionar, pero no lo he comprobado. Ni más ni menos que eso. No hay que añadir componentes a lo que ya hay. "Debería" poder funcionar, pero hasta que no haga la prueba, no lo sabré seguro.

-- Actualizado 15 Feb 2015, 02:13 --

Antonio, la placa ya está rediseñada con el 340, de 48 pines. No he quitado salvo una resistencia, las demás, según el esquema de referencia de la propia Silicon Labs, hacen falta. ¿En qué parte del datasheet has visto tú otra cosa?
Al final queda de unos 6,5cm x 4,5cm (en la parte del saliente). En la parte que no es del saliente es más estrecha, del orden de unos 3cm o así.

Aparte del 340, y de la resistencia que sobra, el único cambio que he hecho es intercalar una ferrita, y un 2N2222 en el circuito de reset, ya que en algunos prototipos vi que el circuito metía demasiado ruido al Spectrum. Esto es para evitar que ese pin, que está puesto como salida, drene demasiada corriente cuando reciba toda la carga del condensador que el Spectrum tiene en placa base como parte de la célula de reset. En el diseño original eso ha ocasionado que el micro se resetee, o pierda la configuración. Con el transistor espero que no pase nada de esto :)

El array de resistencias RN1 puede que haga falta, y puede que no. En las pruebas que hice hace ya..... tela de años, tuve que ponerlo porque si no, no era capaz de leer la entrada. Se ve que con el pullup interno no era suficiente. De todas formas, y como yo también recibo plaquita, en cuanto la tenga y la suelde podré comprobar por mi mismo si hace falta o no el array.

¿Se te ha ocurrido alguna solución para el tema de las conexiones entre el Spectrum y la plaquita? En su día utilicé conectores.... no recuerdo el nombre. En las fotos que se han puesto del montaje se ve qué tipo de conectores digo. No son baratos, así que si hay alguna otra opción, tal como tiras de pines moldeados macho-hembra, pues quizás abarate la cosa un poco. Para las conexiones con los conectores Molex del Spectrum, la solución que propongo en el artículo es rápida y fiable, y creo que hasta barata. Como cable solía usar los cablecillos de dentro de un cable ethernet. Son 4 pares, es decir, 8 cables, que vienen bien para las semifilas, y luego se necesitan 5 más para las columnas, y otros 4 para conectar alimentación, masa, reset y señal de acceso a la ULA.

Re: Interface interno teclado PS/2

Publicado: 15 Feb 2015, 03:04
por Demiurgo
mcleod_ideafix escribió: Como cable solía usar los cablecillos de dentro de un cable ethernet. Son 4 pares, es decir, 8 cables, que vienen bien para las semifilas, y luego se necesitan 5 más para las columnas, y otros 4 para conectar alimentación, masa, reset y señal de acceso a la ULA.


Iba a sugerir eso mismo. De hecho, los que van a los conectores del teclado se pueden incluso mantener dentro de su funda, para que tengamos menos manojos de cables sueltos.

Re: Interface interno teclado PS/2

Publicado: 21 Feb 2015, 12:31
por Demiurgo
¿Algún avance? [-o<

Re: Interface interno teclado PS/2

Publicado: 21 Feb 2015, 12:34
por antoniovillena
antoniovillena escribió:Si consigues meter el diseño en un tamaño de 4x8 yo me puedo encargar con dos condiciones:
  • Sólo 10 placas, no más.
  • Tiene que ser rápido, no más de una semana porque el otro diseño que voy a panelizar está casi listo.


Ha pasado más de una semana y no sé si el diseño está acabado ya. Esperaré un par de días más y si para entonces no hay un diseño acabado lo pospongo un tiempo indeterminado.

Re: Interface interno teclado PS/2

Publicado: 21 Feb 2015, 13:59
por Demiurgo
¿El diseño lo estaba haciendo mcleod_ideafix? Le escribiría para ver cómo lleva el tema, pero en este foro todavía no puedo enviar mensajes privados. ¿Se puede encargar alguien?

Re: Interface interno teclado PS/2

Publicado: 21 Feb 2015, 16:00
por mcleod_ideafix
Lo terminé la semana pasada. Puedes verlo en el repositorio. Sólo me falta comprobar que los dos taladros están en su sitio.

Re: Interface interno teclado PS/2

Publicado: 21 Feb 2015, 17:11
por antoniovillena
mcleod_ideafix escribió:Lo terminé la semana pasada. Puedes verlo en el repositorio. Sólo me falta comprobar que los dos taladros están en su sitio.


Ok. Yo me pongo a panelizar y creo el fichero panelizado en la misma carpeta. Si tienes que hacer alguna modificación una vez lo tenga panelizado, hazla por favor sobre el diseño panelizado que es el que enviaré a fabricar.

-- Actualizado 21 Feb 2015, 18:01 --

McLeod, ya he panelizado. Échale un vistazo a panelizada.brd en la misma carpeta que tu proyecto para ver si he puesto el agujero en su sitio. En cuanto me des el visto bueno envío los gerber a seeedstudio.

-- Actualizado 21 Feb 2015, 18:37 --

Esta es la lista de componentes que voy a pedir. Salvo los condensadores de 100nF que los enviaré un poco más pequeños (0603) porque son los que tengo en stock, todo lo demás que enviaré será exacto a la lista. Los LEDs serán verdes.

Código: Seleccionar todo

Qt. Part      Value     Device                Package      Description
----------------------------------------------------------------------
1   IC1       C8051F340 C8051F340             TQFP48       Full Speed USB Flash MCU
3   C1-C3     100nF     C-EUC0805K            C0805K       CAPACITOR, European symbol
3   C4-C6     1uF       C-EUC0805K            C0805K       CAPACITOR, European symbol
1   C7        100uF     CPOL-EUE2,5-6E        E2,5-6E      POLARIZED CAPACITOR, European symbol
1   R1        470       R-US_M0805            M0805        RESISTOR, American symbol
2   R2, R3    10K       R-US_M0805            M0805        RESISTOR, American symbol
2   R4, R5    1K        R-US_M0805            M0805        RESISTOR, American symbol
1   LED1                LEDCHIP-LED0805       CHIP-LED0805 LED
1   L1                  WE-CBF_0805           0805         SMD EMI Suppression Ferrite Beads
1   Q1        2N2222    TRANSISTOR_NPNSOT23-3 SOT23-3      Transistor NPN
1   RN1                 RN08                  RN-9         RESISTOR NETWORK
1   PS/2                SSV-G06               SSV-BC06     YAMAICHI CONNECTOR
1   C2/JTAG             MA05-2                MA05-2       PIN HEADER
1   COLUMNAS            MA05-1                MA05-1       PIN HEADER
1   SEMIFILAS           MA08-1                MA08-1       PIN HEADER
1   CTRL                MA04-1                MA04-1       PIN HEADER