Tecnófilos
  Inicio       Proyectos       Energías Renovables       Manuales             Videos      

Foro

      Contacto  
   

 

Emulador de Eprom 27C256.

 

Este proyecto fue realizado en 1998 y lleva 10 años trabajando sin ningún fallo. Solamente se realizó una mejora en el interfaz después de 5 años de uso continuado. Se trata de un emulador de eprom y ha sido utilizado para comprobar en tiempo real los programas escritos en ensamblador para los microcontroladores 80C31/32/51/52 y 8085. El programa está escrito en el antiguo Turbo C++ 3.0, y se trata de un editor y compilador ( TASM30 ) de código ensamblador. Después se vuelca el programa a la memoria ram a través del puerto paralelo y ya se puede ejecutar en tiempo real sobre el procesador que se esté utilizando en una placa de circuito impreso para algún prototipo. Una vez que se ha terminado y depurado el programa se puede pasar a su grabación para luego insertar en su prototipo final. El uso de estas viejas tecnologías de los años 80 nos permite crear sistemas microprocesadores ultrabaratos y completamente reciclados para prácticamente cualquier cosa que necesitemos.

Emulador.

Fig. 1. Detalle del montaje.

No me avergüenza en absoluto montar los circuitos así, puesto que he realizado cientos de prototipos con este método y han funcionado perfectamente sin ningún problema,. además de ser un sistema extremadamente economico y 100% reciclable. Solamente se deberá tener en cuenta en montar las alimentaciones en estrella y filtrar adecuadamente los integrados con condensadores de 100 nF cerámicos. Con uno de estos por cada dos o tres es más que suficiente. Si se añade un plano de masa debajo conectado a negativo y se utilizan hilos lo más cortos posibles y moderadamente gruesos ( para minimizar la inductancia parásita de los cables ) el montaje funciona a las mil maravillas.

Mas de una vez he montado un circuito que estaba "alambrado" que funcionaba perfectamente en circuito impreso y no ha funcionado. La eprom que se emula es una 27C256 ( 32 kb ) y se ha utilizado para ello una clásica y vieja memoria 62C256. Se puede utilizar cualquier vieja memoria caché empleadas en el proyecto del analizador lógico. El esquema que suministro es el correspondiente al control del emulador utilizando la tarjeta isa de 48 bit de entrada. Todo el sistema se ha montado con el barato sistema de alambrado y se han reciclado todos los integrados y la caja con la fuente de alimentación de una lectora de CD ROM para puerto paralelo.

Esquema.

Fig. 2. Esquema.

El montaje del esquema estuvo en principio conectada a la tarjeta ISA de 48 bit de un anterior proyecto, pero para conectarla al puerto paralelo se tienen que realizar las siguientes modificaciones:

PB0 del esquema se conecta a la patilla 1 Strobe del puerto paralelo. Controla los impulsos de reloj al contador que carga la nueva dirección de datos.

PB1 del esquema se conecta a la patilla 23 Init del puerto paralelo. Controla el reset de los contadores binarios síncronos. ( 74161 ).

PB2 del esquema se conecta a la patilla 14 Autofeed del puerto paralelo. Controla la escritura en la ram del dato actual.

PB3 del esquema se conecta a la patilla 18 Select del puerto paralelo. Controla el modo del emulador. Si vale 0 estamos en modo Telecargar datos del PC al emulador y si vale 1 estamos en emulación.

PA0 ... PB7 del esquema se conectan a las ocho patillas de datos del puerto paralelo ( patillas 2 a 9 ).

Se deben de colocar resistencias de pull-up de 4,7 k entre dichas entradas y el positivo de alimentación. Esto, unido a una longitud corta del cable ( 0,5 m o menos ) garantiza una transmisión limpia de las señales digitales del ordenador a la tarjeta. Yo he utilizado tecnología LS pero se puede utilizar HC si se desea un bajo consumo. El puerto está siendo utilizado en su modo unidireccional más básico SPP ( Standard Paralell Port ), lo cual lo hace compatible con cualquier ordenador por viejo que sea.

Programa.

Fig. 3. Pantalla principal del programa. Descargar aquí.

Explicación de los comandos del programa emulador.

Ficheros: Escribir el nombre del fichero de trabajo. Puede ponerse un nombre nuevo o abrir algún archivo. Al pulsar la tecla Enter se generarán todas las extensiones del proyecto. Extensión .ASM ( fichero fuente escrito en ensamblador ). Fichero .LST. ( fichero que genera el compilador). Fichero .OBJ: Código compilado objeto en código binario puro.

Editar .ASM: Abre el fichero .ASM para escribir código.

Editar .LST: Abre el fichero .LST.

Telecargar: Envia el código compilado a la memoria del emulador.

Compilar: Compila el código fuente.

Repertorio de instrucciones: Resumen de las instrucciones básicas de programación de la CPU's ordenadas por grupos de instrucciones. Solo disponible para el micro 8051.

Información de CPU: Información relativa a patillaje.

Listado de ASM's: Listado de todos los ficheros con extensión ASM en el directorio donde se encuentre el programa.

F6: Crea un fichero completo de 32 kb para poder volcar a la eprom con cualquier grabado. ( por ejemplo el Willem ).

F7: Salida a ventana de MS-DOS.

F8: Conmuta entre el tipo de micro usado. 8085 o 8031/32/51/52.

El emulador funciona en MS-DOS y bajo una ventana de Windows 98. Sobre los demás sistemas operativos, funciona todo menos el acceso a los puertos, ya que a partir de Windows 98 los puertos están ocultos bajo la api, y es necesario la utilización de controladores. No he ampliado a Windows, por que utilizo un viejo ordenador para trabajar con el emulador y si una cosa funciona hay una regla que dice que no debe ser tocada.

Si alguien se decide a programar el emulador sobre entorno windows, le enviaré por correo electrónico el código fuente del programa, con tal de que cree un software totalmente libre de distribución para beneficio de todos los hobistas del mundo.

Código.

Fig. 4. Programa ensamblador.

Instrucciones.

Fig. 5. Repertorio de instrucciones.