matriz de LEDS

Anuncio
POLITENICO NACIONAL
CENTRO DE ESTUDIOS CIENTIFICOS Y
TECNOLOGICOS Nº 3
“ESTANISLAO RAMIREZ RUIZ”
SISTEMAS DIGITALES
PRÁCTICAS
UNIDAD DE APRENDIZAJE: ELECTRONICA DIGITAL
UNIDAD 2 : MEMORIAS EEPROM
PROFESOR(A): ALEIDA GOMEZ HURTADO
PRÁCTICA
No.: 1
NOMBRE DE LA PRÁCTICA: Aplicación de dispositivos lógicos
programable (matriz de leds y memoria EEPROM)
ALUMNO(A):
GRUPO:
Fecha:
N. BOLETA:
EVALUACION:
RAP(S) RELACIONADOS CON LA PRÁCTICA:
1. Utilizar la programación de los dispositivos lógicos programables con el fin de
darle aplicación práctica a lo largo de este semestre. En esta práctica con el fin de
implementarlo con una matriz de LED’s.
2. Conocer a fondo el funcionamiento de una matriz de LED´s y como se realizan
interfaces para poder ser implementada con otros dispositivos lógicos programables
como lo son los PIC´s y las Memorias de solo lectura (ROM).
3. Usa los diferentes dispositivos programables para solucionar problemas de
circuitos digitales.
Objetivo de la práctica:
.
Conocer el funcionamiento y aplicaciones de una Memoria de Solo Lectura
Programable y Borrable Eléctricamente (EEPROM) que se utilizará durante el resto
de las prácticas del semestre.
Competencia genérica:
Conocer el funcionamiento de diversos dispositivos lógicos programables como lo
son los PICS y las memorias tipo ROM, para poder crear una interfaz que le de
implementación con una matriz de LEDS
Competencia disciplinar: Al término de la práctica el alumno
1


Conocerá las características principales de una EEPROM y otros
dispositivos lógicos programables.
Conocerá y creara diversos métodos para implementar dispositivos
digitales, como una matriz de LEDS a un dispositivo lógico programable.
MATERIAL:
Memoria EEPROM o EPROM (utilizada
2864)
Software MAXLOADER.
Programador de memorias Willon
Borrador de memorias.
Protoboard, Alambre telefónico
Resistores 4.7k y 220ohms
Matriz de Leds 5 x 7
C. I 74138
3 Contadores 74LS93 y 2 Timer 555
Software de Programación
INTRODUCCION Y MARCO TEORICO
Referente a los dispositivos lógicos programables (en este caso memoria
EEPROM)
En todas las prácticas anteriores trabajamos con memorias tipo RAM, que se
caracterizan por ser volátiles, de rápido acceso y porque permiten guardar, borrar y
leer datos tantas veces cómo se requiera. Desde la práctica anterior empezamos a
trabajar con otro tipo de memoria llamada de Sólo Lectura o memoria ROM, que
entre sus características se encuentra la no volatilidad, que tiene un acceso un poco
más lento que el de una RAM, pero lo más importante, es que, por lo general, los
datos se pueden grabar una sola vez, y a partir de esta la única posibilidad que
tendrá será de leer dichos datos.
Para esta práctica utilizaremos una variante de la memoria ROM, llamada Memoria
ROM Programable y Borrable (EPROM), en la que podemos programar los datos
que queremos que almacene mediante un software y un programador universal.
Una vez programada, esta memoria no cambiara sus datos. La única forma de
borrar todos los datos contenidos en la memoria, es exponer dicho circuito, por un
tiempo definido a rayos UV, que entran por la pequeña ventana que tiene y elimina
los datos guardados.
Entonces ya después de tener en cuenta estos aspectos teóricos previos a las
memorias EEPROM y EPROM es necesario conocer más a fondo sobre distintos
puntos importantes referentes a este tipo de memorias.
Implementación de la Matriz de LEDS con el PIC
2
En esta práctica nosotros nos basamos en la utilidad de una memoria EEPROM
para controlar la matriz de leds pero también con un PIC se puede realizar esta
práctica, básicamente para controlar la matriz de leds se utiliza un pic 16f628a (o
cualquier otro dependiendo de sus atributos) pero el código puede ser
fácilmente portable a cualquier otro pic. La matriz es de 5x7 leds, ideal para mostrar
números y letras. Los 5 cátodos de la matriz están conectados al puerto A y los 7
ánodos al puerto B. La multiplicación se realiza encendiendo cada una de las
columnas de la matriz a la vez, pero se realiza tan rápido que parece que todas las
columnas están encendidas de modo que en la matriz se vea lo que se quiere
mostrar. En la utilización del PIC (al igual que con la memoria EEPROM) es
necesario utilizar una técnica de multiplexacion, la técnica de multiplexación
consiste en mostrar una columna a la vez, mientras eso se haga lo suficientemente
rápido parecerá que todas las columnas están encendidas a la vez y no se verá
ningún parpadeo, por esa misma razón la base de tiempo para la multiplexación es
muy importante por lo que se utiliza la interrupción del timer 2 para esa tarea.
La multiplexación es muy sencilla y se ejecuta dentro de la rutina de interrupción del
timer 2, se realiza más o menos de la siguiente manera:









