Lógica Secuencial - FF-Contad-Reg

42
Circuitos Secuenciales Ing. Roberto Carlos Espitia Steer Asignatura De : Circuitos Digitales Y Microprocesadores. Universidad Autónoma Del Caribe -2011

Transcript of Lógica Secuencial - FF-Contad-Reg

Circuitos Secuenciales

Ing. Roberto Carlos Espitia Steer Asignatura De : Circuitos Digitales Y Microprocesadores.Universidad Autónoma Del Caribe -2011

FLIP-FLOPS

Introducción

Hasta este punto hemos estudiados los sistemas con lógica Combinacional, es decir, tenemos un conjunto de entradas, a las que se le aplica una función lógica y obtenemos una respectiva salida.A partir de este capitulo trabajaremos con los conceptos de la lógica secuencial, los cuales establecen que la salida no depende solo de la función lógica sino de los periodos de tiempo de los flip-flops.

Funcionamiento de los Flip-Flops.

Los flip-flops son dispositivos síncronos de 2 estados, también son conocidos como multivibradores biestables, para el caso de estos dispositivos el termino síncrono hace referencia a que la salida solo cambiara de estado en el instante especifico en que una entrada llamada reloj (CLK) se active, a dicha entrada también se le conoce como entrada de control C.

Los flip-flops poseen 2 salidas Q y Q’, las cuales siempre se encuentran en estados opuestos. Para el caso en que Q=1 entonces Q’=0 y se dice que el flip-flop esta inicializado (Set), si por el contrario Q=0 entonces Q’=1 el dispositivo esta reinicializado o borrado (reset).

A diferencia de las compuertas lógicas, los flip-flops pueden mantener el estado de sus salidas, aun cuando las entradas que produjeron dichas salidas cambien su estado, es mediante este principio que los flip-flops pueden guardar un bit de información.

Flip-Flops Disparados Por Flanco

Características Y Funcionamiento

Un flip-flop disparado por flanco cambia de estado con el flanco positivo (Flanco De subida), o con el flanco negativo (flanco de bajada) del impulso de la señal de reloj, y tiene en cuenta el estado de sus entradas solo en la transición del reloj.

Los flip-flops disparados por flanco se identifican por el triangulo ubicado en la entrada de reloj C.Por su parte los flip-flops que trabajan con flanco positivo no tienen un circulo en la entrada C, mientras que los que trabajan con flanco negativo tienen un circulo en dicha entrada.

Tipos de Flip-Flops Disparados Por Flanco y simbología.

Simbología Lógica

Flip-Flop S-R Disparado Por Flanco

En estos flip-flops cuando la entrada S esta en un nivel ALTO y R esta a nivel BAJO, la salida Q se pone en un nivel ALTO con el flanco de disparo de la señal de reloj, pasando así el flip-flop al estado SET. Por su parte cuando la entrada S esta en un nivel BAJO y R esta en ALTO, la salida Q se pone a nivel BAJO con el respectivo flanco de disparo del reloj, pasando el flip-flop al estado RESET. Cuando ambas entradas S y R están a nivel bajo, la salida no cambia de estado y finalmente cuando S y R están en nivel ALTO, se produce una condición no valida.

Tabla de verdad Flip-Flop con activación por flanco positivo.

Nota: El funcionamiento y la TDV para un flip-flop activadopor flanco negativo es el mismo.

Ejercicio

Flip-Flop Tipo D – Disparado Por Flanco

El flip-flop tipo D resulta muy útil cuando se necesita almacenar un único bit de datos. Si se añade un inversor a un flip-flop S-R obtenemos un flip-flop D básico.

Tabla De Verdad y Equivalencia

