contador ascendente y descendente utilizando flipflops
Short Description
Download contador ascendente y descendente utilizando flipflops...
Description
Universidad Austral de Chile Facultad de Ciencias de la Ingeniería
Trabajo práctico 2. Contadores Sistemas Lógicos Binarios ELEL-170
Integrantes: Fernando Nanco Andrés Sánchez Juan Luis Almendras Profesor:
28/06/2012
Dr. A. Madalinski
Resumen El presente informe trata sobre diseñar dos tipos de contadores: ascendente y descendente. Ambos contadores son de décadas, es decir, de 0 a 9. Para una mayor comprensión de como funcionan los contadores se analiza desde uno de los componentes más esenciales que es el flip-flop, los cuales pueden ser de cualquier tipo, pero para éste diseño se utilizo el flip-flop JK. Luego se comprenderá que es lo que sucede al conectar estos flip-flops en cascada y para que uso se da en los contadores. Comprendiendo la materia prima, se da inicio a los contadores, analizando sus diagramas de impulso para poder obtener los números deseados, pues primero contaban en hexadecimal (de 1 a F), por lo que se le agrego una compuerta NAND al contador ascendente y compuertas OR junto con un flip-flop D al contador descendente. El flip-flop D fue utilizado para crear un lapso de tiempo entre los pulsos del reloj, ya que había un salto de numeración en el contador desde 1 a 9 saltando el 0. Los resultados obtenidos fueron satisfactorios a lo propuesto para los diseños, junto con n gran aprendizaje sobre como funcionan los contadores y por sobre todo la dificultad para crear un contador descendente. Cabe mencionar que se pudo crear de otra manera este útimo, utilizando una resistencia con un condensador, pero la intención del informe era diseñar los contadores con flip-flops.
INTRODUCCIÓN En la actualidad, los sistemas digitales son muy utilizados y variados para diferentes tipos de aplicaciones las cuales en su mayoría son aplicadas en la industria y en mayor parte de los equipos electrónicos, además de esto el diseño de un contador puede ser abarcado por un microcontrolador o algún tipo de dispositivo más avanzado, sin embargo comparando costos y siendo una aplicación sencilla el diseño de estos dispositivos pueden ser empleados por flip flop que se pueden encontrar en forma comercial y a un bajo costo. Es por esto que a continuación le presentamos el siguiente trabajo, destinado a comprender de mejor manera cómo funcionan los contadores, mediante su diseño, siendo estos ascendentes y descendentes, utilizando flip flops. Por otra parte en el desarrollo del diseño uno de los métodos utilizados fue mediante el análisis de impulsos y así ir creando las distintas compuertas como son las NAND, OR, y flip flops.
El flip-flop J-K. Contadores Los flip-flop son uno de los elementos más importantes, si no el más importante, en el arsenal de los bloques fundamentales de los circuitos lógicos conocidos como secuenciales. Este elemento es el flip-flop J-K y se representa con el símbolo de la figura 1:
Figura 1. Simbolo de un flip-flop JK.
Como puede verse en el símbolo del flip-flop J-K, este posee dos salidas complementarias Q y ̅ al junto con dos entradas, J y K. Las características del flip-flop J-K son las siguientes: (1) Cuando J=1 y K=1, al ir la entrada de la terminal de reloj C (clock) de 1 a 0 nada ocurre y el flip-flop J-K retiene el estado que poseía anteriormente. (2) Cuando J=1 y K=0, al ir la entrada C de 1 a0 el flip-flop J-K tomará el estado Q=1 independientemente del estado en el que se encontraba anteriormente. (3) Cuando J=0 y K=1, al ir la entrada C de 1 a 0 el flip-flop J-K tomará el estado Q=0 independientemente del estado en el que se encontraba anteriormente. (4) Cuando J=0 y K=0, al ir la entrada C de 1 a 0 el flip-flop J-K tomará un estado opuesto a aquél en el cual se encontraba anteriormente. Esto quiere decir que si antes de la transición en la terminal C de 1 a 0 el flip-flop J-K se encontraba en el estado Q=1, entonces tomará el estado Q=0 después de la transición. Asimismo, si se encontraba en el estadoQ=0 antes de la transición, entonces tomará el estado Q=1 después de la transición. En resumidas cuentas se hace una tabla de verdad para mayor comprensión, ver tabla 1. Modo operación Mantenimiento Reset Set conmutación
A 0 0 1 1
B 0 1 0 1
Q
̅
0 1 ̅̅̅̅̅̅̅
1 0 ̅̅̅̅̅̅̅
Tabla 1. Tabla de verdad Flip flop JK.
Divisor de frecuencia La función ̅̅̅̅̅̅̅ (invertir el estado anterior) de un flip-flop JK significa contar siguiendo la serie 0 1 - 0 - 1 etc. Conectando en cascada dos flip-flops JK, el primer flip-flop puede suministrar en su salida la señal de reloj para el segundo flip-flop. Empleando este principio se pueden implementar tanto un contador, como un divisor de frecuencia. Como se muestra en la figura 2, tenemos cómo ocurre la división de frecuencia.
Figura 2. Diseño para un divisor de frecuencias junto su diagrama de impulso.
Como se observa en el grafico si tomamos a Q0 como LSB (dígito menos significativo) y a Q3 como MSB (dígito más significativo), se pueden interpretar los impulsos como números binarios tal como muestra la tabla 2: Hexadecimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Q3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
Q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
Q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Tabla 2. Números decimales producidos por las salidas de Q0 hasta Q3.
Como ya se mencionó anteriormente, el diseño de un contador contará, valga la redundancia, en forma ascendente desde 0 hasta 15 en teoría, pues en realidad el display mostrará números desde el 0 hasta el 9 y luego símbolos especiales. También el contador es análogo a un circuito divisor de frecuencia con flip flops JK, que es capaz de dividir la frecuencia de entrada hasta ocho veces. Notamos que hemos generado un contador binario capas de contar hasta 1111 2(binario) ó 1510(decimal) y además que sigue un ciclo repetitivo. Contador A: Diseño para un contador binario ascendente desde 0 hasta 9 decimal. Nuestro diseño para un contador ascendente, se basa básicamente en flip flop JK en cascada, tal como un divisor de frecuencias, cabe mencionar que estos van en configuración de flip flop T. En nuestro caso se nos pide contar de 0 a 9, entonces para ello se deben usar 4 bits, y por lo que se requieren 4 flip flop JK, dado que no se encontraron en el mercado flip flop JK asíncrono, se opto por hacer el diseño con flip-flops síncronos, en cuanto al flanco positivo o negativo, de por sí no es importante en este diseño, pues es tan básico que se puede hacer con flancos de subida, así como flancos de bajada, sus únicas diferencias serán las configuraciones entre la salida Q conectadas con las entradas de reloj del siguiente flip-flop. Por lo anteriormente mencionado el diseño del contador utilizará flip-flop JK con flanco de bajada, además con set y reset negados, tal como los flancos del reloj, en este diseño las entradas set y reset pueden o no ser negadas pues si se utilizan más adelante, no quiere decir que sea necesaria su negación. Por lo que se muestra el contador ascendente en la figura 3.
Figura 3. Contador ascendente con flip flop JK. Se observa que el diseño de la figura 3 es igual al divisor de frecuencias de la figura 2, esto quiere decir que el displey mostrará números desde el 0 hasta el 9 y luego símbolos especiales (en este caso mostrara letras desde la “A” hasta la “F”), para evitar los símbolos no deseados se utiliza una compuerta NAND con entrada Q1 y Q3, esto quiere decir que cuando se activen ambas entradas, la salida será un 0 lógico, y la salida del NAND va conectada a las entradas reset de cada flip-flop, provocando así un reinicio en cada flip-flop pues estos se reiniciarán con un 0 lógico ya que su reset se encuentra negado. Ver figura 4.
Figura 4. Contador ascendente de décadas con flip flop JK.
De esta manera obtenemos nuestro contador decimal de 0 a 9 ya que al llegar 10 se activa el reset en todos los flip-flop, devolviendo a 0 el contador. En cuanto a la tabla de verdad para este contador es igual a la tabla 1, con la diferencia de que llega solo hasta 9.
Contador B: Diseño para un contador binario descendiente desde 9 hasta 0 decimal. El contador descendente se creo basando la misma manera que el ascendente, es decir, 4 flip-flop JK con flanco de bajada, reset y set negados y reloj flanco de bajada. La diferencia al anterior contador son las salidas desde Q0 hasta Q3 las cuales salen desde los ̅ de cada flip flop JK, tal como se ve en la figura 5.
Figura 5. Diseño para un contador descendente de 4 bits con flip flop JK.
La tabla de verdad para cada Qn es la misma tabla que utiliza el contador ascendente, pues como se dijo anteriormente, los contadores están diseñados como divisores de frecuencia, además en la figura 6 se observan los diagramas de impulsos formados por este contador.
Cl k 5
4
3
2
1
0
15(F )
14(E )
13( D)
12( C)
11( B)
10( A)
9
8
7
Q0
Q1
Q2
Q3 Figura 6. Diagrama de pulsos para un contador descendente de 4 bits, en rojo el reloj, en verde las salidas Qn.
Como se ve en el diagrama de la figura 6, el display BCD mostrará números desde la letra F hasta el número 0, lo cual aún no se logra el objetivo para un contador descendente de décadas. La solución a este problema es agregando tres compuertas OR junto con un flip-flop D, tal como muestra la figura 7.
Figura 7. Diseño para un contador descendiente de décadas con flip-flop JK y D.
La intención de conectar las compuertas OR en esa configuración, es tener a la salida de estos un 0 solamente cuando el conteo llegue hasta 0, en otras palabras, hasta que todas las Q n se encuentren en 0 lógico, púes las entradas en los flip-flop JK de reset se encuentran negadas, al igual que las set.
6
Provocando así un reseteo (desactivación) en Q1 y Q2 junto con una activación en Q0 y Q3, dando como resultado un 9 binario. El flip-flop D tiene flanco de subida, a diferencia de los JK con flancos de bajada, pues su intención es retener la señal de reseteo para que la salida muestre un 0 decimal. Éste flip-flop se colocó ya que de otra manera cuando se llegaba de 1 a 0 decimal, el reset se aplicaba inmediatamente, provocando un salto desde 1 hasta 9 sin mostrar 0. El diagrama de impulso para el diseño del contador de la figura 7 se observa en la figura 8.
Clk
5
4
3
2
1
0
9
8
7
6
5
4
3
2
1
Q0
Q1
Q2
Q3
D Figura 8. Diagrama de impulsos para un contador descendiente de décadas, en rojo el reloj, en verde las salidas Qn, en amarillo la salida Q en el flip flop D.
Otra forma de evitar este salto sería utilizando un condensador junto con una resistencia, esto provocaría un tiempo de carga en el condensador y así atrasar el impulso para el reseteo de los Q 1 y Q2.
0
Conclusión En el desarrollo de este informe, se ha tratado de explicar el funcionamiento de un flip flop JK y con ello algunas aplicaciones, como en el caso de éste, un contador ascendente de 0 a 9 y descendente de 9 a 0, donde podemos decir que su funcionamiento es basado de un circuito divisor de frecuencias con 4 flip flop JK, para el contador ascendente, cabe mencionar que para poder que este solo cuente hasta 9 se debe hacer una conexión con una compuerta NAND sino al llegar a nueve seguirá la cuenta y enviará datos erróneos, mas bien símbolos especiales, hasta que la cuenta binaria llegue a 1111 o en hexadecimal 15, para ello, es imprescindible el uso de esta compuerta en las salidas Q2 y Q4 del circuito. Luego para el contador descendente podemos inferir que es un caso algo mas complejo que el anterior, el cual está compuesto de compuertas OR y 5 flip flop JK, donde el objetivo de esto fue tener a la salida de estos un 0 solamente cuando el conteo llegue hasta 0, en otras palabras, hasta que todas las Qn se encuentren en 0 lógico, púes las entradas en los flip-flop JK de reset se encuentran negadas, al igual que las set. Provocando así un reseteo (desactivación) en Q1 y Q2 junto con una activación en Q0 y Q3, dando como resultado un 9 binario, el cual cabe mencionara que se tuvo como dificultad mayor al pasar de 1 a 0 dado que es necesario tener un “tau”, para que este no pase directo de 1 a 9 en cuenta regresiva, lo cual se pudo resolver poniendo un quinto flip flop, un tipo D, para así tener este valor y contar en forma descendente de 9 a 0. Cabe destacar la importancia de esta tarea, para entender el comportamiento y algunas de las innumerables aplicaciones de los flip flop y las compuertas lógicas, dado que en electrónica es imprescindible tener el dominio de este tema.
View more...
Comments