Buscar este blog

domingo, 10 de agosto de 2014

Sistema minimo con microprocesador Z80 capitulo 1

5 comentarios
Los microprocesadores son dispositivos digitales encargados de ejecutar los programas que se almacenan en una unidad de memoria. El microprocesador solo puede ejecutar instrucciones de bajo nivel ( ceros y unos) realizando operaciones aritmeticas y logicas, accediendo a memoria ó mover datos de registros a registros.

Los microprocesadores estan constituidos esencialmente de registros, unidad de control, ALU (unidad logica aritmetica), bus de datos, bus de direcciones etc...

El microprocesador que vamos a estar estudiando en este post es el viejo y famoso Z80 con este microprocesador vamos a implementar el armado de un sistema minimo que en realidad es una computadora completa. El sistema minimo que vamos a implementar se basa en la arquitectura Von Neumann el cual consta de reloj, un microprocesador, memoria ROM de programa, memoria RAM de datos, puertos de entrada y salida y dispositivos perifericos. El microprocesador puede ejecutar programas en ensamblador e interactuar con dispositivos externos o con el usuario.

El diagrama a bloques del sistema minimo a armar es el siguiente.


Antes de implementar el sistema minimo debemos advertir  que los dispositivos empleados son de tecnologia CMOS y NMOS por lo que son sensibles a las descargas de voltaje y podria ocacionar daños a los dispositivos para esto se sugiere al usuario descargarse previamente sobre algun objeto metalico y tomar los dispositivos por los extremos y no por las terminales, tambien se puede sugerir tener un brazalete especial con el fin de estar siempre aterrizado.

Para empezar ha armar el sistema minimo basado en el microprocesador Z80 nos basaremos en varios capitulos ya que el armado final resulta ser un circuito moderadamente grande y que nos llevara algun tiempo armarlo. Para este capitulo empezaremos armando el circuito de reloj y el circuito de reset.

Generador de reloj para Z80

El generador de reloj para el sistema minimo es el encargado de proporcionar una señal digital con una frecuencia determinada por el microprocesador en cuestion. Otras caracteristicas importantes, tales como el ciclo de trabajo  que es el tiempo en que la señal esta en estado alto (th) en relacion al periodo de la señal (T) tal y como se muestra a continuacion.

    


La señal generada por el reloj actua como sincronia para el microprocesador el cual ejecuta las instrucciones de programas e interactua con los elementos que conforman el sistema tales como la memoria ROM y  RAM las entradas/salidas digitales, a cado pulso de reloj que se va generando se va ejecutando las instrucciones en el microprocesador.

Una forma para generar la señal de reloj es por medio de compuertas logicas retroalimentadas usando resistencias y capacitores como se muestra en la figura utilizando compuertas NOT.




Aunque tambien se puede emplear cristales  de cuarzo para tener mayor estabilidad en la frecuencia. En la siguiente figura se muestra un circuito que utiliza un cristal de cuarzo a 4 Mhz garantizando frecuencias mas estables.


Otro generador de reloj que se puede implementar es el circuito temporizador 8224 que proporciona dos fases de reloj, una señal READY en combinacion con el segundo reloj y la propia señal READY.
Otro circuito integrado que se puede utilizar es el 8284 el cual proporciona la temporizacion y dos señales de control para los microprocesadores. El circuito del 8284 es el siguiente.


En este capitulo se va sugerir el armado del generador de reloj utilizando las compuertas NOT por lo que acontinuacion se dara la lista de materiales a requerir.

2 resistencias de 10kilo ohms a 1/4 watt
1 capacitor de 0.001 uf
1 capacitor de 0.01 uf
1 capacitor 470 uf
1 circuito integrado 74ls04
1 cristal de 4Mhz.

Se sugiere armar alguno de los dos circuitos mostrados con el material dado. El tercer circuito se sugiere armar solo si requiere mayor presicion.

Recuerde alimentar el circuito integrado con 5 volts.


Circuito de auto reset y el  microprocesador Z80


En el microprocesador Z80 la señal de reset  se utiliza para llevar al microprocesador a un estado conocido. Esta señal de reset inicia al Z80 de forma interna  del siguiente modo.

Limpia el Flip Flop asociado con las interrupciones mascarables.
Limpia el registro de contador de programa "PC"  y los registros de interrupcion "l"  y de refresco de memoria "R".
Selecciona el modo "O" de interrupcion mascarable.
Deshabilita las interrupciones mascarables.

De forma externa la señal de reset se refleja en el estado de algunas de sus señales como se indica.

El bus de direcciones y de datos se pone en alta impedancia mientras la señal de reset esta activa.
Todas las señales de salida del bus de control se mantienen  inactivas. 

Para que la inicializacion sea exitosa la señal de reset debe de mantenerse en bajo por lo menos 3 ciclos completos de reloj. El circuito de reset se implementa por medio de una malla "RC" que mantiene un cero logico mientras el capacitor se encuentra descargado despues de 5t (constantes de tiempo), el capacitor es carga 99.3% del voltaje de alimentacion, lo que produce que la señal de reset pase a inactiva. Para que la señal de reset se mantega en bajo los 3 ciclos  de reloj se requiere que el voltaje de carga  del capacitor se mantega por debajo del voltaje "Vil" considerado como cero logico.



La carga del capacitor esta dada por

 
 Por lo que el tiempo necesario para alcancar Vil es de


 Si se cumplen estas condiciones el microprocesador Z80 mantendra el tiempo necesario para el auto reset al alimentar el circuito completo.

A medida el microprocesador se requerira resetearlo de forma manual por lo que es conveniente agregarle un push button en paralelo al capacitor para poderlo descargar y lograr la condicion en estado bajo mientras el push button este oprimido cuando este se deje de pulsar el capacitor volvera a cargarse y regresara al estado alto a su condicion previa del reset.


A continuacion se vera como implementar el circuito de reset y el microprocesador Z80, el material necesario para implementar esta parte del circuito es el siguiente.

1 capacitor de 0.1 uf
1 resistencia de 1 kilo ohm a 1/4 watt
1 push button normalmente abierto
1 diodo 1n4001
1 microprocesador Z80

El diagrama siguiente es como se debe implementar el armado del circuito.

 

En el siguiente diagrama se ve ya acoplado el circuito de reloj que armamos previamente.





En el siguiente capitulo proseguiremos el armado de nuestro sistema minimo explicaremos y adicionaremos la memoria EEPROM o de programa.

Electronica facilita