Flip-Flop Tipo JK – Disparado Por FlancoEl flip-flop tipo JK es un de los más utilizados. Las expresiones J y K de sus entradas no tienen ningún significado conocido.El funcionamiento del flip-flop tipo JK es igual al del flip-flop S-R, a diferencia que en el JK no existen condiciones no válidas cuando J=K=1. Recordemos que el flip-flop S-R cuando sus entradas set=reset=1 la salida del flip-flop es no válida.La condición J=K=1 genera la operación de complemento, se usa ampliamente en todos los tipos de contadores binarios. En esencia, el flip-flop tipo JK puede hacer lo mismo que el flip-flop S-C, además de operar en el modo de complemento.

• La figura nos muestra un flip-flop tipo JK disparado por flanco positivo y su tabla de verdad.

Ejemplo: Flip-Flop JK

Entradas Asincrónica De Inicialización Y Borrado

La mayoría de los circuitos integrados Flip-Flops poseen entradas asincrónicas, estas son entradas que pueden variar el estado de las salidas de los flip-flops independientemente de la señal de reloj, generalmente dichas entradas reciben el nombre de Inicializacion-Preset (PRE) y borrado –clear (CLR). Una activación dela entrada (preset) pone a SET el dispositivo flip-flop y un nivel activo en la entrada de borrado (clear) lo pone a RESET.

Flip-Flop JK con entradas asincrónicas PRE y CLR

Flip-Flop Maestro-Esclavo

El flip-flop tipo JK maestro-esclavo se compone de dos partes: el maestro y el esclavo. El maestro depende de una entrada de habilitación. El esclavo está sincronizado con el impulso invertido del reloj y se controla mediante las salidas del maestro. La tabla de verdad es la misma que la de los flip-flops tipo JK disparados por flanco, excepto en la manera en que se sincroniza con la señal de reloj.Los datos se introducen en el flip-flop con el flanco anterior del impulso de reloj, pero la salida no refleja el estado de la entrada hasta que llega el flanco posterior.

Diagrama Lógico De Un Flip-Flop JK Maestro - Esclavo

Monoestables

Los monoestables son dispositivos que solo tienen un único estado estable. Normalmente un monoestable se encuentra en su estado estable, cambiando a sus estado inestable solo cuando se dispara. Una vez que se ha disparado el monoestable permanecerá en su estado inestable durante un tiempo determinado, volviendo posteriormente a su estado estable. El tiempo que este dispositivo permanece en el estado inestable determina la anchura del pulso.

Símbolo Lógico De Un Monoestable

Monoestables No Redisparables

Estos tipos de monoestables no responden a ningún impulso de disparo adicional desde el momento en que pasa a su estado inestable hasta que retorna a sus estado natural.El tiempo que permanece el monoestable en su estado inestable es la anchura del pulso de salida, el cual se calcula mediante la formula: Tw= 0,7RCext, como se observa, para modificar el ancho del pulso es necesario ajustar los valores de resistencia interna, externa y del condensador.

Posibilidades de ajustar el ancho del pulso en un CI Monoestable.

Monoestables Disparables

Un circuitos monoestable redisparable puede ser disparado nuevamente antes de que retorne a su estado estable, el resultado del redisparo es una ampliación de la anchura del impulso, como se ilustra en la figura;

Funcionamiento de un monoestable redisparable Para calcular el ancho del pulso la formula es:

El Temporizador 555

El temporizador 555 es un dispositivo electrónico muy utilizado en distintas aplicaciones, esto se debe a que puede ser configurado en dos modos distintos, en este caso podría ser configurado como multivibrador monoestable o como multivibrador aestable (Oscilador).Un multivibrador aestable no tiene estados estables y varia, por tanto, una y otra vez oscila entre dos estados inestables y no requiere de una entrada de disparo externo, esta configuración es muy útil ya que nos proporciona un tren de pulsos que seria la señal de reloj para los circuitos que implementamos.

Funcionamiento Como MonoestableLa anchura del impulso de salida se determina mediante la constante de tiempo, que se calcula a partir de R1 y C1 según la siguiente fórmula: La entrada de control (CONT), se conecta a un condensador de desacoplo C2, para evitar la aparición de ruido que pudiera afectar los niveles umbral y de disparo (threshold, trigger).

