INSTITUTO TECNOLÓGICO DE MATAMOROSMicroprocesadores y Microcontroladores Practica #0 Flip-Flops Ing. Electrónica 08:00PM - 09:00PM Integrante: Benito Domínguez Cruz Edgar Jovany Salazar Correa José Hernández Aguilera Juan Carlos Medina Orozco Gregorio Calderón Medina Profesor: Ing. Amaro Arias Nelson H. Matamoros, Tam. A 31 de Enero del 2011 INTRODUCCION A LOS FLIP-FLOP DEFINICON: Los biestables o flip-flops, son circuitos secuenciales constituidos por compuertas lógicas capaces de almacenar un bit, que es la información binaria más elemental. DIAGRAMA INTERNO AI igual que los circuitos secuenciales en general, los biestables o flip-flop también se pueden clasificar en síncronos y asíncronos ASINCRONAS Son aquellos que carecen de impulso de reloj y, por lo tanto, la salida en los flip-flop es en la medida en que cambien las entradas. SINCRONAS En ellas, las entradas solo tienen actuación sobre la salida (se validan) cuando el nivel lógico en la entrada de reloj esta alto o bajo (según el sistema). Esta característica obliga a que las salidas solo puedan variar cuando la entrada de reloj este a nivel de paso (de activación). TIPOS DE FLIP-FLOP El flip-flop J-K DIAGRAMA INTERNO Este elemento es el flip-flop J-K y se representa de la manera siguiente: Como puede verse en el símbolo del flip-flop J-K, este posee dos salidas complementarias Q y Q al igual que el flip-flop R-S. 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 estado Q=0 antes de la transición, entonces tomará el estado Q=1 después de la transición. Obsérvese que la transición de 0 a 1 en la terminal C no produce efecto alguno en la salida Q. Únicamente la transición de 1 a 0 es la que puede producir efecto alguno. Puesto que es una caída de 1 a 0 o una transición negativa la que produce esta acción, este flip-flop J-K es reconocido como uno accionado por una señal de reloj negativa en la terminal de "reloj" (clock). Existen también en el mercado flip-flops J-K en los cuales la transición que produce la acción en la terminal de salida Q es una transición positiva de 0 a 1 y no la transición negativa de 1 a 0 (precaución: aquí no hay voltajes negativos involucrados). Estos flip-flops J-K son conocidos en el mercado como flip-flops accionados por una señal de reloj positiva. Obsérvese cuidadosamente que es únicamente una transición en la terminal C la que puede producir acción alguna a la salida del flip-flop J-K. Si la entrada en la terminal C permanece constante, cualesquier variación en las terminales J y K 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 también posee dos salidas complementarias, Q y Q, con la diferencia de que el slip flop JK no posee estados no definidos. El flip-flop J-K, al igual que todos los bloques fundamentales dentro de los circuitos lógicos, se construye utilizando funciones lógicas básicas. Consideramos a continuación una configuración hecha exclusivamente a base de flip-flops J-K: Para analizar cualesquier circuito lógico que contenga flip-flops J-K, la regla es extremadamente sencilla: Suponemos que todos los flip-flops J-K de la configuración están 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 configuración después de haber ocurrido cada transición. Continuamos el procedimiento hasta que todos los flip-flops J-K de la configuración 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 también Q2=0. En otras palabras, el estado original de la configuración es Q1Q2=00. Vemos entonces en el diagrama de la configuración cuáles son las entradas a cada flip-flop J-K: Al llevarse a cabo la primera transición negativa en la terminal de entrada, el primer flip-flop J-K tomará el estado Q1=1, ya que antes de la transición estaba condicionado por las entradas J=1 y K=0. Simultáneamente, el segundo flip-flop J-K tomará el estado opuesto al que tenía anteriormente, esto es, tomará el estado Q2=1, ya que antes de la transición estaba condicionado por las entradas J=0 y K=0. Por lo tanto, después de la primera transición la configuración habrá tomado el estado Q1Q2=11. La situación de la configuración es ahora la siguiente: Al llevarse a cabo la segunda transición en la terminal de entrada, el primer flip-flop J-K tomará el estado Q1=0, ya que antes de la segunda transición estaba condicionado por las entradas J=0 y K=1. Simultáneamente, el segundo flip-flip J-K tomará el estado Q2=0, ya que antes de la segunda transición estaba condicionado por las entradas J=0 y K=1. Por lo tanto, después de la segunda transición la configuración 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 podría 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 también como tabla de secuencias, la cual no nos dice cuál es la salida del circuito para una cierta combinación de entradas, sino que nos muestra cuál es la secuencia de un estado del circuito al siguiente estado, en forma ordenada, de arriba hacia abajo: En una tabla de secuencias, cada "bit" de información, 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 renglón 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 comúnmente el estado de la máquina, simbolizado simplemente como Q. Cualquier circuito lógico con elementos de memoria en un momento dado está completamente determinado por el estado en el que están cada uno de sus elementos de memoria, lo cual incluye sus flip-flops 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 máquina. Y como el número de estos elementos es siempre una cantidad finita, estas máquinas son conocidas comúnmente como máquinas de estado finito (finite state machines). Circuitos hechos a base de flip-flops J-K como el que acabamos de ver son conocidos comúnmente como contadores. Puesto que el contador estudiado requiere dos transiciones para regresar a la condición inicial, decimos que es un contador módulo-2. En general, si un contador requiere n transiciones para regresar a la condición inicial, decimos que es un contador módulo-n. El término técnico se ha tomado "prestado" directamente del campo de las matemáticas, en donde tenemos aritméticas finitas módulo-n en las cuales al ir contando hacia arriba la suma no se va acumulando indefinidamente sino que, al llegar al número n, el conteo comienza nuevamente otra vez de cero. Obsérvese cómo en el contador todos los flip-flops J-K son activados simultáneamente. Todo contador en el cual sus flip-flops J-K son accionados a un mismo tiempo con una señal de "reloj" común a sus terminales de entrada de reloj C es conocido como un contador síncrono. Existen también contadores en los cuales cada flip-flop J-K a través 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 asíncrono. Esta definición se extiende hacia cualquier otro tipo de contadores y circuitos secuenciales de todo género basado no sólo en el flip-flop J-K sino en otros flip-flops derivados del flip-flop J-K. Por ejemplo, el siguiente circuito secuencial construido con flip-flops del tipo D (derivable del flip-flop J-K) es un contador asíncrono: Mientras que el siguiente contador es un contador síncrono (obsérvese cómo 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" numérico a cada flipflop 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 configuración es Q1Q2Q3Q4=0000, cuyo equivalente decimal es 0. Después de la primera transición, 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. Después de la segunda transición, el contador toma el estado Q1Q2Q3Q4=1100. Puesto que la salida de los dos primeros flipflops es 1 y cada uno contribuye con un peso de una unidad, el equivalente decimal del estado del contador será 1+1=2. Después de la tercera transición, 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 análisis, vemos que el contador produce una cuenta decimal ascendente ordenada que llega hasta el estado con un equivalente del número 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. Obsérvese el uso de la comilla puesta en el peso correspondiente al segundo flip-flop que repite el mismo peso del primero. Aunque el flip-flop J-K es un elemento central para la construcción de contadores electrónicos, su uso no está limitado a este tipo de circuitos. Las aplicaciones de un bloque tan versátil como lo es el flip-flop J-K son tan amplias que están limitadas únicamente por la imaginación del diseñador. Del flip-flop J-K se pueden obtener otros componentes más sencillos y más especializados como el flip-flop D y el flip-flop T. Aquí es en donde tenemos el punto de partida para la construcción de componentes funcionales más especializados tales como el registro de transferencia (shift register), conocido también 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 máxima capacidad, tras lo cual podemos enviarlos juntos hacia afuera en forma paralela o inclusive en forma serial a la vez que vamos reintroduciendo la información de nuevo al registro de desplazamiento para otro uso posterior. Esta acción la podemos esquematizar de la siguiente manera en un circuito lógico que podemos suponer que se ha construido 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-flop del registro de transferencia. Al siguiente "pulso de reloj", le toca su turno al penúltimo 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 flip-flop 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 acción de los siguientes pulsos de reloj. Puesto que este es un registro de transferencia en el cual la información binaria entra en forma serial (por la izquierda) y sale en forma serial (por la derecha), este tipo de registro es conocido como de entradaserial 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 salida-paralela 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): Diseñar un registro de transferencia con flip-flops J-K o cualquier otro tipo de flip-flop es un asunto relativamente fácil. Pero el problema general en el diseño de circuitos secuenciales consiste en, dada una tabla de secuencias, diseñar un circuito lógico que pueda producir en forma ordenada dicha tabla de secuencias, todo bajo el control de un "pulso de reloj" maestro. Registros de corrimiento bidireccionales Este tipo de registro tiene la opción de elegir la dirección en que se transmiten los datos. Estos registros tienen una señal de control que permite seleccionar el sentido de desplazamiento de los datos. En la Figura 6.4.6 se observa el circuito lógico de un registro bidireccional de 4 bits. Figura 6.4.6. Registro de corrimiento bidireccional de 4 bits Para propósitos de entender el funcionamiento de este registro se ha dispuesto de forma vertical, para mostrar cómo se desplazan los datos. Cuando la entrada ABA/ARR' se encuentra en 1 lógico, los datos se desplazan hacia abajo y cuando esta es 0 lógico los datos se desplazan hacia arriba. Cuando la señal de control ABA/ARR' es 1, las compuertas marcadas con A se activan, permitiendo que el dato de cualquier flip-flop pase al flip-flop inmediatamente inferior después de que ocurra una transición positiva en la señal del reloj, de esta forma la información de desplaza por las líneas marcadas en azul que se observan en la figura 6.4.6. Cuando la señal de control ABA/ARR' es 0, las compuertas marcadas con B se activan y el dato de cualquier flip-flop se pasa al flip-flop inmediatamente superior. Las líneas marcadas en rojo en la figura 6.4.6 indican el canal de transmisión de los datos de un flip-flop a otro para esta condición. Note que las compuertas marcadas como A y B se activan de forma complementaria, es decir, mientras se activan aquellas marcadas como A las marcadas como B se encuentran inactivas y viceversa. Registros en Circuito Integrado En el mercado existen actualmente varios circuitos integrados que desempeñan su función como registros, en esta sección mencionaremos algunos de estos registros disponibles en lógica TTL y CMOS. Circuito Integrado 74HC373 Este integrado contiene 8 Cerrojos tipo D con salidas triestado. En la figura 6.4.7 se observa el esquema de conexiones interno y la descripción de sus entradas y salidas es la siguiente: y y y y D0...D7: Entrada paralelo Q0...Q7: Salida paralelo LE: Latch Enable OE: Output Enable Circuito Integrado 74HC273 Este integrado contiene 8 flip-flops tipo D con salidas triestado sensibles al flanco de subida de la señal del reloj, adicionalmente tiene una entrada para borrar activa en bajo (CLR'). En la figura 6.4.9 se observa el diagrama de pines de este integrado y el tabla 6.4.1 los estados lógicos. Figura 6.4.9. Esquema del CI-74HC273 CLEAR CLK D Q 0 1 1 1 X X 0 1 1 0 0 0 X Q0 Tabla 6.4.1. Descripción de las entradas del CI-74HC273 Aplicaciones de los Registros de Corrimiento Los registros de corrimiento tiene varias aplicaciones en la Electrónica Digital, entre las cuales se pueden mencionar las siguientes: y y y y y Transmisión de datos. Conversión de protocolo serie en paralelo y viceversa. Puertos de salida de los microcomputadores. Secuenciadores (luces y anuncios publicitarios). Multiplicaciones y divisiones por 2, 4, 8, 16 bits. FLIP-FLOP D 7474 DIAGRAMA DE CONEXIONADO Y TABLA DE VERDAD DE C.I. 7474.- Tabla de verdad Entrada Salida Salida D Q Q L(0) L(0) H(1) H(1) H(1) L(0) ESQUEMA DEL MONTAJE.- FLIP-FLOP JK 7473 DIAGRAMA DE CONEXIONADO Y TABLA DE VERDAD DEL C.I. 7473. Entrada Entrada Salida J K Q L ( 0 ) L ( 0 ) Qn L(0) H(1) L(0) H(1) L(0) H(1) H ( 1 ) H ( 1 ) Qn ESQUEMA DE MONTAJE. FLIP-FLOP JK 7476 FLIP-FLOP JK 74112 El 74LS164: Este interesante circuito integrado de la familia TTL viene en diferentes encapsulados, de acuerdo a la velocidad, temperatura de operación, voltajes y corrientes soportadas, etc. Dichas características dependen de las letras entre el ³74´ y el ³164´. El integrado desplazamiento de 8 bits. 74LS164N, un registro de Desde el punto de vista técnico, dentro de este integrado se encuentra un ³registro de desplazamiento´ completo, de 8 bits de largo. Esto significa que se comporta como un conversor serie-paralelo, en el que se introducen pulsos de reloj por un pin (CP) y datos en serie por otro (dos en realidad, unidos por una compuerta AND, cuyas entradas son DSA y DSB). Las 8 salidas van toman los estados indicados por el ³tren´ de datos de la entrada. Dispone de un pin (el 9) que realiza la función de poner en cero todas las salidas (Reset, MR en el esquema de abajo). Esquema interno del integrado 74LS164N Diagrama lógico, extraído de la hoja de datos de Motorola. Función de cada patilla del 74LS164N Los pines 1 y 2 son la entrada de datos. Como dijimos antes, internamente existe una compuerta AND que realiza el producto lógico de los valores de ambas entradas. En general, se unen entre si para que el resultado de la función AND sea igual al valor del dato (ver compuertas lógicas) o bien se pone una de las entradas en alto (conectándola a +5V) para que la otra entrada sea la que determine el valor de la salida. Cualquiera de las dos formas es válida. Por supuesto, existen aplicaciones donde se obtienen datos de dos fuentes distintas, en cuyo caso se conectará una entrada de la compuerta a cada una. Los pulsos de clock entran por el pin 8. Los datos de la entrada se reflejan en la salida con cada transición bajo-alto del reloj. La flecha indica el flanco de subida del clock. Tabla de verdad del integrado (Motorola Circuito Integrado 74HC273 Este integrado contiene 8 flip-flops tipo D con salidas triestado sensibles al flanco de subida de la señal del reloj, adicionalmente tiene una entrada para borrar activa en bajo (CLR'). En la figura 6.4.9 se observa el diagrama de pines de este integrado y el tabla 6.4.1 los estados lógicos. Figura 6.4.9. Esquema del CI-74HC273 CLEAR CLK D Q 0 1 1 1 X X 0 1 1 0 0 0 X Q0 Tabla 6.4.1. Descripción de las entradas del CI-74HC273 Aplicaciones de los Registros de Corrimiento Los registros de corrimiento tiene varias aplicaciones en la Electrónica Digital, entre las cuale se pueden mencionar las siguientes: y y y y y y Transmisión de datos. Conversión de protocolo serie en paralelo y viceversa. Puertos de salida de los microcomputadores. Secuenciadores (luces y anuncios publicitarios). Multiplicaciones y divisiones por 2, 4, 8, 16 bits. Operaciones que se hacen en forma secuencial. REGISTRO DE DESPLAZAMIENTO CMOS Los fabricantes de circuitos integrados disponen de gran variedad de registros de desplazamiento CMOS. ³El que estudiaremos a continuación es el CI 74HC164 es un registro de desplazamiento de 8 bits entrada serie salida paralelo. El diagrama en bloques para el registro de desplazamiento CMOS 74HC164 se muestra en la figura xx, este CI viene encapsulado en forma de DIP de 14 patillas, opera con una fuente de alimentación de +5V DC y opera disparado con flanco y solo permite la entrada de datos serie. Figura 8: Registro de desplazamiento CMOS 74HC164 El CI CMOS 74HC164 es un registro de desplazamiento disparado por flanco, que solo permite la entrada de datos en serie. Que proceden de cada uno de los 8 flip-flops internos y, por cada flip-flop hay disponible una salida (Q0 a Q7). Los datos se introducen bit a bit (serie) a través de cada una de las 2 entradas de datos (Dsa y Dsb) Estas 2 entradas pueden realizar la operación AND. Esto significa que una entrada puede utilizarse como entrada de habilitación de datos activa en un nivel ALTO, mientras que el dato serie se introduce por la segunda entrada de dato. Si no se necesita la habilitación de entrada de datos, ambas entradas de datos (DSa y DSb) se unen y se utilizan como única entrada de datos serie. La entrada del reloj (CP) desplaza una posición a la derecha desde (Q0 a Q7) en la transición de nivel L a H (BAJO a ALTO). La entrada de reset maestro (MR) en el 74CH164 es una entrada activa en nivel BAJO que reinicializa los 8 flip-flops y pone las salidas a cero, esta es una entrada asíncrona, que elimina las demás entradas. Los fabricantes producen diversos registros de desplazamiento CMOS. Si se conectan registros de desplazamiento que contengan flip-flop D, se pueden utilizar los CI 4076 y 40174. El CI 4014 es un registro de desplazamiento estático de 8 etapas es un dispositivo de entrada serie salida paralelo. El 4031 es un registro de desplazamiento estático de 64 etapas. El registro de desplazamiento de 4 bits 4035 es una unidad de desplazamiento entrada serie salida paralelo. El registro de desplazamiento estático de 8 bits 4034 es una unidad universal de entrada/salida serie/paralelo bidireccional de 3 estados, con la que se puede entrar y salir a las lineas del bus. También hay disponibles otros muchos registros de desplazamiento en las series 74H y 74HCT de CI CMOS. CMOS 4035 BIBLIOGRAFIA: www.virtual.unal.edu.co/cursos/.../060401.htm www.forosdeelectronica.com/.../flip-flops.htm logica-digital.blogspot.com/.../el-flip-flop-j-k-contadores.html ±
Report "Microcontroladores y Microprocesadores - Practica 0"