Conectar 2 CPU's entre si... Z80<<->>Arduino

Sistemas 464, 664, 6128, 472, ...
Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Conectar 2 CPU's entre si... Z80<<->>Arduino

Mensajepor mentalthink » 28 Feb 2015, 16:16

No se si esto lo he comentado alguna vez, si es asi disculpas y que borren el post.

El asunto, es que me gustaría conectar el puerto de usuario del CPC, que creo que hay salidas directas del Z80 a un Arduino.
Supongo que es tan sencillo como el bus de 8 bits del Z80 y conectarlo a 8 patillas en modo INPUT del Arduino, pero mi duda es, si en el Arduino tengo 0 voltios porque está entrando Información y el Z80 me está sacando una señal alta de TTL que creo que son 4V y pìco, entonces estoy generando un corto-circuito?¿, por lo que alguno de los dos saldrá escaldao del experimento... a no ser que como el arduino se traga la señal y la impedancia cambia no pasa nada...

Por lo que os pregunto a los que sabeís, que hay que poner un array de resitencias, de Transistores conectando la base de alguna manera?¿... otra cosa

Gracias.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Conectar 2 CPU's entre si... Z80<<->>Arduino

Mensajepor mcleod_ideafix » 28 Feb 2015, 20:48

mentalthink escribió:Por lo que os pregunto a los que sabeís, que hay que poner un array de resitencias, de Transistores conectando la base de alguna manera?¿... otra cosa

El bus del Z80 es bidireccional. Todo depende de cómo quieras usarlo desde el Arduino. En el caso general, lo que se necesita es un arbitrador del bus. En la práctica puedes hacer como hizo Sinclair, y es aislando el bus de datos del Z80 del resto del circuito usando 8 resistencias de 330 ohmios en serie, uniendo cada bit del bus de datos del Z80 con el correspondiente bit del puerto del Arduino con el que lo quieras conectar.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
scooter
Amiga 1200
Amiga 1200
Mensajes: 1031
Registrado: 17 Jul 2012, 09:25
primer_sistema: C64
Ubicación: Alicante

Re: Conectar 2 CPU's entre si... Z80<<->>Arduino

Mensajepor scooter » 28 Feb 2015, 21:51

Personalmente veo mucho mas interesante hacer un puerto serie de verdad en el spectrum y allí conectar lo que quieras.
Ahora mismo he abierto un hilo en vaderetro (si no está permitido hablar de otros foros, si es así borrad esto) para ver si lo hacemos.
Otra opción seria i2c, spi etc. Me explico, eso solo seria útil para hacer DMA o algo semejante, si conecto un arduino al bus pierdo un saco de pines y no gano gran cosa.

Personalmente veo "obsoleto" conectarlo al bus del sistema.
Última edición por scooter el 01 Mar 2015, 12:51, editado 1 vez en total.

Avatar de Usuario
mentalthink
Amiga 2500
Amiga 2500
Mensajes: 2840
Registrado: 11 Abr 2010, 15:06
Gracias dadas: 45 veces
Gracias recibidas: 14 veces

Re: Conectar 2 CPU's entre si... Z80<<->>Arduino

Mensajepor mentalthink » 01 Mar 2015, 00:53

Gracias a los 2, como comenta Scotter miraré esa opcion que comentas, porque aunque un Mega tiene un chorrón de patillas, si por el tema de las velocidades y teniendo aquí en casa chips I2C quizás sea más interesante.. aunque no obvio probar lo que comenta McLeod...

Gracias como siempre.

Avatar de Usuario
scooter
Amiga 1200
Amiga 1200
Mensajes: 1031
Registrado: 17 Jul 2012, 09:25
primer_sistema: C64
Ubicación: Alicante

Re: Conectar 2 CPU's entre si... Z80<<->>Arduino

Mensajepor scooter » 01 Mar 2015, 12:50

Si quieres hacer mas "asíncrono" habría que poner dos latch con salidas triestado uno mirando hacia cada lado tipo 74373,374,573 o 574 de forma que el speccy escribe algo y cuando pueda el arduino lo lee y viceversa. Sin hard en medio es complicado de sincronizar, había que usar interrupciones y no se si serían lo bastante rápidas, me parece que necesitarías un microcnotrolador algo mas rápido.

Ahora que me acuerdo, algunos PIC tienen un "modo paralelo" o algo parecido, de forma que 10 pines se comportan como 8 lineas de bus de datos, RD y WR y se puede usar el microcontrolador como si fuese un "latch listo", por el lado del spectrum solo haría falta un decodificador de direcciones y el pic. Nunca lo he usado, que conste.

Avatar de Usuario
explorer
MSX Turbo R
MSX Turbo R
Mensajes: 442
Registrado: 11 May 2014, 17:10
Sistema Favorito: Atari ST
primer_sistema: Atari 800XL/600XL
consola_favorita: Atari 2600
Primera consola: Atari 2600
Ubicación: Valladolid, España
Gracias dadas: 2 veces
Gracias recibidas: 158 veces
Contactar:

Re: Conectar 2 CPU's entre si... Z80<<->>Arduino

Mensajepor explorer » 01 Mar 2015, 15:31

El PIC 16F877A, por ejemplo, se le puede poner el puerto D en modo "puerto paralelo esclavo", por el que se comporta como tal lo describes.

Documentación: Section 10. Parallel Slave Port

Avatar de Usuario
scooter
Amiga 1200
Amiga 1200
Mensajes: 1031
Registrado: 17 Jul 2012, 09:25
primer_sistema: C64
Ubicación: Alicante

Re: Conectar 2 CPU's entre si... Z80<<->>Arduino

Mensajepor scooter » 01 Mar 2015, 15:45

Que yo sepa el arduino no tiene ese modo, o si lo tiene el AVR no lo soporta el wiring que yo sepa.


Volver a “Amstrad CPC”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados