Sei sulla pagina 1di 7

06/09/2011

Contenido

Interfaz con Memoria

Comprobando la Intefaz
Memoria
Unidad 4
Microprocesadores
Interfaz con Memorias
Otoño 2011 Lentas

1 2

Ejemplo de un Sistema basado en


Microprocesadores Estructura de la Memoria
 La memoria esta CS RD WR
A15
Bus de Dirección
compuesta por un grupo
A0
de registros que A9
A8
almacenan información

Decodificador Interno
A7
Convertidor A/D

binaria
temperatura

A6
Calentador
Output Port 1

Output Port 2

Output Port 3
Ventilador

Sensor de
Input Port 1
EPROM

RAM

Si la memoria tiene 1024


LCD

 A5 1024 x 8
registros entonces A4
MPU A3
requiere 10 líneas de A2
D7
dirección A1
Bus de Datos  Cada registro almacena A0
D0

MEMRD datos de 8 bits


MEMWR
Lineas de Datos
IOWR
IORD
4

Lectura y Escritura del Memoria por el Z80


Conceptos básicos de la Interfaz a Memoria
 La función de la interfaz a memoria es permitir que el
Lectura Escritura microprocesador lea y escriba a un registro determinado
 La dirección de 16-bits es  La dirección de 16-bits es dentro del chip de memoria
puesta en el bus de puesta en el bus de  Para realizar estas operaciones, el microprocesador debe
direcciones direcciones  Ser capaz de seleccionar el chip
 La señal MREQ es puesta  La señal MREQ es puesta en  Un sistema basado en microprocesador cuenta con memoria ROM
en bajo para indicar que bajo para indicar que existe (para el programa) y memoria RAM (para datos)
existe una dirección valida una dirección valida en el  Identificar el registro
en el bus de direcciones bus de direcciones  La lectura o escritura se hace un registro a la vez porque solo se
 La señal RD es puesta en pueden transmitir 8 bits por el bus de datos
 La señal WR es puesta en
bajo para indicar que se bajo para indicar que se  Habilitar el buffer apropiado
desea realizar una lectura desea realizar una escritura  Existen dos buffers de entrada (escritura) y salida (lectura)

5 6

1
06/09/2011

Decodificador 2-a-4 Decodificador 74LS138

w0 A2 A1 A0 EN2 EN1 O0 O1 O2 O3 O4 O5 O6 O7
y0
0 0 0 0 1 0 1 1 1 1 1 1 1
w1
0 0 1 0 1 1 0 1 1 1 1 1 1
En w1 w0 y0 y1 y2 y3
w0 y0
y1 0 1 0 0 1 1 1 0 1 1 1 1 1
1 0 0 1 0 0 0
w1 y1 0 1 1 0 1 1 1 1 0 1 1 1 1
1 0 1 0 1 0 0
y2
1 1 0 0 0 1 0 1 0 0 0 1 1 1 1 1 0 1 1 1
En y3 y2
1 1 1 0 0 0 1
0 x x 0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 1 1
(a) Truth table (b) Graphical symbol 1 1 0 0 1 1 1 1 1 1 1 0 1
y3
1 1 1 0 1 1 1 1 1 1 1 1 0
En
X X X X 0 1 1 1 1 1 1 1 1
(c) Logic circuit
X X X 1 X 1 1 1 1 1 1 1 1

Decodificación de dirección Interfaz con Memoria


 La decodificación de una  La dirección de 16-bits debe ser usada para seleccionar
dirección debe resultar en un registro en particular
identificar un registro con  Para un chip de solo 1024 registros solo se necesitan 10
una dirección dada. líneas de dirección (A9 – A0)
 El decodificador debe ser F0H
capaz de dar un pulso  Por lo cual, las líneas de dirección se pueden dividir de la
único para cada dirección. siguiente manera
 Parte Alta (A15 – A10)
 La parte alta será usada para generar la señal Chip Select
 Parte Baja (A9 – A0)
 La parte baja será decodificada por el decodificador interno de la
memoria
F7H

9 10

Interfaz con Memoria Interfaz Alternativa


 El Z80 usa dos señales MREQ y RD para indicar que se
requiere leer de memoria Identifica el Registro
Dirección de Memoria Decodificador
 La señal MREQ puede combinarse con CS para generar en Memoria
(Parte Baja) Interno
MSEL
Dirección de Memoria Decodificador
Identifica el Registro CS
Dirección de Memoria Decodificador (Parte Alta) Externo
en Memoria
(Parte Baja) Interno
RD Habilita el buffer de
Dirección de Memoria Decodificador Selecciona el Chip lectura
(Parte Alta) Externo MREQ

