Está en la página 1de 14

El flip-flop J-K.

Contadores

En este captulo estudiaremos uno de los elementos ms importantes, si no el ms importante, en el arsenal de los bloques fundamentales de los circuitos lgicos conocidos como secuenciales. Este elemento es el flip-flop J-K y se representa de la manera siguiente:

Como puede verse en el smbolo del flip-flop J-K, este posee dos salidas complementarias Q y Q al igual que el flip-flop R-S. Las caractersticas 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 posea 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 aqul en el cual se encontraba anteriormente. Esto quiere decir que si antes de la transicin 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 despus de la transicin. Asimismo, si se encontraba en el estado Q=0 antes de la transicin, entonces tomar el estado Q=1 despus de la transicin. Obsrvese que la transicin de 0 a 1 en la terminal C no produce efecto alguno en la salida Q. Unicamente la transicin de 1 a 0 es la que puede producir efecto alguno. Puesto que es una cada de 1 a 0 o una transicin negativa la que produce esta accin, este flip-flop J-K es reconocido como uno accionado por una seal de reloj negativa en la terminal de "reloj" (clock). Existen tambin en el mercado flip-flops J-K en los cuales la transicin que produce la accin en la terminal de salida Q es una transicin positiva de 0 a 1 y no la transicin negativa de 1 a 0 (precaucin: aqu no hay voltajes negativos involucrados). Estos flip-flops J-K son conocidos en el mercado como flip-flops accionados por una seal de reloj positiva. Obsrvese cuidadosamente que es nicamente una transicin en la terminal C la que puede producir accin alguna a la salida del flip-flop J-K. Si la entrada en la terminal C permanece constante, cualesquier variacin en las terminales J yK no podr producir efecto alguno en la salida Q del flip-flop J-K. En forma similar al flip-flop R-S, el flip-flop J-K tambin posee dos salidas complementarias, Q y Q, con la diferencia de que el flip-flop J-K no posee estados no-definidos. El flip-flop J-K, al igual que todos los bloques fundamentales dentro de los circuitos lgicos, se construye utilizando funciones lgicas bsicas.

Consideramos a continuacin una configuracin hecha exclusivamente a base de flip-flops J-K:

Para analizar cualesquier circuito lgico que contenga flip-flops J-K, la regla es extremadamente sencilla: Suponemos que todos los flip-flops J-K de la configuracin estn en el estado Q=0. Aplicamos varias transiciones negativas en la terminal de entrada (o terminal "reloj") C y hacemos una lista de los estados que adquieren los flip-flops J-K de la configuracin despus de haber ocurrido cada transicin. Continuamos el procedimiento hasta que todos los flip-flops J-K de la configuracin original hayan regresado al estado original Q=0. Teniendo lo anterior en cuenta, empezamos suponiendo que la salida del primer flip-flop J-K es Q1=0 y que la salida del segundo flip-flop J-K es tambin Q2=0. En otras palabras, el estado original de la configuracin es Q1Q2=00. Vemos entonces en el diagrama de la configuracin cules son las entradas a cada flip-flop J-K:

Al llevarse a cabo la primera transicin negativa en la terminal de entrada, el primer flip-flop J-K tomar el estado Q1=1, ya que antes de la transicin estaba condicionado por las entradas J=1 y K=0. Simultneamente, el segundo flipflop J-K tomar el estado opuesto al que tena anteriormente, esto es, tomar el estado Q2=1, ya que antes de la transicin estaba condicionado por las entradas J=0 y K=0. Por lo tanto, despus de la primera transicin la configuracin habr tomado el estado Q1Q2=11. La situacin de la configuracin es ahora la siguiente:

Al llevarse a cabo la segunda transicin en la terminal de entrada, el primer flipflop J-K tomar el estado Q1=0, ya que antes de la segunda transicin estaba condicionado por las entradas J=0 y K=1. Simultneamente, el segundo flip-flip J-K tomar el estado Q2=0, ya que antes de la segunda transicin estaba condicionado por las entradas J=0 y K=1. Por lo tanto, despus de la segunda transicin la configuracin toma el estado Q1Q2=00. El circuito ha regresado a su estado original. Podemos resumir la secuencia de estados en una "tabla" que a primera vista podra asemejar una "Tabla de Verdad", pero que sin embargo no es tal, ya que es conceptualmente diferente. Se trata de una tabla conocida como tabla de estados y tambin como tabla de secuencias, la cual no nos dice cul es la salida del circuito para una cierta combinacin de entradas, sino que nos muestra cul es la secuencia de un estado del circuito al siguiente estado, en forma ordenada, de arriba hacia abajo:

