Download módulo nº8

Document related concepts
no text concepts found
Transcript
MÓDULO Nº8
MEMORIAS SEMICONDUCTORAS
UNIDAD:
LÓGICA PROGRAMABLE
TEMAS:
¾
¾
¾
Concepto de Memoria.
Memorias RAM.
Memorias ROM.
OBJETIVOS:
¾
¾
¾
Entender la diferencia entre lógica cableada y lógica programable.
Explicar el funcionamiento y las características de las memorias RAM.
Explicar el funcionamiento y las características de las memorias ROM.
DESARROLLO DE TEMAS
1. Concepto de Memoria:
Hasta este punto se ha estudiado y analizado los circuitos y aplicaciones de diferentes
sistemas tales como: codificadores, sumadores, registros, contadores, etc., mismos que
abarcaban los campos de la lógica combinacional y la lógica secuencial, o en términos
reducidos, el campo de la lógica cableada.
En este sentido, la lógica cableada, se caracteriza por los siguientes hechos:
• Para cada aplicación, se necesita un diseño específico.
• Si se debe realizar un cambio en una secuencia o en el resultado de un estado del
sistema, se debe reestructurar todo el diseño.
• El diseño puede resultar complejo y con un número considerable de circuitos
integrados.
• Debido a su complejidad, es más fácil cometer errores de conexión y por ende es
más difícil su análisis en caso de fallas.
La implementación tecnológica del concepto de memoria revoluciona, por completo, el
diseño de circuitos digitales utilizando la lógica cableada, dando origen a la llamada lógica
programable.
En la lógica programable, cada estado o cada secuencia del circuito a diseñar, se
encuentra almacenado dentro un dispositivo llamado memoria.
Una memoria, en su forma más sencilla, es el resultado de agrupar un gran número de
FLIP-FLOP’s (unidad básica de almacenamiento de un bit), en un solo circuito integrado.
Básicamente, una memoria, podría ser vista como un estante en la que cada
separación guarda un cierto número de bits, tal como se muestra en la página siguiente.
Realizado por: Ing. José Trelles
Esta representación matricial de la memoria, también puede ser observada un forma
lineal, en decir, las casillas han sido ordenadas una a continuación de otra.
A continuación se presenta la estructura lógica interna de una memoria sencilla de 256
casillas, cada una capaz de almacenar un dato de 8 bits:
Observe que la función del decodificador, es la de habilitar una casilla de memoria para
cada código binario de ocho bits que a su vez representa la dirección de la casilla. El dato
almacenado en dicha casilla, es enviado a un registro de almacenamiento, para posteriormente
ser utilizado por los circuitos externos.
Si bien la representación lógica interna, nos provee mucha información acerca de la
operación interna de una memoria, es más común la utilización de la representación lógica de
la memoria, pero como un bloque funcional, tal como se muestra en la siguiente figura, en
donde también se muestra el respectivo conjunto de líneas básicas para operar la memoria:
Realizado por: Ing. José Trelles
• Bus de Direcciones: Por intermedio de este bus o grupo de líneas, se generan las
direcciones que apuntan hacia cualquier posición de memoria.
• Bus de Datos: El contenido de cada una de las casillas de la memoria, puede ser
extraído o alterado por medio de estas líneas, por tal motivo estas líneas son
bidireccionales o “tri-state” (tres estados), ya que para una operación de lectura
actúan como salidas y para una operación de escritura actúan como entradas.
• CS (Chip Select: Selección de Integrado): En sistemas complejos es normal la
utilización de varias memorias, por lo que a fin de evitar posibles corto circuitos, se
requiere una línea de selección que boquee o habilite a un dispositivo específico.
Esta es la función de esta línea, que cuando esta en estado lógico 0 habilita todas las
funciones internas de la memoria.
• WE (Write Enable: Habilitador de Escritura): Mediante esta línea se indica a la
memoria el tipo de operación a realizarse: “0” indica una operación de escritura por lo
que el bus de datos actúa como entrada, en cambio “1” indica una operación de
escritura por lo que el bus de datos actúa como salidas.
Las memorias también pueden ser clasificadas en varias familias de dispositivos con
características únicas, sin embargo, a grandes rasgos, las memorias se clasifican en memorias
RAM y ROM, mismas que se analizan a continuación:
2. Memorias RAM:
Las memorias RAM (Random Access Memory: Memoria de Acceso Aleatorio), son
memorias con tiempos de lectura y escritura muy cortos, es decir, son dispositivos de fácil
lectura y escritura, y capaces de trabajar a altas velocidades, por lo que son ampliamente
utilizados en aplicaciones tales como: captura de datos desde conversores analógicos
digitales, generación de ondas con conversores digitales analógicos, transferencia de datos en
sistemas microprocesados, etc.
Sin embargo su principal desventaja es que son dispositivos volátiles, es decir, solo
pueden retener la información grabada en sus casillas mientras el chip este recibiendo
alimentación, caso contrario, dicha información es alterada y el estado en el que empiecen las
casillas es desconocido.
Las memorias RAM se clasifican a su vez en memorias SRAM (Static RAM: RAM
Estática) y memorias DRAM (Dynamic RAM: RAM Dinámica).
Las SRAM se caracterizan por ser memorias muy rápidas, sin embargo su costo es
elevado y su capacidad de almacenamiento es reducida. Su unidad de almacenamiento básica
es el FLIP-FLOP.
Las DRAM por otra parte no son tan rápidas como las SRAM, pero compensan esta
desventaja elevando el factor de almacenamiento hasta 10 veces el de una SRAM. Su unidad
de almacenamiento es un condensador, por lo que constantemente requieren un sistema
adicional que este recargando a los condensadores internos, de aquí el nombre de RAM
dinámica.
Por simplicidad se analizará solo las memorias SRAM. A continuación se muestra la
estructura interna genérica de este dispositivo:
Realizado por: Ing. José Trelles
Observe que las casillas estan organizadas en forma de una matriz, la razón de esto es
la de disminuir el número de salidas necesarias del decodificador. Como ejemplo una memoria
de 4Kbytes (4096 casillas cada una de ocho bits) necesitaría un decodificador de 12 a 4096,
sin embargo si se utiliza el esquema de matriz se podría utilizar dos decodificadores de 6 a 64.
Una memoria SRAM muy popular en el diseño de aplicaciones sencillas a intermedias,
es el HM6116, que es una memoria de 2Kbytes x 8 (2048 casillas de 8 bits cada una). Su
distribución de pines se muestra a continuación junto con su tabla de verdad:
HM6116
Realizado por: Ing. José Trelles
CS:
OE:
WE:
MODO:
I/O
1
X
X
Deshabilitado
Hi-Z
0
0
1
Lectura
Out
0
1
0
Escritura
In
3. Memorias ROM:
Las memorias ROM (Read Only Memory: Memoria de solo lectura), como su nombre lo
indica, son memorias en las cuales los datos grabados ya no pueden ser modificados “en línea”
(operación normal del sistema), únicamente pueden ser leídos. Debido a esto, es común utilizar
estos dispositivos para almacenar información importante o que no se requiera que cambie
durante un largo periodo de tiempo, tales aplicaciones son por ejemplo la BIOS de una
computadora, dado que es donde se guarda la configuración inicial de todo el sistema,
generadores de caracteres, en donde todos los códigos de los caracteres presentados están
grabados permanentemente, programas para sistemas microprocesados, etc.
Debido a esta característica, se dice que estos dispositivos son no volátiles, es decir,
la información almacenada en ellos no se pierde al desconectar la alimentación del sistema.
Para lograr esto, la unidad de almacenamiento básica dentro de una memoria ROM,
recibe el nombre de fusible, dado que teóricamente, el proceso de grabado consiste en
quemar fusibles determinados que al final constituirán el conjunto de datos almacenados. Esto
se explica mejor en la siguiente figura:
ROM SIN GRABAR
ROM GRABADA
Como se observa, al conectar o desconectar la alimentación los fusibles permanecen
en sus estados previos.
Debido a que estas memorias solo se utilizan para lectura, su diagrama lógico es más
reducido, como se muestra a continuación:
Realizado por: Ing. José Trelles
Las ROM a su vez se clasifican en las siguientes familias:
• ROM (Read Only Memory): Estas memorias son quemadas en el momento mismo
de fabricación, obteniéndose como ventaja una reducción en el costo por memoria.
• PROM (Programmable ROM): En este caso, se trata de ROM que pueden ser
programadas por el usuario, pero una sola vez.
• UVEPROM (Ultra Violet Erasable PROM): Son memorias que pueden ser grabadas
y borradas un cierto número de veces (entre 1000 a 10000 veces) por el usuario.
Para tal motivo disponen de una ventana sobre el chip interno, que permite el ingreso
de luz ultravioleta, gracias a la cual se puede restaurar los fusibles quemados. A
pesar de que se puede borrar su contenido, como las memorias RAM, no son
dispositivos en línea, es decir, que pueden ser modificados durante la operación
normal del dispositivo.
• EEPROM (Electrically Erasable PROM): A diferencia de las anteriores, estas se
borran eléctricamente. En la actualidad son más utilizadas este tipo, ya que no
corren el riesgo de borrado accidental, debido a exposición a la luz del día.
Una memoria UVPROM muy popular en el diseño de aplicaciones sencillas a
intermedias, es el 2716, que es una memoria de 2Kbytes x 8 (2048 casillas de 8 bits cada una).
Su distribución de pines se muestra a continuación:
OE
CS
La función de los pines OE (Output Enable) y CS (Chip Select), es similar a la de la
memoria RAM HM6116. Por otra parte la línea VPP, se utiliza como línea de grabado. Cada
vez que se requiere quemar un fusible, se debe aplicar un pulso elevado de voltaje (25V) a
través de este pin. Para funcionamiento normal, dicho pin debe ser conectado a 5V.
Realizado por: Ing. José Trelles
EJERCICIOS
1. Analice y explique el funcionamiento de los esquemas al final de este documento.
Realizado por: Ing. José Trelles
+5
U1
RST
THR
CVOLT
TRIG
GND
LM555
VCC
DISC
OUT
8
7
3
3
7
8
+5
+5
MANUAL / AUTO
VCC
DISC
OUT
10K
S4
8
15
1
10
9
11
4
5
14
8
15
1
10
9
11
4
5
14
TC
RCO
U3
LD
EN
U/D
CLK
Q0
Q1
Q2
Q3
GND
74LS191
TC
RCO
U4
LD
EN
U/D
CLK
Q0
Q1
Q2
Q3
74LS191
GND
P0
P1
P2
P3
VCC
P0
P1
P2
P3
VCC
+5
16
12
13
3
2
6
7
+5
16
12
13
3
2
6
7
DS9
R18
330
R19
330
DS11
S1
R3
10K
+5
DS10
WRITE
JUEGO DE LUCES PROGRAMABLE V1
R10
10K
4
6
5
2
1
U2
RST
THR
CVOLT
TRIG
GND
+5
2
R16
3
S8
R17
330
C1
104
18
20
21
8
7
6
5
4
3
2
1
23
22
19
12
DS12
R20
330
U5
S2
R4
10K
+5
CE
OE
WE
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
GND
HM6116
DS13
R21
330
24
9
10
11
13
14
15
16
17
DATA0
DATA1
DATA2
DATA3
DATA4
DATA5
DATA6
DATA7
+5
RAM_OUT_ENABLE
C2
104
VCC
DQ0
DQ1
DQ2
DQ3
DQ4
DQ5
DQ6
DQ7
DATA0 DS1
DATA1 DS2
DATA2 DS3
DATA3 DS4
DATA4 DS5
DATA5 DS6
DATA6 DS7
20
19
16
15
12
9
6
5
2
DATA7 DS8
DATA7
DATA6
DATA5
DATA4
DATA3
DATA2
DATA1
DATA0
+5
R1
330
R2
330
R5
330
R6
330
R7
330
R8
330
R11
330
R12
330
GND
D8
D7
D6
D5
D4
D3
D2
D1
U6
Q8
Q7
Q6
Q5
Q4
Q3
Q2
Q1
CLK
OE
S6
R14
10K
+5
VCC
74LS374
LATCH_OUT_ENABLE
10
18
17
14
13
8
7
4
3
11
1
C5
104
16
15
14
13
12
11
10
9
LOAD
+5
R15
10K
S7
C6
104
1
2
3
4
5
6
7
8
R9
10K
S3
NEXT
C8
10uF
R13
10K
4
6
5
2
1
LM555
RESET
C7
104
Realizado por: Ing. José Trelles
+5
R22
S5
8 x 10K
1
2
3
4
5
6
7
8
DATA_IN
16
15
14
13
12
11
10
9
Realizado por: Ing. José Trelles
C3
104
R23
100K
C4
104
* Para generar secuencias
más largas se puede
utilizar las 3 salidas del
segundo contador y
conectarlas a las
respectivas líneas de
dirección de la memoria
RAM.
1
R2
100K
R1
10K
C1
104
4
6
5
2
1
U1
RST
THR
CVOLT
TRIG
GND
LM555
VCC
DISC
OUT
* Para generar secuencias
más largas se puede
conectar un tercer
contador y conectarlo a
las respectivas líneas de
dirección de la memoria
UVEPROM.
8
7
3
+5
+5
R3
10K
S1
C2
104
11
4
5
14
15
1
10
9
8
11
4
5
14
15
1
10
9
8
U2
LD
EN
U/D
CLK
P0
P1
P2
P3
GND
74LS191
VCC
TC
RCO
Q0
Q1
Q2
Q3
TC
RCO
U3
LD
EN
U/D
CLK
Q0
Q1
Q2
Q3
VCC
P0
P1
P2
P3
GND
74LS191
+5
16
12
13
3
2
6
7
+5
16
12
13
3
2
6
7
Realizado por: Ing. José Trelles
12
20
18
8
7
6
5
4
3
2
1
23
22
19
U4
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
OE
CS
GND
SMJ27C16
Q0
Q1
Q2
Q3
Q4
Q5
Q6
Q7
VPP
VCC
9
10
11
13
14
15
16
17
21
24
+5
JUEGO DE LUCES PROGRAMABLE V2
RESET
DS1
DS2
DS3
DS4
DS5
DS6
DS7
DS8
R4
330
R5
330
R6
330
R7
330
R8
330
R9
330
R10
330
R11
330
Realizado por: Ing. José Trelles