Espera interrupción
Se deshabilitan las columnas
Se escribe en el puerto B el valor de las filas
Se habilita la primer columna
Espera interrupción
Se deshabilitan las columnas
Se escribe en el puerto B el valor de las filas
Se habilita la siguiente columna
Espera interrupción
Así se repite hasta llegar a la quinta columna, entonces la ejecución de la
multiplexación vuelve al principio y se vuelve a repetir.
Así como fue importante conocer este funcionamiento del PIC con la matriz de LEDS
también es necesario retomar teoría antes vista en clase sobre los dispositivos que
utilizamos en esta práctica.
Memoria de solo lectura programable y borrable (EPROM)
La memoria ROM Programable y Borrable (EPROM), se caracteriza precisamente
por eso, en que es una memoria que puede ser programada igual que una memoria
PROM, con la diferencia de que esta puede ser borrada y reprogramada cuantas
veces sea necesario.
El elemento de almacenamiento de una EPROM es un transistor MOS con una
compuerta de silicio que no tiene conexión eléctrica (es decir, una compuerta
flotante) pero está muy cerca de un electrodo. En su estado normal no hay carga
almacenada en la compuerta flotante, por lo que el transistor producirá un 1 lógico
3
cada que la dirección se seleccione. Para programar un 0 se utiliza un pulso de alto
voltaje para dejar una carga neta en la compuerta flotante. Como la carga está
atrapada en la compuerta flotante y no tiene ruta descarga, el cero se almacenará
hasta que se borre. Para borrar los datos se restaurarán a 1 lógico. Para ello se
neutraliza la carga en el electrodo flotante al exponer el silicio a una luz ultravioleta
(UV) de alta intensidad durante varios minutos
La 27c64 es un ejemplo de un CI de memoria pequeño de 8k x 8K, que está
disponible como PROM (programable una sola vez) y como EPROM (programable
y borrable) obviamente la diferencia es que la última se puede borrar y reprogramar;
esta característica se nota en el circuito físico, ya que una EPROM cuenta con una
ventana de cuarzo transparente que permite exponer la luz UV sobre el Silicio para
borrar los datos.
Ejemplo de memoria tipo EPROM
Electrically Erasable Programmable Read Only Memory (EEPROM)
Memoria de sólo lectura programable y borrable eléctricamente. Chip de memoria
que retiene su contenido sin energía. Puede borrarse, tanto dentro del computador
como externamente. Por lo general requiere más voltaje para el borrado que el
común de +5 voltios usado en circuitos lógicos. Funciona como RAM no volátil, pero
grabar en EEPROM es mucho más lento que hacerlo en RAM.
Aquí lo que podemos destacar es que la memoria EEPROM y EPROM nos
funcionaran de igual manera ya que el proceso de programación es el mismo, de
igual manera el de funcionamiento pero varia en la forma de borrado, ahora esta se
borrara eléctricamente.
4
INVESTIGACION PREVIA
Al estar basado el funcionamiento de la practica en la utilización de algún dispositivo
lógico programable (en este caso una EEPROM) para controlar una matriz de LEDS
es importante conocer el funcionamiento, estructura y utilidad de este dispositivo,
para después con los conocimientos adquiridos sobre los lógicos programables
podamos darle una aplicación donde se muestre un anuncio en la Matriz.
Matriz de LEDS
Una matriz de LEDs consiste en un arreglo de LEDs que pueden ser encendidos y
apagados individualmente desde un dispositivo lógico Programable. Pueden pensar
en ella como una pantalla de pocos pixeles en los cuales pueden presentar gráficos
y textos, tanto estáticos como en movimiento. En esta práctica utilizaremos una
matriz de 5 x 7 puntos o leds.
Matriz de 5 x 7
Ahora bien, es necesario conocer su funcionamiento para poder trabajar con ella y
darle la aplicación con los dispositivos lógicos programables.
5
El gráfico presenta una matriz de 5×7 LEDs,
donde las columnas corresponden a los cátodos
(deben ir conectados a tierra) y las filas
corresponden a los ánodos (deben ir conectados
a +Vcc).
Para encender un LED
específico debe ubicarse la
intersección entre la columna y
la línea correspondiente. Por
ejemplo, para encender el LED
que se muestra en la figura siguiente, la columna 3 (C3) debe ser
conectada a tierra (a través de una resistencia de 220 ohm) mientras que la fila 5
(R5) es conectada a voltaje (5v).
Para poder mostrar imágenes, letras o símbolos en el display es necesario
programar la los dispositivos lógicos programables de tal manera que acciones los
leds correspondientes en el instante correspondiente, para esto tenemos como base
los siguientes pasos:

Apagar todas las filas.

Escribir los valores correspondientes a la primer fila en el registro de
desplazamiento, teniendo en cuenta que el primer digito binario colocado
corresponde al último LED de la fila, y el ultimo en poner al de la primer
columna.

Encenderla primer fila, esperar un tiempo, y volver a apagarla.

Repetir los pasos 2 y 3 para las filas restantes.
Cabe destacar que el código que se muestra en la matriz se forma por el “barrido”
de las columnas a las que se les hacen llegar en el momento apropiado los datos
que queremos visualizar. Estos datos llegan de a uno por vez y se colocan en el
lugar que le corresponde a cada uno dentro del mapa de bits creado en forma previa.
Al repetir el ciclo muchas veces en un segundo, la imagen dará la impresión de estar
fija. Dicho esto en otras palabras, no se activan todas las columnas al mismo tiempo
si no que se van activando segmentos por cada tiempo y al repetirse esto muy rápido
6
a nuestra visión se ve una imagen, letra, símbolo, etc, fijo o estable en el plano de
la matriz.
DESARROLLO
Los pasos a realizar en el desarrollo serán:
I.
II.
III.
IV.
V.
Construir el código que se desea mostrar en la matriz para su futura
programación en el dispositivo lógico programable (EEPROM)
En base a un Software programador introducir el código de la matriz a la
memoria (software MAX LOADER)
Quemar la memoria con el programa creado para la Matriz
Realizar el circuito electrónico en simulación (ISIS) y probar su
funcionamiento
Llevar el armado del circuito en físico con la memoria ya programada y la
matriz mostrando el código previamente hecho en el programa
I. Construir el código para programar la memoria
Para poder construir un código en hexadecimal (ya que así lo requiere el software
con el cual programaremos) es necesario saber que los valores dependerán de los
puntos que necesitamos prender, dicho de otra forma los valores con los cuales se
formara el código para cada letra serán dados dependiendo de la posición de los
led a prender por cada fila, teniendo así la siguiente secuencia de acciones:
Primero colocamos la letra deseada en la matriz y
colocamos su numeración para código binario a cada
columna, de tal forma, que por ejemplo en una matriz
de 8 x 8, obtenemos lo siguiente:
Ahora bien ya con esos valores tenemos que
sumar los números en los cuales se activan los
puntos, de esta forma la suma total de cada
columna nos dará el valor decimal de que puntos
se tienen que activar por columna, para satisfacer el prendido y apagado de los
puntos, primero por letra y después a través de un arreglo de contadores cada letra
va ir formando las palabras correspondientes.
Ese es el fundamento para obtener el código del programa, pero también hemos
interactuado con una manera de obtener el código más fácil, que es atreves de la
7
creación de una hoja en EXCEL con la cual, en base a sumas y potencias (y
respetando el mismo principio antes dicho) vamos generando el mismo código
automáticamente, lo cual se explica a continuación:
(2)
(1)
(3)
(4)
(5)
(1).- Lo primero que se hace es generar con la cuadricula del EXCEL una matriz de
lo que se necesita, en nuestro caso una matriz de 5 x 7, darle las respectivas
coordenadas X y Y, y como se menciono anteriormente asignar el valor con el cual
se obtendría su numeración binaria a cada columna.
(2).- Ahora lo que se hace es generar un arreglo de potencias donde se multiplica
la potencia de cierta coordenada por el valor que se encuentre en la misma y
después se suma a las siguientes coordenadas que ya tendrían que haber hecho lo
mismo.
(3).- Con ese paso anterior se consigue dicha suma que hemos venido hablando
donde se suma el valor que correspondería a binario en cada fila, obteniendo así en
la fila 1 el valor de 15 que proviene de la suma de 1+2+4+8.
(4).- Posteriormente esos valores en decimal los convertimos a hexadecimal, que
es con lo que trabaja nuestro software programador.
(5).- Y con la interfaz que hemos creado basta con dibujar la letra que deseamos en
nuestra matriz en EXCEL colocando “1” en el punto o led a prender, nuestra hoja
nos generara el código en hexadecimal para cada letra. Bastara después ingresar
8
en el software las letras en el orden correspondiente para ir formando las
palabras.
Con todo este proceso desarrollado tenemos el siguiente código, donde se muestra
cada código por cada palabra, que después organizaremos al irlo ingresando en el
software para mostrar el siguiente anuncio:
CODIGO
LETR
A
CODIGO
LETR
A
CODI
GO
LETR
A
A
B
C
D
E
F
G
H
I
4
A
11
11
1F
11
11
0
F
11
11
F
11
11
F
0
1C
2
1
1
1
2
1C
0
7
9
11
11
11
9
7
0
1F
1
1
7
1
1
1F
0
1F
1
1
F
1
1
1
0
E
11
1
1D
11
11
E
0
11
11
11
1F
11
11
11
0
1F
4
4
4
4
4
1F
0
J
K
L
M
N
O
P
Q
R
S
1F
8
8
8
8
9
6
0
11
9
5
3
5
9
11
0
1
1
1
1
1
1
1F
0
11
1B
15
11
11
11
11
0
11
13
17
15
1D
19
11
0
E
11
11
11
11
11
E
0
F
11
11
11
F
1
1
0
1E
11
11
11
1E
10
10
0
F
11
11
F
5
9
11
0
1E
1
1
E
10
10
F
0
T
U
V
W
X
Y
Z
3
1F
4
4
11
11
11
11
11
11
11
11
11
11
A
E
11
11
A
1F
10
8
F
10
10
9
4
4
4
4
0
11
11
11
E
0
11
11
A
4
0
11
11
15
A
0
4
E
A
11
0
4
4
4
4
0
4
2
1
1F
0
E
10
10
F
0
El anuncio que se tiene que mostrar en la Matriz está compuesto por las siguientes
palabras:
Palabras mostradas en la Matriz en ese orden
INSTITUTO
POLITECNICO
NACIONAL
CECYT 3
ESTANISLAO
RAMIREZ
RUIZ
ELECTRONICA
DIGITAL
Es importante recordar que la manera de ir metiendo los códigos en la matriz será
de letra por letra hasta formar una palabra, y cada letra tomara una dirección, así
también cada letra tendrá sus 8 códigos hexadecimales, esto se explicara mejor en
el siguiente punto del desarrollo.
II.- Crear el programa en el software de programación
1.- Lo primero que tenemos que hacer es descargar el MAX LOADER ya sea desde
algún dispositivo de almacenamiento externo o desde algún sitio Web, después de
descargarlo, ejecutarlo con el icono:
2.- Cuando lo ejecutemos nos aparece una ventanilla como la siguiente, donde
podemos seleccionar el tipo de programador que utilizaremos o podemos darle
continuar y ponerle que usaremos el que nos da por default:
10
3.- Posteriormente nos aparece la Interfaz del programa en donde estaremos
trabajando para realizar el proyecto, la interfaz luce como la siguiente, donde nos
tenemos que dirigir a BUFFER  Edit Buffer y ahora tendremos la siguiente interfaz
que se muestra en la figura 2:
4.- Ya teniendo el código en la mano podemos empezar a meterlo en el MAX
LOADER de esta manera creando nuestro programa, en el cual se ingresaran letra
por dirección, ocupando los 8 espacios de cada código/letra:
En la imagen podemos ver el
código generado para que
en la matriz de leds aparezca
letra por letra la palabra
“POLITECNICO”.
5.- Después de ingresar todo el código, letra por letra hasta ingresar todas las
palabras, en el programa damos clic en el icono guardar, donde después de hacer
11
clic nos abrirá una ventana donde tenemos que elegir “Intel Hex File.hex” y aparte
de ponerle al nombre del programa la terminación .hex para que se nos genere el
archivo .HEX
III.- Quemar la memoria con el programa creado
En este paso quemaremos la memoria EEPROM con la información del programa
previamente hecho, cabe remarcar que el hardware que utilizaremos para dicho fin
es el programador universal WELLON
Los Programadores WELLON son programadores universales asequibles,
confiables, y rápidos. Están diseñados para operar con computadores IBM
compatibles de escritorio y portátiles basadas en un Intel Pentium. No se requiere
de una tarjeta de interfaz para conectar el programador a una PC (esta característica
es especialmente útil para usuarios de computadores portátiles). La interfaz,
manejada a través de menús, del software de programación hace de ellos,
programadores de fácil operación.
Antes de poder programar la memoria es necesario instalar los controladores del
programador en la computadora, para después utilizar el hardware, lo cual se
desarrolla en los siguientes puntos:
1.- Instalar los controladores y el Software en la computadora, esto se realiza
insertando el disco de instalación y siguiendo las instrucciones:
12
2.- Ya instalados los controladores conectar el programador WELLON a la corriente
para alimentarlo y conectarlo con el PC a través del cable USB:
3.- Colocar la memoria sobre el zócalo y asegurarla con el broche, después
seleccionar la memoria con la cual se estará trabajando y poner en LOAD el archivo
a cargar:
4.- Para quemar el programa en la memoria basta con oprimir el botón de PROG.
que se encuentra en el único menú de la barra superior de la pantalla y el programa
quedara cargado en la memoria en cuestión de decimas de segundo, el siguiente
13
paso es retirar la memoria con cuidado recordando que está hecho con tecnología
MOS.
IV.- Realizar la simulación en ISIS y probar su funcionamiento:
Ya que tenemos el programa debemos realizar una simulación de este en
PROTEUS, por lo que realizamos el siguiente circuito en Proteus:
En la imagen
podemos notar el
circuito completo
de la conexión de
la memoria
EEPROM (o
2764) conectada
a los contadores,
los cuales están a
su vez
conectados con
timer 555 y
después la
salidas que
controlan las filas
se multiplexan
con el 74138.
Y para cargar la memoria con la simulación del
programa que hemos hecho en max loader le
damos clic derecho al Integrado 2764 y abrimos
el archivo “.hex” desde Image File
V.- Llevar el circuito al armado en físico con la memoria programada
En este punto se tiene que armar el circuito de la práctica en físico con los
respectivos componentes y conexiones, lo cual lo podemos ver en las siguientes
imágenes:
14
A continuación se mostrara una secuencia en orden de las letras mostradas en la
Matriz formando una palabra, lo cual nos dará el anuncio sobre la matriz de LEDs,
que es el objetivo de la práctica:
Cuestionario:
1.- ¿Qué es un dispositivo lógico programable y da ejemplos?
15
Un dispositivo lógico programable es un circuito, arreglo o dispositivo que tiene la
peculiaridad de ser manipulado, pudiendo así el usuario programar su contenido, tal
es el caso de los PICs, las GALs, y las memorias que hemos utilizado en esta
práctica.
2.- Describe las características de la memoria utilizada en esta práctica:
En esta práctica ocupamos una memoria tipo EEPROM a la cual le hemos grabado
los datos con los que contara su contenido.
3.- Cuales son las aplicaciones más comunes de las memorias tipo ROM:
Se ocupan principalmente en las computadoras como las que almacenan la
información de arranque tal es el sistema operativo y programas del CPU.
4.- ¿Qué es una matriz de Led´s?
Una matriz de LEDs consiste en un arreglo de LEDs que pueden ser encendidos y
apagados individualmente desde un dispositivo lógico Programable. Pueden pensar
en ella como una pantalla de pocos pixeles en los cuales pueden presentar gráficos
y textos, tanto estáticos como en movimiento.
5.- ¿Qué matriz de Led´s se ha ocupado en esta práctica?
Para realizar esta práctica hemos utilizado una matriz de Led´s de 5 x 7 puntos o
diodos emisores de luz.
6.- ¿Cómo se logra programar una memoria PROM o EPROM?
Se logra programar en base a un código escrito en hexadecimal o binario, que
generalmente bien en un programa fijo tal es el caso del MAX LOADER y otros en
donde se crea el programa, y posteriormente con una interfaz programadora o
programador, como es el WILLON se quema la memoria con la información del
programa.
7.- ¿De qué tipo de tecnología es la memoria EPROM 2764 y la EEPROM?
a)
b)
c)
d)
MOS
TTL
PIN-PIN
LOGIC MEMORY
8.- ¿Cuál es el significado de EEPROM?
a) Memoria Pasiva al Ordenar
b) Memoria de Acceso Ordenado
16
c) Memoria Programable y Eléctricamente Borrable de solo Lectura
d) Memoria de solo Lectura
9.- ¿Cómo es el borrado de una memoria EEPROM?
a)
b)
c)
d)
Se le meten pulsos positivos con un LM555
Se le meten pulsos negativos con tierra de una pila
Borrado eléctricamente con programador el cual crea cortos internos
Se arma un divisor de voltaje siendo la memoria el RX
10.- ¿Cuál es el otro dispositivo lógico programable ideal para utilizar con
Matriz de Leds?
a)
b)
c)
d)
e)
f)
Programas de lenguaje C++
PIC’s
Ordenadores Personales
Compuertas Básicas
Timers
Flip Fliops tipo D y JK
11.- Son algunas aplicaciones de la Matriz de Leds:
a)
b)
c)
d)
Contadores en binario, Shutdowns, Reles
Como dispositivos lógicos programables
Programadoras de lenguaje ensamblador, quemador de PIC´s
Visualizador de símbolos, anuncios, letras, señalamientos, etc
12.- Brevemente, como se logra que aparezca un letrero en la Matriz:
a) Se encienden los puntos de cada fila por tiempos ,muy rápidamente y
de esta manera se visualiza un símbolo que aparenta ser estable sobre
el plano de la matriz
b) Colocamos la dirección de todo el símbolo de una palabra en la matriz y
aparecen solo los diodos prendidos por tiempo, pero todos a la ves
c) Encendemos punto por punto dándole la dirección de un solo led y lo
encendemos, enseguida se apaga y se enciende el siguiente, hacemos estos
con tiempos muy rápidos y se visualizaran las letras
d) Colocamos una fuente de alimentación en cada punto, de esta manera con
un interruptor en cada fuente vamos diseñando la figura a mostrar en la
Matriz.
Fuentes y Referencias
17

Ronald J. Tocci Sistemas digitales: Principió y Aplicaciones, paginas. 818-905, editorial:
Pearson Educacion, 2003, ISBN 9702602971

“Electrónica Digital-Lógica Digital Integrada, Teoría, Problemas y Simulación”
Autores; ACHA Santiago, RIOSERAS Miguel, LOZANO Miguel, CASTRO Manuel y PERÉZ
Julio.
Principios Digitales Roger L. Tokheim TERCERA EDICION IMPRESO EN ESPAÑA PRINTED IN SPAIN.
©Alfaomega Rama 2007 Electrónica digital principios y aplicaciones de Roger Tokheim. pág.
378,379 y 380.
http://memorias.digitalesii.over-blog.es/pages/memoria-eeprom-2859121.html
http://www.creatronica.com.ar/lectorgrabador.htm
http://galaxi0.wordpress.com/about/salidas-y-entradas-digitales/matriz-de-leds/
http://www.uhu.es/rafael.lopezahumada/Cursos_anteriores/fund97_98/plds.pdf






18
Descargar