Con el fin de evitar confusiones, se han dibujado las tablas de secuencias que sern mostradas en este libro de un modo algo diferente a como se han dibujado las Tablas de Verdad. En una tabla de secuencias, cada "bit" de informacin, ya sea un "0" un "1", est encerrado en su propia "cajita", la cual podemos visualizar como representando un flip-flop J-K o cualquier otro tipo de flip-flop. De este modo, cada rengln en una tabla de secuencias representa en un momento dado el estado de todos los flip-flops de los que est hecho el circuito, representa lo que llamamos comnmente el estado de la mquina, simbolizado simplemente como Q. Cualquier circuito lgico con elementos de memoria en un momento dado est completamente determinado por el estado en el que estn cada uno de sus elementos de memoria, lo cual incluye sus flipflops R-S, sus flip-flops J-K, los valores que hay en cada una de las "celdas" de su memoria RAM, en fin, todos los registros y elementos de memoria de los que est hecha la mquina. Y como el nmero de estos elementos es siempre una cantidad finita, estas mquinas son conocidas comnmente como mquinas de estado finito (finite state machines). A diferencia de la Tabla de Verdad en la cual el orden en el que estn puestos los renglones es un asunto sin trascendencia, en la tabla de secuencias el orden de los renglones tiene que ser mantenido intacto para poder leer de la misma cul ser el siguiente estado Qn+1 al cual avanzar un contador en una transicin de estados cuando se encuentra dentro de cierto estado Qn. El avance del tiempo en una tabla de secuencias siempre debe ser ledo de arriba hacia abajo, y el paso de un rengln al siguiente debe ser ledo como la transicin de un estado a otro tras cada "pulso" en la seal de entrada para la terminal de "reloj". Si continuamos aplicando transiciones negativas a la terminal de entrada reloj C, la secuencia arriba mostrada se repetir indefinidamente. Circuitos hechos a base de flip-flops J-K como el que acabamos de estudiar son

conocidos comunmente como contadores. Puesto que el contador estudiado requiere dos transiciones para regresar a la condicin inicial, decimos que es un contador mdulo-2. En general, si un contador requiere n transiciones para regresar a la condicin inicial, decimos que es un contador mdulo-n. El trmino tcnico se ha tomado "prestado" directamente del campo de las matemticas, en donde tenemos aritmticas finitas mdulo-n en las cuales al ir contando hacia arriba la suma no se va acumulando indefinidamente sino que, al llegar al nmero n, el conteo comienza nuevamente otra vez de cero. (Es una lstima que aquellos estudiantes que tienen problemas para entender las aritmticas modulares no tengan acceso a simuladores lgicos en los cuales con circuitos como los flip-flops J-K se pueden apreciar aritmticas modulares en accin. En otras palabras, el asunto de las aritmticas modulares no es un asunto meramente terico que inventaron unos matemticos ociosos que no tenan mejor cosa que hacer. Es algo que tiene aplicacin directa en la prctica, y aqu lo estamos viendo en accin.) Obsrvese cmo en el contador estudiado todos los flip-flops J-K son activados simultneamente. Todo contador en el cual sus flip-flops J-K son accionados a un mismo tiempo con una seal de "reloj" comn a sus terminales de entrada de reloj C es conocido como un contador sncrono. Existen tambin contadores en los cuales cada flip-flop J-K a travs de su terminal de salida Q acciona la terminal C del flip-flop J-K que le sigue. Este tipo de contadores recibe el nombre de contador asncrono. Esta definicin se extiende hacia cualquier otro tipo de contadores y circuitos secuenciales de todo gnero basado no slo en el flip-flop J-K sino en otros flip-flops derivados del flip-flop J-K. Por ejemplo, el siguiente circuito secuencial construdo con flip-flops del tipo D (derivable del flip-flop J-K segn se ver en la seccin de problemas resueltos) es un contador asncrono:

