pregunta bidireccional 82C55 Z80

Hola a todos, tengo una duda sobre las entradas y las salidas de circuitos digitales, si un puerto (bus de datos) está configurado como salida,si intentas meter datos (dentro de los niveles permitidos) te cargas el chip (hablando de un 82c55)?. En un puerto bidireccional(Z80 D0-D7),puedes escribir cuando te de la gana sin que se rompa el chip (ya se que hay que activar /WR o el /RD)?

La idea que tengo es conectar un Z80 al puerto paralelo mediante un

82c55 (como si el PC fuera la ROM del sistema), las puertas A y B entradas conectadas a (Z-> Z80) ZA0-ZA15 y la C a ZD0-ZD7. Claro que entonces me quedo sin patitas porque D0-D7 ha de ser bidireccional y debería cambiar constantemente el puerto C como entrada y como salida y si le pilla enmedio de una operación del Z80 de escritura a saber que le pasa al 82c55 si está configurado como salida...

Conocéis alguna winapi que permita esperar en nanosegundos (la API Sleep sólo permite milisegundos)

Alguna solución?

Gracias pro adelantado.

Reply to
Jordi
Loading thread data ...

"Jordi" escribió en el mensaje news: snipped-for-privacy@posting.google.com...

No necesariamente, pero los datos que transmites seguro que se corrompen.

Sólo puedes escribir cuando esté en modo lectura. Por cierto, las líneas /WR y /RD son salidas del Z80, no entradas.

No se el objeto de tu montaje, pero te sugiero que investigues sobre buffers (74245, 74373 y familia), que te permiten separar las entradas de las salidas.

Puedes usar la instrucción NOP, sola o en grupos. Tambien puedes crear una variable e incrementarla en uno (por ejemplo) cuando quieras perder unos nanosegundos.

De nada.

Saludos Miguel Giménez

Reply to
Miguel Gimenez

El dia del senyor de &DATE, al grup de news es.ciencia.electronica, en Jordi va escriure:

¿te has pensado lo que dices ?

me parece que por muy rápido que consigas enviar datos desde el PC al Z80, lo de simular el bus de datos de la ROM es un poco dificil ( que no imposible)

Debes de utilizar las señales de ready para hacer que el micro espere a que le envies la instrucción, y es recomendable que utilices algún tipo de señalización hacia el PC para que éste sepa que ese byte ya ha sido leido por el Z80.

Por otro lado, ten en cuenta que el bus de direcciones no servirá de nada a la hora de leer el programa.

Puedes hacer que el Z80 ejecute la secuencia de instrucciones que le envies por el puerto paralelo, pero olvídate de bucles, saltos condicionales, llamadas y retornos, y sobre todo, de las interrupciones.

La verdad, aparte de ejercicio didáctico, no le veo demasiada aplicación, y en ese caso con un simple latch tipo D hay bastante.

y en el caso de enviar dos datos diferentes por el mismo bit de un bus, o tienes suerte y aguantan los dos, o se funde uno de ellos o se finden ambos, pero hay una cosa segura, y es que no tienes datos.

--
--------------------
Albert Gonzalez
Reply to
Albert Gonzalez

Es mas conveniente que el sistema tenga una RAM que lees y escribes por acceso directo a memoria, si el PC genera el Clock lo puedes hacer correr paso a paso. Igualmente necesitas leer las señales de control, un solo 8255 no alcanza.

Eduardo.

Reply to
Eduardo

"Jordi" schreef in bericht news: snipped-for-privacy@posting.google.com...

Si hay dos salidas tratando de llevar a niveles contrarios de tension la misma linea el dato no sera valido y si la situacion se prolonga se daña una de las dos.

!WR y !RD como te decian son salidas. El uP las comanda.

uufffff! creo que tienes una vaga idea de lo que quieres hacer pero no sabes como lograrlo. Mejor que esa ocurrencia de PC como eprom te buscas un circuito emulador de memorias EPROM. Es todo un circuito que lo conectas donde deberia ir la memoria y gralmente via el port serie le cargas el programa que quieres que contenga...

winapis? yo conoci una una vez.....

Saludos, Dario

Reply to
Dario Kusters

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.