Funcionamiento como Biestable

La figura nos muestra la configuración del 555 como aestable o biestable. La forma de onda para la salida está determinada por la carga y descarga del condensador C1.

Circuitos Secuenciales - Contadores

Los circuitos secuenciales contadores están conformados por la unión de 2 o mas flip-flops. El numero de flip-flops que se utilizan y la forma en que se conectan determina el numero de estados y la secuencia de estos. de acuerdo al modo en que se aplique la señal de reloj, los contadores pueden clasificarse en; asíncronos y síncronos. En los contadores asíncronos se les aplica una señal de reloj externa en la entrada C (Clock) del primer FF y luego a los siguientes FF se les aplica la señal de reloj por medio de la salida del FF anterior . Para los contadores síncronos la entrada de reloj es la misma para todos los FF, se aplica de manera simultanea.

Funcionamiento Del Contador Asíncrono

Un contador asíncrono es aquel en el que los FF del contador no cambian de estado exactamente al mismo tiempo, dado que estos no comparten el mismo impulso de reloj.

Contador Asíncrono binario de 2 bits.

Contador Asíncrono De 3 Bits

Contador Ascendente BCD Asincrónico.

Los contadores analizados anteriormente cuentan 2^n estados diferentes, donde n es el numero de FF. Realmente con n flip flop se puede tener en la secuencia HASTA 2^n estados diferentes, por lo que podríamos contar un menor numero de estados y tendríamos una secuencia truncada. Esto se hace forzando a reciclar los FF antes de que pase por todos sus estados normales. Un ejemplo común se tiene con un contador de década. Si quisiéramos realizar un contador modulo 10 (de 0 a 9) se necesitarían 4 flip flops. Con 4 FF de la forma indicada anteriormente podríamos contar hasta 16 estados diferentes (de 0 a 15), por lo que al llegar a 9 si queremos volver a 0 lo que hacemos es poner en cero todos los FF utilizando las entradas de CLEAR. Para hacer esto necesitamos decodificar el estado de numeración siguiente al mas alto con un circuito combinatorio adicional que haga que los FF, en lugar de mostrar un 10 (1010) muestren un cero (0000) haciendo un CLEAR en todos los FF. Esto se hace con la compuerta NAND que se muestra en el circuito. Se utiliza una compuerta NAND porque la entrada de CLEAR está negada. Esto quiere decir que los FF se resetean con un cero.

Contador Sincrónico

el termino sincrónico hace referencia a que los eventos tienen una relación temporal fija entre si, en el ámbito de los FF esta expresión significa que los dispositivos reciben las mismo tiempo la señal de reloj.

Contador Síncrono De 3 Bits

Diseño De Contadores

Modelo General de los circuitos secuenciales

En este modelo el efecto en las salidas de todas las entradas previas se representa por el estado del circuito. Esto también determina el próximo estado del circuito. La relación existente entre entradas, salidas, estados presentes y estados futuros puede especificarse por medio de tablas de estado y diagramas de estado.

Diagramas De Estado

Describe gráficamente el circuito secuencial, el contador en este caso, indicando cual es el estado siguiente en función del estado actual y de las entradas, que para el caso de contadores no existen . En este diagrama, un estado se representa por un circulo, y la transición se indica con líneas o arcos que conectan los círculos. Dentro de cada circulo se escribe un numero binario que representa el estado.

La figura muestra el diagrama de estados de un contador de 3 bits

Tabla De Transiciones

La tabla de estados consiste de tres columnas denominadas estado presente, estado futuro y entradas de los flip flops. · El estado presente denota el estado de los flip flops antes de la ocurrencia de un pulso de reloj. · El estado futuro muestra el estado de los flip flops después del pulso de reloj. · Las entradas de los flip flops muestran que valores deben recibir las entradas de los flip flops para pasar del estado presente al estado futuro después del pulso de reloj. Es importante recordar las tablas de excitación de los flip flop ya que la función de entrada se obtiene a partir de estas. De hecho el procedimiento consiste en determinar que entrada necesitan los flip flops para pasar del estado presente al estrado futuro. Como se mencionó en el resumen de flip flops, las tablas de excitación son las siguientes.