mientras que el siguiente contador es un contador sncrono (obsrvese cmo la terminal de reloj resaltada de color azul alimenta todas las entradas C de los flip-flops del contador):

Otro concepto clave es el de los contadores con peso. Existe cierto tipo de contadores en los cuales si asignamos un cierto "peso" numrico a cada flip-flop J-K que los compone , el contador parece llevar a cabo un conteo ascendente en el sistema decimal. Consideremos un contador cuya tabla de secuencias mostrando su secuencia natural de estados es la siguiente:

Supongamos ahora que asignamos una unidad de peso al primer flip-flop J-K con salida Q1, una unidad de peso al segundo flip-flop J-K de salida Q2, dos unidades de peso al tercer flip-flop J-K de salida Q3 y cuatro unidades de peso al cuarto flip-flop J-K de salida Q4. Al empezar el conteo, el estado de la configuracin es Q1Q2Q3Q4=0000, cuyo equivalente decimal es 0. Despus de la primera transicin, el contador toma el estado Q1Q2Q3Q4=1000. Puesto que la salida del primer flip-flop J-K es Q1=1 y a su vez contribuye con un peso de una unidad, el equivalente decimal del estado del contador ser 1. Despus de la segunda transicin, el contador toma el estado Q1Q2Q3Q4=1100. Puesto que la salida de los dos primeros flip-flops es 1 y cada uno contribuye con un peso de una unidad, el equivalente decimal del estado del contador ser 1+1=2. Despus de la tercera transicin, el contador toma el estado Q1Q2Q3Q4=1010. Puesto el primer flip-flop contribuye con un peso de una unidad y el tercer flip-flop contribuye con un peso de dos unidades, el equivalente decimal del estado del contador ser 1+2=3. Continuando el anlisis, vemos que el contador produce una cuenta decimal ascendente ordenada que llega hasta el estado con un equivalente del nmero decimal 8. Puesto que el peso del contador es una unidad - una unidad - dos unidades - cuatro unidades, representamos dicho peso como 1-1'-2-4. Obsrvese el uso de la comillla puesta en el peso correspondiente al segundo flip-flop que repite el mismo peso del primero.

Ahora bien, para disear un contador hecho a base de flip-flops J-K existen varias alternativas, algunas de las cuales se discuten en los problemas resueltos correspondientes a este captulo. El diseista deber estar alerta para determinar cul de todos producir el diseo ptimo para lograr la secuencia deseada. Debemos mencionar tambin que todo contador que produzca una salida simtrica de pulsos en su ltimo flip-flop J-K es conocido como un contador simtrico. De no ser as, el contador es conocido como un contador asimtrico. (Definimos un tren simtrico de pulsos como aqul en el cual los "unos" y los "ceros" siempre ocurren de manera alternada, y cada "1" tiene la misma duracin de tiempo que un "0".) Aunque el flip-flop J-K es un elemento central para la construccin de contadores electrnicos, su uso no est limitado a este tipo de circuitos. Las aplicaciones de un bloque tan verstil como lo es el flip-flop J-K son tan amplias que estn limitadas nicamente por la imaginacin del diseista. Del flip-flop JK se pueden obtener otros componentes ms sencillos y ms especializados como el flip-flop D y el flip-flop T. Aqu es en donde tenemos el punto de partida para la construccin de componentes funcionales ms especializados tales como el registro de transferencia (shift register), conocido tambin como registro de desplazamiento y como registro de corrimiento. En este componente podemos ir metiendo varios bits de uno en uno hasta llenarlo a su mxima capacidad, tras lo cual podemos enviarlos juntos hacia afuera en forma paralela o inclusive en forma serial a la vez que vamos reintroduciendo la informacin de nuevo al registro de desplazamiento para otro uso posterior. Esta accin la podemos esquematizar de la siguiente manera en un circuito lgico que podemos suponer que se ha construdo con cuatro flip-flops J-K:

