Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ESTUDIANTES:
FECHA: 12/07/2016
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.
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.
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).
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.
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.
Figura 3. (a) Latch SR, (b) latch SR con NANDs y (c) señal obtenida.
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.
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.
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)
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 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.
Las entradas CE´y OE´están conectadas a tierra para habilitar el circuito y las salidas
respectivas del mismo.
Coloque 00A0 en Fill Start Adress, 1FFF en Fill End Adress y FF en Fill Data.
Una vez terminado de introducir todos los datos, haga click en Prog para que su
memoria quede grabada con los datos introducidos.
Para obviar este inconveniente se podría utilizar el circuito que se muestra en la figura
12.
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.
13. Conclusiones:
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.