Procedimiento De Diseño

Procedimiento de Diseño.

1..Realizar el diagrama de estado. Del numero de estados diferentes se obtiene el numero de flip flops.

2. Realizar la tabla de transiciones. De la tabla se obtienen las funciones de entradas de los flip flops. Se selecciona el tipo de flip flop para el diseño (JK, T, D)

3. Minimización de las funciones de entradas utilizando mapas de Karnaugh.

4. Dibujar el diagrama circuital

Ejemplo De DiseñoPara entender el procedimiento de diseño, sigamos los pasos para diseñar un contador síncrono binario ascendente de 3 bits .La cuenta será 000, 001, 010, 011, 100, 101, 110, 111.. y así de nuevo. (En decimal corresponde a la cuenta 0,1,2,3,4,5,6,7 y de nuevo a 0)

Paso 1: Diagrama de estado Describimos el contador mediante un diagrama de estado, que nos muestra la manera como avanza la secuencia cada vez que se aplica un pulso de reloj. El numero de estados por lo que pasa el contador es de 7 por lo que se necesitarán 3 FF para diseñarlo. En el diseño de circuitos secuenciales en general, el diagrama de estado es el primer paso hacia la obtención del circuito. Para el caso de contadores por ser una secuencia directa no es necesario el diagrama de estado ya que en la especificación de diseño está suficientemente clara la secuencia de conteo, y de esta se puede obtener directamente el numero de flip flops necesarios y la tabla de transiciones

Paso 2 - Tabla De TransicionesEl próximo paso es el de desarrollar la tabla de transiciones a partir del diagrama de estado. En ella listaremos para cada uno de los estados presentes de la secuencia , cual debe ser el valor de entrada de los flip flops para que al aplicarse un pulso de reloj se pase al siguiente estado de la secuencia (estado futuro). Para ello nos ayudamos con la tabla de excitación de los flip flop. Podemos diseñar el contador utilizando FF tipo JK, T o D. En este ejemplo utilizaremos FF JK. Si notan la primera fila estamos en el estado 000 y el próximo estado de la cuenta debe ser el 001. En las entradas de los flip flops deberemos poner los valores necesarios para pasar del estado presente al estado futuro cuando baje el pulso de reloj.

Así, para el FF2 que genera Q2, el estado presente es 0 y el estado futuro es 0. Esto sucede cuando J2=K2=0 o cuando J2 = 0 y K 2 = 1. De este modo, J2 tiene que ser cero, y K2 puede tener cualquier valor que indicaremos en la columna correspondiente a J2 con un 0 y en la correspondiente a K 2 con una X indicando la condición de "no importa". Así vamos obteniendo las entradas para todos los FF y para todas las transiciones de estado. Si notan con atención, esta representación es una tabla de verdad de las entradas de los flip flop en función del estado presente, por lo que podemos obtener las funciones mínimas de estas entradas utilizando Mapas de Karnaugh

Paso 2 -Tabla De Transiciones – Contador 3 Bits

Estado Futuro

Paso 3 - Minimización de funciones de entrada de los flip flops

De la tabla de transiciones para cada una de las entradas de los FF obtenemos los Mapas de Karnaugh en función del estado presente, y simplificando obtenemos las funciones de las entradas de cada flip flop. Note que se colocó en cada casilla el valor decimal. Este corresponde al valor decimal de la cuenta del estado presente

Paso 4 - Diagrama Circuital

El paso final es obtener el diagrama circuital. Para ello utilizamos las funciones de entrada de los flip flops para dibujar la lógica cambinacional correspondiente a las entradas de cada flip flop y formar así el contador. Las funciones de entrada obtenidas de los Mapas de Karnaugh son: J2 = K2 =Q1·Q0 J1 = K1 = Q0 J0 = K0 = 1