En este ejemplo, tras el primer "pulso de reloj", el ltimo bit correspondiente a la palabra binaria 1011 ha entrado ya en el primer flip-flip del registro de transferencia. Al siguiente "pulso de reloj", le toca su turno al penltimo bit de la palabra binaria entrar al primer flip-flop del registro de transferencia, a la vez que el bit que estaba en el primer flip-flop es desplazado hacia el segundo flipflop hacia su derecha. De este modo, la palabra binaria va entrando al registro de desplazamiento hasta que est completamente dentro del registro, y eventualmente empieza a salir del registro bajo la accin de los siguientes pulsos de reloj. Puesto que este es un registro de transferencia en el cual la informacin binaria entra en forma serial (por la izquierda) y sale en forma serial (por la derecha), este tipo de registro es conocido como de entrada-serial salida-serial o siso (serial-input serial-output). Se pueden concebir otros tres tipos de registros de transferencia, el que es conocido como de entrada-serial salidaparalela o sipo (serial-input parallel-output):

y el que es conocido como de entrada-paralela salida-serial o piso (parallelinput serial-output):

y el que es conocido como de entrada-paralela salida-paralela o pipo (parallel-input parallel-output):

Disear un registro de transferencia con flip-flops J-K o cualquier otro tipo de flip-flop es un asunto relativamente fcil. Pero el problema general en el diseo de circuitos secuenciales consiste en, dada una tabla de secuencias, disear un circuito lgico que pueda producir en forma ordenada dicha tabla de secuencias, todo bajo el control de un "pulso de reloj" maestro.

En otros tiempos, dados los costos altsimos de un componente tan bsico como el inversor lgico NOT construdo a base de lentos relevadores electromecnicos o de componentes ms rpidos pero an ms costosos como los tubos electrnicos al vaco, disear un circuito secuencial con la menor cantidad terica posible de componentes era un asunto de la ms alta prioridad, y para ello se invertan muchas horas de estudio refinando al mximo tcnicas como el mapa de Karnaugh para poder obtener los diseos ms econmicos posibles. Pero el dramtico abaratamiento de los circuitos integrados en donde se implementan las funciones lgicas bsicas ha hecho posibles otros recursos ms prcticos de diseo que no enfatizan tanto aquellas herramientas tericas de tan laborioso acceso que inclusive estaban fuera del alcance de la mayora de los tcnicos por ser impartidas en cursos a nivel universitario en las carreras de ingeniera elctrica, ingeniera electrnica y ciencias computacionales. Supngase que se desea construr una mquina secuencial que sea capaz de generar una secuencia de ocho palabras de 4 bits cada palabra. Si tenemos la tabla de secuencias a la mano, entonces todo lo que tenemos que hacer es proporcionar un contador binario de conteo ascendente que empezando con el estado Q1Q2Q3=000 suba al estado Q1Q2Q3=001 en el siguiente "pulso de reloj", tras esto al estado Q1Q2Q3=010 en el siguiente "pulso de reloj", y as sucesivamente, llevando a cabo un conteo binario ascendente. Podemos construr fcilmente un contador de este tipo con flip-flops J-K. O mejor an, lo podemos comprar ya hecho dentro de un circuito integrado como el CD4520 (el cual incluye dos contadores binarios ascendentes por el precio de uno):

Todo lo que tenemos que hacer ahora es agregarle una memoria ROM, conectando directamente las salidas Q del contador binario a las entradas A de domicilios de la memoria ROM. El ROM tiene que tener grabada en su memoria la tabla de secuencias en forma ordenada, con la primera secuencia puesta como el dato localizable en el primer domicilio, la segunda secuencia puesta como el dato localizable en el segundo domicilio, y as sucesivamente. El circuito presenta as el siguiente aspecto:

Todo lo que tenemos que hacer ahora es aplicarle "pulsos" de la seal de reloj de la duracin deseada en la terminal de entrada "Reloj" para ver trabajar a nuestro secuenciador. Existe otra alternativa de diseo, explorada en la seccin de problemas resueltos de este captulo, la cual consiste en utilizar una memoria ROM en la cual se recurre al "truco" de retroalimentar las entradas del ROM con sus salidas, de modo tal que cada domicilio apunte hacia una localidad que es otro domicilio del mismo ROM y a la vez la secuencia que sigue. De esta manera, el abaratamiento de la microelectrnica no solo ha hecho posible que un tcnico pueda lograr lo mismo que lo que antes requera a un ingeniero para lograr, ha

hecho obsoletos muchos de los conocimientos tan arduamente adquiridos por este ingeniero que hoy en da nos sirven nicamente como ejercicio intelectual, un ejercicio intelectual muy interesante pero de dudosa utilidad en la prctica.

También podría gustarte