memorias de sólo lectura semiconductoras

Anuncio
LABORATORIOS DE:
DISPOSITIVOS DE ALMACENAMIENTO Y DE ENTRADA/SALIDA.
MEMORIAS Y PERIFÉRICOS.
PRÁCTICA #3
MEMORIAS DE SÓLO LECTURA SEMICONDUCTORAS
OBJETIVO DE LA PRÁCTICA.
Conocer las partes integrales de la memoria de sólo lectura semiconductora y su principio
de operación, además de los diferentes tipos de memorias ROM que existen.
Que el alumno conozca e identifique una memoria comercial EPROM y/o EEPROM, así
como la configuración de sus pines y las aplicaciones que puede tener en el campo de la ingeniería
computacional.
Que el alumno conozca el funcionamiento y operación del programador universal
TOPMAX, a través de la grabación de una memoria comercial EPROM o EEPROM.
INTRODUCCIÓN.
Las memorias de sólo lectura ROMs (Read Only Memories), son aquellas memorias que
únicamente permiten la operación de lectura en uso normal, sin embargo cabe señalar que existen
algunos tipos de ROMs en las cuales se puede llevar a cabo la operación de escritura, pero el
tiempo que requiere para realizarla es mucho mayor que el tiempo necesario para la operación de
lectura, por consiguiente no son consideradas como memorias de lectura y escritura.
Una característica de las memorias ROMs es que son del tipo de memorias no volátiles por
lo que son muy importantes en los sistemas computacionales, esto es debido a que son utilizadas
para almacenar información que solamente queremos leer, como por ejemplo para guardar el
conjunto de instrucciones que tienen que ser ejecutadas para arrancar un sistema computacional
cuando éste es encendido. Otras aplicaciones serían: guardar el sistema operativo,
macroinstrucciones, códigos, funciones trigonométricas, logarítmicas, generadores de caracteres,
microprogramas, etc. De esta forma las ROMs son integradas como componentes de una
computadora, a esto se le conoce con el nombre de firmware (software contenido en hardware).
Existen varios tipos de memorias de sólo lectura (ROMs):




