Está en la página 1de 14

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA


ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

CURSO: SISTEMAS DIGITALES

PROYECTO: SISTEMAS DIGITAL CON MEMORIA EPROM


DOCENTE: UTRILLA SALAZAR DARIO

ESTUDIANTES:

 Principe Torres Andres

CÓDIGO: 1413210221 FIRMA: ………………………………

 Rios Molina Michael Edwin

CÓDIGO: 1413220339 FIRMA: ………………………………

FECHA: 12/07/2016

HORA: 6:00 p.m. - 10:00 p.m.

2016
Sistemas Digital con Memoria EPROM

1.Introducción:

El artículo presente describe un proyecto que puede ser realizado por estudiantes de
un primer curso sobre circuitos digitales. Tiene como objetivos reforzar los
conocimientos que tienen los estudiantes de memoria EPROM, utilizando la misma en
la obtención de la raíz cuadrada de un número entero de 2 dígitos y grabando la misma
en el programador universal disponible en el laboratorio de Electrónica de la
Universidad Santiago de Cali.

2.Planteamiento del problema:

Se debe diseñar un sistema digital que obtenga la raíz cuadrada de un número entero
N de dos dígitos, esto es, 0 ≤ N ≤ 99. El resultado debe poderse visualizar en un
display de dos dígitos, por tanto tendrá un dígito decimal. Por ejemplo si N = 87,
entonces el resultado que aparecerá en el display será 9.3.
El sistema digital constará de un teclado decimal para colocar el número N con su
correspondiente display de 2 dígitos. Se deberá utilizar una memoria EPROM 27C64
para tener almacenados o grabados los resultados en forma de tabla.
La introducción del número N en el sistema debe ser similar a como se introduce un
número en una calculadora, esto es, si N=87, al presionar la tecla 8, este número
aparece en la posición de las unidades. Posteriormente al presionar la tecla 7, este
número aparece en la posición de las unidades y el 8 se corre a la posición de las
decenas.

3.Diagrama fundamental:

En la figura 1 se muestra el diagrama funcional del sistema digital que cumple con los
requerimientos planteados.
Figura 1. Diagrama funcional.

En la figura 1, al presionar una tecla decimal se activa la salida correspondiente del


teclado. El codificador se encarga de generar en su salida O3O2…O0 el código BCD
del número decimal y generar un pulso DAV: “dato válido” cuando este código ya se
encuentre disponible en la salida.

Como el pulso DAV es aplicado simultáneamente al reloj de los dos registros, en el


registro de las decenas se almacenará lo que esté en el registro de las unidades y en
este último se almacenará la salida del codificador, es decir, el código BCD de la tecla
presionada.

Las salidas de los dos registros se aplican a decodificadores BCD/7 Segmentos y las
salidas de estos a displays para visualizar el número N tecleado.

Las salidas de los dos registros, que no es más que el número N en el código BCD, se
aplican a la entrada de dirección de una memoria EPROM para buscar la √N.
Así, si N=87 (10000111), en esta dirección de memoria deberá estar grabado o
almacenado el dato 93 (10010011).

Las salidas de la EPROM se aplican a decodificadores BCD/7 Segmentos y de estos a


displays para visualizar la √N.

4.Ruido de rebote:
Un switch o interruptor mecánico genera en su salida lo que se conoce como ruido de
rebote.
Suponga que se tiene el circuito que se muestra en la figura 2.

Figura 2. (a) Circuito, (b) señal ideal y (c) señal real.

Cuando el switch se encuentra abierto, la salida del inversor se encontrará en 0 lógico


ya que su entrada se encuentra conectada a +5v. (1 lógico) a través de la resistencia R
como se muestra en la figura 2.

Suponga que en el instante t1 se presiona el switch para cerrarlo. Al hacer contacto la


lámina móvil con el pin 2 se coloca tierra (0 voltios) a la entrada del inversor
colocándose la salida del mismo en 1 lógico como se muestra en la figura 2b.

Sin embargo, al golpear la lámina móvil el punto 2, esta rebota encontrándose el switch
cerrado y abierto repetitivamente hasta que definitivamente se quede cerrado,
generándose por tanto la señal que se muestra en la figura 2c.

La frecuencia con que rebota el switch es relativamente alta y el tiempo que demora el
ruido de rebote en la mayoría de los switches encontrados varía entre 10 y 20
milisegundos aproximadamente.

Este ruido de rebote puede causar muchos inconvenientes en los sistemas digitales.
Así por ejemplo, si la señal en c se aplica a un contador, este contará muchos pulsos al
presionar una sola vez un switch, etc.

En el caso que nos ocupa, si la señal DAV tuviese la característica que se muestra en
la figura 2c, se aplicarían muchos pulsos a las entradas de reloj de los registros y si la
tecla presionada es por ejemplo un 5, ambos registros almacenarían este número y en
el display aparecería el número N = 55 con sólo presionar el nº 5 una sola vez.

5.Supresión del ruido de rebote:


El ruido de rebote de un switch o una tecla puede ser eliminado utilizando un latch SR
como se muestra en la figura 3.

