secuenciales febrero 11 2008

Upload: yairvergara

Post on 09-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 Secuenciales febrero 11 2008

    1/114

    SISTEMAS DIGITALES SECUENCIALES

    GEORFFREY ACEVEDO GONZLEZ

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD

    FACULTAD DE CIENCIAS BSICAS E INGENIERAPROGRAMA DE INGENIERA ELECTRNICA

    MEDELLN 2008

    Actualizacin del 11 de enero de 2008

    Para recibir actualizaciones y anexos de este material se debe dirigir la solicitud al e-mail: [email protected]

    mailto:[email protected]:[email protected]
  • 8/8/2019 Secuenciales febrero 11 2008

    2/114

    GeneralMDULOSISTEMAS DIGITALES SECUENCIALESPRIMERA EDICINEditor de texto OpenOffice 2.3.1

    Copyright

    Universidad Nacional Abierta y a Distancia

    ISBN

    2008

    Medelln, Colombia

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    2

  • 8/8/2019 Secuenciales febrero 11 2008

    3/114

  • 8/8/2019 Secuenciales febrero 11 2008

    4/114

    Algunos aspectos esenciales, que resalta el curso son:

    Aplicar las etapas del diseo de circuitos digitales secuenciales para lasolucin de problemas propios del campo de aplicacin de la Electrnica Digital a

    nivel de Ingeniera y de Tecnologa.Conocer las diferentes herramientas del diseo que sirven comocomponentes bsicos para el desarrollo de dispositivos electrnicos digitales.

    Mediante el desarrollo de las unidades didcticas se pretende ubicar alestudiante en un ambiente ideal para la apropiacin de conceptos y destrezasindispensables para la comprensin y diseo de sistemas digitales secuenciales ysus aplicaciones en la solucin de problemas prcticos. Este desarrollo dehabilidades y competencias propias del rea digital tendr aplicables en otroscampos de su formacin que permitirn proyectar el curso como herramienta vitalen el campo de la investigacin.

    Que estas pginas os brinden muchas horas de diversin.

    Agradezco a todos los estudiante y tutores su valiosa colaboracin.

    Georffrey Acevedo G.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    2

  • 8/8/2019 Secuenciales febrero 11 2008

    5/114

    Sistemas Digitales Secuenciales

    CONTENIDO

    Unidad 1

    INTRODUCCIN A LAS UNIDADES DIGITALES BSICAS DEALMACENAMIENTO

    captulo 1 Conceptos previoslgebra de variables lgicasTablas de verdadFuncin de variables lgicasFunciones de dos variables

    Compuertas lgicasTecnologa TTL y CMOSTeoremas para dos variablesMInterms y MaxtermsDiseo de un Multiplexor en VHDL

    captulo 2 Almacenamiento en registros-objetivo general-objetivos especficosLATCH-compuerta or

    LATCH setLATCH resetLATCH set-reset

    -diseo-smbolo-tabla de verdad-diagrama de estados

    LATCH sr con lnea de controlLATCH tipo data

    -vhdl latch tipo dataLATCH d con seal de control

    LATCH tipo jkLATCH tipo jk con seal de controlLATCH tipo toggleLATCH tipo t con seal de control

    3

  • 8/8/2019 Secuenciales febrero 11 2008

    6/114

    captulo 3 Aplicaciones al diseo de Multivibradores

    Circuitos Multi-vibradotesCircuitos de tiempo

    -Mdulo temporizador de precisin 555-555 como astable:- Frecuencia de oscilacin-555 como monoestable

    Unidad 2 FLIP-FLOPS y DISEO DE MAQUINAS DE ESTADO

    captulo 1 Flip-Flops

    Flip-Flop activos por flanco positivo y flanco negativo-Flip-Flop activo por flanco Positivo

    -Flip-Flop activo por flanco NegativoCircuitos generadores de FlancoDiseo de Sistemas Sncronos en VHDLVHDL Flip-Flop Data con circuito detector de FlancoCircuitos generadores de FlancoDiseo de circuitos generadores de flanco

    -Seal de reloj a la salida del circuito detector de flancos debajada-Seal de reloj a la salida del circuito detector de flancos desubida-Circuito detector de Flanco de Subida-Circuito detector de Flanco de Bajada

    VHDL Flip-Flop Data ScronoCircuitos de PRESET y RESET asncronos:VHDL F-F tipo D con puesta a cero y a uno asncronas:

    captulo 2 Aplicaciones de los Flip-Flop

    Almacenamiento paralelo de datosDivisin de frecuenciaContadoresContadores AsncronosVHDL Circuito Contador Ascendente O Descendente

    VHDL Definicin de paquetes

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    4

  • 8/8/2019 Secuenciales febrero 11 2008

    7/114

    Sistemas Digitales Secuenciales

    Captulo 3 Modelo de un circuito secuencial-Etapas del diseo de circuitos-Etapa lgica

    -Etapa de memoria-Circuito secuencial sincronizado

    -Diagrama de estados-Tabla de estados-Tabla de estado futuro

    Captulo 4 Circuitos Moor y MeeleyEtapas del diseo

    -Diagrama de estados-Identificacin del Nmero de estados-Tabla de estados

    -Asignacin de estados-Tabla de transicinMemorias

    -Bus de direccin-Bus de datos-Seales de control

    Anexos

    Anexo A Instalacn de Xilinx 7.1iAnexo B Cmo crear un proyecto esquemtico en Xilinx 7.1i

    5

  • 8/8/2019 Secuenciales febrero 11 2008

    8/114

    Unidad 11Introduccin a las unidades digitalesbsicas de almacenamiento

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    6

  • 8/8/2019 Secuenciales febrero 11 2008

    9/114

    Sistemas Digitales Secuenciales

    OBJETIVO GENERAL

    Estudiar, analizar y profundizar los conceptos fundamentales de la teora deldiseo y manejo de datos, mediante cerrojos, y el almacenamiento en Latches,Latch S-R, Latch D, Flip flops disparados por flanco (Flip- Flop Maestro esclavo,Flip-Flop tipo JK, Flip-flop tipo Toggle, Flip-flop tipo Data, con aplicaciones conMonoestables, astables, y por ltimo en cada captulo se aplicar al diseo enFPGA y programacin en VHDL.

    OBJETIVOS ESPECFICOS

    1.Identificar los dispositivos de almacenamiento bsicos.2.Distinguir las diferentes clases Latch.3.Representar una funcin usando diagramas de tiempos.4.Realizar diseos usando LATCH.5.Aplicar los diagramas de tiempo para el anlisis de un circuito secuencial.

    7

  • 8/8/2019 Secuenciales febrero 11 2008

    10/114

    Captulo11:

    Fase de reconocimiento

    En esta leccin reforzaremos algunos conceptos de Sistemas Digitales Bsicos yVHDL que se deben tener para poder hacer la lectura significativa del curso:

    lgebra de variables lgicas:

    Caractersticas de las variables lgicas:

    La variable lgica debe ser excluyentes:Debemos poder determinar su valor de verdad, definindola como verdadera ofalasa.

    La variable lgica debe ser diferenciable:Debeos poder decir con claridad si son o no son verdaderas o falsas. (Que lavariable exprese sentencias claras). Por ejemplo:

    P = La temperatura es de 250C.

    Esta es una variable de la cual podemos afirmar con claridad que sea verdadera ofalsa.

    Los valores de verdad podemos representarlos as:

    Verdadera = ON = VERDE = 1

    Falasa = OFF = ROJO = 0

    Como los valores de verdad son mutuamente excluyentes podemos usar lasiguiente representacin:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    8

  • 8/8/2019 Secuenciales febrero 11 2008

    11/114

    Sistemas Digitales Secuenciales

    _____Verdadero = Falso

    _________Falso = Verdadero

    Aqu la lnea horizontal representa la negacin del valor que tiene debajo.

    Representacin de las variables lgicas:Para representar las variables lgicas usamos las ltimas letras del alfabeto comop, q, r, s, t. v. x. y. z.

    Si usamos como variable lgica la p, sta podr tomar uno slo de los valores deverdad del conjunto:{verdadero, falso}.

    Es decir que p puede ser verdadera o falsa pero no tener los dos valores deverdad al mismo tiempo de acuerdo a la propiedad de serexcluyente.

    Tablas de verdad:Una tabla de verdad esta constituida por los posibles valores de la variable lgica ylas posibles funciones de la variable.

    Variables FuncinPosiblesValores de

    Verdad de lavariable

    PosiblesValores de

    Verdad de lafuncin

    Funcin de las variables lgicas:La funcin de dichas variables lgicas la representamos comnmente por la letraF. Y est determinada por su tabla de verdad.

    Funcin de una variable lgica:

    F(p) = se lee efe de P. Y ser la funcin de la variable lgica p. F(p) al igual quep tambin toma un valor de verdad del conjunto:

    {verdadero, falso}.

    Pero dicho valor de verdad siempre estar determinada por el valor de verdad dela variable p. En otras palabras F(p) depende del valor de p.

    9

  • 8/8/2019 Secuenciales febrero 11 2008

    12/114

    F(p) = Verdadero.F(p) = Falso.

    Observemos como en la siguiente tabla de la funcin, las posibles funciones de lavariable son en total 4.

    Este nmero de posibilidades podemos calcularlo como 22.

    Posibles Variable. Posibles funciones de la variablep F1(p) F2(p) F3(p) F4(p)F F V F VV F F V V

    En trminos de la variable p, estas funciones podemos definirlas como sigue:

    F1(p) = F__

    F2(p) = p

    F3(p) = p

    F4(p) = V

    Funciones de dos variables p y s:

    Las posibles funciones de las variables son en total 16. Este nmero deposibilidades podemos calcularlo como 24, en donde el cuatro son el nmero deposibles combinaciones verdadero y falso para dos variables es as:

    (Dos valores de verdad)22 (dos variables)

    p s F1(p,s) F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 F16

    F F F V F V F V F V F V F V F V F VF V F F V V F F V V F F V V F F V VV F F F F F V V V V F F F F V V V VV V F F F F F F F F V V V V V V V V

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    10

  • 8/8/2019 Secuenciales febrero 11 2008

    13/114

    Sistemas Digitales Secuenciales

    En trminos de la variable p y de s, estas funciones podemos definirlas comosigue:

    F1(p,s) = FF2(p,s) = p NOR s

    F3(p,s) = (p EXOR s). s

    F4(p,s) = No p

    F5(p,s) = (p EXOR s). p

    F6(p,s) = NO sF7(p,s) = p EXOR sF8(p,s) = p NAND s

    F9(p,s) = p AND s

    F10(p,s) = p EXNOR sF11(p,s) = s

    F12(p,s) = NO[(p EXOR s). p]

    F13(p,s) = p

    F14(p,s) = NO[(p EXOR s). s]

    F15(p,s) = p OR sF16(p,s) = V

    Las funcione subrayadas corresponden a las funciones ms utilizadas, las cualesespecificar a continuacin:

    P S NO P P AND S P ORS P EXORSF F V F F F

    F V V F V V

    V F F F V V

    V V F V V F

    Nemotcnicamente podemos definirlas as:

    AND: Verdadero-verdadero para ser verdadero...... xOR: Falso-falso para ser falso.............. +EXOR: Iguales para ser falso. ..........

    11

  • 8/8/2019 Secuenciales febrero 11 2008

    14/114

    Funciones de ms de dos variables lgicas:

    Son las funciones que para establecer su valor de verdad dependen de ms dedos variables lgicas:

    Ejemplo:Representacin de una funcin de tres variables lgicas:

    Primero debemos determinar el nmero de las posibles combinaciones de valoresde verdad para las tres variables, que en este caso denominaremos A, B y C. Y losvalores de vedad los representaremos por1 para Verdadero y 0 para falso.

    Como se trata de combinara 3 variables lgicas diferentes, y los valores de verdadposibles son dos Verdadero y Falso, son necesarias:

    2

    3

    = 8 Ocho combinaciones posibles.

    Ahora s podemos construir la tabla de verdad para la funcin:

    A B C F(A,B,C) = Z0 0 0 0

    0 0 1 10 1 0 0

    0 1 1 11 0 0 0

    1 0 1 11 1 0 0

    1 1 1 1

    Z, est definida por todos aquellos valores que la afirman. Es decir nicamente porlos valores que observamos resaltados en la tabla de verdad.

    Representacin grfica de las funciones lgicas:

    Por comodidad usaremos las letras A y B para representar las variables:

    La representacin grfica de las funciones coincide con la representacin endiagrama de bloque de un sistema:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    12

    COMPUERTASeales de

    entrada

    Funcin

    OUT

  • 8/8/2019 Secuenciales febrero 11 2008

    15/114

    Sistemas Digitales Secuenciales

    1-Funcin Inversora. (Invierte el valor de verdad de las funciones lgicas)

    2-Funcin AND.Es equivalente a decir: A and B = A . B = AB

    3-Funcin OR.Es equivalente a decir: A or B = A + B

    3-Funcin XOR.Es equivalente a decir: A xor B = A B

    4-Funcin BUFFER.

    Mantiene la seal.

    5-Funcin NAND.

    13

    A

    B

    A and B

    A

    A + B

    B

    A

    AB A B

    A

  • 8/8/2019 Secuenciales febrero 11 2008

    16/114

  • 8/8/2019 Secuenciales febrero 11 2008

    17/114

    Sistemas Digitales Secuenciales

    Tecnologa TTL y CMOS:

    TTL:

    Significa tecnologa de transistor a transistor y maneja los siguientes umbrales devoltaje para determinar el 1 o el 0 lgico en sus entradas:

    CMOS:Significa tecnologa metal oxido semiconductor y maneja los siguientes umbralesde voltaje para determinar el 1 o el 0 lgico en sus entradas:

    La notacin de los valores de verdad tendr entonces la siguiente representacin:

    1 para el VERDADERO0 para el FALSO

    Haciendo uso de estas representaciones y de esta notacin, podemos representarla funcin Z de una variable lgica as:

    1. Definimos la funcin Z por su tabla de verdad,

    15

    Margen de

    seguridad.

    5V Hmx

    2V Hmn

    0.8V Lmn

    1 lgico

    0 l ico

    Margen de

    seguridad.

    5V Hmx

    3.5V Hmn

    1.5V Lmn

    1 lgico

    0 lgico

  • 8/8/2019 Secuenciales febrero 11 2008

    18/114

    La funcin Z como vimos, est definida arbitrariamente. Pero depender de losvalores de verdad de las variables A; B y C tal y como lo determine la tabla deverdad siguiente:

    A

    B C F(A,B,C) = Z

    0 0 0 0

    0 0 1 10 1 0 0

    0 1 1 11 0 0 0

    1 0 1 11 1 0 0

    1 1 1 1

    2. Recordemos que Z, est definida por todos aquellos valores que la afirman.Es decir nicamente por los valores que observamos resaltados en la tabla deverdad.

    La funcin Z es: Z = ABC + ABC + ABC + ABC

    El circuito lgico de la variable Z es como sigue:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    16

    BA ZC BA C

  • 8/8/2019 Secuenciales febrero 11 2008

    19/114

    Sistemas Digitales Secuenciales

    Representacin en diagramas de bloques:

    Tcnicas De Simplificacin

    Teoremas del lgebra Booleana:

    I- Teoremas para una variable:

    A = A

    A + 0 = A

    A + 1 = 1

    A+ A = A

    A + A = 1

    Teoremas Duales:

    A . 0 = 0

    A . 1 = A

    A . A = A

    A . A = 0

    A manera de nemotectnia, observemos como las operaciones de suma y productocoinciden para las funciones OR y AND:

    0 +0 = 00 +1

    = 1

    1 +1

    = 1

    0. 0 = 00 .1

    = 0

    1 .1

    = 1

    17

    CIRCUITOLOGICO

  • 8/8/2019 Secuenciales febrero 11 2008

    20/114

    Teoremas para dos variables:

    1) A + AB = ADemostracin: A(1 + B) = A(1) = A

    2) A + AB = A + BDemostracin: A + AB +AB = A + B(A + A) = A + B(Aplicando el criterio anterior).

    3) AC + AB + BC = AC + AB

    4) AC + AB = (A + B)(A + C)

    Teoremas DUALES para dos variables:

    1) A(A + B) = A

    2) A(A + B) = AB

    3) (A + C)(A + B)(B + C) = (A + C)(A + B)

    4) (A + C)(A + B) = AB + AC

    Observemos que el truco para obtener estas funciones consiste en cambiar + por *y * por +. Esto es gracias al teorema de Morgan.

    Teorema de Morgan:

    A.B.C = A + B + C

    Igualmente podemos expresar el teorema en su dualidad:

    A + B + C = A. B. C

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    18

  • 8/8/2019 Secuenciales febrero 11 2008

    21/114

    Sistemas Digitales Secuenciales

    Formas estndar de las funciones lgicas:

    Las funciones lgicas se pueden expresar como suma de productos o productos

    de sumas lgicas. Estos productos son llamados estndar, es decir, involucrantodas las variables. Ejemplo:

    A B C F(A,B,C) = Z0 0 0 10 0 1 10 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

    Como suma de productos:Z estar dada por los valores de Z que la hacen verdadera (1)

    La funcin Z es: Z = ABC + ABC + ABC + ABC + ABC + ABC

    Como producto de sumas:Z estar dada por los valores de Z que la hacen falsa (0). Pero al contrario de delcaso anterior, las variables se complementan donde estn afirmadas y no secomplementan donde estn negadas.

    La funcin Z es: Z =(A + B + C) (A + B + C)

    Las representaciones anteriores de Z reciben el nombre de Minterms y Maxterms:

    Z como Minterms mi: Z = (m0 , m1 , m3 , m5 , m6 , m7 )

    Z como Maxterms mi: Z = M(2,4)

    Niveles de integracin de los circuitos digitales bsicosSegn el nmero de puertas lgicas los circuitos integrados se clasifican como:

    Nombre Significado Compuertas lgicas

    SSI Small-scale-integrated

  • 8/8/2019 Secuenciales febrero 11 2008

    22/114

    DECODIFICADOR PARA DISPLAY

    Display de 7 segmentos:

    Internamente, se trata de siete diodos dispuestos de la siguiente manerarespectivamente:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    20

    nodocomn

    7447

    Ctodocomn

    7448

    a

    b

    c

    d

    e

    fg

    a

    b

    c

    d

    e

    fg

    IntegradoaUsar

    R

    E

    S

    Vcc

    R

    E

    S

  • 8/8/2019 Secuenciales febrero 11 2008

    23/114

    Sistemas Digitales Secuenciales

    Diseo de un Multiplexor en VHDL:

    En esta leccin haremos un reconocimiento de los conocimientos adquiridos en

    sistemas digitales bsicos sobre VHDL, para lograr nuestro objetivo disearemosun multiplexor dos a 1 en VHDL, retomando y analizando las etapas del programa:

    Recordemos que un circuito multiplexor 2 a 1 permite seleccionar entre doscanales de entrada cual ser el canal que podr salir por la nica lnea de salida:

    MULTIPLEXOR 2 a 1

    Este es un circuito de multiplexin en el tiempo (TDM) muy comn entelecomunicaciones; imaginemos que Venn y Aristteles desean comunicarse deNatunga a Macondo pero entre los dos destinos slo existe un nico canal decomunicaciones. Cmo usar este nico canal para que las dos personas puedan

    estar en comunicacin con Macondo al mismo tiempo? ....La solucin es muysimple: permitimos que Aristteles se comunique por unas fracciones de segundo yque en la siguiente fraccin de segundo lo haga Venn, pero debemos hacerlo auna velocidad tal que los usuarios no se percaten del asunto.La tarea de conectar y desconectar rpidamente los canales A y B (usuarios deNatunga) de la nica seal de salida es realizada por el circuito multiplexor.

    21

    Canal A

    Canal B

    Selecciona la salida

    ( Es la seal de control)

    Selecciona elcanal A con 0 y el

    Canal B con 1

    Salida unnico canal

  • 8/8/2019 Secuenciales febrero 11 2008

    24/114

    Veamos la tabla de estados:

    Tabla de estados:

    Caso A B Control C Salida0 0 0 0 0

    1 0 0 1 0

    2 0 1 0 0

    3 0 1 1 1

    4 1 0 0 1

    5 1 0 1 0

    6 1 1 0 1

    7 1 1 1 1

    Obtengamos la funcin lgica:(Puedes repasar estos conceptos en el capttulo de lgebra Booleana del mdulode Lgica Matemtica y complementarlos con el Mdulo de Sistemas DigitalesBsicos)

    f(A,B,Control) = A'BC + AB'C' + ABC' + ABCSimplificacin:

    f(A,B,Control) = (A'BC + ABC) + (AB'C' + ABC')f(A,B,Control) = BC(A' + A) + AC'(B' + B)f(A,B,Control) = BC(1) + AC'(1)f(A,B,Control) = BC + AC'

    Recordimos que el algoritmo en VHDL consta de bsicamente tres etapas:

    1. Definicin de las libreras

    2. Declaracin de las variables de entrada y salida

    3. Arquitectura, donde se describe el comportamiento lgico del sistema.

    A continuacin hacemos la descripcin detallada de stas etapas.. (No olvidesretomar todos stos conceptos en el mdulo de Sistemas Digitales Bsicos).

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    22

  • 8/8/2019 Secuenciales febrero 11 2008

    25/114

    Sistemas Digitales Secuenciales

    Agoritmo en VHDL:

    library ieee;use ieee.std_logic_1164.all;

    entity MUX2a1_a isport(A, B: in std_logic;C: in std_logic;

    Y: out std_logic);end MUX2a1_a;

    architecture funcionamiento ofMUX2a1_a isbegin

    Y

  • 8/8/2019 Secuenciales febrero 11 2008

    26/114

    architecture archmux2a1 of mux2a1 isbegin

    p1: process (entrada,control)

    begin case control is when "0" => y y y

  • 8/8/2019 Secuenciales febrero 11 2008

    27/114

    Sistemas Digitales Secuenciales

    Captulo22:Almacenamiento en Registros

    25

    SistemaCombinacional

    Sistema deRetroalimentacin

    Sistema Secuencial

  • 8/8/2019 Secuenciales febrero 11 2008

    28/114

    Leccin 1. Latch

    En esta leccin aprenderemos a disear una unidad bsica de almacenamiento apartir de los conocimientos adquiridos en el curso de sistemas digitales bsicos.

    1.1.1 LATCH

    Un LATCH es la unidad de almacenamiento bsico es y la unidad fundamentalpara construir los diferentes tipos de FLIP-FLOP que estudiaremos ms adelante.

    Partamos de considerar un LATCH como un sistema con una variable de entrada yuna variable de salida, tal y como se muestra en la siguiente figura:

    Figura 1

    Estamos buscando disear un circuito que permita el almacenamiento de lamnima unidad lgica, es decir, de un bit. Esto es, pretendemos disear un circuitoque nos permita almacenar un uno lgico o un cero lgico. En otras palabras,queremos almacenar o retener5Voltios 0Voltios en un punto especfico de uncircuito hasta que lo deseemos.

    La pregunta ahora es, qu utilidad prctica podra tener dicho circuito digital?,De qu puede servirnos almacenar un dgito?

    Dejemos volar la imaginacin y propongamos una aplicacin a nuestro primercircuito digital de almacenamiento de un bit:

    Resulta que nuestro amigo Boole ha puesto en la jaula de su hermoso canario unnuevo columpio pero ha pasado horas sin lograr determinar si su canario hace o nouso del nuevo juguete. Cmo podemos ayudar a Boole con sta fatigante tarea?

    Figura 2

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    26

    LATCHEntradaIN

    Salida

    OUT

    Seal de entrada

    Circuito

    Seal de salida

  • 8/8/2019 Secuenciales febrero 11 2008

    29/114

    Sistemas Digitales Secuenciales

    Muy bien, ya tenemos nuestro primer problema por resolver, ahora procederemosa disear un sistema tal que una luz permanezca encendida una vez que nuestrocanario halla hecho uso del columpio.

    Necesitamos entonces que la luz no se apague hasta que Boole la observe.Cmo podemos hacer uso de la electrnica digital para crear nuestra primeraunidad de almacenamiento de informacin?Para dar inicio al proceso de diseo debemos hacer un repaso de algunos de losconceptos aprendidos en el curso de Sistemas Digitales Bsicos y lgicaMatemtica. El primer concepto que repasaremos es el de las compuertas OR.

    Repaso: COMPUERTA OR:Recordemos los posibles valores de verdad para la compuerta OR, nuestra unidad

    fundamental en el diseo de un LATCH:

    Las seales de entrada a la compuerta lgica OR son respectivamente P y Q. Lasalida depende del estado lgico de la entrada, sta ser cero cuando ambasentradas sean cero, es decir, basta con que una de las entradas se active, P Qpara que la salida tambin est activa:

    Figura 3

    P Q P Q

    0 0 00 1 11 0 11 1 1

    1.1.1.1 LATCH SET

    LATCH que tiene una seal de entrada que obliga a la salida a tomar el valor deuno (1). Esta diseado con una compuerta OR, aunque tambin puede serdiseado por compuertas AND. Lo que hacemos a continuacin es introducir unlaso de retroalimentacin de la seal de salida Q a la seal de entrada P en lacompuerta OR, tal y como se muestra en la figura 4:

    27

    P QP

    Q

    Compuerta OR

    TABLA DE

    VERDAD

  • 8/8/2019 Secuenciales febrero 11 2008

    30/114

    Figura 4

    El estado inicial de la compuerta OR es el de todas sus seales de entrada y salidaen cero lgico.

    De acuerdo con la tabla de verdad para la OR cualquier uno en las entradasobligar un uno en la salida, este uno de la salida Q ser retroalimentado hacia laentrada como se muestra en la figura 5:

    Figura 5

    Observamos que ponerS =1 oblig a que la salida Q se convirtiera en 1

    Suponiendo que la seal de entrada S se pone en alto cuando el canario se posa en el nuevo

    columpio, logramos que la salida Q correspondiente a la bombilla se ponga tambin en alto

    (encienda), ahora necesitamos que este estado alto de la bombilla se conserve hasta que

    nuestro amigo Boole as lo determine.

    Para verificar que el sistema conserva el estado alto en la salida (Bombillaencendida) supongamos que el canario se retira del columpio producindose una

    seal de cero en la entrada S del sistema. Continuar la bombilla encendida?Veamos:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    28

    QS

    LATCH SET

    1

    1

    1El uno de la salida Qse retroalimenta a laentrada

    QS

    LATCH SET

    0

    0

    0 Estado Inicial,todo en Cero

  • 8/8/2019 Secuenciales febrero 11 2008

    31/114

  • 8/8/2019 Secuenciales febrero 11 2008

    32/114

    Una vez que el estado lgico alto queda almacenado en el circuito es imposible

    apagar la bombilla por medio de un cambio en nuestra nica seal de entrada S,Boole deber desenergizar el circuito digital, es decir, deber interrumpir elsuministro de energa de 5 Voltios.

    Boole ha encontrado que el canario tiene miedo de usar el balancn, para obligar ausarlo, Boole desea ahora que el sistema funcione al contrario, es decir, que labombilla permanezca encendida hasta que el canario se pose en el columpio.Dado que al canario no le gusta la presencia de la luz, Boole espera que el canarioaprenda a apagarla parndose en el columpio. Igual que en el sistema anterior labombilla debe permanecer apagada a pesar de que el canario se retire delcolumpio.

    Para dar solucin a este nuevo reto, procedemos a disear el Latch Reset:

    Leccin 2. Latch Reset

    1.1.1. 2 LATCH RESET

    LATCH que tiene una seal de entrada que obliga a la salida a tomar el valor decero (0).

    Para el diseo de este nuevo LATCH es necesario que recordemos la funcin

    lgica de la compuerta NOT:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    30

    P ~P

    0 11 0

    P P TABLA DEVERDAD

    Seal de entrada

    Circuito

    Seal de salida

    Esta vez la

    bombillainicia

    encendida

  • 8/8/2019 Secuenciales febrero 11 2008

    33/114

    Sistemas Digitales Secuenciales

    Figura 8

    Para este diseo, partimos del LATCH SET en su estado inicial:

    Figura 9

    Adicionamos dos inversoras, lo que no producir ninguna alteracin en la salida:

    Figura 10Ahora convertiremos la seal intermedia ~Q en la nueva seal de salida:

    Figura 11

    Ahora cambiemos el estado de R (de Cero a Uno ) y veamos que pasa:

    Figura 12

    31

    QS

    LATCH SET

    0

    0

    0 Estado Inicial,todo en Cero

    Compuerta NOT

    R 0

    0

    0

    Q~Q

    Q

    1

    LATCH RESET

    R 1

    1

    1

    Q~Q

    Q

    0

    S 0

    0

    0

    Q ~QQ

  • 8/8/2019 Secuenciales febrero 11 2008

    34/114

    Como en el caso del LATCH SET, al cambiar nuevamente el estado de Robservaremos que el 1 a la entrada de la OR no permitir el cambio en el estadode la salida de sta, permaneciendo ~Q en 0, y este estado se mantendr hastaque el circuito sea desenergizado.

    Redibujemos el LATCH RESET:

    Dibujando nuevamente todo el sistema tendremos que al posarse el ave en el nuevo columpio se

    apagar la bombilla y a pesar de que el ave se retire, la bombilla no volver a encender:

    Qu debe hacer Boole ahora para activar nuevamente el sistema, es decir deapagar la bombilla en el caso de usar un LATCH SET o de encender nuevamentela bombilla en el caso de usar un LATCH RESET si no desea interrumpir elsuministro de corriente del circuito digital?

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    32

    Etapa de acople de

    potencia con

    Optoacoplador yTriac

    Q

    5V

    115VAC

    Al posarse el ave la entrada S sedesconecta de tierra produciendo un 1lgico en la entrada de la compuerta

    TTL

    Seal de entrada

    R

    Circu

    ito deacopl

    e de

    potencia.

    QR

    LATCH RESET

  • 8/8/2019 Secuenciales febrero 11 2008

    35/114

    Sistemas Digitales Secuenciales

    Como te habrs dado cuenta, el hecho de tener que desenergizar desconectar elcircuito para retornarlo a su estado original, puede resultar en un inconveniente.Para solucionar esto, hagamos un nuevo diseo: El Latch Set-Reset, un circuito

    tal que permita el cambio de estado de la salida sin necesidad de interrumpir elsuministro de energa al circuito digital:

    Leccin 3. Latchset- reset

    1.1.1. 3 LATCH SET- RESET

    Es el LATCH que tiene dos entradas, una entrada que obliga a la salida a tomar elvalor de cero (0) y otra entrada que obliga a la salida a tomar el valor de uno (1).

    Para su diseo, partimos del LATCH SET:

    Figura 14

    Recordemos que por medio de una compuerta OR podemos disear unacompuerta inversora:

    Figura 15

    Reemplacemos una inversora por una OR:

    Figura 16

    33

    S 0

    0

    0

    Q ~Q Q

    = P P

    S 0

    0

    0

    Q ~Q Q

  • 8/8/2019 Secuenciales febrero 11 2008

    36/114

    Ahora procedemos a separar una de las entradas de la compuerta NOR a manerade seal de control, seal que denominaremos R(RESET):

    Figura 17A continuacin procedemos a analizar las salidas Q y ~Q al variar los estados delas entradas S y R:

    1) Si S = R = 0

    1.1) Si Q estaba en 0 y hacemos S = R = 0, observaremos que Q contina siendocero:

    Figura 18

    1.2) Si Q estaba en 1 y hacemos S = R= 0, observaremos que Q contina siendouno:

    Figura 19

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    34

    S

    ~QQ

    R

    0

    0

    1

    0

    S

    ~QQ

    R

    0

    0

    0

    1

    S

    ~QQ

    R

  • 8/8/2019 Secuenciales febrero 11 2008

    37/114

    Sistemas Digitales Secuenciales

    Luego, podemos concluir que con S y R en cero se conserva el estado anterior.NO hay cambios.

    2) Si S = 0 y R = 12.1) Si Q estaba en 0 y hacemos S = 0 y R = 1, observaremos que el estado de lasalida Q se conserva:

    Figura 20

    2.2) Si Q estaba en 1 y hacemos S = 0 y R = 1, observaremos que Q se vuelvecero:

    Figura 21Luego, podemos concluir que con R en uno se resetea el estado de la salida, esdecir, la salida se vuelve cero.

    3) Si S =1 y R = 03.1) Si Q estaba en 0 y hacemos S = 1 y R = 0, observaremos que Q se vuelveuno:

    Figura 22

    3.2) Si Q estaba en 1 y hacemos S = 1 y R = 0, observaremos que el estado de lasalda Q se conserva igual:

    35

    S

    ~QQ

    R

    0

    1

    0

    1 0

    S~Q Q

    R

    1

    0

    1 00 1

    S

    ~QQ

    R

    0

    1

    1

    0

  • 8/8/2019 Secuenciales febrero 11 2008

    38/114

    Figura 23Luego, podemos concluir que con S en uno se pone en estado de SET , es decir,la salida se vuelve UNO.

    4) Si S =1 y R = 1

    4.1) Si Q estaba en 0 y ~Q en 1 hacemos S = 1 y R = 1, observamos que:

    4.1) Si Q estaba en 0 y ~Q en 0 hacemos S = 1 y R = 1, observamos que:

    Observa como en estos dos casos Q y ~Q toman valores iguales, lo que nosrepresenta un estado no deseado: (Se trata de no dar las ordenes de Reseteo yde Set al mismo tiempo.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    36

    S

    ~QQ

    R

    1

    1

    1 00 0

    S

    ~QQ

    R

    1

    1

    0

    1 0

    S

    ~Q

    QR

    1

    0

    01 1

  • 8/8/2019 Secuenciales febrero 11 2008

    39/114

    Sistemas Digitales Secuenciales

    Reorganicemos la el diagrama y construyamos con la informacin anterior unatabla que comprenda todos los cuatro casos vistos:

    37

    TABLA DE ESTADOS LATCH SET - RESET

    LATCHSR

    ~Q

    Q

    S

    RDIAGRAMA DE BLOQUE

    S ~Q

    R

    0

    Q

    LATCH SET - RESETEntrada de

    excitacinSET RESET Estado actual Estado siguiente

    S R Q ~Q Q ~QFuncin

    00

    00

    01

    10

    01

    10

    PERMANECE(Q no cambia)

    00

    11

    01

    10

    00

    11

    RESET

    11

    00

    01

    10

    11

    00

    SET

    11

    11

    01

    10

    XX

    XX

    ESTADOPROHIBIDO(No Vlido)

  • 8/8/2019 Secuenciales febrero 11 2008

    40/114

    Circuito de aplicacin:

    Cmo podemos ver la aplicacin til de este sistema sobre el circuito detector quevenimos diseando para el canario de nuestro amigo Boole?

    Ahora disponemos de un circuito que tiene dos seales de entrada, una entrada S SET que permite encender nuevamente la bombilla si sta se ha apagado antesusando la entrada R RESET. Es decir, si ingresamos un 1 en SET y la bombillaest apagada, sta se encender y nicamente podr apagarse mediante un 1 enla seal de RESET.

    Si la bombilla est apagada e ingresamos un 1 por la entrada de RESET, labombilla se apagar y no podr encenderse tornando a 0 la seal de RESET.nicamente se puede encender mediante un 1 en la seal de SET.

    Pero el sistema tiene una falencia, debemos cuidar de no enviar las seales deSET y RESET al mismo tiempo ya que la respuesta del sistema ser impredecible,es por esto que en la tabla de estados marcamos sta condicin como estadoprohibido.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    38

  • 8/8/2019 Secuenciales febrero 11 2008

    41/114

    Sistemas Digitales Secuenciales

    Con ste circuito Boole tiene los dos LATCH, SET y RESET, en uno slo y podrponer a funcionar el sistema como desee:

    1.Si desea que la bombilla se encienda cuando el ave se pose en el columpio,entonces deber conectar la seal del columpio a la entrada SET. Y as, l podrapagar la bombilla mediante una seal en la entrada RESET, sin necesidad dedesconectar el circuito de las bateras.

    2.Si desea que la bombilla se apague cuando el ave se pose en el columpio,entonces deber conectar la seal del columpio a la entrada RESET. Y as, lpodr encender nuevamente la bombilla cuando lo desee mediante una seal en laentrada SET, sin necesidad de desconectar el circuito de las bateras.

    39

    5V

    115VAC

    Circu

    ito de

    acople de

    poten

    cia.

    5V

    pulsador

    Q

    S

    R

    Seal de entrada

  • 8/8/2019 Secuenciales febrero 11 2008

    42/114

    Leccin No.4 Latch SR con NAND

    Representacin del LATCH SR usando compuertas NAND:

    Ahora, vamos a suprimir las compuertas inversoras; En este caso, decimos que las

    entradas S y R S son activas en bajo:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    40

    LATCH SET RESETCON NAND

    S ~Q

    R

    0

    Q

    LATCH SET RESETCON NAND y ENTRADAS ACTIVASEN BAJO.

    SMBOLO DELLATCH SET RESETCON ENTRADAS ACTIVAS ENBAJO.

    LATCHSR

  • 8/8/2019 Secuenciales febrero 11 2008

    43/114

    Sistemas Digitales Secuenciales

    Funcin Lgica del LATCH SET-RESET:

    De la tabla de estados del LATCH SET RESET, tomando como variables deentrada a S y R y como funcin de salida el estado actual Q* . Con estos datosobtendremos la funcin lgica para el LATCH SET-RESET:

    1) Observa como esta tabla de estados corresponde a la siguiente tabla deverdad:

    41

    SET RESET EstadoActual

    Estadosiguiente

    S R QQ

    *

    00

    00

    01

    01

    00

    11

    01

    00

    11

    00

    01

    11

    11

    11

    01

    XX

  • 8/8/2019 Secuenciales febrero 11 2008

    44/114

    2) De la tabla de verdad obtenemos la siguiente funcin lgica:

    f (S, R, Q) = Q* = S' R Q + S R' Q' + S R' Q

    3) Simplifiquemos usando Mapas de Karnaugh:

    La funcin simplificada es:

    f (S, R, Q) = Q* = S + R Q

    Ejercicio 1

    Asigna a S, y R los valores posibles y observa el valor as obtenido para lafuncin, luego compralos con los valores de la tabla de estado.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    42

  • 8/8/2019 Secuenciales febrero 11 2008

    45/114

    Sistemas Digitales Secuenciales

    Leccin No.5 Diagrama de Estados.

    Diagrama de ESTADOS para el LATCH SR:

    43

    0 10X

    10

    SRSi el estado actual es un

    CERO en la salida;Cuando S=1 y R=0

    podemos pasar al estado en

    que la salida es 1, la flecha( )indica este cambio de

    estado.

    X0

    01 Si el estado actual es un UNO en lasalida, Con, ningn valor de Sproducir un cambio de estado. Solo

    cuando S=0 y R= 1 podemos pasaral estado en que la salida es 0, laflecha ( ) indica este cambio de

    estado.

  • 8/8/2019 Secuenciales febrero 11 2008

    46/114

    Hemos aprendido que el LATCH-SR tiene un estado prohibido, en el cual S y Rtoman el valor de 1, produciendo cambios indeseados en las salidas Q y ~Q delLatch.

    Cmo podemos evitar el estado prohibido?

    Recordemos que con una compuerta AND, slo se obtendr un uno (1) a la salidasiempre y cuando ambas entradas estn tambin en uno (1), luego, si tomamosuna de las entradas como entrada de control. Mientras esta entrada est en cero,la salida tambin ser cero.

    1.1.1.4 LATCH SR CON LNEA DE CONTROL:

    Aplicando la compuerta NAND, podemos bloquear las ambas entradas (SR); estoes, habilitar o deshabilitar el LATCH.

    Smbolo para el LATCH-SR con seal de control:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    44

    Salida = Entrada

    Solo cuandoControl 0En otro caso es = 0

    Entrada

    Control

    Compuerta AND

    LATCHSR

    C

    LATCH SET RESETCON SEAL DE CONTROL.

  • 8/8/2019 Secuenciales febrero 11 2008

    47/114

    Sistemas Digitales Secuenciales

    Ejercicio 2

    1. Construye una tabla de verdad para la funcin Q * . Recuerda que ahoraesta nueva funcin depende del estado de las variables: CSRQ

    2. Luego obtn la funcin sin simplificar.

    3. Usando los mapas de Karnaugh encuentra una funcin simplificada.4. Verifica que tu funcin cumpla la tabla de verdad.5. Consulta y grafica Integrados comerciales que contengan el LATCH SR6. Consulta que es un circuito antirrobote.7. Consulta como usar el LATCH SR para eliminar los rebotes.

    45

    SMBOLO DEL

    LATCH SET RESETCON SEAL DE CONTROL.

    LATCHSR conControl

    C

  • 8/8/2019 Secuenciales febrero 11 2008

    48/114

    Leccin No.6 Latch Tipo Data

    1.1.1.5 LATCH TIPO DATA:

    Existe otra forma de evitar que las entradas S y R tomen el valor de 1 al mismotiempo, y es usando una compuerta inversora entre las dos seales, as, cuando Ssea Uno (1), R ser (0), y cuando S sea Cero(0), R ser UNO (1):

    De esta manera, un 1 en S da la orden de SET que pone la salida Q en alto (1) yun 0 en S da la orden de RESET que pone la salida Q en bajo (0).

    Tabla de verdad LATCH D:

    Ejercicio 3

    1.Elabora un diagrama de estados para el LATH DATA.2.Consulta y grafica Integrados comerciales que contengan el LATCH DATA.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    46

    LATCHSR

    S

    R

    LATCH DATA

    Q Q

    0

    1

    D

    Un cero en S se

    transforma en 1

    para R

    Q Q

  • 8/8/2019 Secuenciales febrero 11 2008

    49/114

    Sistemas Digitales Secuenciales

    VHDL flip-flop tipo data:

    libraryieee;use ieee.std_logic_1164.all;

    Definicin de la entidad:

    En la entidad definimos el nombre de la unidad funcional que estamos creando(entidad), definimos las seales de entrada, que en este caso sern la seal deentrada de datos (data) representada en la letra d, y finalmente definimos la sealde salida q, recordemos que para definir estas variables como entradas y salidasusamos las palabras clave in y out respectivamente.

    entitybiestDis port(

    d: instd_logic;

    q: out std_logic);

    end entity;

    Observemos que tambin se defini el tipo de variable como std logic.

    Definicin de la arquitectura:

    En la arquitectura definimos la funcin lgica que determinar el comportamientodel sistema como un flip-flop tipo data; dado que en un flip-flop data la seal desalida Q sigue a la entrada D, ste queda bien representado por la instruccin:

    q

  • 8/8/2019 Secuenciales febrero 11 2008

    50/114

    1.1.1.6.1 LATCH D CON SEAL DE CONTROL:

    Como ya habrs deducido, es poco prctico que la salida Q siga a la entrada Dfrente a cualquier cambio. Ya que si se produce una seal indeseada en D, esta

    pasar inmediatamente a la salida S. Para tener un control sobre la salida,podemos adicionar una seal de control o habilitacin del LATCH:

    Adicionemos una lnea de habilitacin partiendo del LATCH SR con seal decontrol:

    Diagrama de ESTADOS para el LATCH DATA CON LNEA DE CONTROL:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    48

    0 10X

    10

    0X 11

    10

    11CD

    LATCH DATA CON SEAL DE CONTROL.

    Q LATCH

    SR conControlC Q

    QS

    RC

    D

    Q

  • 8/8/2019 Secuenciales febrero 11 2008

    51/114

    Sistemas Digitales Secuenciales

    Ejercicio 41.Elabora una tabla de verdad y halla la funcin lgica para el LATH DATA.2.Simplifica la funcin lgica obtenida y verifica los datos que sta

    entrega.3.Elabora un diagrama de tiempos para le LATH DATA.

    49

  • 8/8/2019 Secuenciales febrero 11 2008

    52/114

  • 8/8/2019 Secuenciales febrero 11 2008

    53/114

    Sistemas Digitales Secuenciales

    Ahora, analicemos el mismo circuito pero con las seales de entrada invertidas:

    Tendremos el efecto inverso: Si la salida es inicialmente un 1, sta seguirsiendo uno, sin importar el estado de la seal de entrada.

    Igualmente, si el estado de la salida es inicialmente un 0, ste se conservar slomientras la entrada sea un 0. Una vez que la entrada asuma el valor de 1 la salidaser uno y el circuito quedar enclavado en salida uno.

    Conclusin:

    Si procedemos a juntar los dos circuitos tendremos:

    Observa como en las condiciones de la grfica, solo la entrada J podr cambiar elestado de la salida tomando el valor de 1. Pero una vez en este estado, solo Kpodr cambiar el estado de la salida.

    51

    1

    01

    0 1 0

    0

    0

    Circuito para enclavar un cero

    1

    01

    Circuito para enclavar un uno

    J

    K0

    00

    0

    10

    0

  • 8/8/2019 Secuenciales febrero 11 2008

    54/114

    Leccin No.8 Resumen Latch Tipo D---La Clave:----Como en un LATCH TIPODATA, la salida es transparente a la entrada, podemosadicionar el LATCH D sin afectar nuestro diseo, lo que nos permitir generar~Q y

    CONSERVAR EL ESTADO almacenado, siempre y cuando le adicionemos luegouna seal de control C, de lo contrario, no tendr sentido adicionar el LATCH TIPODATA:

    Ahora que logramos llegar tan deliciosamente (mediante un proceso analtico) a undiseo interesante, como lo es el de un LATCHJK, usaremos las herramientasque aprendimos en lgica matemtica y sistemas digitales bsicos, tales comotablas de verdad y simplificacin de funciones lgicas, para llegar al mismo diseo,si bien mecnicamente, no de una manera menos divertida:

    Partimos de la tabla de verdad de la funcin lgica deseada:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    52

    J

    K

    LATCH JK

    Q

    LATCHDATA

    D

    Q

    Q

  • 8/8/2019 Secuenciales febrero 11 2008

    55/114

    Sistemas Digitales Secuenciales

    Funcin lgica deseada:

    Q* = JKQ + JKQ + JKQ + JKQ

    Simplificacin usando mapas de K:

    Funcin lgica deseada:

    Q* = JQ + KQ

    Circuito lgico correspondiente a la funcin lgica simplificada:

    Llegamos a obtener el mismo circuito, pero, recuerdas que justifica la presenciadel LATCH DATA? ...Busca la respuesta en la siguiente pgina...

    53

    J

    K

    LATCH JK

    Q

    0 LATCHDATA

    D

    Q

    K

    KQ

    JQ

    Q

  • 8/8/2019 Secuenciales febrero 11 2008

    56/114

    1.1.1.7.1 LATCH TIPO JK CON SEAL DE CONTROL:

    Resumen

    Recordemos, que el LATCH SR nos dio la posibilidad de desenclavar sindesenergizar pero usando dos seales de entrada diferentes (S y R), luego elLATCH D nos otorg la misma posibilidad con una sola seal de entrada a cambiode esto, desapareci el estado de permanencia y el estado prohibido.Posteriormente, adicionamos una seal de control al LATCH D para no perder eldato almacenado. Luego, el LATCH JK nos permiti adicionar la propiedad depermanencia perdida con el LATCH D, y elimin el estado prohibido convirtindoloen el estado complementario.

    Ahora, con el objeto de conservar el dato de la salida, adicionemos una seal decontrol:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    54

    J

    K

    LATCH JK

    Q

    0 Q

    Q

    DQ K

    KQ

    JQ

    CC

    Lnea de Control

    LATCHDATA

  • 8/8/2019 Secuenciales febrero 11 2008

    57/114

    Sistemas Digitales Secuenciales

    Leccin No.9 Latch tipo Toggle

    1.1.1.8 LATCH TIPO TOGGLE:

    Este latch tambin es conocido como latch tipo T.

    Toggle significa cambiar alternadamente el estado de la salida cuando se genereun cambio de flanco en la entrada T.

    Observemos que de la siguiente tabla de estados para el latch Jk podemos

    obtener la funcin deseada restringiendo el la tabla a la funcin de estadocomplementario y de permanencia nicamente:

    Como J y K tienen el mismo valor, stas pueden unirse en una nueva funcin quellamaremos togglie T

    En conclusin, el latch tipo T siempre estar cambiando el estado de la salida porcambio en el estado de la seal de entrada.

    55

    Entrada de excitacin

    TOGGLE SET RESET

    Estadoactual

    EstadosiguienteFuncindeseada

    T J K Q Q*

    Nombre de laFuncin

    000

    00

    01

    01

    PERMANECEQ no cambia

    111

    11

    01

    10

    ESTADOCOMPLEMENTA

    RIO

    T

    LATCH T

    Q

    0 LATCH

    JK

    J

    QK

    Q

  • 8/8/2019 Secuenciales febrero 11 2008

    58/114

    1.1.1.8.1 LATCH TIPO T CON SEAL DE CONTROL:

    Para controlar el latch, introducimos la seal de control:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    56

    T

    LATCH TCon seal de control

    Q

    0J D

    QK C

    C

    Lnea de Control

  • 8/8/2019 Secuenciales febrero 11 2008

    59/114

    Sistemas Digitales Secuenciales

    Captulo33:

    Aplicacin al diseo de

    Multivibradores

    57

  • 8/8/2019 Secuenciales febrero 11 2008

    60/114

    Leccin No.10 Multi-vibradores

    1.8 Circuitos de aplicacin

    1.8.1 Multi-vibradoresMonoestable o One-shot:

    Son circuitos de almacenamiento digital con un nico estado estable.

    Se pueden llevar temporalmente a un estado transitorio mediante un cambiode estado, es decir mediante una transicin de 0 a 1 o 1 a 0 en su entrada:

    Con uno de los dos flancos se produce un cambio de estadoen la salida.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    58

    One-Shot

    IN0

    1

    Flanco de subida

    One-Shot

    IN

    0

    1

    Flanco de bajada

    Tiempo controlado por

    la red RC externa.

  • 8/8/2019 Secuenciales febrero 11 2008

    61/114

  • 8/8/2019 Secuenciales febrero 11 2008

    62/114

    Leccin 11. Multi-vibradores

    1.8. 2 CIRCUITOS DE TIEMPO

    1.8.2.1 MDULO TEMPORIZADOR DE PRECISIN 555:Es un dispositivo de memoria que se utiliza para muchas aplicaciones, pues puedeconfigurarse para ser utilizado como monoestable o one-shot y como unmultivibrador astable o reloj.

    La siguiente lista es un resumen de las funciones de los pines:

    Vcc: Voltaje entre 4.5V y 8V DC.

    CONT: Control. Normalmente conectada a tierra por medio de uncondensador de 0.01f con el fin de obtener mejor estabilidaden la frecuencia de salida del sistema.

    RESET: Pin de poner a cero activo en bajo.

    DISCH: Descarga. (Discharge)

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    60

    Vcc

    Cont

    DISCH

    RESET

    THRES

    Out

    TRIG

    1

    5

    8

    3

    4

    7

    6

    2

    R1

    Q

    RR

    R

    R

    AO2

    AO1

    Q1

    Pin 0304 ==Pin

  • 8/8/2019 Secuenciales febrero 11 2008

    63/114

  • 8/8/2019 Secuenciales febrero 11 2008

    64/114

    TRIG: Disparador o Trigger.Si esta entrada 2, es inferior a 1/3 de Vcc, se aplica un 1 lgicoa la entrada S del latch (establecindolo), lo que pone un 1lgico en el pin 3 del integrado. Ver nota1.

    Disparo: Definimos el disparo como una transicin de alto abajo en el pin 2.

    Nota:Se debe tener cuidado de no producir el estado prohibido del latch: S = R = 1.

    En conclusin podemos resumir las funciones de los pines como sigue:

    RESET Desactivar

    DISCHARGE A tierra odescarga.Alta

    impedanciao Carga.

    THRESHOLD Comparadordel nivelsuperior.

    TRIGGER

    Comocomparadorde nivelinferior.

    Como

    disparo.

    Aprovechando estas propiedades del 555 podemos configurarlo como:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    62

    13Pin3

    =

    VccThreshold

    13Pin3

    =

    =

    Leccin 13. FRECUENCIA DE OSCILACIN

    1.8.2.1 FRECUENCIA DE OSCILACIN:

    Recordemos algunos conceptos:

    Periodo:Es el tiempo que emplea la seal para repetirse y esta dado en segundos:

    .

    Frecuencia:Es el nmero de veces que se repite la seal por unidad de tiempo y estdada en 1/s es decir en Hertz Hz

    Conociendo el periodo podemos hallar la frecuencia y conociendo lafrecuencia podemos hallar el periodo.

    La frecuencia f de oscilacin puede determinarse como el inverso delperiodoT. As:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    66

    T

    T

    Tf

    1=

    Son dos formas de

    medir el perodo de la

    seal

  • 8/8/2019 Secuenciales febrero 11 2008

    69/114

    Sistemas Digitales Secuenciales

    Clculo de la Frecuencia de oscilacin:

    La frecuencia de oscilacin depende del valor de las resistencias RA ,RB y

    del capacitor C. Dividiendo la seal de salida en dos componentes detiempo que llamaremos TON y TOFF, podemos calcular el periodo de la sealcomo la suma de dichos tiempos y con ellos calcular la frecuencia deoscilacin:

    Periodo de la seal:

    Frecuencia de oscilacin:

    67

    T

    TON TOFF

    ( )

    ( )

    ( )BA

    BA

    BA

    DA

    DDA

    DC

    OFFON

    RRCT

    RRCT

    CRCRT

    TCRT

    TTCRT

    TTT

    TTT

    2693.0

    2693.0

    693.02693.0

    2693.0

    693.0

    +=

    +=

    +=

    +=

    ++=

    +=

    +=

    ( )

    ( )BA

    BA

    OFFON

    RRCf

    RRCf

    TTf

    2

    44,1

    2693.01

    1

    +

    =

    +

    =

    +

    =

  • 8/8/2019 Secuenciales febrero 11 2008

    70/114

    Observemos que en la ltima ecuacin hay tres incgnitas, por lo tanto paraobtener una frecuencia en particular es necesario suponer el valor de doscomponentes (parmetros) para calcular luego el faltante.

    Si los parmetros conocidos son C y RA podemos usar la siguiente frmulapara calcular el parmetro desconocido RB:

    Cf2

    CR1,44R

    2

    441

    AB

    A

    =

    =

    f

    RCf

    ,RB

    Si los parmetros conocidos son C y RB podemos usar la siguiente frmulapara calcular el parmetro desconocido RA:

    Cf

    CR21,44R

    2441

    BA

    B

    =

    =

    f

    RCf

    ,RA

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    68

  • 8/8/2019 Secuenciales febrero 11 2008

    71/114

    Sistemas Digitales Secuenciales

    Leccin 14. 555 como monoestable

    1.555 como monoestable, one-shot, timer o temporizador:

    RC = Es la resistencia de carga.

    RS = Es la resistencia del Switch para reestablecer Vcc.

    Funcionamiento:Cuando se produzca el disparo la salida saltar a 1 lgico cambiando lasalida, de modo que el estado regresa en forma automtica a su valorpredefinido despus de cierto tiempo de carga del condensador T calculado

    por la red de cargaRC como:

    CR1.1T C =

    Este ser el tiempo estimado para que el condensador llegue al nivel deThreshold. Una vez superado este nivel el comparador superior pondr lasalida en 0 lgico, descargando casi instantneamente el condensador.

    69

    Pulso de

    duracin T

    Vcc

    RESET

    DISCH

    THRES Out

    TRIG Cont

    GND

    1

    3

    8

    5

    6

    2

    Vcc

    0.01f

    RCRS

    C

    RL

    Censor de nivelDisparo

  • 8/8/2019 Secuenciales febrero 11 2008

    72/114

    En este caso la descarga del condensador no afecta la entrada de disparo,la cual estar esperando siempre la seal externa del pulsador.

    El tiempo T es tambin llamado perodo de temporizacin.Este monoestable es No Redisparable:Si producimos un disparo mientras la salida est en ON, el condensadorcontinuar su carga normal, en otras palabras no le har caso al nuevodisparo.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    70

  • 8/8/2019 Secuenciales febrero 11 2008

    73/114

    Sistemas Digitales Secuenciales

    Unidad 22

    Flip-flops y diseo demquinas de estado.

    71

  • 8/8/2019 Secuenciales febrero 11 2008

    74/114

    Captulo11:

    Flip-flops

    Leccin 15. Flip-Flops.

    Los Flip-Flops no son mas que latch con seal de control. A diferencia de los

    Latch sin seal de control, stos se pueden habilitar o deshabilitar a discrecin.

    Esta lnea de control, recibir ahora el nombre de seal de Reloj o CLK (Clock).

    Recordemos que cuando la seal de reloj tienen una lnea superior, sta hacereferencia al complemento que se estudi en Lgica Matemtica. Es decir, la lneaes habilitada en bajo:

    CLOCK

    En este caso, si se desea mantener deshabilitado el Flip-Flop, debes mantener en1 la seal de Reloj.

    Si la lnea de CLOK no tiene ninguna raya superior, el Flip-flop se deshabilita conun cero (0).

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    72

  • 8/8/2019 Secuenciales febrero 11 2008

    75/114

    Sistemas Digitales Secuenciales

    A continuacin se representa grficamente una seal de reloj, el cambio del nivelalto al nivel bajo recibe el nombre de flanco de Bajada y el cambio de nivel bajo anivel alto recibe el nombre de flanco de subida.

    Los Flip-Flop se activan en un flanco determinado de la seal de reloj, yasea el flanco de subida o el flanco de bajada. Para representar el tipo deflanco en que es activado el Flip-Flop, usamos la siguiente representacin:

    La seal introducida por el pin de flanco, tambin se denomina seal decontrol o seal de reloj. Para indicar esto, usamos la palabra CLK (por el

    nombre en ingls para reloj CLOCK)

    2.1 Flip-Flop activo por Flanco Positivo y Flanco Negativo:

    2.1.1 Flip-Flop activo por flanco Positivo:

    73

    Nivel Bajo

    Nivel alto

    Flanco de

    Bajada

    Flanco deSubida

    Flip Flop Tipo Data Activo Por Flanco Positivo

    Q

    0 LATCHJK

    D

    QSeal de reloj

  • 8/8/2019 Secuenciales febrero 11 2008

    76/114

    2.1.2 Flip-Flop activo por flanco Negativo:

    Leccin No.16 Circuitos generadores de Flanco.

    2.1.3Circuitos generadores de Flanco:

    Observemos la siguiente situacin:

    En un Flip-Flop tipo Data activo por Flanco Positivo, mientras la seal de reloj estactiva, indeseablemente, es decir en 1 lgico, cualquier pequeo cambio que sehalla producido en los niveles de la seal de entrada Data (D) podr generarcambios en la salida, stas seales as generadas reciben el nombre detranscientes indeseables o ruido. Con el nimo de evitar este ruido, proponemos acontinuacin un circuito detector de flancos, tal que un flanco de subida generadoen la seal de reloj, genera nicamente un pequeo pulso en la nueva seal dereloj de salida, siempre y cuando se trate del circuito diseado para detectarflancos de subida, igualmente debe ocurrir con el circuito diseado par detectar losflancos de bajada; se debe generar un pequeo pulso, nicamente cuando en laseal de reloj se produzca un flanco de bajada.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    74

    Flip Flop Tipo Data Activo Por Flanco Negativo

    Q

    0 LATCH

    JKD

    Q

    Seal de reloj

  • 8/8/2019 Secuenciales febrero 11 2008

    77/114

    Sistemas Digitales Secuenciales

    Seal de reloj original:

    Seal de reloj a la salida del circuito detector de flancos de bajada:

    Seal de reloj a la salida del circuito detector de flancos de subida:

    75

    Nivel Bajo

    Nivel alto

    Flanco de

    Flanco de

    Nivel Bajo

    Nivel alto

    Nivel Bajo

    Nivel alto

  • 8/8/2019 Secuenciales febrero 11 2008

    78/114

    Diseo de Sistemas sncronos en VHDL:

    Recordemos que lo que diferencia a un sistema sncrono de un sistema asncronoes la presencia de una seal de reloj que normalmente se est representada por

    las letras CLK.En un flip-flop sncrono los datos de las seales de entrada se transfieren a lassalidas del flip-flop slo con el flanco de disparo del impulso del reloj. Por estodecimos que decimos que los datos se transfieren sincronizados con la seal dereloj.

    Para definir un sistema sncrono en VHDL, simplemente debemos generar unproceso que involucre un ciclo de espera relacionado con la variable de entrada dela seal del reloj clk como condicin para ejecutar el proceso.

    Diagrama de flujo para detectar un cambio de flanco en la seal de reloj:

    En VHDL es ms fcil, dado que existe una funcin que evala tanto un cambio enel estado de la seal de reloj como la espera del tipo de flanco par tomar unaaccin:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    76

    CLK =

    CLK = 0

    NO

    Se ha generado un

    flanco de subida.CLK =

    Se ha generado un

    flanco de bajada.

    NO

  • 8/8/2019 Secuenciales febrero 11 2008

    79/114

    Sistemas Digitales Secuenciales

    La instruccin VHDL es la siguiente:

    ifclk'event andclk='1' then

    Aqu van las instrucciones a ejecutar luego de la seal de

    reloj.

    end if;

    En este algoritmo, la funcin de la palabra clk'eventes la de detectar los cambiosen la seal de reloj clk y la funcin de de la clk='1'es la de detectar el flanco desubida del reloj.

    Las instrucciones en VHDL para detectar el flanco de bajada de reloj es lasiguiente:

    ifclk'event andclk='0' then

    Aqu van las instrucciones a ejecutar luego de la seal de

    reloj.

    end if;

    77

  • 8/8/2019 Secuenciales febrero 11 2008

    80/114

    Flip Flop Tipo Data con circuito detector de Flanco:

    Diseo de los circuitos generadores de flanco:

    Circuito generador de flanco de subida:

    Circuito generador de flanco de bajada:

    Ejercicio 51.Se propone al estudiante demostrar la operabilidad del diseo, serecomienda usar diagramas de tiempos y funciones lgicas para construirla tabla de excitacin.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    78

    CLKNueva seal de reloj

    CLKNueva seal de reloj

    Flip Flop Tipo Data con circuito detector de Flanco

    Q

    0 LATCHJK

    D

    Q

    Nueva seal de

    reloj

    Cto detector deFlanco

  • 8/8/2019 Secuenciales febrero 11 2008

    81/114

    Sistemas Digitales Secuenciales

    VHDL Flip-flop Data sncrono.

    Recordemos que en un flip-flop sncrono los datos de las seales de entrada se

    transfieren a las salidas del flip-flop slo con el flanco de disparo del impulso delreloj.

    En otras palabras, decimos que los datos se transfieren sincronizados con la sealde reloj.

    Recordemos la tabla de estados del flip-flop tipo Data asncrono:

    D Qn Qn+10 0 00 1 0

    1 0 11 1 1

    Recordemos la tabla de estados del flip-flop tipo Data sncrono:

    Clock D Qn Qn+1010 0 0 0010 0 1 0010 1 0 1010 1 1 1

    libraryieee;

    use ieee.std_logic_1164.all;

    Definicin de la entidad:En la entidad definimos el nombre de la unidad funcional que estamos creando(entidad), definimos las seales de entrada, que en este caso sern la seal dereloj clk y la seal data representada en la letra d, y finalmente definimos la sealde salida q, recordemos que para definir estas variables como entradas y salidasusamos las palabras clave in y out respectivamente.

    entitybiestDis port(

    clk,d: instd_logic;q: out std_logic);

    end entity;

    Observemos que tambin se defini el tipo de variable como std logic.

    79

  • 8/8/2019 Secuenciales febrero 11 2008

    82/114

    Definicin de la arquitectura:

    En la arquitectura definimos la funcin lgica que determinar el comportamientodel sistema como un flip-flop tipo data; dado que en un flip-flop data la seal de

    salida Q sigue a la entrada D, ste queda bien representado por la instruccin:q

  • 8/8/2019 Secuenciales febrero 11 2008

    83/114

    Sistemas Digitales Secuenciales

    Circuitos de PRESET y RESET asncronos:

    Actividad:Consultar el circuito integrado 74LS74, 74LS175

    Ejercicio:

    Disee el circuito requerido para almacenar el nmero de personas que ingresan alascensor utilizando un flip-flop tipo data con las nuevas seales de PRESET yRESET.

    81

    PRESET

    RESET

    R

    SQ

    ~Q

  • 8/8/2019 Secuenciales febrero 11 2008

    84/114

    VHDL F-F tipo D con puesta a cero y a uno asncronas:

    La mayora de los circuitos integrados flip-flop aparte de las entradas sncronas,tambin pueden tener entradas asncronas. Estas entradas no dependen de la

    seal de reloj para cambiar el estado de las seales de salida del flip-flop.Estas seales reciben el nombre de inicializacin o preset (PRE)y seal de borrado clear (CLR).

    La seal de preset permite poner en estado de SET el flip-flop y la seal de CLRpone en estado de RESET el flip-flop.

    Normalmente estas seales son activas en bajo, luego estas seales debenmantenerse en alto para que el dispositivo pueda funcionar.

    libraryieee;

    use ieee.std_logic_1164.all;

    Definicin de la entidad:Para el proceso de declaracin de variables es necesario definir aparte de lasseales clk, d y q, declarar las seales de entrada set y reset:

    entitybiestDis port(

    clk,d: instd_logic;

    set,reset: instd_logic;q: out std_logic);

    end entity;

    Definicin de la arquitectura:Para lograr que las seales de SET y de RESET no estn afectadas por la sealde reloj es necesario que en el ciclo

    architecture archbiestDofbiestDis

    begin

    p:process(clk,d,set,reset)

    begin

    ifreset='1' thenq

  • 8/8/2019 Secuenciales febrero 11 2008

    85/114

    Sistemas Digitales Secuenciales

    Captulo22:

    Aplicaciones de los Flip-flop

    83

  • 8/8/2019 Secuenciales febrero 11 2008

    86/114

    Aplicaciones de los Flip-Flop:

    Dispositivos de almacenamientoLa unidad ms elemental de memoria es el FLIP.FLOP, la cual nos permite

    almacenar1 bit. En esta leccin veremos como un arreglo de bits nos permitedisear un registro o vector de almacenamiento.

    Los arreglos de registros constituyen lo que llamamos una MEMORIA.

    Leccin 17. Almacenamiento paralelo de datos

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    84

    D0

    Q

    D

    Q

    Q0Q

    D1

    QD

    Q

    Q1Q

    D2

    QD

    Q

    Q2Q

    D3

    QD

    Q

    Q3Q

    CLK

  • 8/8/2019 Secuenciales febrero 11 2008

    87/114

    Sistemas Digitales Secuenciales

    Divisor de frecuencia:

    Al conectar dos flip-flops se obtiene un divisor de frecuencia por 2Al conectar dos flip-flops se obtiene un divisor de frecuencia por 4

    Cuantos flip-flops se deben conectar para obtener una frecuencia de 3 Khz apartir de una frecuencia de 24KHz?

    Una forma de deducir la funcin que permita resolver el problema es partir deldiagramas de tiempos.

    85

    J

    K

    CFrecuenciade entrada

    Q1J

    K

    C

    Q2

    Vcc

    f/2f/4

    f

  • 8/8/2019 Secuenciales febrero 11 2008

    88/114

    Leccin 18. Contadores:

    En la puerta de un ascensor hay un contador de personas que va de 0a 15. Se

    requiere almacenar el nmero de personas que ingresaron al ascensor a las8:00AM como parte de un conjunto de estadsticos que requiere la administracin.

    Para proceder al diseo del contador, debemos partir de determinar el nmero debits requeridos para representar un nmero decimal de 0 a 15 y stos son cuatrobits, es decir un nible.

    Con un sistema binario se requieren cuatro bits, ya que 24 = 16,luego son 16combinaciones diferentes para 16nmeros decimales..

    El nmero 16 es conocido como el mdulo del contador, es decir el nmero

    mximo de la cuenta.

    El siguiente diagrama de tiempos nos muestra la secuencia que deben seguir lassalidas Q1, Q2, Q3 y Q4 para poder seguir la secuencia.

    Estos son los nmeros equivalentes en decimal con la respectiva tabla de verdadveamos la tabla para comprenderlo mejor; observa cmo en la tabla se resalta elmismo dgito que el diagrama de tiempos.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    86

    CLK

    Q0

    Q1

    Q2

    Q3

    1

    0

    0

    0

    0

    0

    0

    0

    0

    1

    0

    0

    1

    1

    0

    0

    0

    0

    1

    0

    1

    0

    1

    0

    0

    1

    1

    0

    1

    1

    1

    0

    10 2 3 4 5 6 7

    0

    0

    0

    1

    8

    Nmeros decimales equivalentes

  • 8/8/2019 Secuenciales febrero 11 2008

    89/114

    Sistemas Digitales Secuenciales

    Q3 Q2 Q1 Q0 Decimal equivalente0 0 0 0 0

    0 0 0 0 10 0 1 0 2

    0 0 1 1 30 1 0 0 4

    0 1 0 1 50 1 1 0 6

    0 1 1 1 71 0 0 0 8

    1 0 0 0 91 0 1 0 101 0 1 1 111 1 0 0 12

    1 1 0 1 131 1 1 0 14

    1 1 1 1 15

    Una manera de disear este contador es usando varios flip-flop JK enclavados enel estado de conmutacin:

    87

    Vcc

    0 Q0J

    K

    O

    Vcc

    0 Q1J

    K

    O

    Vcc

    0 Q2J

    K

    O

    Vcc

    0 Q3J

    K

    O

  • 8/8/2019 Secuenciales febrero 11 2008

    90/114

    La administracin ahora requiere que el nmero de personas que ingresa alascensor a las 8:00AM se sume al nmero 1.

    Para dar solucin a este nuevo requerimiento, es necesario garantizar que el

    contador inicie en 1 a las 7:30AM, y contine el conteo. En este caso se requierecontrolar el estado de las salidas Q0, Q1, Q2 y Q3 sin importar que haya iniciado ono la secuencia de reloj.

    Este nuevo estado lo denominamos PRESET o SET asncrono, ya que debepermitir cargar un dato inicial de conteo independientemente del estado de la sealde reloj.

    Igulamente, cuando el estado a almacenar en las salidas Q0 a Q3 es un cero, laseal recibe el nombre de CLEAR (CLR) o RESET asncrono.

    Contadores Asncronos

    Para dar continuidad al diseo del circuito contador de personas en el ascensor,procedemos ahora a disear el circuito contador de eventos, en este caso loseventos son los pulsos generados cada que una persona cruza el ascensor paraingresar en ste.

    Con el conteo es de mximo 15 personas, el contador debe ser mdulo 16; uncontador que genere la secuencia de cero a 15, para lo cual se requierennicamente cuatro bits.

    Ejercicio1.. Siga la secuencia del diagrama de tiempos e identifique a Q0,Q1, Q2 yQ3 en el esquema del contador.2.2. Consulte los siguientes circuitos integrados: 74160, 74163, 74176,74177, 74191 y 74293.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    88

  • 8/8/2019 Secuenciales febrero 11 2008

    91/114

    Sistemas Digitales Secuenciales

    VHDL Contadores:

    Contador ascendente-descendente con carga paralela sncrona y reset asncrono:

    Up = 1 indica conteo ascendenteLoad = 1 carga los datos de entrada en la salida luego de un flanco de subida en

    la seal de relojReset = pone todas las seales de salida en bajoClk = Seal de reloj

    Definicin de paquetes:Antes de iniciar el programa es necesario hacer algunas aclaraciones sobre lospaquetes a usar . En palabras de Medrano C.(2005):

    std_logic_arithDefine el tipo unsigned y la operacin suma "+" de unsigned con enteros

    std_logic_unsignedEste paquete puede tratar en ciertas situaciones un std_logic_vectorcomoun unsigned (y sumarlo a un entero por ejemplo).

    bufferPermite usar variables de salida a la derecha de ecuaciones.

    Sobre vectores:

    Es importante recordar que en la definicin de un vector como 3 downto 0,el bit 0 es el menossignificativo.

    Un vector definido como x"00" es un vector hexadecimal que equivale a 8 cerosbinarios.

    libraryieee;

    use ieee.std_logic_1164.all;

    89

    Contador

    Datos de

    precarga

    Vectord

    Up Load Reset

    Salida

    Vector

    Clk

  • 8/8/2019 Secuenciales febrero 11 2008

    92/114

    use ieee.std_logic_arith.all;

    use ieee.std_logic_unsigned.all;

    entitycontadoris port(

    clk,load,up,reset: instd_logic;

    d:in

    std_logic_vector(7downto

    0);q:bufferstd_logic_vector(7downto0));

    end entity;

    Diagrama de flujo del algoritmo desarrollado en la arquitectura:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    90

    CLK = 0

    NO

    NO

    SIQ = 0Reset =

    SI Q = D Load=

    SI up = 1?

    Q= Q - 1

    Q= Q + 1

  • 8/8/2019 Secuenciales febrero 11 2008

    93/114

    Sistemas Digitales Secuenciales

    Algoritmo en VHDL equivalente:

    architecture archcontadorof contador is

    begin

    p:process(clk,d,q,load,up,reset)

    begin

    ifreset='1' thenq

  • 8/8/2019 Secuenciales febrero 11 2008

    94/114

    Captulo33:

    Modelo de un circuito secuencial

    Modelo de un circuito Secuencial:

    Un circuito secuencial es en realidad una Mquina de estados mquinageneradora de estados etapas secuencias. Por ejemplo: en un circuito que

    genera los estados o secuencias 1 2 3 1 2 3 1 2 3, llamamos a cadamomento de la secuencia un estado.

    Etapas de un circuito secuencial:

    Un circuito secuencial est conformado por dos etapas: una etapa lgica y unaetapa de memoria.

    Etapa lgica:

    Es la etapa conformada por circuitos combinacionales. A esta etapa ingresan tanto

    las entradas (I0, I1,Im) como las variables de estado (Q0,Q1,Qx), para generarlas entradas (Y0,Y1, ,Yp) de excitacin a la etapa de memoria.

    Etapa de memoria:

    Es la etapa que est conformada por las unidades de memoria flip-flops. Estaetapa permite al sistema avanzar de un estado denominado estado actual a unestado futuro (Q0,Q1,Qn) tambin denominado estado siguiente estdeterminado por las lneas de excitacin (Y0,Y1, ,Yp) y el estado actual de lasvariables de estado (Q0,Q1,Qx)

    Circuito secuencial sincronizado:Es el circuito secuencial que tienen una entrada de reloj en la etapa de memoria.Un impulso de reloj permite el avance entre el estado actual y el estado siguiente ofuturo.

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    92

  • 8/8/2019 Secuenciales febrero 11 2008

    95/114

  • 8/8/2019 Secuenciales febrero 11 2008

    96/114

    Tabla de estados:La tabla de estados consiste en la representacin del diagrama de estadosmediante una tabla en la cual cada fila corresponde a un estado:

    Veamos la tabla de estados equivalente al diagrama propuesto:

    Secuencia deseada Q2 Q1 Q00 0 0 01 0 0 13 0 1 12 0 1 04 1 0 05 1 0 17 1 1 1

    6 1 1 0

    2. Tabla del estado futuro

    La tabla del estado futuro muestra cada estado actual del contador con sucorrespondiente estado futuro, es decir, con el estado al cual pasa el contadordesde su correspondiente estado actual:

    Estado actual Estado futuroSecuencia deseada Q2 Q1 Q0 Q2 Q1 Q0

    0 0 0 0 0 0 1 11 0 0 1 0 1 1 33 0 1 1 0 1 0 22 0 1 0 1 0 0 44 1 0 0 1 0 1 55 1 0 1 1 1 1 77 1 1 1 1 1 0 66 1 1 0 0 0 0 0

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    94

  • 8/8/2019 Secuenciales febrero 11 2008

    97/114

    Sistemas Digitales Secuenciales

    3. Tabla de los filp-flops a usar:

    Es una tabla en la cual se muestran todas las posibles transiciones de salida,

    indicando el cambio de la salida Q del flip-flop al pasar ste de cada estado actualal estado futuro.

    Qn es el estado actual del flip-flop

    Qn+1 es el estado futuro del flip-flop

    X indica los estados indiferentes del flip-flop.

    Para el flip-flop JK las entradas son precisamente J y K

    Estadoactual

    Salidade cadaestado

    Estado Siguiente

    Qn Qn+1 J K0 0 0 X0 1 1 X1 0 X 11 1 X 0

    Recordemos que esta tabla nos est indicando tres cosas:

    1. Que si el estado actual es 0, el estado futuro se tornar 1 cuando J sea 12. Que si el estado actual es 1, el estado futuro se tornar 0 cuando K sea 13. En cualquier otra condicin el estado actual se conserva en el futuro.

    Cuantos flip-fliop se requiere usar?

    Como se deben generar tres salidas Q0, Q1 y Q2. Se requiere de tres flip-flop paragenerar cada un de ellas.

    Lo que debemos lograr ahora es generar las seales de entrada J y K para cadauno de los flip-flop, tal que se generen las transiciones de estado que se planteanen la tabla de estados.

    Es decir, necesitamos generar los estados futuros Q0, Q1 y Q2 de los estadosactuales dados, cmo debern ser entonces J0K0, J1K1 y J2K2 para que stoscambios de estado se generen?

    95

  • 8/8/2019 Secuenciales febrero 11 2008

    98/114

    Como las salidas de los flip-flop Q0, Q1 y Q2 no son sistemas aislados, es decir,deben interactuar todos juntos, los estados de las variables J y K de cada flip-flopdebern armonizar con los estados de Q0,Q1 y Q2.

    Analicemos el caso de Q0:Tomemos los valores de Q0 de la tabla de estado y veamos que valores debentomarJ0 y K0 para generar las transiciones de Q0 de acuerdo con la tabla del flip-flop JK:

    Qn Qn+1Secuencia deseada Q0 Q0

    J0 K0

    0 0 1 1 X1 1 1 X 03 1 0 X 12 0 0 0 X4 0 1 1 X5 1 1 X 07 1 0 X 16 0 0 0 X

    Para obtener las funciones de J0 y K0 debemos realizar el mapa de Karnaugh deJ0 y K0 el cual, como ya lo habamos analizado debe depender de Q0, Q1 y Q2.

    Secuenciadeseada Q2 Q1 Q0 J0 Q2 Q1 Q0 K0

    0 0 0 0 1 0 0 1 X1 0 0 1 X 0 1 1 03 0 1 1 X 0 1 0 12 0 1 0 0 1 0 0 X4 1 0 0 1 1 0 1 X5 1 0 1 X 1 1 1 07 1 1 1 X 1 1 0 16 1 1 0 0 0 0 0 X

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    96

    La

    correspondencia

    con el flip-flopdebe buscarsehorizontalmente

  • 8/8/2019 Secuenciales febrero 11 2008

    99/114

    Sistemas Digitales Secuenciales

    Mapas de Karnaugh:

    Mapa de Karnaugh para J0:

    Funcinlgica de J0:J0 = Q1 + Q0

    Mapa de Karnaugh para K0:

    Funcin lgica de K0:

    K0 = Q1 + Q0

    Ahora que hemos aprendido a obtener las funciones podemos disear una nica

    tabla de estados que las contenga a todas:

    Estado actual Estado futuro para Q2 para Q1 Para Q0

    Q2 Q1 Q0 Q2 Q1 Q0 J0 K0 J1 K1 J2 K20 0 0 0 0 0 1 1 1 X 0 X 0 X1 0 0 1 0 1 1 3 X 0 1 X 0 X3 0 1 1 0 1 0 2 X 1 x 0 0 X2 0 1 0 1 0 0 4 0 X x 1 1 X4 1 0 0 1 0 1 5 1 X 0 X X 05 1 0 1 1 1 1 7 X 0 1 X X 07 1 1 1 1 1 0 6 X 1 x 0 X 06 1 1 0 0 0 0 0 0 X x 1 X 1

    Q1Q000

    Q1Q001

    Q1Q011

    Q1Q010

    Q2 = 0 1 x x 0Q2 = 1 1 x x 0

    Q1Q000

    Q1Q001

    Q1Q011

    Q1Q010

    Q2 = 0 x 0 1 xQ2 = 1 X 0 1 x

    97

  • 8/8/2019 Secuenciales febrero 11 2008

    100/114

    Mapa de Karnaugh para J1:

    Funcin lgica de J1:J1 = Q1 + Q0

    Mapa de Karnaugh para K1:

    Funcinlgica de K1:K1 = Q1 + Q0

    Mapa de Karnaugh para J2:

    Funcin lgica de J2:J2 = Q2 + Q1Q0

    Mapa de Karnaugh para K2:

    Funcin lgica de K2:

    K2 = Q2 + Q1Q0

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    Q1Q000

    Q1Q001

    Q1Q011

    Q1Q010

    Q2 = 0 0 1 x xQ2 = 1 0 1 x x

    Q1Q000

    Q1Q001

    Q1Q011

    Q1Q010

    Q2 = 0 x x 0 1Q2 = 1 X x 0 1

    Q1Q000

    Q1Q001

    Q1Q011

    Q1Q010

    Q2 = 0 0 0 0 1Q2 = 1 X x x x

    Q1Q000

    Q1Q001

    Q1Q011

    Q1Q010

    Q2 = 0 x X X xQ2 = 1 0 0 0 1

    98

  • 8/8/2019 Secuenciales febrero 11 2008

    101/114

    Sistemas Digitales Secuenciales

    Las funciones Jk de los flip-flop quedan:

    J0 = Q1 + Q0

    K0 = Q1 + Q0J1 = Q1 + Q0K1 = Q1 + Q0J2 = Q2 + Q1Q0K2 = Q2 + Q1Q0

    A manera de ejercicio, se deja al estudiante la tarea de construir y verificar elcircuito.

    Podemos resumir el diseo de circuitos secuenciales en las siguientes etapas:

    Establecer secuencia

    Identificar nmeros de estados

    Asignacin de estados

    Tabla de transicin

    Ecuaciones excitacin

    Ecuaciones de la salida

    Circuito

    Bsicamente existen dos tcnicas para el diseo de circuitos secuencialesconocidas como circuitos Moore y circuitos Mealy.

    Cada etapa de un circuito secuencial recibe el nombre de estado. As, un contadorde 0 a 5 tendr seis estados: los estados 0 - 1 - 2 - 3 - 4 -5, en cada uno de stosestados se almacena un recuerdo de la historia o estados anteriores del circuito, lo

    que permite determinar el estado futuro, en otras palabras, para que un circuitocontador pase del estado 3 al 4, debe saber que su estado anterior es 3 para poderpasar al estado 4.

    99

  • 8/8/2019 Secuenciales febrero 11 2008

    102/114

    Captulo44:

    Circuitos Moor y Meeley

    Leccin 19 Circuitos Moor y Meeley

    Circuitos Moore:

    En stos circuitos, las salidas nicamente son funcin del estado.

    Circuitos Mealy:

    En stos circuitos, las salidas son funcin del estado y de las entradas.

    Veamos mediante un diagrama la diferencia entre los circuitos Moore y los Mealy:

    MOORE MEALY

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    100

    Variable de entrada

    Estado

    Salida

    (... 1... , 1...., ) Z f X XI Q Qi=

    Salida(Z)

    Estado(Q)

    Transicin deacuerdo conel valor de lavariable deentrada (X)

    0 1( ... )Z F Q Q=

    La salida slo dependedel estado Q, es poresto que la salida Z seintroduce dentro delestado

    La salida Z depende del

    estado y del valor de lavariable de entrada.

  • 8/8/2019 Secuenciales febrero 11 2008

    103/114

    Sistemas Digitales Secuenciales

    Desarrollemos el concepto partiendo de un ejemplo:En este ejercicio se disear un sistema en el cual la salida Z del circuito sea 1cuando ingresen tres unos seguidos, es decir, un circuito secuencial que identifica

    la secuencia 1-1-1.

    Diagrama de bloques del sistema:

    Diagrama de tiempos

    Seal de relojCLK

    Seal deentradaX

    Seal desalidaMOOREZ

    Seal desalidaMELYZCircuitosecuencial Mealy.

    101

    zx

    CLKX 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 0Z (Moore) 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1Z (Mealy) 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 0

  • 8/8/2019 Secuenciales febrero 11 2008

    104/114

    DE OTRAFORMAMealy:

    __________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD www.unad.edu.co

    Inquietudes y recomendaciones: e-mail: [email protected]

    102

    A

    C

    F

    D

    B

    1/1

    0/0

    1/0

    0/00/0

    0/0

    1/0

    1/0

    0/01/1

    A

    C

    F

    B

    1/1

    0/0

    1/0

    1/01/1

    0/0

    0/0

    0/0

  • 8/8/2019 Secuenciales febrero 11 2008

    105/114

    Sistemas Digitales Secuenciales

    MOORE:

    Del ejemplo propuesto podemos concluir que existen diferentes formas deestablecer la secuencia de estados para un mismo comportamiento circuital, acontinuacin analicemos otro par de ejemplos en los que partimos de un estadoinicial en ceros:

    A continuacin veamos dos ejemplos de sistema Moore con entradas enceros:

    Partimos de definir el estado A como el estado que tomar el sistema en un ciclo

    de reloj si en el estado anterior la entrada X=0.

    Una vez que nos encontramos en el estado A y X toma el valor de 0 nuevamente,es necesario que el sistema cambie de estado?, la respuesta es no, mientras laentrada contine siendo 0, el sistema debe permanecer en el mismo estado A,esperando a que ingrese un 1.

    103

    A/1

    1

    B/0

    C/0 D/0

    1

    0

    0

    0

    0

    1

    1

  • 8/8/2019 Secuenciales febrero 11 2008

    106/114

    Si estando en el estado A ocurre que X = 1, este evento debe memorizarse, lo cualse logra evolucionando a otro estado (el estado B), en este estado, la salidacontinuar siendo cero, ya que slo se ha detectado un 1.

    Si estando en el estado B ocurre que X=0, el sistema debe regresar al estado Apara eliminar el 1 que se haba memorizado.

    Pero si estando en el estado B, ocurre un 1, ste tambin debe memorizarse

    haciendo que el sistema pase al estado C y la salida del sistema debe ser un 0, yaque slo han ocurrido dos unos.

    Si estando en el estado C ocurre que X=0, el sistema debe regresar al estado Apara eliminar lo