Memoria ROM de máscara (MROM)
Memoria ROM programable (PROM)
Memoria ROM programable y borrable con luz ultravioleta (EPROM)
Memoria ROM programable y borrable eléctricamente (EEPROM)
Y dos tipos de tecnologías de fabricación básicas en las ROMs, la bipolar y la MOS (figura
1). Como puede observarse, en la bipolar sólo hay ROMs de máscara y PROMs, mientras que en la
MOS existen además de las anteriores las EPROMs y las EEPROMs.
Fig. 1 Clasificación de las memorias ROMs.
La principal diferencia entre estas dos tecnologías es el tiempo de acceso. Las ROMs
bipolares tienen un tiempo de acceso menor que las ROMs de tecnología MOS. Por consiguiente,
las bipolares tienen una disipación de potencia mayor que las MOS. Por otro lado, las bipolares se
fabrican principalmente con una capacidad menor que las MOS.
Como ya dijimos las memorias ROM son no volátiles y de lectura no destructiva, esto
último quiere decir que la información no se pierde cuando se lee una localidad o registro de la
memoria.
Los dispositivos de almacenamiento tienen como propósito guardar información y
proporcionarla cuando ésta se necesite, por tal motivo estos dispositivos requieren de una
estructura para poder realizar sus operaciones de lectura o escritura, a continuación se muestra el
diagrama de bloques de la estructura básica de estos dispositivos.
Fig. 2 Estructura básica de las memorias ROMs.
La arquitectura (estructura) de un circuito integrado (CI) ROM es muy compleja, y no
necesitamos conocer todos sus detalles. Sin embargo, es ilustrativo observar un diagrama
simplificado de la estructura interna, como el que se muestra en la figura 3 para una ROM de 16 x
8. Los cuatro bloques básicos mostrados, funcionan de la siguiente manera:
Almacenamiento. Este bloque esta integrado por una matriz de registros que almacena los
datos que han sido programados en la ROM. Cada registro contiene un número de celdas de
memoria que es igual al tamaño de la palabra. En el caso de la figura, cada registro almacena una
palabra de 8 bits. Los registros se disponen en un arreglo de matriz cuadrada que es común a
muchos circuitos. Podemos especificar la posición de cada registro como una ubicada en un
renglón y una columna específicos. Por ejemplo, el registro 0 se encuentra en el renglón 0 /
columna 0, el registro 9 se encuentra en el renglón 1 / columna 2 y el registro 15 se encuentra en el
renglón 3 / columna 3.
Las ocho salidas de datos de cada registro se conectan a un canal de datos interno que corre a
través de todo el circuito (bus de datos). Cada registro tiene dos entradas de habilitación (E); en
este caso, ambas tienen que ser altas a fin de que los datos del registro sean colocados en el canal y
sean almacenados en el buffer de entrada/salida.
Las características de las celdas definen el tipo de memoria, es decir si esta es de sólo lectura o de
lectura escritura.
Direccionamiento. Este bloque tiene la finalidad de seleccionar una y sólo una localidad o
palabra de memoria a la vez, para poder realizar a continuación una operación de escritura o
lectura sobre ella. En la figura, el código de dirección aplicado A3A2A1A0 determina qué registro
será habilitado para colocar su palabra de datos de 8 bits en el canal. Los bits de dirección A1A0 se
alimentan a un decodificador 2 a 4 que activa una línea de selección de renglón, y los bits de
dirección A3A2 se alimentan a un segundo decodificador que activa una línea de selección de
columna. Solamente un registro estará en el renglón y la columna seleccionados por las entradas de
dirección, y éste estará habilitado. También existen unidades de direccionamiento que utilizan
solamente un decodificador.
Control. Este bloque realiza todo lo necesario para coordinar y controlar el buen funcionamiento.
Aquí podemos encontrar las señales de la operación que se realizará al registro seleccionado por el
bloque de direccionamiento, además regula el flujo de datos hacia el exterior o interior del
dispositivo.
Entrada/Salida. Esta integrado por un conjunto de amplificadores que actúan como un registro
intermedio (buffer de entrada/salida) para los datos. Este bloque puede estar controlado por un
habilitador de salida de datos CS en la figura, o entrada/salida si el bus es bidireccional como
regularmente pasa. Se hablará del funcionamiento del buffer en la práctica 4.
Fig.3 Arquitectura de una memoria de sólo lectura de 16 x 8.
En la actualidad existen comercialmente una gran variedad de memorias seriales y paralelas con
características muy particulares por lo que es casi imposible conocerlas todas, así mismo una
diversidad de aplicaciones. Por lo que a continuación se verán primeramente a las memorias
EPROM y posteriormente a las EEPROM, dándose algunas de sus características y diferencias
entre ambas memorias.
MEMORIAS EPROM y EEPROM
Las EPROM, son memorias de sólo lectura, programables y borrables, se programan mediante
pulsos eléctricos y su contenido se borra exponiéndolas a la luz ultravioleta, por lo que éstas
también son conocidas como UVEPROM (por sus siglas en Inglés Ultra Violet Erasable Read
Only Memory). Una característica que presentan estas memorias es que el circuito integrado
presenta una ventanita, véase la figura 4.
Para guardar la información en la memoria se requiere de un dispositivo programador y para su
borrado se requiere introducir el circuito integrado en un dispositivo borrador, el cual en su interior
contiene una lámpara de luz ultravioleta, la cual debe ser aplicada por aproximadamente 20
minutos, borrando la totalidad de las celdas.
Fig. 4 Memoria UVEPROM
La celda de almacenamiento de una memoria EPROM consiste de un solo transistor MOSFET que
contiene una compuerta flotante de silicio llamada FAMOS (Floating Gate Avalanche-Inyection
MOS).
La programación de una celda consistiría en introducir electrones en forma de avalancha a la
compuerta flotante del transistor seleccionado, quedando éstos atrapados en la misma, dicha carga
aumenta la conductividad entre las terminales del gate y el source del transistor, haciéndolo
conductor (el transistor enciende), en ese caso podríamos decir que la celda tiene almacenado un
uno. Si la compuerta flotante del transistor seleccionado esta vacía, este transistor no enciende, por
lo que podríamos decir que la celda tiene guardado un cero.
El borrado consistiría en colocar el circuito integrado con la ventanita descubierta en un dispositivo
borrador, aplicándose los rayos de luz ultravioleta al mismo, con lo cual se eliminarían por efecto
fotoeléctrico los electrones que estuvieran atrapados en las compuertas flotantes correspondientes,
con lo cual se volvería al estado inicial, es decir ningún transistor podría encender, (el borrado
sería en todas las celdas de la memoria), por lo que podríamos decir que la memoria tendría
almacenados puros ceros. Las memorias EPROM solamente se pueden borrar un número limitado
de veces (entre 6 y 10).
Las memorias EEPROMs son memorias de sólo lectura, programables y borrables eléctricamente
(su nombre proviene de las siglas en inglés Electrically Erasable Programmable Read Only
Memory).
Las celdas de memorias EEPROM son similares a las celdas EPROM algunas diferencias se
encuentran en la capa aislante alrededor de cada compuerta flotante, la cual es más delgada y no es
fotosensible, además cada celda de las memorias EEPROM está integrada por dos transistores, uno
de direccionamiento y el otro de almacenamiento, éste último es el que posee la compuerta
flotante.
Las memorias EEPROM son programables y borrables a través de pulsos eléctricos, se puede
borrar totalmente una memoria en un solo instante, o localidades individuales de almacenamiento
pueden ser borradas y reprogramadas por medio de pulsos eléctricos, sin necesidad de retirar el
circuito integrado de su lugar, con lo cual se logra una gran flexibilidad. Las memorias EEPROM
son más caras que las EPROM, además se pueden borrar y reprogramar miles de veces y la
información almacenada puede perdurar aproximadamente 100 años. La programación de una
memoria EEPROM es muy similar a la EPROM.
El significado de las matrículas, por medio de la cual conoceremos algunas características
específicas de estas memorias, es el siguiente. Los dos primeros dígitos corresponden al tipo de
memoria, por ejemplo en el caso de las EPROM el código es el 27, en el caso de las memorias
EEPROM podría ser el 28, 29, 37, varía según sea el fabricante, los siguientes números
especifican la capacidad de la memoria en bits, dada en Kbits (1 K = 1x1024 bits). Por ejemplo,
una memoria 2764 ó 2864, en el primer caso corresponde a una memoria EPROM y en el segundo
corresponde a una memoria EEPROM, el 64, en ambos casos, nos indica que la capacidad de la
memoria es de 64 Kbits, es decir 65536 bits o celdas. Por lo tanto podemos decir que la
organización interna de la memoria sería de 8 K x 8 bits, o en otras palabras contiene 8 K registros,
cada registro de 8 bits. La organización de una memoria, está definida como el número de palabras
por el número de bits por palabra, por ejemplo 8K x 8 bits o también se podría decir 8K Bytes. En
algunos casos aparece o se omite la letra C entre el identificador (27 ó 28) y la referencia de
capacidad, esto se refiere al tipo de tecnología utilizada en la fabricación de la memoria, así pues si
tiene una C la memoria es CMOS y si carece de ella es solamente MOS.
Observando la tabla 1, la memoria 27C512 sería una memoria EPROM de tipo CMOS y su
capacidad es de 512K bits, la siguiente 27C010 corresponde a una memoria EPROM con
capacidad de 1024K ó 1 M, la 27C020 y la 27C040 serían de 2M y de 4M respectivamente, todas
con un tamaño de palabra de 8 bits. Originalmente se había especificado que las memorias de las
series 27 y 28 tendrían un tamaño de palabra fijo de 8 bits, sin embargo posteriormente esto
cambio, por ejemplo véase el circuito integrado 27C210, en este caso el 2 indica que el tamaño de
la palabra es el doble es decir 16 bits y una capacidad de 1 M.
EPROM o EEPROM
27C08 ó 28C08
27C16 ó 28C16
27C32 ó 28C32
27C64 ó 28C64
27C128 ó 28C128
27C256 ó 28C256
27C512 ó 28C512
27C010 ó 28C010
27C020 ó 28C020
27C040 ó 28C040
27C210 ó 28C210
Capacidad
(bits)
8K
16 K
32 K
64 K
128 K
256 K
512 K
1024 K = 1 M
2M
4M
1M
Organización
( # palabras / # bits por palabra)
1K x 8
2K x 8
4K x 8
8K x 8
16K x 8
32K x 8
64K x 8
128K x 8
256K x 8
512K x 8
64K x 16
Tabla 1. Ejemplos de diferentes capacidades y organizaciones de EPROMs y
EEPROMs.
La tabla 2 muestra el patigrama de varios circuitos integrados de la familia 27, en éstos se puede
apreciar el número de pines que contienen, así como la ubicación y la definición de cada una de
ellas. La muesca que presentan los circuitos nos indican la orientación y el orden que siguen los
pines, el cual tiene un seguimiento en “U”, como se podrá observar en el circuito integrado.
Tabla 2. Patigramas de algunas memorias de la familia 27
Si tomamos como ejemplo, el circuito integrado 27C256 al centro de la tabla anterior, podemos
observar la siguiente configuración de los pines:
- Los pines A14, A13, A12…A0 son las entradas de las líneas de direccionamiento por medio de
las cuales se podrá seleccionar una localidad de la memoria en donde se quiera realizar una
operación, ya sea de lectura o escritura. La cantidad de líneas de direccionamiento nos define el
número de palabras o localidades que tiene la memoria. Lo anterior se puede obtener mediante la
expresión 2n, donde n es el número de terminales de direccionamiento, en este caso se tienen 15
líneas, por lo tanto se tendrán 215, dándonos un total de 32 K localidades de memoria.
Los pines O7, O6, O5…O0 son las correspondientes líneas de salida de datos, las cuales en el
proceso de grabación de la memoria sirven a su vez como líneas de entrada de datos. El número de
líneas dependerá del tamaño de la palabra de la memoria (en este caso 8), sin embargo en el
mercado existen memorias de diferentes tamaños de palabras como pudiera ser de: 1, 4, 8 y 16 bits.
El pin CE (Chip Enable) se utiliza como habilitador del circuito integrado, por lo regular la
memoria esta seleccionada cuando en esta entrada se presenta un voltaje bajo
El pin OE (Output Enable) es el habilitador de salida de datos, la salida de datos se encuentra
habilitada cuando éste se encuentra a un voltaje bajo, entonces la memoria presenta en sus salidas
los datos que tiene guardado, en caso contrario, las líneas de salida de datos presentan una alta
impedancia o actúan como entrada de datos en el caso de la programación de la memoria.
Los pines VCC y GND corresponden a la línea de voltaje de alimentación y a la línea de voltaje de
referencia.
El pin Vpp es la línea de entrada para aplicar el voltaje para programación cuando se está en el
modo de programación.
En la tabla 3 se observan los modos de operación que tienen las memorias EPROM, así como los
voltajes de entrada y de salida respectivos. Los diferentes modos de operación son: modo lectura
(read), modo espera (standby), modo salidas deshabilitadas (output disable), modo programación
(program), modo verificación de programación (program verify) y por último modo programación
inhibida (program inhibit).
MODE
CE
OE
VPP
VCC
OUTPUTS
READ
VIL
VIL
5V
5V
DOUT
STANDBY
VIH
X
5V
5V
HI-Z
OUTPUT
DISABLE
X
VIH
5V
5V
HI-Z
PROGRAM
VIL
VIH
12.75 V
6.25V
DIN
PROGRAM
VERIFY
VIH
VIL
12.75V
6.25V
DOUT
PROGRAM
VIH
VIH
12.75V
6.25V
HI-Z
INHIBIT
X = no importa, HI-Z = alta impedancia, VIL= Voltaje de entrada bajo, VIH= Voltaje
de entrada alto
DOUT= salida dato, DIN entrada dato.
Tabla 3. Modo de Selección
En la figura 5 se muestran los circuitos integrados 27C64 y 28C64 que corresponden a las
memorias EPROM y EEPROM respectivamente, ambas con una capacidad de 64 Kbits, en ellos
podemos apreciar que casi son idénticos, las diferencias serían que en el pin número 1 de la
EPROM aparece el voltaje para programación (Vpp), mientras que en la EEPROM no hay
conexión (NC), en el pin 27 en la primera está el pulso de programación (PGM), mientras que en
la segunda está el habilitador de escritura (WE). Como se puede observar son casi idénticos.
Fig. 5 Circuito Integrado de Memorias EPROM y EEPROM con capacidad de 64 Kbits.
Ahora que se conoce cómo identificar una memoria se procederá a ver como grabarla. Lo que
debemos tomar en cuenta es lo siguiente:
Al comprar la memoria debe de estar cubierta con papel estaño, aluminio o estar contenida en una
mica plástica (como estuche transparente), evite tocar los pines de la memoria.
Para encontrar el software del programador en la computadora personal (PC), únicamente se busca
en el escritorio el icono que dice Acceso directo a ML (Max Loader) figura 6.
Fig. 6 Acceso Directo a ML
Antes de que se proceda a manipularlo se debe asegurar de que el programador este conectado al
puerto paralelo de la computadora, posteriormente enciéndalo en modo operación; no coloque la
memoria antes de encenderlo o antes de ejecutar el programa porque se puede dañar el
programador o incurrir en un error de software. Ahora ejecute el programa.
Aparecerá una ventana como la mostrada en la figura 7, entonces proceda a colocar la memoria;
para esto sólo tómela con el dedo índice y el pulgar de los lados extremos de la memoria donde no
toque los pines de la memoria. Observe que en el programador el socket o base donde se va a
colocar la memoria indicará el sentido y orientación de la memoria, si no lo ubica pregunte a su
profesor para que lo asesore, para ésta u otras dudas, NO experimente si no ha entendido .
Fig. 7 Ventana principal. Max Loader (Top Max)
Enseguida seleccione en la pantalla principal el menú DEVICE y posteriormente dar un click en
SELECT, figura 8.
Fig. 8 Menú Device.
Se abrirá una ventana para identificar la memoria. Primero seleccione el fabricante y
posteriormente la matrícula, figura 9.
Fig. 9 Menú para seleccionar el circuito integrado a utilizar.
Ahora se debe regresar al mismo menú DEVICE , aquí se procederá a seleccionar si se programa,
lee o borra la memoria, como se muestra en la figura 10, seleccionándose la opción con un click.
Fig. 10 Menú para seleccionar la opción que se quiera realizar.
Para comenzar a vaciar los datos se debe entrar a la pantalla anterior y buscar donde diga Buffer y
dé un click en Edit Buffer o con F6, dentro de esta herramienta se podrá ver el mapeo de la
memoria, o sea los registros asociados de los datos conjuntamente con sus respectivas direcciones.
Los datos se podrán ingresar en hexadecimal o en ASCII como se muestra en la Figura 11.
Fig. 11 Ventana de edición
Para salir del modo programador o salvar el archivo recurra nuevamente al recuadro superior de
herramientas y seleccione FILE, dentro del menú procederá a seleccionar la opción ya sea salir,
guardarlo o cargar el archivo de datos.
En la figura 12 se muestra que se puede utilizar también la barra de herramientas con las mismas
acciones, anteriormente explicadas.
Fig. 12 Menú Barra de Herramientas
Con esto se dará por terminado el uso del programador universal.
DESARROLLO
Principio de funcionamiento de las memorias ROM
i) Implemente la memoria ROM de la figura 13. Nota: Encuentre la forma de utilizar el CI
74LS139 para poder obtener un decodificador 3 x 8 que se necesita para la implementación.
 Verifique su funcionamiento y escriba la tabla de información que tiene guardada,
