Professional Documents
Culture Documents
Contenido
Comprobando la Intefaz
Memoria Unidad 4
Microprocesadores Otoo 2011
Estructura de la Memoria
La memoria esta compuesta por un grupo de registros que almacenan informacin binaria Si la memoria tiene 1024 registros entonces requiere 10 lneas de direccin Cada registro almacena datos de 8 bits
4
CS RD WR
Bus de Direccin
A0
MPU
D7 D0 MEMRD MEMWR IOWR IORD
Bus de Datos
A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Decodificador Interno
Convertidor A/D
Sensor de temperatura
Calentador
Output Port 1
Output Port 2
Output Port 3
Ventilador
Input Port 1
EPROM
RAM
LCD
1024 x 8
Lineas de Datos
La direccin de 16-bits es puesta en el bus de direcciones La seal MREQ es puesta en bajo para indicar que existe una direccin valida en el bus de direcciones La seal RD es puesta en bajo para indicar que se desea realizar una lectura
5
Identificar el registro
La lectura o escritura se hace un registro a la vez porque solo se pueden transmitir 8 bits por el bus de datos
06/09/2011
Decodificador 2-a-4
w0 y0 w1 En w1 w0 1 1 1 1 0 0 0 1 1 x 0 1 0 1 x y0 y1 y2 y3 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 w0 w1 En y0 y1 y2 y3 y1
Decodificador 74LS138
A2 0 0 0 0
y2
A1 0 0 1 1 0 0 1 1 X X
A0 EN2 EN1 0 1 0 1 0 1 0 1 X X 0 0 0 0 0 0 0 0 X 1 1 1 1 1 1 1 1 1 0 X
O0 0 1 1 1 1 1 1 1 1 1
O1 1 0 1 1 1 1 1 1 1 1
O2 1 1 0 1 1 1 1 1 1 1
O3 1 1 1 0 1 1 1 1 1 1
O4 1 1 1 1 0 1 1 1 1 1
O5 1 1 1 1 1 0 1 1 1 1
O6 1 1 1 1 1 1 0 1 1 1
O7 1 1 1 1 1 1 1 0 1 1
1 1 1 1 X X
Decodificacin de direccin
La decodificacin de una direccin debe resultar en identificar un registro con una direccin dada. El decodificador debe ser capaz de dar un pulso nico para cada direccin.
Interfaz Alternativa
Identifica el Registro en Memoria
WR
06/09/2011
Resumen
Conecta las lneas de direccin requeridas al chip de memoria Decodifica las lneas restantes para generar la seal CS Combina la seal CS y MREQ para generar la seal MSEL que seleccionara el chip adecuado Conecta las seales RD y WR a las seal RD y WR del chip de memoria Un configuracin alternativa es combinar RD y MREQ para generar MEMRD. Combinar WR y MREQ para generar MEMWR
13
Interfaz
Los pasos necesarios para conectar el Z80 y la memoria son Paso 1
Conectar las lneas de direccin necesarias
Paso 2
Decodificar las lneas de direccin restantes
Paso 3
Combina la decodificacin y la seal MREQ para generar la seal MSEL
Paso 4
Conecta las seales de control para habilitar el buffer apropiado
15 16
Rango de Memoria
El rango de direcciones de la memoria ROM es el siguiente:
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Decodificador
A7 0 0 A6 1 1 A5 0 0 A4 0 0 A3 0 0 A2 0 0 A1 0 0 A0 0 1 40H 41H
0 MSEL
0000
1FFF
41H 40H
17
18
06/09/2011
Ejercicio
Proporciona la configuracin del decodificador para conectarse a las direcciones
97H 95H
A7 1 1 A6 0 0 A5 0 0 A4 1 1 A3 0 0 A2 1 1 A1 1 0 A0 1 1 97H 95H
Ejercicio
Proporciona la configuracin del decodificador para conectarse a las direcciones
E0H C8H
A7 1 1 A6 1 1 A5 1 0 A4 0 0 A3 0 1 A2 0 0 A1 0 0 A0 0 0 E0H 41H
Interfaz
Los pasos necesarios para conectar el Z80 y la memoria son Paso 1
Conectar las lneas de direccin A10 A0
Paso 2
La seal (CE) es conectada o O4, por lo cual el chip ser seleccionado solo si A15-A13 es 100
Paso 3
La seal RD se conecta con OE y la seal WR con WE
22
Rango de Memoria
El rango de direcciones de la memoria RAM es el siguiente:
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 MSEL
8000
87FF
FOLDBACK MEMORY
1 0 0 0 0 1 0 0 1 1 1 0 0 1 1
23 24
1 1 0 0 1 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
0 1 0 1 0 1
06/09/2011
Ejercicio
Realice la interfaz entre el Z80 y el siguiente grupo de memorias
2732 (4K 8): EPROM El rango de direcciones debe empezar en 0000H, considere 4K de memoria extra para futuras expansiones 6116 (2K 8): CMOS RAM Utilice el decodificador de 3-a-8 (74LS138)
Solucin
MREQ A15 CE A14 A13 A12 A2 O2 A1 A0 74LS138 O0 A0 A0 D7 D0 A11 A11 2732 4K 8 A0 A0 D7 D0 OE A10 CE A10 6116 2K 8 OE WE 5V RD RD WR
Lineas de Datos
Lineas de Datos
25
26
Interfaz Completa
A15 - A12 A0
Probando la Interfaz
0000 ROM 0FFF 1000
6116 2K 8 OE WE
Decoder
Los niveles lgicos en los buses cambian dinmicamente debido a la operacin que el microprocesador este efectuado. Por lo cual, es difcil poder checar pin a pin que las conexiones estn realizadas correctamente. El mtodo comnmente usado consiste en inyectar una seal conocida dentro del sistema y detectarla Para utilizar este mtodo debemos generar una seal identificable y constante y checar varios puntos en relacin con esta seal
28
CE 2732 4K 8 OE
CE
A11 A0 D7 D0
A10
RAM
Foldback Memory
A0
RD WR
27
Sin Usar
FFFF
Probando la Interfaz
Podemos genera esta seal por medio de la ejecucin de un lazo continuo llamado RUTINA DE DIAGNOSTICO
START: LD A,F7H LD (2000H),A JP START ; Carga F7H en el acumulador ; Almacena el numero en la 2000H ; Salta de regreso a START Ciclos de Maquina M1
Opcode Fetch Opcode Fetch Opcode Fetch
Probando la Interfaz
Asumiendo que la frecuencia de reloj es 2MHz, cada testado se ejecuta en 0.5s Todo el ciclo se ejecuta en (7+13+20)0.5s = 15s La seal de escritura ser puesta a cero cada 15s Si el decodificador y las conexiones estn bien realizadas, cuando la seal de escritura sea cero, los bits A15-A12 deben ser 0010. El resto de los bits deben ser cero en el bus de direcciones En el bus de datos debe leerse F7H
30
Bytes 2 3 3
M2
Lectura Memoria Lectura Memoria Lectura Memoria
M3
M4
Escritura Memoria
06/09/2011
Instrucciones
Bytes 2 3 3
Probando la Interfaz
TAD = (2 T ) TD ( AD ) TSD
36
06/09/2011
37
38
39
40