interfaz de memoria
TRANSCRIPT
![Page 1: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/1.jpg)
Interfaz de Memoria
Rogelio Pérez Martín
Cesar Eduardo Sánchez Sánchez
Ulises Omar Velázquez Domínguez
Cristian David Rodríguez Pérez
1
![Page 2: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/2.jpg)
Contenido
2
Interfaz con Memoria
Comprobando la Interfaz
![Page 3: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/3.jpg)
Estructura de la Memoria La memoria RAM
esta compuesta por un grupo de registros que almacenan información binaria
Si la memoria tiene 1024 registros entonces requiere 10 líneas de dirección
Cada registro almacena datos de 8 bits
1024 x 8
Deco
dific
ador
Inte
rno
A9
A8
A7
A6
A5
A4
A3
A2
A1
A0
Lineas de Datos
CS RD WR
3
![Page 4: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/4.jpg)
Lectura y Escritura del Memoria por el Z80
Lectura Escritura
4
La dirección de 16-bits es puesta en el bus de direcciones
La señal MREQ es puesta en bajo para indicar que existe una dirección valida en el bus de direcciones
La señal RD es puesta en bajo para indicar que se desea realizar una lectura
La dirección de 16-bits es puesta en el bus de direcciones
La señal MREQ es puesta en bajo para indicar que existe una dirección valida en el bus de direcciones
La señal WR es puesta en bajo para indicar que se desea realizar una escritura
![Page 5: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/5.jpg)
Conceptos básicos de la Interfaz a Memoria
5
La función de la interfaz a memoria es permitir que el microprocesador lea y escriba a un registro determinado dentro del chip de memoria
Para realizar estas operaciones, el microprocesador debe Ser capaz de seleccionar el chip
Un sistema basado en microprocesador cuenta con memoria ROM (para el programa) y memoria RAM (para datos)
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
Habilitar el buffer apropiado Existen dos buffers de entrada (escritura) y salida
(lectura)
![Page 6: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/6.jpg)
Ejemplo de un Sistema basado en Microprocesadores
MPU
EPR
OM
RA
M
Outp
ut
Port
1
Venti
lador
Cale
nta
dor
LCD
Convert
idor
A/D
Outp
ut
Port
2
Outp
ut
Port
3
Input
Port
1
Senso
r de
tem
pera
tura
Bus de Dirección
Bus de Datos
A15
A0
D7
D0
MEMRD
MEMWR
IOWR
IORD
![Page 7: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/7.jpg)
Interfaz con Memoria
7
La dirección de 16-bits debe ser usada para seleccionar un registro en particular
Para un chip de solo 1024 registros solo se necesitan 10 líneas de dirección (A9 – A0)
Por lo cual, las líneas de dirección se pueden dividir de la 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
![Page 8: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/8.jpg)
Interfaz con Memoria
8
El Z80 usa dos señales MREQ y RD para indicar que se requiere leer de memoria
La señal MREQ puede combinarse con CS para generar MSEL
Dirección de Memoria (Parte
Baja)Dirección de
Memoria (Parte Alta)
MREQ
RD
WR
Decodificador Interno
Decodificador Externo
Identifica el Registro en Memoria
Selecciona el Chip
Habilita el buffer de lecturaHabilita el buffer de Escritura
![Page 9: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/9.jpg)
Interfaz Alternativa
9
Dirección de Memoria (Parte
Baja)Dirección de
Memoria (Parte Alta)
MREQ
RD
WR
Decodificador Interno
Decodificador Externo
Identifica el Registro en Memoria
CS
Habilita el buffer de lectura
Habilita el buffer de Escritura
![Page 10: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/10.jpg)
Resumen
10
Conecta las líneas de dirección requeridas al chip de memoria
Decodifica las líneas restantes para generar la señal CS
Combina la señal CS y MREQ para generar la señal MSEL que seleccionara el chip adecuado
Conecta las señales RD y WR a las señal RD y WR del chip de memoria
Un configuración alternativa es combinar RD y MREQ para generar MEMRD. Combinar WR y MREQ para generar MEMWR
![Page 11: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/11.jpg)
0 0 1 1
1 0 1
y 0 w 1
0
w 0
x x
1 1
0
1 1
En
0 0 0
1
0
y 1
1 0 0
0
0
y 2
0 1 0
0
0
y 3
0 0 1
0
0
(a) Truth table
w 0
En
y 0 w 1 y 1
y 2 y 3
(b) Graphical symbol
(c) Logic circuit
w 1
w 0
y 0
y 1
y 2
y 3
En
2-to-4 decoder
![Page 12: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/12.jpg)
Decodificación de dirección
12
La decodificación de una dirección debe resultar en identificar un registro con una dirección dada.
El decodificador debe ser capaz de dar un pulso único para cada dirección.
![Page 13: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/13.jpg)
Ejemplo: Interfaz 2764 EPROM
13
EPROM 2764 cuenta con
8192 registros (8k × 8)
Señal Chip Select etiquetada como (Chip Enable, CE)
Output Enable (OE) para habilitar el buffer de salida
Opera con una alimentación de 5V
Requiere pulsos de 21V para programarla.
![Page 14: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/14.jpg)
Interfaz
14
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
![Page 15: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/15.jpg)
Interfaz entre Z80 y 2764
15
![Page 16: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/16.jpg)
Rango de Memoria
16
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
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000
MSEL
0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1FFF
![Page 17: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/17.jpg)
Ejemplo: Interfaz RAM 6116
17
RAM 6116 cuenta con
2048 registros (2k × 8)
Señal Chip Select etiquetada como (Chip Enable, CE)
Output Enable (OE) para habilitar el buffer de salida
Write Enable (WE) para habilitar el buffer de salida
Opera con una alimentación de 5V
![Page 18: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/18.jpg)
Interfaz
18
Los pasos necesarios para conectar el Z80 y la memoria son
Paso 1 Conectar las líneas de dirección A10 – A0
Paso 2 La señal (CE) es conectada o O4, por lo cual el
chip será seleccionado solo si A15-A13 es 100 Paso 3
La señal RD se conecta con OE y la señal WR con WE
![Page 19: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/19.jpg)
Interfaz entre Z80 y 6116
19
![Page 20: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/20.jpg)
Rango de Memoria
20
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
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
FOLDBACK MEMORY
![Page 21: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/21.jpg)
Interfaz Completa
21
27324K× 8
CE
OE
A11
A0
61162K× 8A10
A0
CE
OE WE
Decoder
A14 - A12
A15
D7
D0
RD
WR
ROM
Reservado para
Expansión
RAM
Foldback Memory
Sin Usar
0000
0FFF
1000
1FFF2000
27FF
2800
2FFF3000
FFFF
![Page 22: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/22.jpg)
Probando la Interfaz
22
Los niveles lógicos en los buses cambian dinámicamente debido a la operación que el microprocesador este efectuado.
Por lo cual, es difícil poder checar pin a pin que las conexiones estén realizadas correctamente.
El método comúnmente usado consiste en inyectar una senal conocida dentro del sistema y detectarla
Para utilizar este método debemos generar una señal identificable y constante y checar varios puntos en relación con esta señal
![Page 23: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/23.jpg)
Probando la Interfaz
23
Podemos genera esta señal por medio de la ejecución de un lazo continuo llamado RUTINA DE DIAGNOSTICO
START: LD A,F7H ; Carga F7H en el acumulador
LD (2000H),A ; Almacena el numero en la 2000H
JP START ; Salta de regreso a START
Instrucciones
Bytes T-States
Ciclos de Maquina
M1 M2 M3 M4
LD A,F7H 2 7 (4,3) Opcode Fetch
Lectura Memoria
LD (2000H),A 3 13
(4,3,3,3)Opcode Fetch
Lectura Memoria
Lectura Memoria
Escritura Memoria
JP START 3 10 (4,3,3)
Opcode Fetch
Lectura Memoria
Lectura Memoria
![Page 24: Interfaz de memoria](https://reader034.vdocumento.com/reader034/viewer/2022052506/5571f87649795991698d7dbc/html5/thumbnails/24.jpg)
Probando la Interfaz
24
Asumiendo que la frecuencia de reloj es 2MHz, cada t-state se ejecuta en 0.5µs
Todo el ciclo se ejecuta en (7+13+20)×0.5µs = 15µs
La señal de escritura será puesta a cero cada 15µs Si el decodificador y las conexiones están bien
realizadas, cuando la señal 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