Download La Unidad de Memoria y su conexión al μP - fc

Document related concepts
no text concepts found
Transcript
Microprocesadores
La Unidad de Memoria y su
conexión al µP
Carlos Canto Q.
Microprocesadores
Forma en el que el µP realiza una operación de escritura de
memoria
Bus de Direcciones
Dirección
Direcciónde
dememoria
memoriade
de16
16bits
bits
A15-A0
11
Datos
22
D7-D0
Chip de Memoria
Decodificacióndedememoria
memoria
Decodificación
µP
µP
Bus de Datos
33
MEMWR
Escritura de Memoria
1.-Pone en el bus de
direcciones la
direcció
dirección de 16 bits
de la localidad de
memoria donde un
byte va a ser
almacenado.
2.-Deposita el byte en el
bus de datos.
3.3.- Enví
Envía la señ
señal de
control de escritura
de memoria para
habilitar el buffer de
entrada de la
memoria y almacena
el byte.
Carlos Canto Q.
Microprocesadores
Forma en el que el µP realiza una operación de lectura de
memoria
Bus de Direcciones
Dirección
Direcciónde
dememoria
memoriade
de16
16bits
bits
A15-A0
11
Datos
33
D7-D0
Chip de Memoria
Decodificacióndedememoria
memoria
Decodificación
µP
µP
Bus de Datos
22
MEMRD
Lectura de Memoria
1.-Pone en el bus de
direcciones la
direcció
dirección de 16 bits de
la localidad de memoria
donde esta byte que va
a ser leido.
leido.
2.2.- Enví
Envía la señ
señal de
control de lectura de
memoria para habilitar
el buffer salida del chip
de la memoria .
3.-el chip de memoria
deposita el byte de
datos en el bus de
datos de donde el µP
toma o lee el dato
Carlos Canto Q.
Microprocesadores
Escribiendo a un registro de la Memoria
Carlos Canto Q.
Microprocesadores
CICLOS DE MÁQUINA DE LECTURA Y ESCRITURA
DE MEMORIA
IN
OUT
Carlos Canto Q.
Microprocesadores
Arquitectura interna de una Memoria
En la figura se observa la estructura bá
básica de una memoria de 1K
de 4 bits, en la cual se indican sus partes bá
básicas.
Carlos Canto Q.
Microprocesadores
Un chip de memoria de Lecto/Escritura típico de 1 k (RAM)
CS RD WR
•
LÍNEAS DE
DIRECCIONES
Decodificadorinterno
interno
Decodificador
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
1024X8
1024X8
Una memoria requiere
líneas de dirección para
identificar un registro de
memoria, una señal de
chip select (CS) para
habilitar el chip y
señales de control para
leer de o para escribir
en los registros de la
memoria
LÍNEAS DE DATOS
DE E/S
Carlos Canto Q.
Microprocesadores
Configuración de terminales y símbolo lógico de la memoria estática R/W
CMOS 6116
PINS DEL CHIP
CE WE OE
A10
Bus de
direcciones
A7 1
A6 2
24 Vcc
23 A8
A5 3
A4 4
22 A9
21 WE
20 OE
A3 5
A2 6
CMOS
6116
A1 7
17 DQ7
16 DQ6
A0 8
DQ0 9
A0
Datos
E/S
CS
WE
OE
BUS DE DATOS
1
x
x
TRI-STATE
1
1
1
TRI-STATE
0
0
1
ENTRADA
0
1
0
SALIDA
19 A10
18 CE
15 DQ5
DQ1 10
DQ2 11
Vss 12
14 DQ4
13 DQ3
Nombre de los terminales
A0-A10
Entradas de
Direcciones
VCC
Potencia(+5)
CE
Chip Enable
WE
Write Enable
VSS
Ground
OE
Output Enable
DQ0-DQ7
Data In/Data Out
Carlos Canto Q.
Microprocesadores
SRAM MCM6264C
Características Técnicas
Referencia
MCM6264C
Tipo
SRAM
Capacidad (bits)
8192 X 8
Tipo de salida
5V
Tiempos de Acceso
12/15/20/25/35 ns
Encapsulado
DIL-28
Carlos Canto Q.
Microprocesadores
Configuración de terminales y símbolo lógico de la memoria EPROM 2764
A12
OE
CE
PINS DEL CHIP
Líneas de
direcciones
A0
Líneas
de datos
1. X puede ser VIH o VIL
2. VH=12 v+0.5
-
Selección de Modo
CE
(20)
OE
(22)
PGM
(27)
A9
(24)
Vpp
(1)
Vcc
(28)
SALIDAS
(11-13,
15-19)
Read
VIL
VIL
VIH
X
VCC
VCC
DOUT
Output disable
VIL
VIH
VIH
X
VCC
VCC
High Z
standby
VIH
X
X
X
VCC
VCC
High Z
Program
VIL
VIH
VIL
X
VPP
VCC
DIN
Verify
VIL
VIL
VIH
X
VPP
VCC
Program inhibit
VIH
X
X
X
VPP
VCC
PINS
MODE
VPP
1
28
A12
A7
A6
A5
A4
A3
2
27
3
26
4
25
5
24
6
23
A2
A1
A0
Q0
Q1
Q2
GND
8
7
2764
9
22
21
20
10
19
11
16 DQ
186
12
13
17
16
15
14
Vcc
PGM
NC
A8
A9
A11
OE
A10
CE
Q7
Q6
Q5
Q4
Q3
Nombre de los terminales
A0-A12
DIRECCIONES
CE
Chip Enable
OE
Output Enable
Q0-Q7
Salidas
DOUT
PGM
Programar
High Z
N.C.
No Conectada
Carlos Canto Q.
Microprocesadores
(a) Diagrama de tiempo de lectura de memoria ; (b) diagrama de bloques:
decodificación de direcciones y operaciones de lecturta/escritura de memoria
líneas
líneasdede
direcciones
direcciones
dedealto
altoorden
orden
Decodificador
Decodificador
dededirecciones
direcciones
MSEL Selección del
chip de
memoria
Decodificador
Decodificador
interno
interno
Selección del
registro de
memoria
MREQ
MREQ
líneas
líneasdede
direcciones
direcciones
dedebajo
bajoorden
orden
Habilita el buffer de
entrada para leer
RD
RD
O
Habilita el buffer
de salida para
escribir
WR
WR
Carlos Canto Q.
Microprocesadores
Schematic of Interfacing 2764 EPROM
Carlos Canto Q.
Microprocesadores
Carlos Canto Q.
Microprocesadores
Carlos Canto Q.
Microprocesadores
(a) Generando señales de Control ; (b) Diagrama de Bloques : Solución
alternativa para operaciones de Lectura /Escritura de memoria
WR
MEMRD
MREQ
MEMWR
RD
WR
MEMRD
líneas
líneasdede
direcciones
direcciones
dedealto
altoorden
orden
Decodificador
Decodificador
dededirecciones
direcciones
líneas
líneasdede
direcciones
direcciones
dedebajo
bajoorden
orden
Decodificador
Decodificador
interno
interno
RD
RD
MREQ
MREQ
MREQ
WR
WR
RD
OR
OR
OR
OR
Selección del
chip de
memoria
Selección del
registro de
memoria
MEMRD Habilita el buffer de
entrada
MEMWR
Habilita el buffer de
salida
MEMWR
Carlos Canto Q.
Microprocesadores
Conexión de Memoria al µP
Z-80
Carlos Canto Q.
Microprocesadores
PRÁCTICA N° 3: LAS MEMORIAS EPROM Y RAM
SI A11=0 selecciona EPROM
Si A11=1 selecciona RAM
MEMORIA DEL SISTEMA CON EL Z80
Líneas conectadas directamente a
las memorias
FFFFH
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4
A3 A2
A1
A0
X
X
X
X
0
0
0
0
0
0
0
0
0
0
0
0
X
X
X
X
0
1
1
1
1
1
1
1
1
1
1
1
SIN
SINMEMORIA
MEMORIA
1000H
0FFFH
RAM
RAM
6116
6116
0800H
07FFH
EPROM
EPROM
2716
2716
0000H
Carlos Canto Q.
Microprocesadores
MAPA DE MEMORIA PROPUESTO PARA EL DEL SISTEMA
FFFFH
SIN
SINMEMORIA
MEMORIA
1000H
0FFFH
RAM
RAM
6116
6116
0800H
07FFH
EPROM
EPROM
2716
2716
0000H
Carlos Canto Q.
Microprocesadores
PRÁCTICA N° 3: LAS MEMORIAS EPROM Y RAM
Bus de Datos (D0-D7)
RESET
RESET
YYRELOJ
RELOJ
Z80
+5V
220Ω
220Ω
½ 74LS32
RST
CLK
MREQ
Mem
OK
Mem
error
EPROM
EPROM
2716
2716
MEMWR
WR
WR
MEMRD
RD
RAM
RAM
6116
6116
OE
RD
CE
CE
HALT
IORQ
A11
1/4 74LS244
A
B
A11
C
G2A
74LS14
A0-A10
A0-A10
Bus de Direcciones (A0-A15)
Manera simplificada para decodificar direcciones de memoria
Carlos Canto Q.
MICROPROCESADORES
Rutina generadora de retardos
DELAY
DELAY
Cont2
Cont2Å
ÅN2
N2
PROGRAMA FUENTE
Cont1
Cont1Å
ÅN1
N1
Cont1
Cont1Å
Åcont1-1
cont1-1
No
Cont1=0
Cont1=0
??
si
Cont2
Cont2Å
Åcont2-1
cont2-1
No
Cont2=0
Cont2=0
??
si
HALT
HALT
Carlos Canto Q.
N1
N2
LOOP2:
LOOP1:
EQU
0FFH
EQU
0FFH
LD B, N2
LD C , N1
DEC C
JP NZ, LOOP1
DEC B
JP NZ , LOOP2
HALT
Microprocesadores
Programa para generar retardo
Dirección
de
memoria
Etiqueta
0000
Mnemónico
Código de
Operación
Ciclos de
Reloj (T)
06
4
FF
3
0E
4
FF
3
0D
4
C2
1O
LD B,0FFH
0001
0002
LOOP2: LD C,0FFH
0003
0004
LOOP1: DEC C
0005
JP NZ, LOOP1
0006
04
0007
00
Comentarios
Inicializar conteo del lazo externo
Inicializar conteo del lazo interno
Decrementar el conteo de lazo int.
¿ Se terminó el conteo?
LOOP LOOP
INTERNO
EXTERNO
0008
DEC B
05
4
Decrementar el conteo de lazo ext.
0009
JP NZ, LOOP2
C2
10
¿Se terminó el conteo?
4
Activa señal HALT
000A
02
000B
00
HALT
000C
76
Carlos Canto Q.
Microprocesadores
Cálculo para generar retardo
Dirección
de
memoria
0000
Etiqueta
Mnemónico
LD B,0FFH
0001
0002
LOOP2: LD C,0FFH
0003
0004
0005
LOOP1: DEC C
JP NZ, LOOP1
Ciclos de
Reloj (T)
Veces de ejecución
4
1x4=4T
3
1x3=3T
4
255x4=1024T
3
255x3=765T
4
255x255x4=260,100T
1O
255x255x10=650,250T
0006
0007
0008
DEC B
4
255x4=1024T
0009
JP NZ, LOOP2
10
255x10x4=10240T
HALT
4
1x4T=4T
000A
000B
000C
Carlos Canto Q.
MICROPROCESADORES
Rutina para checar la memoria RAM
Mapa de Memoria de sistema
Ram_test
Ram_test
FFFFH
Inicializar
Inicializarapuntador
apuntador
de
dememoria
memoria
patrón de prueba
patrón de prueba
SIN
SINMEMORIA
MEMORIA
escribir en la memoria
escribir en la memoria
el patrón de prueba
el patrón de prueba
Leer
Leerdedelalamemoria
memoria
patrón
patrónescrito
escrito
Pasa a siguiente
Pasa a siguiente
localidad de
localidad de
memoria
memoria
Es
Es dato
dato leido=
leido=
patrón
patrón de
de prueba?
prueba?
1000H
0FFFH
No
RAM
RAM
6116
6116
si
No
0800H
07FFH
Es última
Es última
localidad RAM?
localidad RAM?
EPROM
EPROM
2716
2716
si
Memoria
Memoria
dañada
dañada
Memoria
Memoria OK
OK
0000H
Carlos Canto Q.
MICROPROCESADORES
Rutina para checar la memoria RAM
PROGRAMA FUENTE
Ram_test
Ram_test
HLÅ
HLÅDirección
Direccióninicial
inicial
patrn_prueba
Ram_dir
AÅpatrón
AÅpatrónde
deprueba
prueba
siguiente:
(HL) Å A
(HL) Å A
AA ÅÅ(HL)
(HL)
HL
HL ÅÅHL-1
HL-1
Es
Es A=
A=
patrón
patrón de
de prueba
prueba
??
No
si
No
Es última
Es última
localidad RAM
localidad RAM
?
?
si
Halt
Halt
Carlos Canto Q.
error:
Mem_OK:
Output
Output
EQU
EQU
0AAH
0FFFH
LD HL,Ram_dir
LD A,patrn_prueba
LD (HL),A
LD A,(HL)
CP patrn_prueba
JP NZ , error
LD A,H
CP 07H
JP Z,Mem_OK
DEC HL
JP siguiente
OUT (C),A
JP error
HALT
Microprocesadores
Decodificador de direcciones
74LS138
A
B
C
G1A
G1B
G2
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Carlos Canto Q.
Microprocesadores
EPROM 27C16B
Características Técnicas
Referencia
27C16B
Tipo
EPROM CMOS
Capacidad (bits)
2048 X 8
Tipo de salida
(5V) (Vp=12.75V)
Tiempos de Acceso
150/250 ns
Encapsulado
DIL-24
Carlos Canto Q.
Microprocesadores
Carlos Canto Q.
Microprocesadores
Programa para generar retardo
Dirección
de
memoria
Etiqueta
Mnemónico
Código de
Operación
Ciclos de
Reloj (T)
Comentarios
0000
0001
0002
0003
0004
0005
0006
0007
0008
0009
000A
000B
000C
Carlos Canto Q.
Microprocesadores
Programa para checar la RAM
Dirección
de
memoria
Etiqueta
Mnemónico
Código de
Operación
Ciclos de
Reloj (T)
Comentarios
0000
0001
0002
0003
0004
0005
0006
0007
0008
0009
000A
000B
000C
Carlos Canto Q.
000D
000E
000F
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
Carlos Canto Q.