Habilita el buffer de Habilita el buffer de


MREQ WR Escritura
lectura
RD
Habilita el buffer de
WR Escritura
11 12

2
06/09/2011

Resumen Ejemplo: Interfaz 2764 EPROM


 Conecta las líneas de dirección requeridas al chip de  EPROM 2764 cuenta con
memoria  8192 registros (8k × 8)
 Decodifica las líneas restantes para generar la señal CS  Señal Chip Select
 Combina la señal CS y MREQ para generar la señal MSEL etiquetada como (Chip
que seleccionara el chip adecuado Enable, CE)
 Conecta las señales RD y WR a las señal RD y WR del  Output Enable (OE) para
chip de memoria habilitar el buffer de salida
 Opera con una
 Un configuración alternativa es combinar RD y MREQ alimentación de 5V
para generar MEMRD. Combinar WR y MREQ para  Requiere pulsos de 21V
generar MEMWR para programarla.
13 14

Interfaz Interfaz entre Z80 y 2764


 Los pasos necesarios para conectar el Z80 y la memoria
son
 Paso 1
 Conectar las líneas de dirección necesarias
 Paso 2
 Decodificar las líneas de dirección restantes
 Paso 3
 Combina la decodificación y la señal MREQ para generar la
señal MSEL
 Paso 4
 Conecta las señales de control para habilitar el buffer
apropiado

15 16

Rango de Memoria Decodificador


 El rango de direcciones de la memoria ROM es el A7 A6 A5 A4 A3 A2 A1 A0
siguiente: 0 1 0 0 0 0 0 0 40H
0 1 0 0 0 0 0 1 41H

A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0


Bits sin Bits que
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000
Cambio Cambian
MSEL
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFF Líneas de Decodificación
Habilitación

41H
40H

17 18

3
06/09/2011

Ejercicio Ejercicio
 Proporciona la configuración del decodificador para  Proporciona la configuración del decodificador para
conectarse a las direcciones conectarse a las direcciones
 97H  E0H
 95H  C8H
A7 A6 A5 A4 A3 A2 A1 A0 A7 A6 A5 A4 A3 A2 A1 A0
1 0 0 1 0 1 1 1 97H 1 1 1 0 0 0 0 0 E0H
1 0 0 1 0 1 0 1 95H 1 1 0 0 1 0 0 0 41H

Bits sin Bits que Bits sin Bits que Bits sin
Cambio Cambian Cambio Cambian Cambio

Líneas de Decodificación Habilitación Decodificación Habilitación


Habilitación

19 20

Ejemplo: Interfaz RAM 6116 Interfaz


 RAM 6116 cuenta con  Los pasos necesarios para conectar el Z80 y la memoria
 2048 registros (2k × 8) son
 Señal Chip Select  Paso 1
etiquetada como (Chip  Conectar las líneas de dirección A10 – A0
Enable, CE)  Paso 2
 Output Enable (OE) para  La señal (CE) es conectada o O4, por lo cual el chip será
habilitar el buffer de salida seleccionado solo si A15-A13 es 100
 Write Enable (WE) para  Paso 3
habilitar el buffer de salida  La señal RD se conecta con OE y la señal WR con WE
 Opera con una
alimentación de 5V
21 22

Interfaz entre Z80 y 6116 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

1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8000
MSEL
1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 87FF
FOLDBACK MEMORY
1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 8800
0 1 1 1 1 1 1 1 1 1 1 1 1 8FFF
1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 9000
1 0 1 1 1 1 1 1 1 1 1 1 1 97FF
1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 9800
1 1 1 1 1 1 1 1 1 1 1 1 1 9FFF

23 24

4
06/09/2011

Ejercicio Solución
 Realice la interfaz entre el Z80 y el siguiente grupo de
MREQ 5V
memorias RD RD WR

 2732 (4K × 8): EPROM – El rango de direcciones debe A15


empezar en 0000H, considere 4K de memoria extra para CE OE CE OE WE
futuras expansiones
A14 A2 A11 A11 A10 A10
 6116 (2K × 8): CMOS RAM O2
2732 6116
 Utilice el decodificador de 3-a-8 (74LS138) A13 A1
4K× 8 2K× 8
O0
A12 A0 A0 A0 A0 A0
74LS138 D7 D0 D7 D0

Lineas de Datos Lineas de Datos

25 26

Interfaz Completa Probando la Interfaz


A15 - A12
0000  Los niveles lógicos en los buses cambian dinámicamente
A0 ROM debido a la operación que el microprocesador este efectuado.
Decoder
0FFF

