Página 1 de 1

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

Publicado: 28 Feb 2015, 16:16
por mentalthink
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.

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

Publicado: 28 Feb 2015, 20:48
por mcleod_ideafix
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.

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

Publicado: 28 Feb 2015, 21:51
por scooter
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.

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

Publicado: 01 Mar 2015, 00:53
por mentalthink
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.

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

Publicado: 01 Mar 2015, 12:50
por scooter
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.

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

Publicado: 01 Mar 2015, 15:31
por explorer
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

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

Publicado: 01 Mar 2015, 15:45
por scooter
Que yo sepa el arduino no tiene ese modo, o si lo tiene el AVR no lo soporta el wiring que yo sepa.