Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En este trabajo se pretende diseñar la estructura electronica (digital) que se requiere para hacer
un reloj digital, el cual nos permitiera visualizar hora, minutos y segundos, todo esto en en 4 pantallas
sobre las cuales el tiempo se recorre, esto significa que primmero veremos la hora con los minutos,
despues los minutos con los segundos, seguido los segundos, y de nuevo la hora, despues se repite la
hora con los minutos, sin embargo los resultados hasta ahora sólo satisfacen la visualización de
segundos y minutos, de modo que este trabajo muestra una estructura que nos permite visualizar
minutos y segundos (los minutos en un par de displays de 7 segmentos y los segundos en leds).
Metodología.
Para armar este reloj necesitamos primero analizar los elementos que lo componen, para ello
nos basamos en que los relojs que cuentan los segundos de 00 a 59 al igual que los minutos (por lo que
necesitaremos contadores), que cambian cada segundo (esto representa que es necesario una frecuencia
de 1 Hz para hacerlo funcionar), tambien sabemos que las pantallas de 7 segmentos en las que se
plantea desplegar los minutos estan conectadas de la siguiente forma dentro de la placa:
Como podemos observar para seleccionar el display que vamos a encender debemos enviar un cero,
esto se debe a que los transistores PNP están conectados como interruptores (conmutan) cuando se
envia un 1 lógico el “interruptor” se abre, pero cuando se envia un cero el interruptor se cierra.
Tambien notamos que sólo se posee una linea de transmisión de datos para desplegar un número en los
segmentos de los displays, por la forma en que están conectados los leds de los segmentos (ánodo
común) es necesario enviar un cero para encenderlos.
esto significa que cuando llegamos a 9, la salida Tc se vuelve uno, para indicar que ha llegado a hecho
un ciclo.
A partir de este diagrama obtenemos la siguiente tabla:
Estado actual. Estado siguiente.
Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 Tc
0 0 0 0 0 0 0 1 0
0 0 0 1 0 0 1 0 0
0 0 1 0 0 0 1 1 0
0 0 1 1 0 1 0 0 0
0 1 0 0 0 1 0 1 0
0 1 0 1 0 1 1 0 0
0 1 1 0 0 1 1 1 0
0 1 1 1 1 0 0 0 0
1 0 0 0 1 0 0 1 1
1 0 0 1 0 0 0 0 0
Es notabe que Q0 cambia en cada estado por lo que el flipflop cero está en toggle, Q1 cambia cada que
Q0 = 1 excepto cuando el contador está en 9 (1001), Q2 cambia cuaando cuando Q1 = 1 y Q0 = 1, Q3
cambia cuando Q2=Q1=Q0 = 1 y cuando el contador está en estado 9. Por lo tanto tenemos que:
J0=K0=1; J1=K1=Q'3 Q0; J2=K2=Q1 Q0; J3=K3=(Q2 Q1 Q0)+(Q3 Q0). Sabemos que este contador
debera de contar en sólo algunos casos, por ejemplo, el digito menos significativo de los minutos sólo
cambia cuando el digito menos significativo del segundero y el más significativo tienen su cuenta
terminal activa por lo que necesita de un habilitador, y necesita de Tc que marca que el contador ha
reaizado un ciclo. Por lo que nuestro contador queda:
Fig. 6. Contador de Decadas. Nota: Este diagrama ya contiene las señales con sus respectivos nombres de las señales dentro de la
entidad, por ejemplo HCLK que es la and de las entradas de reloj y Enable, tambien tenemos la
señal T2, Sq1,Sq4, etc. Tambien observamos que si se activa Reset el contador se va al estado 0 (0000).
Fig. 7 como puede observarse el contador sólo cambia en el flano de subidade la señal de reloj (clk), siempre y cuando enable
se encuentre activo, para esta imagen el contador llega al estado 2 (0010).
fig.8 En esta imagen el enable se mantine activo, por lo que con cada flanco de subida del reloj (clk) el contador aumenta en uno.
En esta imagen llega hasta el el estado 6 (0110).
fig.9 En esta imagen se vuelve a apreciar el efecto que tiene desactivar el enable, para el caso de esta imagen el contador llega hasta 8
(1000).
fig.10 En esta image podemos ver que alcanza el estado 9 (1001) y despues vuelve a comenzar desde el estado cero (0000).
Contador módulo 6.
Este contador se le llama moduo 6 pues es u contador el cual sólo tiene 6 estados, en este caso
cuenta de 0 a 5, como 5 (101) es el número más grande que necesitamos contar nuestro contador tendrá
sólo 3 flip flops, entonces nuestra entidad tendrá 3 entradas, una para señal de reloj (clk), otra para
habilitar el contador (enable) y una de reset que envia al contador al estado cero (000). Tenemos
entonces el siguiente diagrama de estados:
fig.11 diagrama de
estados del contador
modulo6.
Con esta tabla notamos que Q0 siempre cambia (por lo que el flip flop 0 está en toggle), Q1
cambia cada que Q0 = 1 excepto cuando el contador está en el estado cinco (101), Q2 cambia cuando
Q0=Q1=1 y cuando el contador está en estado 5 (101). Por lo quetendremos J0=K0=1, J1=K1= Q'2 Q0
y J2=K2=(Q2 + Q1)Q0. Al igual que el otro contador no siempre estará en uso (esto significa que se
puede deshabilitar este dispositivo), y tiene una entrada de Reset que lo manda al estado cero (000),
además de las salidas donde se muestra la cuenta Qout, tenemos otra salida, Tc que nos indica que el
contador ha terminado un ciclo. Por lo tanto nuestro contador queda:
fig.12 contador Nota: Este diagrama al igual que el del contdor de decadas contiene las señales las cuales son la parte
módulo 6. combinacional del contador, vemos que en cuanto las entradas Enable habilita la señal de reloj y Reset envia
al contador al estado cero (000).
Paracomprobar el funcionamiento de dicho contador lo simulamos:
fig. 13 diagrama de tiempo. Nota: aquí podemos observar que mientras está en el estado cinco (101) Tc es igual a 1, pues recordemos
que Tc se activa cada que se encuentra en el estado 5.
Divisor de frecuencia.
Debido a que el reloj necesita contar segundos, necesitamos una señal de reloj la cual tenga una
frecuencia de 1Hz, pero la tarjeta nos proporciona una señal de reloj de 50 Mhz, esto significa que la
frecuencia de es 50 millones de ciclos por segundo, por lo que hacemos un divisor de frecuencia el cual
cuente 50 millones, esto significa que la salida cambie cada 50 millones de pulsos de esta forma
dividimos la frecuencia a un Hz. La entidad de dicho divisor solo posee una entrada (CLK) y una salida
(SELECTOR), por lo que nuestra entidad queda:
Contador de tiempo.
Ahora necesitamos un contador que nos permita contar los segundos de 0 a 59 y los minutos de
0 a 59, comenzamos con los segundos, para ser más especificos comenzamos con la parte menos
significativa de los segundos, esta se cuenta de 0 a 9 por lo que utilizaremos un contador de decadas el
cual debe estar conectado a la señal de reloj de 1 Hz, por lo tanto este contador siempre debe de estar
habilitado, la entrada de reset será para que el usuario cuando así lodesee pueda mandar el reloj a un
estado inicial, de modo que las entradas de Reset de todo contador dentro del contador de tiempo sera
conectada a Rst quien será una de las entradas del contador de tiempo, el bus de tamaño 4 de salida
(Qs) del contador de decadas se conectará a un bus de salida (cntSS10) del contador de tiempo, la otra
salida del contador de decadas, Tc, se conectará a un inversor (s1 = Tc'), para contar el digito más
significativo de los segundos usamos un contador módulo 6, el cual conectaremos de ls siguiente
forma: a la entrada de reloj le conectamos la señal s1, en el caso del habilitador (Enbl) lo mantenemos
siempre activo pues lo que hará que cuente es la señal de reloj que tendremos en s1, el bus de salida
(Qout) será una salida (cntSS6) del contador de tiempo, la salida Tc se envia por medio de una señal
Tc2. Ahora analizamos la conexión para el digito menos significativo de los minutos, ocuparemos para
ello un contador de decadas, conectado de la siguiente forma: está siempre habilitado (Enbl = 1), la
entrada de reloj recibe una señal CuT1, dónde CuT1 es la NAND de las señales Tc1 y Tc2 (CuT1 = Tc1
nand Tc2), el bus de salida (Qs) será una salida (cntMM10) del contador de tiempo, la otra salida Tc se
conecta a una señal Tc3, para el digito más significativo de los segundos utilizamos otro contador
módulo 6 conectado de la siguiente forma: siempre está habilitado (Enable = 1), la entrada de reloj
recibe la señal CuT2 la cual es la negación de S2, quien sa su vez es la AND de las señales Tc1,Tc2 y
Tc3, el bus de salida (Qout) será otra salida (cntMM6) del contador de tiempo, la otra salida Tc se
conecta a una señal Tc4, Tc4 será otra salida del contador de tiempo. De modo que tenemos el
siguiente diagrama:
Multiplexor.
Como se mencionó anteriormente para mandar a los displays los minutos (2 digitos) es
necesario multiplexar, lo realizamos de la misma forma que en una de las prácticas del curso, para esto
necesitamos primero hacer un multiplexor de 2 a 1, el cual tiene 3 entradas, una entrada de selección
(s), 2 de datos (A,B) y una salida x, donde x = s'A + sB. Esto implica que nuestra entidad sea la
siguiente:
fig.16 Multiplexor 2 a 1.
Multiplexor cuadruple de 2 a 1.
El multiplexor descrito anteriormente es el módulo más pequeño del Multiplexor cuadruple,
pues este se compone de 4 MUX de 2 a 1, donde todos los MUX 2 a 1 comparten la misma linea de
selección. Se necesitan 4 MUX pues se pretende que la salida sea un bus de tamaño 4, entonces
tenemos 2 buses de tamaño 4 (A,B) a la entrada de este MUX cuadruple, una entrada para el selector
(s) y un bus de tamaño 4 de salida (Y), el primer MUX 2 a 1 recibe el bit más significativo de los buses
A y B (A(4) y B(4)) en sus entradas, y a su salida se conecta con el bit más significativo del bus de
salida (Y(4)), el segundo MUX 2 a 1 se conecta al bit que sigue en “peso” al bit más significativo de
cada Bus de entrada (A(3) y B(3)) y a su salida conectamos Y(3), para el tercer MUX conectamos A(2)
y B(2) en las entradas, a su salida Y(2) y por último, para el último MUX conectamos el bit menos
significativo de cada bus, A(1) y B(1), y a su salida el bit menos significativo del bus de salida y(1)
como se muestra en la figura 14.
Binario Hexadecimal
a b c d Representación
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 a
1 0 1 1 b
1 1 0 0 c
1 1 0 1 d
1 1 1 0 e
1 1 1 1 f
Entonces necesitamos conocer que segmentos hay que encender para cada combinación y cuales
mantener apagados, basandonos en la figura 2 obtenemos la siguiente tabla:
Ahora sabemos que segmentos enciende para cada combinación, por lo que tenemos por último la tabla
donde asignamos 0 para encender los segmentos necesarios y 1 para apagarlos.
Entradas. Salidas.
a b c d FA FB FC FD FE FF FG
0 0 0 0 0 0 0 0 0 0 1
0 0 0 1 1 0 0 1 1 1 1
0 0 1 0 0 0 1 0 0 1 0
0 0 1 1 0 0 0 0 1 1 0
0 1 0 0 1 0 0 1 1 0 0
0 1 0 1 0 1 0 0 1 0 0
0 1 1 0 0 1 0 0 0 0 0
0 1 1 1 0 0 0 1 1 1 1
1 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 1 1 0 0
1 0 1 0 0 0 0 1 0 0 0
1 0 1 1 1 1 0 0 0 0 0
1 1 0 0 1 1 1 0 0 1 0
1 1 0 1 1 0 0 0 0 1 0
1 1 1 0 0 1 1 0 0 0 0
1 1 1 1 0 1 1 1 0 0 0
Por lo que la entidad del codificador tiene una bus de entradas de tamaño 4 (Entradas) y un bus de
salida de tamaño 7 (Salidas).
Por lo que vemos, la entidad del decodificador de 2 a 4 tiene dos entradas (A y B) y un bus de tamaño 4
de salida (Displays).