Figura 3. (a) Latch SR, (b) latch SR con NANDs y (c) señal obtenida.

En la figura 3, al no estar presionada la tecla, el punto 1 hace contacto con el punto 2


activando la entrada de Reset´ con un 0 y colocando Q=0.
Si en t=t1 se presiona la tecla, el punto 1 hace contacto con el punto 3 activándose con
un 0 la entrada de Set´ y colocando la salida Q=1. Si a continuación la lámina móvil
rebota separándose del punto 3, las dos entradas del latch se inactivan con 1 y no
cambia de estado, obteniéndose la señal que se muestra en la figura 3c sin ruido de
rebote.

6.Teclado decimal:

De acuerdo con el análisis anterior, el teclado decimal sin ruido de rebote consistirá de
10 teclas del 0 al 9 con diez circuitos biestables (latch) como se muestra en la figura 4.

Figura 4. Teclado decimal libre de ruido de rebote.


7.Codificador del teclado:
Este circuito tiene como función la de generar el código BCD en dependencia de la
entrada que se active, esto es, de la tecla que sea presionada. También la de generar
el pulso DAV cuando el código BCD esté disponible en la salida O3O2…O0
Para encontrar el circuito del codificador del teclado se puede construir la tabla 1 que
se muestra.

Tabla 1. Tabla del codificador.

De la tabla anterior se pueden obtener las siguientes funciones para las salidas del
codificador:

O3 = I8 + I9 O2 = I4 + I5 + I6 + I7 O1 = I2 + I3 + I6 + I7 y O0 = I1 + I3 + I5 + I7 + I9

Con las funciones anteriores se puede obtener el circuito que se muestra en la figura 6.
Como el pulso DAV debe generarse con cualquier tecla que se presione, esta salida
será una OR de todas las entradas al codificador. La función de los 4 inversores será
demorar este pulso (4 veces la demora de propagación de un inversor) para que ocurra
cuando el codigo en BCD en las salidas O3O2O1O0 se encuentre disponible y estable.
Los circuitos integrados requeridos para este codificador serán: 2 circuitos integrados
de 2 compuertas OR de 4 entradas, 1 circuito integrado de 4 compuertas OR de 2
entradas, 1 circuito integrado de 1 compuerta OR de 8 entradas y 1 circuito de 6
inversores.

Figura 5. Circuito del codificador del teclado.


8.Registros:
Para almacenar el número N se utilizarán 2 circuitos integrados 74LS194A. Estos
circuitos son registros de desplazamiento de 4 bits como se muestra en la figura 6.

Figura 6. Registro de desplazamiento bidireccional de 4 bits.

El circuito con los 2 registros para almacenar el número N se muestra en la figura 7.

Figura 7. Circuito de registros.


9.Decodificador BCD/7 segmentos y display:

El decodificador BCD/7 segmentos que se debe utilizar dependerá del tipo de display
que se utilice, esto es, si es de ánodo común o de cátodo común.
Se utilizará un display de ánodo común como se muestra en la figura 8, por lo que se
utilizará el circuito integrado 7447A el cual es un decodificador de colector abierto
BCD/7 segmentos cuyas salidas se activan con 0. (La salida activa queda conectada a
tierra a través de un transistor)

Figura 8. (a) Display de 7 segmentos (b) circuito de ánodo común.

En la figura 9 se muestra el circuito de los displays de 7 segmentos alimentados por los


decodificadores 7447A.

En esta figura, cuando el circuito 7447A recibe el código DCBA = 0011 por ejemplo,
produce en sus salidas el código abcdefg = 0000110, circulando corriente por los LEDs
abcdg, iluminándose por tanto el número 3 en el display, etc.

Las resistencias de 220 ohmios tienen como misión limitar las corrientes que circulan
por los LEDs.

En el display de las unidades de la √N se debe colocar un punto fijo, por lo que el


terminal dp del mismo debe ir conectado a tierra a través de una resistencia de 220
ohmios como se muestra en la figura 9.
Figura 9. Decodificadores BCD/ 7 segmentos y displays.

En la figura 9, las entradas LT´, RBI´ y BI´/RBO´ tienen un 1 fijo aplicado para que se
encuentren inactivas. La entrada LT´ (Lamp test) se utiliza para probar el display ya que
cuando se activa esta entrada todas las salidas abc…g se hacen 0 y se deben iluminar
todos los segmentos.

Si se activa la entrada BI´ no se activa ninguna salida del decodificador y el display


permanece apagado. Si se activa la entrada RBI´ y la entrada al decodificador es un 0
(DCBA=0000) tampoco se activa ninguna salida y también el display permanecerá sin
iluminarse.

10. Memoria EPROM:


El circuito integrado que se utiliza para la memoria EPROM es el 27C64, el cual
consiste de una memoria EPROM de 8 Kbytes con 13 líneas de dirección como se
muestra en la figura 10.

Figura 10. Memoria EPROM.

Las entradas CE´y OE´están conectadas a tierra para habilitar el circuito y las salidas
respectivas del mismo.

Como solamente son necesarias 8 líneas de dirección (A7A6…A0), el resto de las


