Manual de Prácticas
Secretaría/División: Área/Departamento:
Manual de prácticas del
Laboratorio de Dispositivos de
Almacenamiento y de
Entrada/Salida
División de Ingeniería Eléctrica
Departamento de Computación
Semestre 2023-1
Memorias de sólo lectura semiconductoras
(ROMs).
Práctica 2.
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Laboratorio de Dispositivos de Almacenamiento y
de Entrada Salida.
Memorias de sólo lectura semiconductoras
(ROMs).
N° de práctica: 2
Nombre completo del alumno Firma
_______________________________________________________________________ _____________
Número de brigada: Fecha de elaboración: Grupo:
Elaborado por: Revisado por: Autorizado por: Vigente desde:
2
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Seguridad en la ejecución
Peligro o Fuente de
Riesgo asociado
energía
1 Tensión alterna Electrocución
2 Tensión continua Daño a equipo
Objetivos de la práctica.
- Conocer el principio de funcionamiento de las memorias de sólo lectura, las partes
integrales de las mismas, así como los diferentes tipos de memorias ROM que
existen.
- Que el alumno conozca e identifique una memoria comercial UVEPROM 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 UVEPROM 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
3
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
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 (UVEPROM)
- 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 UVEPROMs
y las EEPROMs.
Figura 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.
4
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
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.
Figura 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 está 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
5
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
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 ésta 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 3, 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. Está 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.
6
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Figura 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 UVEPROM y posteriormente
a las EEPROM, dándose algunas de sus características y diferencias entre ambas
memorias.
7
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
MEMORIAS UVEPROM y EEPROM
Las UVEPROM (por sus siglas en Inglés Ultra Violet Erasable Read Only Memory),
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. 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.
Figura 4. Memoria UVEPROM
La celda de almacenamiento de una memoria UVEPROM 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 está 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
8
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
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 UVEPROM 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 UVEPROM 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
UVEPROM, 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 UVEPROM.
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 UVEPROM
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 UVEPROM 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 8K x 8 bits,
o en otras palabras contiene 8K 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
9
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
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 UVEPROM de tipo
CMOS y su capacidad es de 512K bits, la siguiente 27C010 corresponde a una
memoria UVEPROM 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.
UVEPROM o EEPROM Capacidad Organización
(bits) (# palabras x # bits por palabra)
27C08 ó 28C08 8K 1K x 8
27C16 ó 28C16 16 K 2K x 8
27C32 ó 28C32 32 K 4K x 8
27C64 ó 28C64 64 K 8K x 8
27C128 ó 28C128 128 K 16K x 8
27C256 ó 28C256 256 K 32K x 8
27C512 ó 28C512 512 K 64K x 8
27C010 ó 28C010 1024 K = 1 M 128K x 8
27C020 ó 28C020 2M 256K x 8
27C040 ó 28C040 4M 512K x 8
27C210 ó 28C210 1M 64K x 16
Tabla 1. Ejemplos de diferentes capacidades y organizaciones de
UVEPROMs 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.
10
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Tabla 2. Patigrama 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 … A2, A1,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 2 n, 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 … O2, O1, 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.
11
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
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
UVEPROM, 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 * 5V 5V HI-Z
OUTPUT * VIH 5V 5V HI-Z
DISABLE
PROGRAM VIL VIH 12.75V 6.25V DIN
PROGRAM VIH VIL 12.75V 6.25V DOUT
VERIFY
PROGRAM VIH VIH 12.75V 6.25V HI-Z
INHIBIT
* = no importa, HI-Z = alta impedancia, VIL = Voltaje de entrada bajo,
VIH= Voltaje de entrada alto, DOUT= salida dato, DIN entrada dato.
Tabla 3. Modos de operación.
12
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
En la figura 5 se muestran los circuitos integrados 27C64 y 28C64 que corresponden
a las memorias UVEPROM 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 UVEPROM 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.
Figura 5. Circuito Integrado de Memorias UVEPROM y EEPROM.
Ahora procederemos 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.
13
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
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.
Figura 6. Acceso Directo a ML.
Antes de que se proceda a manipularlo se debe asegurar de que el programador
esté 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á la ventana principal del programador, véase 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 .
14
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Figura 7. Ventana principal. Max Loader (Top Max).
Enseguida seleccione DEVICE y posteriormente dar un click en SELECT, figura 8.
Figura 8. Menú Device.
15
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Se abrirá una ventana para identificar la memoria. Primero seleccione el fabricante
y posteriormente la matrícula, figura 9.
Figura 9. Menú para seleccionar el circuito integrado a utilizar.
En el menú DEVICE, se podrá seleccionar programar, leer, verificar, comparar
datos, borrar, etc., véase figura 10, seleccionándose la opción con un click.
Figura 10. Menú para seleccionar la opción que se quiera realizar.
16
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Para comenzar a vaciar los datos se debe entrar al menú principal (figura 7) 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.
Figura 11. Ventana de edición.
Para salir del modo edición 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.
17
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Figura 12. Menú Barra de Herramientas
Desarrollo.
i) Arme la memoria ROM de la figura 13. Nota: Utilice el decodificador 3X8 que
desarrollo en el punto ii) de la práctica 1, empleando el circuito integrado 74LS139.
- 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.
18
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Figura 13. Memoria de sólo lectura con una organización 8 x 2.
19
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
ii) En una memoria comercial UVEPROM o EEPROM, grabe los siguientes datos:
• Clave de la asignatura y semestre actual.
• Nombre del alumno.
• Número de cuenta, grupo de laboratorio y grupo de teoría.
iii) Muestre al instructor la información guardada, empleando el contador binario y
el display de siete segmentos (cátodo común).
iv) ¿Qué organización tiene la memoria utilizada y su capacidad total?
v) Borre la memoria utilizada y ahora grabe los siguientes datos:
• Número de cuenta, fecha de la realización de la práctica. Día-mes-año.
• Semestre actual.
Material.
1 CI. 74LS139 (dual decoder 2x4).
1 CI. 7404.
Suficientes diodos IN4001 ó equivalentes, para armar la memoria ROM.
Resistencias de 330 Ω y de 1 kΩ.
2 diodos leds.
1 Memoria UVEPROM o EEPROM (según su elección).
▪ Hojas de especificaciones de la memoria seleccionada (patigrama).
1 Display de siete segmentos (cátodo común).
1 Contador binario.
20
Manual de Prácticas
División de Ingeniería Eléctrica. Departamento de Computación.
Previo.
1- Mencione los diferentes tipos de memoria ROM, explicando sus características
y su definición. (1 punto)
2- Las memorias de solo lectura ROMs semiconductoras ¿son de acceso
aleatorio? Justifique su respuesta. (0.5 punto)
3- ¿Qué función específica tienen las memorias ROMs en una computadora?
(1 punto)
4- Realice el análisis del circuito de la figura 13, explicando su funcionamiento.
(2.5 puntos)
5- Si una memoria tiene una organización de 8 M x 8 bits, calcular:
a) La capacidad de la memoria en celdas.
b) El número de localidades y el tamaño de la palabra de memoria.
c) El tamaño de la matriz de almacenamiento y de los decodificadores de
renglón y columna.
d) El número de líneas de dirección
e) El número de líneas de datos.
f) El número de líneas de alimentación y control que deberá tener si fuera una
UVEPROM o una EEPROM.
g) El número de pines que tendrá el circuito integrado en cada caso.
(2.5 puntos)
6- Describir las características de la EPROM que utilizará en el inciso (ii) de la
práctica. Implementar un decodificador BCD de 7 segmentos, con el propósito
de mostrar la información guardada en la memoria. Dibujar el circuito completo
con las entradas y las salidas que deberá alambrar y presentar la tabla de datos
y direcciones a grabar en su EPROM de acuerdo a las características que se
piden en el mismo. (2.5 puntos)
NOTA: Se deja al alumno el uso y aprendizaje del programador de memorias del
laboratorio.
21