CE
1000 Reservado  Por lo cual, es difícil poder checar pin a pin que las conexiones
CE
para estén realizadas correctamente.
2732 6116 Expansión
1FFF
4K× 8 A10 2K× 8
A11 2000
RAM  El método comúnmente usado consiste en inyectar una señal
OE OE WE 27FF
A0 A0 conocida dentro del sistema y detectarla
2800 Foldback
D7 Memory
2FFF
D0 3000
 Para utilizar este método debemos generar una señal
identificable y constante y checar varios puntos en relación
RD Sin Usar
con esta señal
WR
FFFF

27 28

Probando la Interfaz Probando la Interfaz


 Podemos genera esta señal por medio de la ejecución de  Asumiendo que la frecuencia de reloj es 2MHz, cada t-
un lazo continuo llamado RUTINA DE DIAGNOSTICO estado se ejecuta en 0.5µs
START: LD A,F7H ; Carga F7H en el acumulador
LD (2000H),A ; Almacena el numero en la 2000H
 Todo el ciclo se ejecuta en (7+13+20)×0.5µs = 15µs
JP START ; Salta de regreso a START
 La señal de escritura será puesta a cero cada 15µs
Ciclos de Maquina
Instrucciones Bytes T-States  Si el decodificador y las conexiones están bien realizadas,
M1 M2 M3 M4
cuando la señal de escritura sea cero, los bits A15-A12
Opcode Lectura
LD A,F7H 2 7 (4,3)
Fetch Memoria
deben ser 0010.
LD (2000H),A 3 13 (4,3,3,3)
Opcode Lectura Lectura Escritura  El resto de los bits deben ser cero en el bus de
Fetch Memoria Memoria Memoria
direcciones
Opcode Lectura Lectura
JP START 3 10 (4,3,3)  En el bus de datos debe leerse F7H
Fetch Memoria Memoria

29 30

5
06/09/2011

Instrucciones Bytes T-States


LD A,F7H 2 7 (4,3)
Probando la Interfaz LD (2000H),A 3 13 (4,3,3,3)
Tiempo de Acceso a Memoria
JP START 3 10 (4,3,3)  El opcode fetch es el que impone una mayor restriccion
ya que el Z80 lee el dato en el flanco de subida de T3
 El ciclo de lectura de memoria lee el dato en el flanco de
bajada de T3
 TAD es el intervalo entre el tiempo en que el Z80 pone
una dirección de memoria en el bus de direcciones y el
tiempo en el que lee el dato
 En un sistema de 2.5 MHz (400 ns) el intervalo TAD es
TAD = (2 × T ) − TD ( AD ) − TSD
= 2 × 400ns − 145ns − 50ns
31 32

Tiempo de Acceso a Memoria Tiempo de Acceso a Memoria


OPCODE  La respuesta de memoria se define en términos del
FETCH
acceso a memoria TAC.
TD(AD) es el  TAC es el retardo entre el tiempo en el que la dirección
tiempo en el que
se pone una de memoria es puesta en el bus de direcciones y el
dirección valida tiempo en el que dato es puesto en el bus de datos

TSD es el tiempo
en el que se
pone una dato
valido
33 34

Generando Estados de Espera Generando Estados de Espera


 Algunas veces por cuestiones de costo se utilizan  Características de la señal WAIT
memoria de acceso lento  Esta señal es muestreada en el flanco de bajada de T2 de cada
ciclo de maquina
 Si la señal esta en bajo se suma un ciclo de reloj de espera al
 En estos casos el tiempo de acceso TAC es mayor al
ciclo de maquina
tiempo permitido para leer el dato TAD por lo cual se
 Al final de cada ciclo de espera TW muestrea la señal WAIT en
requiere de la señal WAIT para alargar el intervalo de
caso de seguir en bajo vuelve a introducir otro ciclo. Este
lectura de datos proceso es realizado hasta que la señal WAIT cambia a alto
 Durante el tiempo de espera, el Z80 conserva el contenido de
 La señal WAIT tiene la siguiente características: todos las buses y las señales de control se extienden.
 Es una señal activa en bajo
 Es una señal de solicitud externa usada para dispositivos lentos

35 36

6
06/09/2011

Generando Estados de Espera Generando Estados de Espera


 La señal WAIT será muestreada al termino del ciclo T2  MREQ se encuentra en alto a menos que el Z80 realice
 La señal MREQ es baja en el flanco de bajada de T1, por un acceso a memoria.
lo cual esta señal puede ser usada para generar la señal
WAIT

37 38

Generando Estados de Espera Interfaz con Memorias Lentas

39 40

Potrebbero piacerti anche