líneas son conectadas a tierra, por lo que solamente estarán disponibles 256
localizaciones y de estas sólo se grabarán datos en 100.

Para la grabación de los datos en la memoria EPROM se utilizará el programador


universal marca XELTEK disponible en el laboratorio de la universidad Santiago de Cali
conectado al puerto paralelo de la impresora de un computador personal habilitado
para este objetivo.

Después de conectar la energía eléctrica al programador, abra el programa SuperPro


Lx(L+), asegurándose de no tener conectado todavía ningún circuito integrado al
programador universal. Si no aparece ningún error en la pantalla del computador, haga
click en Select para seleccionar la memoria 27C64. Inserte su dispositivo en la base
disponible en el programador y haga click en Edit para introducir los datos que deben
ser grabados en cada dirección de memoria.
Las direcciones de memoria en la EPROM 27C64 van de 0000hex a 1FFFhex. Una vez
introducidos los datos, la ventana de Buffer Edit aparecerá como se muestra en la tabla
2.
Tabla 2. Ventana de Buffer Edit.

Las direcciones y los datos en la tabla anterior se encuentran en hexadecimal. En cada


fila hay 16 localizaciones, correspondiendo la dirección que aparece en la columna de
la izquierda a la dirección de la primera localización de la fila.

Así por ejemplo, en la tercera localización de la primera fila aparece el número 14


porque esa localización tiene por dirección el número 0002 y √2 = 1.4. Cuando en una
localización no se graba ningún dato aparece FF.

Todas las localizaciones de todas las filas comenzando en la dirección 00A0


contendrán FF por lo que haga click en Fill.

Coloque 00A0 en Fill Start Adress, 1FFF en Fill End Adress y FF en Fill Data.

Luego de esta operación haga click en OK para llenar toda la tabla.

Una vez terminado de introducir todos los datos, haga click en Prog para que su
memoria quede grabada con los datos introducidos.

11. Lista de elementos:


En la tabla 3 se relacionan los elementos utilizados para el montaje del sistema digital
descrito.

Tabla 3. Lista de elementos.

En la figura 11 se muestran los circuitos integrados de las compuertas donde se


pueden identificar los números de los pines de los mismos.

12. Consideraciones Finales:

En los momentos de redactar el presente artículo, los estudiantes han manifestado


ciertas dificultades para conseguir en el mercado el teclado decimal con teclas de 1
polo, 2 posiciones.

Para obviar este inconveniente se podría utilizar el circuito que se muestra en la figura
12.

Figura 11. Compuertas lógicas.


En esta figura se utiliza un capacitor para impedir que el voltaje a la entrada del
inversor alcance el valor Vp , el cual es el nivel del voltaje de entrada en el inversor
para el cual la salida experimenta una transición de 1 a 0. Observe que este inversor
debe ser CMOS, no TTL. En el circuito CD40106B, Vp = 2.9 voltios con una fuente de
alimentación de +5v.

Figura 12. Alternativa para eliminar el ruido de rebote.

Si fuese TTL, la corriente IIL del mismo contribuiría a cargar al capacitor más
rápidamente cuando la tecla se abre. En un circuito CMOS la corriente IIL es
prácticamente cero.
Como la duración del rebote en la mayoría de los switches encontrados en la práctica
varía entre 10 y 20 milisegundos, se utiliza una constante de tiempo RC = 0.47x100 =
47 milisegundos, lo suficientemente larga para lograr este objetivo.
De utilizarse esta alternativa, no habría necesidad de utilizar el latch que se muestra en
la figura 3.
Similarmente se podría también utilizar el circuito integrado CD40147B como
codificador del teclado. Como se muestra en la figura 13, éste es un codificador de
prioridad de 10 entradas y 4 salidas BCD, es decir, a la salida se obtiene el código BCD
de acuerdo a la entrada más prioritaria que se active con un 1 lógico.
Se debe señalar que este circuito opera con lógica negativa, por lo que en el caso de
ser utilizado se deben hacer las modificaciones pertinentes.

Figura 13: Codificador de prioridad de 10 a 4 líneas.

13. Conclusiones:

En el presente artículo se ha descrito un sistema digital para obtener la raíz cuadrada


de un número entero de dos dígitos utilizando una memoria EPROM en forma de tabla,
en la cual las raíces cuadradas de los númeron están grabadas en forma permanente.
Se debe observar que nada más se necesita una memoria de 256 bytes (8 líneas de
dirección). La memoria 27C64 fue utilizada por su disponibilidad en el laboratorio de
Electrónica de la Universidad Santiago de Cali.

14. Bibliografía:

 Víctor P. Nelson, H. Troy Nagle, Bill D. Carroll y J. David Irwin, “Análisis y Diseño
 de Circuitos Lógicos Digitales”, Prentice-Hall Hispanoamericana S.A., 1996
 M. Morris Mano, “Lógica Digital y Diseño de Computadores”, Editorial Dossat S.A.,
 1982
 J.F. Wakerly, “Digital Design Principles and Practices”, 2ª ed., Englewood Cliffs,
 NJ: Prentice-Hall, 1984.

También podría gustarte