Registros De Desplazamiento

Introducción

Los registros de desplazamiento hacen parte de la familia de circuitos lógicos secuenciales, y se encuentran fuertemente relacionados con los contadores digitales vistos en la sección anterior,

Este tipo de circuitos se utiliza básicamente para almacenar datos digitales y normalmente no operan con secuencias internas de estado como los contadores.

Los registros de desplazamiento son circuitos donde la información de entrada se va desplazando en las salidas cuando se les aplica una señal de sincronismo; si se deja de enviar la señal de sincronismo, en la salida se mantiene la información anteriormente presente (memorizado).

La información de entrada se puede introducir en serie o en paralelo. La información de salida también se puede obtener en serie o en paralelo. Combinando estas formas de tratar la información de entrada y salida se obtienen diferentes tipos de registros:

1) entrada serie, salida serie; 2) entrada serie, salida paralelo; 3) entrada paralelo, salida serie; 4) entrada paralelo, salida paralelo.

Funciones Básicas

Los registros de desplazamiento están compuestos por un conjunto de Flip-Flops y tienen gran importancia en las aplicaciones que requieren almacenar y transferir datos dentro de un sistema digital. Generalmente un registro se emplea únicamente para almacenar y desplazar datos (1 y 0s) que ingresan por una fuente externa y normalmente no posee ninguna secuencia característica interna de estados.

Un registro es un tipo de circuito digital con dos funciones básicas: 1 - Almacenamiento De Datos y 2 – movimiento de datos. La capacidad de almacenamiento de un registro lo convierte en un dispositivo de memoria.

Almacenamiento De Bits Con FF

Características de los Registros

Capacidad de almacenamiento de un registro

La capacidad de almacenamiento de un registro es el numero total de bits de un dato digital que puede contener. Cada etapa (FF) de un registro de desplazamiento representa un bit de capacidad de almacenamiento, por tanto el numero de un registro determina su capacidad de almacenamiento.

La capacidad de desplazamiento permite a los registros mover los datos de una etapa a otra internamente. Las siguientes imágenes ilustran la manera en que se pueden mover los datos en los registros de desplazamiento. Cada bloque representa un registro de 4 bits y las flechas indican el sentido en que se mueven los datos.

Clasificación De Los Registros De Desplazamiento

Registros de desplazamiento con entrada /salida serie

Este tipo de registros reciben un bit a la vez por una única línea, la información almacenada es entregada a la salida también en forma serie.

Puede construirse un registro de desplazamiento de cuatro bits utilizando cuatro flip-flops tipo D como se muestra a continuación.

La operación del circuito es la siguiente: primero se limpia el registro, forzando las cuatro salidas a cero. Entonces se aplica la data de entrada secuencialmente en la entrada D del primer flip-flop a la izquierda (FF0).

En cada pulso de reloj, se transmite un bit de izquierda a derecha. Si asumimos un dato que sea por ejemplo 1001. El bit menos significativo del dato debe ser desplazado a través del registro desde FF0 hasta el FF3.

Para obtener los datos desde el registro estos deben ser extraídos en forma serial. Dicho procedimiento puede hacerse de dos formas: 1. De manera destructiva, en la que los datos originales se pierden al final del ciclo de

lectura, y todos los flip-flops que componen el registro son puestos en cero.

2. De manera no destructiva, en la que se evita la perdida de los datos. Para esto se realiza un arreglo de compuertas como se muestra, de manera que los datos que vayan saliendo vuelvan a entrar al registro.

Los datos se cargan al registro cuando la señal de control R/W (READ/WRITE) está en ALTO (ESCRIBIR). Los datos se desplazan hacia afuera cuando la señal de control R/W está en BAJO (LEER).

Registros Con Entrada Serial – Salida Paralela

Para este tipo de registro los datos se introducen en forma serial, de la misma manera como se describió anteriormente. La diferencia está en la forma de extraerla. Una vez almacenada, cada bit aparece en su salida correspondiente, y todos los bits están disponibles simultáneamente. A continuación se muestra un registro de desplazamiento de 4 bits con esta configuración.