llame al instructor para la verificación.
 ¿En qué momento se guardó la información?
 ¿A qué tipo de memoria ROM pertenece?
 ¿Qué pasará con la información guardada en la memoria si se quita inesperadamente
la alimentación?
 ¿Por qué sucede esto?
 ¿Qué implica que haya un diodo o no? Explique cuál es el principio de
funcionamiento de esta memoria.
 Identifique en la figura 13, los bloques básicos que integran una memoria.
Fig. 13 Memoria de sólo lectura con organización 8 x 2.
Programación de una memoria
ii) En una memoria comercial UVEPROM o EEPROM, grabe los siguientes datos:




Nombre de la asignatura y semestre.
Nombre de los integrantes del equipo.
Número de cuenta, grupo de laboratorio y grupo de teoría.
¿Qué aprendió en la práctica?
 ¿Cómo se borra una memoria UVEPROM y una EEPROM?
 Texto libre 100 palabras sobre el tema.
 Muestre al instructor la información anterior en un display de siete segmentos.
- ¿Qué organización tiene la memoria utilizada y su capacidad total?
- ¿A qué tipo de memoria ROM pertenece?
- ¿Qué pasa con la información guardada en la memoria utilizada si se quita inesperadamente la
alimentación?
- Explique el por qué sucede esto.
MATERIAL.
1 CI. 74LS139 (dual decoder 2 x 8).
1 CI. 7404.
1 Memoria EPROM o EEPROM (según su elección).
 Hojas de especificaciones de la memoria seleccionada (patigrama).
1 display de siete segmentos.
1 Contador Binario.
- Suficientes diodos IN4001 ó equivalentes, para armar la memoria ROM.
- Resistencias de 330 Ω y de 1 kΩ.
2 diodos leds.
Descargar