Registros Con Entrada Paralela – Salida Serie

A continuación se muestra un registro de desplazamiento con entrada serial y salida paralela. El circuito utiliza flip-flops tipo D y un arreglo de compuertas NAND para la entrada de datos al registro (escritura).

D3, D2, D1 y D0 son las entradas en paralelo, donde D3 es el bit mas significativo y D0 el menos significativo. Para escribir los datos, la línea de control WRITE/SHIFT se coloca en BAJO(0 voltios) y la data se introduce con un pulso de reloj. La data se desplaza cuando la línea de control se coloca en ALTO (5 voltios) . El registro realiza un desplazamiento hacia la derecha cuando se aplica el pulso de reloj, como se muestra en la animación a continuación

Registros Con Entrada / Salida Paralela

Para este tipo de registro, la data aparece en las salidas paralelas, simultaneamente con la entrada. A continuación se muestra un registro de entrada paralela - salida paralela de 4 bits con flip-flops tipo D. Las entradas paralelas se indican como D (D3, D2, D1, D0) y las salidas paralelas como Q (Q3, Q2, Q1, Q0). Una vez que se aplica el pulso de reloj, toda la data aplicada en las entradas D, aparece simultaneamente en la correspondiente salida Q.

Registros De Desplazamiento Bidireccionales

Los registros discutidos hasta ahora realizaban desplazamiento hacia la derecha. (Cada vez que se desplaza un bit hacia la derecha implica una división por dos del numero binario). Si laoperación se reversa, (desplazamiento hacia la izquierda). El efecto es que a cada desplazamiento de un bit hacia la izquierda se realiza una multiplicación por dos del numero binario. Con un arreglo adecuado de compuertas se pueden realizar ambas operaciones. A este tipo de registrose le denomina registro bidireccional.

El arreglo de compuertas NAND selecciona la entrada de dados del flip-flop adyacente bien sea ala derecha o a la izquierda, dependiendo de la línea de control LEFT/RIGHT.

Circuitos Integrados - Registros De Desplazamiento

74164 Registro de desplazamiento de entrada serie y salida serie o paralelo de 8 bits.

• Posee una entrada de reloj y otra de habilitado general. Para la entrada de datos dispone de dos entradas unidas internamente a través de una puerta AND.

• Pines:• La relación de pines de este integrado es la siguiente: • A, B: Pines de entrada serie al registro. La entrada al registro de este dispositivo la hace

conectando internamente estas dos señales a través de una puerta AND. Entradas sin inversión.

• CLOCK: Pin de entrada de reloj. El desplazamiento de los datos se realiza a cada flanco ascendente de la señal de reloj. Entrada sin inversión.

• CLEAR: Pin de puesta a cero de todas las salidas. Entrada con inversión.• QA...QH: Pines de salida paralelo. Son ocho pines de salidas sin inversión.• Funcionamiento:• Cuando el pin de puesta a cero  tiene un nivel lógico bajo, independientemente del

estado del resto de entradas, las salidas pasarán a estar todas a cero. Si está a nivel lógico alto el resultado del AND de las dos entradas A y B será desplazado por cada salida desde QA hasta QH a cada flanco ascendente de la señal de reloj. Es decir, a cada flanco ascendente del reloj QA tomará el valor de la operación AB; QB el valor que tenía QA; QC el valor que tenía QB y así hasta QH que tomará el valor que tenía QG.

74164 Registro de desplazamiento de entrada serie y salida serie o paralelo de 8 bits.

Al conectar la entrada B=1, la entrada A será la que proporciona la entrada en serie al registro. Si ponemos  a uno, después de 8 flancos ascendentes del reloj aparece en las salidas QA hasta QH la información introducida por A en cada flanco ascendente (salida paralelo). A partir de este octavo flanco de subida la salida QH representa la entrada A con un retraso de 8 pulsos (salida serie).