modulo de sistema secuenciales

114
SISTEMAS DIGITALES SECUENCIALES GEORFFREY ACEVEDO GONZÁLEZ UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNAD FACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA PROGRAMA DE INGENIERÍA ELECTRÓNICA MEDELLÍN 2008 Actualización del 11 de enero de 2008 Para recibir actualizaciones y anexos de este material se debe dirigir la solicitud al e- mail: [email protected]

Upload: yairvergara

Post on 25-Jul-2015

90 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Modulo de Sistema Secuenciales

SISTEMAS DIGITALES SECUENCIALES

GEORFFREY ACEVEDO GONZÁLEZ

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA - UNADFACULTAD DE CIENCIAS BÁSICAS E INGENIERÍA

PROGRAMA DE INGENIERÍA ELECTRÓNICAMEDELLÍN 2008

Actualización del 11 de enero de 2008

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

Page 2: Modulo de Sistema Secuenciales

GeneralMÓDULOSISTEMAS DIGITALES SECUENCIALESPRIMERA EDICIÓNEditor de texto OpenOffice 2.3.1

© CopyrightUniversidad Nacional Abierta y a Distancia

ISBN

2008Medellín, Colombia

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

2

Page 3: Modulo de Sistema Secuenciales

¡OH dicha de entender, mayor que la de imaginar o la de sentir! Borges.

El curso de Sistemas Digitales Secuenciales, es un curso introductorio en el a apasionante tema de la electrónica Digital Secuencial. Ha sido diseñado para ser un curso de tercer nivel en los programas de Ingeniería o Tecnología Electrónica.

Para leer el módulo se necesitan los conceptos básicos de la teoría conjuntos, la lógica proposicional, álgebra Booleana, las técnicas de simplificación de Mapas de Karnaugh y analítica al igual que los conceptos básicos de electrónica digital combinacional, como lo son los diferentes tipos de compuertas y el diseño de circuitos de aplicación.

La intención es que el estudiante pueda aprender de este módulo por sí mismo, en este sentido es un texto escrito más para los estudiantes que para el profesor y tiene la pretensión de motivar la generación de preguntas antes de comenzar a ofrecer cualquier información.

Los sistemas digitales secuenciales introducen el concepto de memoria a los circuitos combinacionales, lo que nos permitirá dar solución a nuevos y apasionantes problemas.

La posibilidad de recordar el estado actual y “tomar una decisión” para entregar luego una salida abre el abanico de las posibilidades en el diseño de dispositivos digitales electrónicos, tanto en el control de procesos industriales como en la electrónica de consumo.

El área del conocimiento que corresponde este curso académico es ciencias básicas e ingeniería, específicamente el campo de formación profesional específico, adquiriendo importancia, pues es el encargado de fundamentar el estudio de los sistemas digitales que conservan la “memoria” de sus estados anteriores, condición que permite el diseño de circuitos que pueden establecer secuencias.

Tiene como propósito que el estudiante domine los conceptos básicos sobre almacenamiento y procesamiento de información digital; así, el estudiante estará en capacidad de realizar diseños básicos usando temporizadores, comprenderá las secuencias y protocolos para el almacenamiento y lectura en memoria, diseñará contadores y estará en capacidad de seguir un proceso adecuado en el diseño de circuitos secuenciales.

Page 4: Modulo de Sistema Secuenciales

Algunos aspectos esenciales, que resalta el curso son:

Aplicar las etapas del diseño de circuitos digitales secuenciales para la solución de problemas propios del campo de aplicación de la Electrónica Digital a nivel de Ingeniería y de Tecnología.

Conocer las diferentes herramientas del diseño que sirven como componentes básicos para el desarrollo de dispositivos electrónicos digitales.

Mediante el desarrollo de las unidades didácticas se pretende ubicar al estudiante en un ambiente ideal para la apropiación de conceptos y destrezas indispensables para la comprensión y diseño de sistemas digitales secuenciales y sus aplicaciones en la solución de problemas prácticos. Este desarrollo de habilidades y competencias propias del área digital tendrá aplicables en otros campos de su formación que permitirán proyectar el curso como herramienta vital en el campo de la investigación.

Que estas páginas os brinden muchas horas de diversión.

Agradezco a todos los estudiante y tutores su valiosa colaboración.

Georffrey Acevedo G.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

2

Page 5: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

CONTENIDO

Unidad 1

INTRODUCCIÓN A LAS UNIDADES DIGITALES BÁSICAS DE ALMACENAMIENTO

capítulo 1 Conceptos previosÁlgebra de variables lógicasTablas de verdadFunción de variables lógicasFunciones de dos variablesCompuertas lógicasTecnología TTL y CMOSTeoremas para dos variablesMInterms y MaxtermsDiseño de un Multiplexor en VHDL

capítulo 2 Almacenamiento en registros-objetivo general-objetivos específicosLATCH-compuerta orLATCH setLATCH resetLATCH set-reset

-diseño-símbolo-tabla de verdad-diagrama de estados

LATCH sr con línea de controlLATCH tipo data

-vhdl latch tipo dataLATCH d con señal de controlLATCH tipo jkLATCH tipo jk con señal de controlLATCH tipo toggleLATCH tipo t con señal de control

3

Page 6: Modulo de Sistema Secuenciales

capítulo 3 Aplicaciones al diseño de Multivibradores

Circuitos Multi-vibradotesCircuitos de tiempo

-Módulo temporizador de precisión 555-555 como astable:- Frecuencia de oscilación-555 como monoestable

Unidad 2 FLIP-FLOPS y DISEÑO DE MAQUINAS DE ESTADO

capítulo 1 Flip-Flops

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

Circuitos generadores de FlancoDiseño de Sistemas Síncronos en VHDLVHDL Flip-Flop Data con circuito detector de FlancoCircuitos generadores de FlancoDiseño de circuitos generadores de flanco

-Señal de reloj a la salida del circuito detector de flancos de bajada-Señal de reloj a la salida del circuito detector de flancos de subida-Circuito detector de Flanco de Subida-Circuito detector de Flanco de Bajada

VHDL Flip-Flop Data SícronoCircuitos de PRESET y RESET asíncronos:VHDL F-F tipo D con puesta a cero y a uno asíncronas:

capítulo 2 Aplicaciones de los Flip-Flop

Almacenamiento paralelo de datos División de frecuenciaContadoresContadores AsíncronosVHDL Circuito Contador Ascendente O Descendente

VHDL Definición de paquetes

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

4

Page 7: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Capítulo 3 Modelo de un circuito secuencial-Etapas del diseño de circuitos-Etapa lógica-Etapa de memoria-Circuito secuencial sincronizado

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

Capítulo 4 Circuitos Moor y MeeleyEtapas del diseño

-Diagrama de estados-Identificación del Número de estados-Tabla de estados-Asignación de estados-Tabla de transición

Memorias-Bus de dirección-Bus de datos-Señales de control

Anexos

Anexo A – Instalacón de Xilinx 7.1iAnexo B – Cómo crear un proyecto esquemático en Xilinx 7.1i

5

Page 8: Modulo de Sistema Secuenciales

Unidad 11Introducción a las unidades digitales básicas de almacenamiento

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

6

Page 9: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

OBJETIVO GENERAL

Estudiar, analizar y profundizar los conceptos fundamentales de la teoría del diseño 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 con Monoestables, astables, y por último en cada capítulo se aplicará al diseño en FPGA y programación en VHDL.

OBJETIVOS ESPECÍFICOS

1.Identificar los dispositivos de almacenamiento básicos.2.Distinguir las diferentes clases Latch.3.Representar una función usando diagramas de tiempos.4.Realizar diseños usando LATCH.5.Aplicar los diagramas de tiempo para el análisis de un circuito secuencial.

7

Page 10: Modulo de Sistema Secuenciales

Capítulo 11:

Fase de reconocimiento

En esta lección reforzaremos algunos conceptos de Sistemas Digitales Básicos y VHDL que se deben tener para poder hacer la lectura significativa del curso:

Álgebra de variables lógicas:

Características de las variables lógicas:

La variable lógica debe ser excluyentes:Debemos poder determinar su valor de verdad, definiéndola como verdadera o falasa.

La variable lógica debe ser diferenciable:Debeos poder decir con claridad si son o no son verdaderas o falsas. (Que la variable 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 o falsa.

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 la siguiente representación:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

8

Page 11: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

_____Verdadero = Falso

_________Falso = Verdadero

Aquí la línea horizontal representa la negación del valor que tiene debajo.

Representación de las variables lógicas:Para representar las variables lógicas usamos las últimas letras del alfabeto como p, q, r, s, t. v. x. y. z.

Si usamos como variable lógica la p, ésta podrá tomar uno sólo de los valores de verdad del conjunto:

{verdadero, falso}.

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

Tablas de verdad:Una tabla de verdad esta constituida por los posibles valores de la variable lógica y las posibles funciones de la variable.

Variables FunciónPosibles

Valores deVerdad de la

variable

Posibles Valores de

Verdad de lafunción

Función de las variables lógicas:La función de dichas variables lógicas la representamos comúnmente por la letra F. Y está determinada por su tabla de verdad.

Función de una variable lógica:F(p) = se lee “efe de P”. Y será la función de la variable lógica p. F(p) al igual que p también toma un valor de verdad del conjunto:

{verdadero, falso}.

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

9

Page 12: Modulo de Sistema Secuenciales

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

Observemos como en la siguiente tabla de la función, las posibles funciones de la variable son en total 4.

Este número 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 términos 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 número de posibilidades podemos calcularlo como 24, en donde el cuatro son el número de posibles 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.coInquietudes y recomendaciones: e-mail: [email protected]

10

Page 13: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

En términos de la variable p y de s, estas funciones podemos definirlas como sigue:

F1(p,s) = FF2(p,s) = p NOR sF3(p,s) = (p EXOR s). sF4(p,s) = No pF5(p,s) = (p EXOR s). pF6(p,s) = NO sF7(p,s) = p EXOR sF8(p,s) = p NAND sF9(p,s) = p AND sF10(p,s) = p EXNOR sF11(p,s) = sF12(p,s) = NO[(p EXOR s). p]F13(p,s) = pF14(p,s) = NO[(p EXOR s). s]F15(p,s) = p OR sF16(p,s) = V

Las funcione subrayadas corresponden a las funciones más utilizadas, las cuales especificaré a continuación:

P S NO P P AND S P OR S P EXOR SF F V F F FF V V F V VV F F F V VV V F V V F

Nemotécnicamente podemos definirlas así:

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

11

Page 14: Modulo de Sistema Secuenciales

Funciones de más de dos variables lógicas:

Son las funciones que para establecer su valor de verdad dependen de más de dos variables lógicas:

Ejemplo:Representación de una función de tres variables lógicas:

Primero debemos determinar el número de las posibles combinaciones de valores de verdad para las tres variables, que en este caso denominaremos A, B y C. Y los valores de vedad los representaremos por 1 para Verdadero y 0 para falso.

Como se trata de combinara 3 variables lógicas diferentes, y los valores de verdad posibles son dos Verdadero y Falso, son necesarias:

23 = 8 Ocho combinaciones posibles.

Ahora sí podemos construir la tabla de verdad para la función:

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

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

Representación gráfica de las funciones lógicas:

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

La representación gráfica de las funciones coincide con la representación en diagrama de bloque de un sistema:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

12

COMPUERTASeñales de entrada

Función OUT

Page 15: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

1-Función Inversora. (Invierte el valor de verdad de las funciones lógicas)

2-Función AND.Es equivalente a decir: A and B = A . B = AB

3-Función OR.Es equivalente a decir: A or B = A + B

3-Función XOR.Es equivalente a decir: A xor B = A B

4-Función BUFFER.Mantiene la señal.

5-Función NAND.

13

AB

A and B

A Ā

A + BBA

AB A B

A Ā

Page 16: Modulo de Sistema Secuenciales

6-Función NOR.

7-Función EXNOR.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

14

AB

A and B

A + BBA

AB A B

Page 17: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Tecnología TTL y CMOS:

TTL:Significa tecnología de transistor a transistor y maneja los siguientes umbrales de voltaje para determinar el 1 o el 0 lógico en sus entradas:

CMOS:Significa tecnología metal oxido semiconductor y maneja los siguientes umbrales de voltaje para determinar el 1 o el 0 lógico en sus entradas:

La notación de los valores de verdad tendrá entonces la siguiente representación:

1 para el VERDADERO0 para el FALSO

Haciendo uso de estas representaciones y de esta notación, podemos representar la función Z de una variable lógica así:

1. Definimos la función Z por su tabla de verdad,

15

Margen de seguridad.

5V Hmáx

2V Hmín

0.8V Lmín

1 lógico

0 lógico

Margen de seguridad.

5V Hmáx

3.5V Hmín

1.5V Lmín

1 lógico

0 lógico

Page 18: Modulo de Sistema Secuenciales

La función Z como vimos, está definida arbitrariamente. Pero dependerá de los valores de verdad de las variables A; B y C tal y como lo determine la tabla de verdad siguiente:

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

0 0 0 00 0 1 10 1 0 00 1 1 11 0 0 01 0 1 11 1 0 01 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 de verdad.

La función Z es: Z = A’B’C + A’BC + AB’C + ABC

El circuito lógico de la variable Z es como sigue:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

16

BA ZC B’A’ C’

Page 19: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Representación en diagramas de bloques:

Técnicas De Simplificación

Teoremas del álgebra Booleana:

I- Teoremas para una variable:A = A

A + 0 = A

A + 1 = 1

A+ A = A

A + A = 1Teoremas Duales:

A . 0 = 0

A . 1 = A

A . A = A

A . A = 0

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

0 + 0 = 0

0 + 1 = 1

1 + 1 = 1

0. 0 = 00 . 1 = 0

1 . 1 = 1

17

CIRCUITO LOGICO

Page 20: Modulo de Sistema Secuenciales

Teoremas para dos variables:

1) A + AB = A Demostración: A(1 + B) = A(1) = A

2) A + AB = A + BDemostración: 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.coInquietudes y recomendaciones: e-mail: [email protected]

18

Page 21: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Formas estándar de las funciones lógicas:

Las funciones lógicas se pueden expresar como suma de productos o productos de sumas lógicas. Estos productos son llamados estándar, es decir, involucran todas 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 función Z es: Z = A’B’C’ + A’B’C + A’BC + AB’C + ABC’ + ABC

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

La función 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 integración de los circuitos digitales básicosSegún el número de puertas lógicas los circuitos integrados se clasifican como:

Nombre Significado Compuertas lógicasSSI Small-scale-integrated <12MSI Medium-scale-integrated 12 - 100LSI Large-scale-integrated 100 - 1000

VLSI Very-large-scale-integrated

Un ejemplo de SSI es la 7408, de MSI un multiplexor y de LSI una memoria.

19

Page 22: Modulo de Sistema Secuenciales

DECODIFICADOR PARA DISPLAY

Display de 7 segmentos:

Internamente, se trata de siete diodos dispuestos de la siguiente manera respectivamente:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

20

Ánodo común

7447Cátodo común

7448

a

b

c

d

e

fg

a

b

c

d

e

fg

IntegradoaUsar

RES

Vcc

RES

Page 23: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Diseño de un Multiplexor en VHDL:

En esta lección haremos un reconocimiento de los conocimientos adquiridos en sistemas digitales básicos sobre VHDL, para lograr nuestro objetivo diseñaremos un multiplexor dos a 1 en VHDL, retomando y analizando las etapas del programa:

Recordemos que un circuito multiplexor 2 a 1 permite seleccionar entre dos canales de entrada cual será el canal que podrá salir por la única línea de salida:

MULTIPLEXOR 2 a 1

Este es un circuito de multiplexión en el tiempo (TDM) muy común en telecomunicaciones; imaginemos que Venn y Aristóteles desean comunicarse de Natunga a Macondo pero entre los dos destinos sólo existe un único canal de comunicaciones. ¿Cómo usar este único canal para que las dos personas puedan estar en comunicación con Macondo al mismo tiempo? ....La solución es muy simple: permitimos que Aristóteles se comunique por unas fracciones de segundo y que en la siguiente fracción de segundo lo haga Venn, pero debemos hacerlo a una velocidad tal que los usuarios no se percaten del asunto. La tarea de conectar y desconectar rápidamente los canales A y B (usuarios de Natunga) de la única señal de salida es realizada por el circuito multiplexor.

21

Canal A

Canal B

Selecciona la salida( Es la señal de control)

Selecciona el canal A con 0 y el

Canal B con 1

Salida un único canal

Page 24: Modulo de Sistema Secuenciales

Veamos la tabla de estados:

Tabla de estados:Caso A B Control C Salida

0 0 0 0 01 0 0 1 02 0 1 0 03 0 1 1 14 1 0 0 15 1 0 1 06 1 1 0 17 1 1 1 1

Obtengamos la función lógica:(Puedes repasar estos conceptos en el captítulo de Álgebra Booleana del módulo de Lógica Matemática y complementarlos con el Módulo de Sistemas Digitales Básicos)

f(A,B,Control) = A'BC + AB'C' + ABC' + ABCSimplificación:

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 básicamente tres etapas:

1. Definición de las librerías

2. Declaración de las variables de entrada y salida

3. Arquitectura, donde se describe el comportamiento lógico del sistema.

A continuación hacemos la descripción detallada de éstas etapas.. (No olvides retomar todos éstos conceptos en el módulo de Sistemas Digitales Básicos).

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

22

Page 25: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Agoritmo en VHDL:

library ieee;use ieee.std_logic_1164.all;

entity MUX2a1_a is port(A, B: in std_logic;C: in std_logic;Y: out std_logic);end MUX2a1_a;

architecture funcionamiento of MUX2a1_a isbeginY<= ( B and C ) or( A and not(C) );end funcionamiento;

Otra forma de resolverlo es:

library ieee;

use ieee.std_logic_1164.all;

entity mux2a1 is port(entrada: in std_logic_vector(3 downto 0); --Definimos las entradas A, y Bcontrol: in std_logic; --Definimos las señales ce dontrol C1y: out std_logic);

end mux2a1;

23

EntidadDonde se definen las señales de entrada y salida del sistema:

ArquitecturaDonde se define la función del circuito

Funición del sistema: f(A, B, C) = Y = B*C + A*~C

SISTEMA

f(A, B, C)

A

B Y

Sel

Definiciones: Librerías y paquetetes a utilizarieee. : Librería a utilizarstd_logic_1164.all: Paquete a utilizar; más completo que el tipo bit, al incluir los estados de alta impedancia y de no importa.

IN OUT

Page 26: Modulo de Sistema Secuenciales

architecture archmux2a1 of mux2a1 isbegin p1: process (entrada,control)

begin case control is when "0" => y<=entrada(0); when "1" => y<=entrada(1); when others => y<=entrada(0); end case;

end process;end archmux2a1;

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

24

Page 27: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Capítulo 22:

Almacenamiento en Registros

25

Sistema Combinacional

Sistema de Retroalimentación

Sistema Secuencial

Page 28: Modulo de Sistema Secuenciales

Lección 1. Latch

En esta lección aprenderemos a diseñar una unidad básica de almacenamiento a partir de los conocimientos adquiridos en el curso de sistemas digitales básicos.

1.1.1 LATCH

Un LATCH es la unidad de almacenamiento básico es y la unidad fundamental para construir los diferentes tipos de FLIP-FLOP que estudiaremos más adelante.

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

Figura 1

Estamos buscando diseñar un circuito que permita el almacenamiento de la mínima unidad lógica, es decir, de un bit. Esto es, pretendemos diseñar un circuito que nos permita almacenar un uno lógico o un cero lógico. En otras palabras, queremos almacenar o retener 5Voltios ó 0Voltios en un punto específico de un circuito hasta que lo deseemos.

La pregunta ahora es, ¿qué utilidad práctica podría tener dicho circuito digital?, ¿De qué puede servirnos almacenar un dígito?

Dejemos volar la imaginación y propongamos una aplicación a nuestro primer circuito digital de almacenamiento de un bit:

Resulta que nuestro amigo Boole ha puesto en la jaula de su hermoso canario un nuevo columpio pero ha pasado horas sin lograr determinar si su canario hace o no uso del nuevo juguete. ¿Cómo podemos ayudar a Boole con ésta fatigante tarea?

Figura 2

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

26

LATCHEntradaIN

SalidaOUT

Señal de entrada

Circuito

Señal de salida

Page 29: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Muy bien, ya tenemos nuestro primer problema por resolver, ahora procederemos a diseñar un sistema tal que una luz permanezca encendida una vez que nuestro canario halla hecho uso del columpio.

Necesitamos entonces que la luz no se apague hasta que Boole la observe. ¿Cómo podemos hacer uso de la electrónica digital para crear nuestra primera unidad de almacenamiento de información? Para dar inicio al proceso de diseño debemos hacer un repaso de algunos de los conceptos aprendidos en el curso de Sistemas Digitales Básicos y lógica Matemática. 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 diseño de un LATCH:

Las señales de entrada a la compuerta lógica OR son respectivamente P y Q. La salida depende del estado lógico de la entrada, ésta será cero cuando ambas entradas sean cero, es decir, basta con que una de las entradas se active, P ó Q para que la salida también 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 señal de entrada que obliga a la salida a tomar el valor de uno (1). Esta diseñado con una compuerta OR, aunque también puede ser diseñado por compuertas AND. Lo que hacemos a continuación es introducir un laso de retroalimentación de la señal de salida Q a la señal de entrada P en la compuerta OR, tal y como se muestra en la figura 4:

27

P ν QP

QCompuerta OR

TABLA DE VERDAD

Page 30: Modulo de Sistema Secuenciales

Figura 4

El estado inicial de la compuerta OR es el de todas sus señales de entrada y salida en cero lógico.

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

Figura 5

Observamos que poner S =1 obligó a que la salida Q se convirtiera en 1

Suponiendo que la señal 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 también 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 (Bombilla encendida) supongamos que el canario se retira del columpio produciéndose una señal de cero en la entrada S del sistema. ¿Continuará la bombilla encendida? Veamos:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

28

QS

LATCH SET

1

1

1 El uno de la salida Q se retroalimenta a la entrada

QS

LATCH SET

0

0

0 Estado Inicial, todo en Cero

Page 31: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Finalmente llevemos la entrada S a cero observemos lo que pasa:

Figura 6

Logramos memorizar un 1 en la salida Q del circuito, ya que ésta salida no cambiará, es decir, la bombilla no se apagará aunque el canario se retire del columpio o se vuelva a posar en él.

Veamos como queda el sistema:

29

LATCH SET

QS 1

1

0El uno que permanece en la entrada, obliga un uno en la salida Q, sin importar el nuevo estado de S

5V

115VAC

Circuito de acople de potencia.

Al posarse el ave la entrada S se desconecta de tierra produciendo un 1 lógico en la entrada de la compuerta TTL

Señal de entradaEtapa de acople de potencia con Optoacoplador y Triac

SQ

Figura 7¿Qué deberá hacer Boole para apagar el LED y la Bombilla?.

Page 32: Modulo de Sistema Secuenciales

Una vez que el estado lógico alto queda almacenado en el circuito es imposible apagar la bombilla por medio de un cambio en nuestra única señal de entrada S, Boole deberá desenergizar el circuito digital, es decir, deberá interrumpir el suministro de energía de 5 Voltios.

Boole ha encontrado que el canario tiene miedo de usar el balancín, para obligar a usarlo, Boole desea ahora que el sistema funcione al contrario, es decir, que la bombilla 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 canario aprenda a apagarla parándose en el columpio. Igual que en el sistema anterior la bombilla debe permanecer apagada a pesar de que el canario se retire del columpio.

Para dar solución a este nuevo reto, procedemos a diseñar el Latch Reset:

Lección 2. Latch Reset

1.1.1. 2 LATCH RESET

LATCH que tiene una señal de entrada que obliga a la salida a tomar el valor de cero (0).

Para el diseño de este nuevo LATCH es necesario que recordemos la función lógica de la compuerta NOT:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

30

P ~P 0 11 0

P P’ TABLA DE VERDAD

Señal de entrada

Circuito

Señal de salida

Esta vez la bombilla inicia encendida

Page 33: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Figura 8

Para este diseño, partimos del LATCH SET en su estado inicial:

Figura 9

Adicionamos dos inversoras, lo que no producirá ninguna alteración en la salida:

Figura 10Ahora convertiremos la señal intermedia ~Q en la nueva señal de salida:

Figura 11

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

Figura 1231

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

Page 34: Modulo de Sistema Secuenciales

Como en el caso del LATCH SET, al cambiar nuevamente el estado de R observaremos que el 1 a la entrada de la OR no permitirá el cambio en el estado de la salida de ésta, permaneciendo ~Q en 0, y este estado se mantendrá hasta que 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 de apagar la bombilla en el caso de usar un LATCH SET o de encender nuevamente la bombilla en el caso de usar un LATCH RESET si no desea interrumpir el suministro de corriente del circuito digital?

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

32

Etapa de acople de potencia con Optoacoplador y Triac

Q

5V

115VAC

Al posarse el ave la entrada S se desconecta de tierra produciendo un 1 lógico en la entrada de la compuerta TTL

Señal de entrada

R

Circuito de acople de potencia.

QR

LATCH RESET

Page 35: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Como te habrás dado cuenta, el hecho de tener que desenergizar “desconectar” el circuito para retornarlo a su estado original, puede resultar en un inconveniente. Para solucionar esto, hagamos un nuevo diseño: El Latch Set-Reset, un circuito tal que permita el cambio de estado de la salida sin necesidad de interrumpir el suministro de energía al circuito digital:

Lección 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 el valor de cero (0) y otra entrada que obliga a la salida a tomar el valor de uno (1).

Para su diseño, partimos del LATCH SET:

Figura 14

Recordemos que por medio de una compuerta OR podemos diseñar una compuerta inversora:

Figura 15Reemplacemos una inversora por una OR:

Figura 16

33

S 0

0

0

Q ~Q Q

= P P’

S 0

0

0

Q ~Q Q

Page 36: Modulo de Sistema Secuenciales

Ahora procedemos a separar una de las entradas de la compuerta NOR a manera de señal de control, señal que denominaremos R(RESET):

Figura 17A continuación procedemos a analizar las salidas Q y ~Q al variar los estados de las entradas S y R:

1) Si S = R = 0

1.1) Si Q estaba en 0 y hacemos S = R = 0, observaremos que Q continúa siendo cero:

Figura 18

1.2) Si Q estaba en 1 y hacemos S = R = 0, observaremos que Q continúa siendo uno:

Figura 19

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

34

S~Q Q

R0

0

1

0

S~Q Q

R0

0

0

1

S~Q Q

R

Page 37: Modulo de Sistema Secuenciales

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 la salida Q se conserva:

Figura 20

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

Figura 21Luego, podemos concluir que con R en uno se resetea el estado de la salida, es decir, 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 vuelve uno:

Figura 22

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

35

S~Q Q

R0

1

0

1 0

S~Q Q

R1

0

1 0

0 1

S

~QQ

R0

1

1

0

Page 38: Modulo de Sistema Secuenciales

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 nos representa un estado no deseado: (Se trata de no dar las ordenes de Reseteo y de Set al mismo tiempo.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

36

S~Q Q

R1

1

1 0

0 0

S~Q Q

R1

1

0

1 0

S

~QQ

R1

0

0

1 1

Page 39: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Reorganicemos la el diagrama y construyamos con la información anterior una tabla que comprenda todos los cuatro casos vistos:

37

TABLA DE ESTADOS LATCH SET - RESET

LATCH SR

~Q

QSR

DIAGRAMA DE BLOQUE DEL LATCH SR

S ~Q

R

0

Q

LATCH SET - RESETEntrada de excitación

SET RESET Estado actual Estado siguiente

S R Q ~Q Q ~QFunción

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 Válido)

Page 40: Modulo de Sistema Secuenciales

Circuito de aplicación:

Cómo podemos ver la aplicación útil de este sistema sobre el circuito detector que venimos diseñando para el canario de nuestro amigo Boole?

Ahora disponemos de un circuito que tiene dos señales de entrada, una entrada S ó SET que permite encender nuevamente la bombilla si ésta se ha apagado antes usando la entrada R ó RESET. Es decir, si ingresamos un 1 en SET y la bombilla está apagada, ésta se encenderá y únicamente podrá apagarse mediante un 1 en la señal de RESET.

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

Pero el sistema tiene una falencia, debemos cuidar de no enviar las señales de SET y RESET al mismo tiempo ya que la respuesta del sistema será impredecible, es por esto que en la tabla de estados marcamos ésta condición como estado prohibido.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

38

Page 41: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Con éste circuito Boole tiene los dos LATCH, SET y RESET, en uno sólo y podrá poner 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 señal del columpio a la entrada SET. Y así, él podrá apagar la bombilla mediante una señal en la entrada RESET, sin necesidad de desconectar el circuito de las baterías.

2.Si desea que la bombilla se apague cuando el ave se pose en el columpio, entonces deberá conectar la señal del columpio a la entrada RESET. Y así, él podrá encender nuevamente la bombilla cuando lo desee mediante una señal en la entrada SET, sin necesidad de desconectar el circuito de las baterías.

39

5V

115VAC

Circuito de acople de potencia.

5V

pulsador

Q

S

R

Señal de entrada

Page 42: Modulo de Sistema Secuenciales

Lección No.4 Latch SR con NAND

Representación 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.coInquietudes y recomendaciones: e-mail: [email protected]

40

LATCH SET – RESETCON NAND

S ~Q

R

0

Q

LATCH SET – RESETCON NAND y ENTRADAS ACTIVAS EN BAJO.

SÍMBOLO DELLATCH SET – RESETCON ENTRADAS ACTIVAS EN BAJO.

LATCHSR

Page 43: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Función Lógica del LATCH SET-RESET:

De la tabla de estados del LATCH SET – RESET, tomando como variables de entrada a S y R y como función de salida el estado actual Q* . Con estos datos obtendremos la función lógica para el LATCH SET-RESET:

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

41

SET RESET Estado Actual

Estado siguiente

S R Q Q*

00

00

01

01

00

11

01

00

11

00

01

11

11

11

01

XX

Page 44: Modulo de Sistema Secuenciales

2) De la tabla de verdad obtenemos la siguiente función lógica:

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

3) Simplifiquemos usando Mapas de Karnaugh:

La función 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 la función, luego compáralos con los valores de la tabla de estado.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

42

Page 45: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Lección No.5 Diagrama de Estados.

Diagrama de ESTADOS para el LATCH SR:

43

0 10X

10

SR Si 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 la salida, Con, ningún valor de S producirá un cambio de estado. Solo cuando S=0 y R= 1 podemos pasar al estado en que la salida es 0, la flecha ( ) indica este cambio de estado.

Page 46: Modulo de Sistema Secuenciales

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

¿Cómo podemos evitar el estado prohibido?

Recordemos que con una compuerta AND, sólo se obtendrá un uno (1) a la salida siempre y cuando ambas entradas estén también en uno (1), luego, si tomamos una de las entradas como entrada de control. Mientras esta entrada esté en cero, la salida también será cero.

1.1.1.4 LATCH SR CON LÍNEA DE CONTROL:

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

Símbolo para el LATCH-SR con señal de control:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

44

Salida = Entrada Solo cuando Control ≠ 0En otro caso es = 0

Entrada

Control

Compuerta AND

LATCHSR

C

LATCH SET – RESETCON SEÑAL DE CONTROL.

Page 47: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Ejercicio 2

1. Construye una tabla de verdad para la función Q* . Recuerda que ahora esta nueva función depende del estado de las variables: CSRQ

2. Luego obtén la función sin simplificar.3. Usando los mapas de Karnaugh encuentra una función simplificada.4. Verifica que tu función 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

SÍMBOLO DELLATCH SET – RESETCON SEÑAL DE CONTROL.

LATCHSR con Control

C

Page 48: Modulo de Sistema Secuenciales

Lección 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 mismo tiempo, y es usando una compuerta inversora entre las dos señales, así, cuando S sea 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) y un 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.coInquietudes 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

Page 49: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

VHDL flip-flop tipo data:

library ieee;use ieee.std_logic_1164.all;

Definición de la entidad:

En la entidad definimos el nombre de la unidad funcional que estamos creando (entidad), definimos las señales de entrada, que en este caso serán la señal de entrada de datos (data) representada en la letra d, y finalmente definimos la señal de salida q, recordemos que para definir estas variables como entradas y salidas usamos las palabras clave in y out respectivamente.

entity biestD is port(

d: in std_logic;q: out std_logic);

end entity;

Observemos que también se definió el tipo de variable como std logic.

Definición de la arquitectura:

En la arquitectura definimos la función lógica que determinará el comportamiento del sistema como un flip-flop tipo data; dado que en un flip-flop data la señal de salida Q sigue a la entrada D, éste queda bien representado por la instrucción:

q <= d

Equivalente a d llévele q, a la salida llévele la entrada.

Definidas éstas características el flip-flop data, queda completamente definido así:

architecture archbiestD of biestD is

begin

p: process(d)begin

q<=d;end process;

end;

47

Page 50: Modulo de Sistema Secuenciales

1.1.1.6.1 LATCH D CON SEÑAL DE CONTROL:

Como ya habrás deducido, es poco práctico que la salida Q siga a la entrada D frente a cualquier cambio. Ya que si se produce una señal indeseada en D, esta pasará inmediatamente a la salida S. Para tener un control sobre la salida, podemos adicionar una señal de control o habilitación del LATCH:

Adicionemos una línea de habilitación partiendo del LATCH SR con señal de control:

Diagrama de ESTADOS para el LATCH DATA CON LÍNEA DE CONTROL:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

48

0 10X Ó

100X Ó 11

10

11CD

LATCH DATA CON SEÑAL DE CONTROL.

Q LATCHSR con ControlC Q

Q S

R

C

D

Q

Page 51: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Ejercicio 41.Elabora una tabla de verdad y halla la función lógica para el LATH DATA. 2.Simplifica la función lógica obtenida y verifica los datos que ésta entrega.3.Elabora un diagrama de tiempos para le LATH DATA.

49

Page 52: Modulo de Sistema Secuenciales

Lección No.7 Latch Tipo JK

1.1.1.7 LATCH TIPO JK:

Al juntar las señales S y R del LATCH SR mediante una inversora, no solo eliminamos el estado prohibido, sino, que también eliminamos el interesante estado de permanencia.

¿Cómo podemos eliminar el estado prohibido, sin eliminar el estado de permanencia?

Para lograrlo, partiremos del LATCH Data:

De acuerdo a la tabla de verdad del LATCH DATA, podemos interpretar éste como un seguidor de la entrada, tengamos esto en cuenta para nuestro diseño:

Observa también que para el siguiente circuito retroalimentado, si la salida es inicialmente cero, ésta continuará siendo cero a pesar de los cambios de estado que se produzcan en la señal de entrada:

Igualmente, si el estado de la salida es inicialmente un 1, éste se conservará sólo mientras la entrada sea un 0. Una vez que la entrada asuma el valor de 1 la salida será cero y el circuito quedará enclavado en salida cero.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

50

D Q

Q

11

10

00

0 1 0

Page 53: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Ahora, analicemos el mismo circuito pero con las señales de entrada invertidas:

Tendremos el efecto inverso: Si la salida es inicialmente un 1, ésta seguirá siendo uno, sin importar el estado de la señal de entrada.

Igualmente, si el estado de la salida es inicialmente un 0, éste se conservará sólo mientras la entrada sea un 0. Una vez que la entrada asuma el valor de 1 la salida será uno y el circuito quedará enclavado en salida uno.

Conclusión:

Si procedemos a juntar los dos circuitos tendremos:

Observa como en las condiciones de la gráfica, solo la entrada J podrá cambiar el estado de la salida tomando el valor de 1. Pero una vez en este estado, solo K podrá cambiar el estado de la salida.

51

101

0 1 0

00

Circuito para enclavar un cero

101

Circuito para enclavar un uno

J

K0

00

010

0

Page 54: Modulo de Sistema Secuenciales

Lección No.8 Resumen Latch Tipo D---La Clave:----Como en un LATCH TIPO DATA, la salida es transparente a la entrada, podemos adicionar el LATCH D sin afectar nuestro diseño, lo que nos permitirá generar ~Q y CONSERVAR EL ESTADO almacenado, siempre y cuando le adicionemos luego una señal de control C, de lo contrario, no tendrá sentido adicionar el LATCH TIPO DATA:

Ahora que logramos llegar tan deliciosamente (mediante un proceso analítico) a un diseño interesante, como lo es el de un LATCH JK, usaremos las herramientas que aprendimos en lógica matemática y sistemas digitales básicos, tales como tablas de verdad y simplificación de funciones lógicas, para llegar al mismo diseño, si bien mecánicamente, no de una manera menos divertida:

Partimos de la tabla de verdad de la función lógica deseada:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

52

J

K

LATCH JK

Q0 LATCH

DATAD

Q

Q

Page 55: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Función lógica deseada:

Q* = J’K’Q + JK’Q’ + JK’Q + JKQ’

Simplificación usando mapas de K:

Función lógica deseada:

Q* = JQ’ + K’Q

Circuito lógico correspondiente a la función lógica simplificada:

Llegamos a obtener el mismo circuito, pero, ¿recuerdas que justifica la presencia del LATCH DATA? ...Busca la respuesta en la siguiente página...

53

J

K

LATCH JK

Q

0 LATCHDATA

D

Q

K’

K’Q

JQ’

Q

Page 56: Modulo de Sistema Secuenciales

1.1.1.7.1 LATCH TIPO JK CON SEÑAL DE CONTROL:

Resumen

Recordemos, que el LATCH SR nos dio la posibilidad de desenclavar sin desenergizar pero usando dos señales de entrada diferentes (S y R), luego el LATCH D nos otorgó la misma posibilidad con una sola señal de entrada a cambio de esto, desapareció el estado de permanencia y el estado prohibido. Posteriormente, adicionamos una señal de control al LATCH D para no perder el dato almacenado. Luego, el LATCH JK nos permitió adicionar la propiedad de permanencia perdida con el LATCH D, y eliminó el estado prohibido convirtiéndolo en el estado complementario.

Ahora, con el objeto de conservar el dato de la salida, adicionemos una señal de control:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

54

J

K

LATCH JK

Q

0 Q

Q

DQ K’

K’Q

JQ’C

C

Línea de Control

LATCHDATA

Page 57: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Lección No.9 Latch tipo Toggle

1.1.1.8 LATCH TIPO TOGGLE:

Este latch también es conocido como latch tipo T.

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

Observemos que de la siguiente tabla de estados para el latch Jk podemos obtener la función deseada restringiendo el la tabla a la función de estado complementario y de permanencia únicamente:

Como J y K tienen el mismo valor, éstas pueden unirse en una nueva función que llamaremos togglie T

En conclusión, el latch tipo T siempre estará cambiando el estado de la salida por cambio en el estado de la señal de entrada.

55

Entrada de excitación

TOGGLE SET RESETEstado actual

Estado siguienteFunción deseada

T J K Q Q*

Nombre de la Función

0 00

00

01

01

PERMANECEQ no cambia

1 11

11

01

10

ESTADOCOMPLEMENTA

RIO

T

LATCH T

Q

0 LATCHJK

J

QK

Q

Page 58: Modulo de Sistema Secuenciales

1.1.1.8.1 LATCH TIPO T CON SEÑAL DE CONTROL:

Para controlar el latch, introducimos la señal de control:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

56

T

LATCH TCon señal de control

Q

0 J D

QK CC

Línea de Control

Page 59: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Capítulo 33:

Aplicación al diseño de Multivibradores

57

Page 60: Modulo de Sistema Secuenciales

Lección No.10 Multi-vibradores

1.8 Circuitos de aplicación

1.8.1 Multi-vibradores

Monoestable o One-shot:

•Son circuitos de almacenamiento digital con un único estado estable.

•Se pueden llevar temporalmente a un estado transitorio mediante un cambio de estado, es decir mediante una transición de 0 a 1 o 1 a 0 en su entrada:

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

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

58

One-Shot

IN0

1

Flanco de subida

One-Shot

IN0

1

Flanco de bajada

Tiempo controlado por la red RC externa.

Page 61: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

•El One-Shot conservará su salida en el nuevo estado durante el tiempo especificado por una red RC que se conecta en sus pines.

Los One-Shot puedenser:

1.Redisparables:Si se produce una transición en su entrada, éste vuelve a comenzar el ciclo de tiempo programado, descartando el tiempo ya contado.Ej: SN74122 y SN74123.

2.No Redisparables:Si ya se ha iniciado un ciclo de tiempo, cualquier cambio producido en las entradas es ignorado hasta que finalice el ciclo de tiempo programado.Ej: SN74121.

59

Page 62: Modulo de Sistema Secuenciales

Lección 11. Multi-vibradores

1.8. 2 CIRCUITOS DE TIEMPO

1.8.2.1 MÓDULO TEMPORIZADOR DE PRECISIÓN 555:

Es un dispositivo de memoria que se utiliza para muchas aplicaciones, pues puede configurarse para ser utilizado como monoestable o one-shot y como un multivibrador 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 un condensador de 0.01μf con el fin de obtener mejor estabilidad en 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.coInquietudes y recomendaciones: e-mail: [email protected]

60

Vcc Cont

DISCH

RESET

THRES

OutTRIG

1

5

8

3

4

7

6

2

R1

Q

RR

R

R

AO2

AO1

Q1

Pin 0 3 0 4 =→=Pin

Page 63: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Si la salida Q del latch se pone en uno, este pin 7 será conectado internamente a tierra por medio del transistor de descarga Q1, ya que un nivel alto en la base del transistor lo llevará a la región de saturación o estado de ON.

Por el contrario, si la salida Q del latch se pone en uno, este pin 7 estará aislado o en estado de alta impedancia, ya que un nivel bajo bajo en la base del transistor lo llevará a la región de corte o estado de OFF.

Los pines Threshold y Trigger son las entradas que controlan las salidas de los comparadores analógicos AO1 y AO2. La salida de cualquier comparador es 1 lógico si su entrada superior tiene un voltaje mayor que su entrada inferior.

Los voltajes de referencia para las comparaciones son de 2/3 Vcc para AO1 y 1/3 Vcc para AO2. Estos voltajes se obtienen mediante el divisor de tensión formado por las tres resistencias iguales R.

THRES: Límite superior, Umbral (threshold) o entrada del comparador superior AO1.

Si el voltaje en este pin 6 es mayor que dos tercios de Vcc (2/3 Vcc), será aplicado un 1 lógico a la entrada R del latch borrándolo, lo que podrá en cero la salida 3, ya que este pin esta conectado internamente a la salida negada del latch –Q conectada al inversor. Ver nota 1.

61

0 3Pin 3

2 = →> VccThreshold

GNDPin 7 0 3 =→=Pin

3 1 Pin 7 ZPin = → = ↑

Page 64: Modulo de Sistema Secuenciales

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

Disparo: Definimos el disparo como una transición de alto a bajo en el pin 2.

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

En conclusión podemos resumir las funciones de los pines como sigue:

RESET Desactivar

DISCHARGE A tierra o descarga.Alta impedancia o Carga.

THRESHOLD Comparador del nivel superior.

TRIGGER

Como comparador de nivel inferior.

Como disparo.

Aprovechando estas propiedades del 555 podemos configurarlo como:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

62

13Pin 3

= →< VccTrigger

13Pin 0 a 1 de = →Trigger

0 3Pin 3

2 = →> VccThreshold

13Pin 3

= →< VccTrigger

13Pin 0 a 1 de = →Trigger

0 Pin 3 0 Pin 4 =→=

Pin 7 0 Pin 3 =→=

Z Pin 7 1 3Pin ↑=→=

Page 65: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Lección No.12 555 como astable:

C = Condensador de fijación de tiempo.RA = Resistencia de Carga.RB = Resistencia de Carga y descarga.RL = Resistencia de Carga. Load. (Carga aquí tiene el sentido de peso

o trabajo).

Funcionamiento:

Básicamente para que en el sistema se comporte como un astable, sin necesidad de entradas para funcionar, hacemos que el 555 se dispare a sí mismo, activando y desactivando las entradas de disparo y de límite mediante un circuito RC.

63

Señal cuadrada

Vcc

RESET

DISCH

THRES Out

TRIG Cont GND1

3

8

5

4

7

6

2

Vcc

0.01μf

RA

RB

C

RL

Sensores de nivel

Page 66: Modulo de Sistema Secuenciales

I) Carga y Descarga:

3Cuando el pin 7 este en estado de alta impedancia el condensador de fijación de tiempo estará cargándose por medio de las resistencias RA y RB, Lo que se dará mientras la salida 3 esté en 1 lógico.

En conclusión, si denominamos Tc el tiempo de carga, podemos calcularlo como:

C)R(R0.693 Tc BA ×+×=

4Cuando el pin 7 este conectado a tierra el condensador de fijación de tiempo estará descargándose por medio de la resistencia RB, Lo que se dará mientras la salida 3 esté en 0 lógico.

Esto nos permite calcular el tiempo de descarga Td como:

Como el tiempo de carga Tc coincide con un 1 lógico en la salida, podemos llamar a este tiempo el tiempo de ON o TON. Igualmente Td puede ser denominado tiempo de OFF o TOFF, ya que durante este la salida permanece en 0 lógico.

II) Ciclo repetitivo:

1.Inicialmente el condensador de fijación de tiempo está descargado.2.El comparador inferior leerá que su entrada superior(Directa) es mayor que la inferior(Inversora) generando un 1 lógico en el pin SET del latch, esta acción pondrá en 1 lógico la salida 3. 3.Un 1 lógico en la salida dará inicio al proceso de carga a través de las resistencias RA y RB, hasta que el voltaje en los pines Disparador y Límite sea lo suficientemente alto como para generar un cambio de estado en el latch SR interno. Tal que R=1 y S=0.4.Cuando el pin 6 de límite llegue a un voltaje mayor que 2/3 de Vcc el comparador superior generará un 1 lógico en el pin R del latche, esta acción pondrá en 0 lógico la salida 3 conectando internamente a tierra el pin 6 para permitir la descarga del condensador C por medio de la resistencia RB, hasta que el voltaje sea lo suficientemente bajo como para poducir R=0 y S=1.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

64

CR0.693 Td B ××=

Page 67: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

5.Una vez producido el estado R=0 y S=1 estaremos en el paso inicial de condensador descargado generándose un ciclo que se repetirá indefinidamente.

Notas:a)Obsérvese que con esta conexión estamos evitando el estado prohibido del latch R=1 y S=1. b)Por los pines 6 de Umbral y 2 de disparo no circula corriente hacia el circuito integrado, es decir, que no existen para el condensador. Esto se debe a que las entradas de comparadores son de muy alta impedancia.c)El pin de RESET permanecerá desactivado para que el latch funcione.

Observaciones:Aplicando la ley distributiva para la ecuación de Tc obtenemos:

CR0.693 CR0.693 Tc BA ××+××=Como se ve, en esta ecuación esta presente el tiempo de descarga Td, luego:

Td CR0.693 Tc A +××=Luego el tiempo de carga siempre será mayor que el tiempo de descarga en una cantidad igual a 0.693RAC gráficamente podemos darle la siguiente representación:

Por esta razón siempre que necesitemos calcular RA y RB dados los tiempos de carga y descarga, es necesario comenzar por la ecuación que contiene el tiempo de descarga.

Teniendo en cuenta lo anterior, si fijamos el valor del condensador de tiempo, podemos obtener los valores de RA y RB usando las siguientes ecuaciones:

C0.693Td R B ×

=

65

Td

Td0.693R

AC

TO N

= Tc TO FF

2/3 Vcc

1/3 Vcc

Vcc

Page 68: Modulo de Sistema Secuenciales

Td Tccon C0.693

Td - Tc R A >×

=Lección 13. FRECUENCIA DE OSCILACIÓN

1.8.2.1 FRECUENCIA DE OSCILACIÓN:

Recordemos algunos conceptos:

Periodo: Es el tiempo que emplea la señal para repetirse y esta dado en segundos:

.

Frecuencia:Es el número de veces que se repite la señal por unidad de tiempo y está dada en 1/s es decir en Hertz Hz

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

La frecuencia f de oscilación puede determinarse como el inverso del periodo T. Así:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

66

TT

Tf 1=

Son dos formas de medir el período de la señal

Page 69: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Cálculo de la Frecuencia de oscilación:

La frecuencia de oscilación depende del valor de las resistencias RA , RB y del capacitor C. Dividiendo la señal de salida en dos componentes de tiempo que llamaremos TON y TOFF, podemos calcular el periodo de la señal como la suma de dichos tiempos y con ellos calcular la frecuencia de oscilación:

Periodo de la señal:

Frecuencia de oscilación:

67

T

TON TOFF

( )

( )( )BA

BA

BA

DA

DDA

DC

OFFON

RRCTRRCT

CRCRTTCRT

TTCRTTTTTTT

2 693.02 693.0

693.02 693.02 693.0

693.0

+=×+××=

×××+××=+××=

++××=+=

+=

( )

( )BA

BA

OFFON

RRCf

RRCf

TTf

2 44,1

2 693.01

1

+=

+=

+=

Page 70: Modulo de Sistema Secuenciales

Observemos que en la última ecuación hay tres incógnitas, por lo tanto para obtener una frecuencia en particular es necesario suponer el valor de dos componentes (parámetros) para calcular luego el faltante.

Si los parámetros conocidos son C y RA podemos usar la siguiente fórmula para calcular el parámetro desconocido RB:

Cf2CR 1,44 R

2441

AB

A

××××−=

−××

=

f

RCf

, RB

Si los parámetros conocidos son C y RB podemos usar la siguiente fórmula para calcular el parámetro desconocido RA:

CfCR2 1,44 R

2441

BA

B

××××−=

×−×

=

f

RCf

, RA

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

68

Page 71: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Lección 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 lógico cambiando la salida, de modo que el estado regresa en forma automática a su valor predefinido después de cierto tiempo de carga del condensador T calculado por la red de carga RC como:

CR1.1 T C ××=

Este será el tiempo estimado para que el condensador llegue al nivel de Threshold. Una vez superado este nivel el comparador superior pondrá la salida en 0 lógico, descargando casi instantáneamente el condensador.

69

Pulso de duración T

Vcc

RESET

DISCH

THRES Out

TRIG Cont GND

1

3

8

5

4

7

6

2

Vcc

0.01μf

RCR

S

C

RL

Censor de nivelDisparo

Page 72: Modulo de Sistema Secuenciales

En este caso la descarga del condensador no afecta la entrada de disparo, la cual estará “esperando” siempre la señal externa del pulsador.

El tiempo T es también llamado período de temporización. Este monoestable es No Redisparable:Si producimos un disparo mientras la salida está en ON, el condensador continuará su carga normal, en otras palabras no le “hará caso” al nuevo disparo.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

70

Page 73: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Unidad 22Flip-flops y diseño de máquinas de estado.

71

Page 74: Modulo de Sistema Secuenciales

Capítulo 11:

Flip-flops

Lección 15. Flip-Flops.

Los Flip-Flops no son mas que latch con señal de control. A diferencia de los Latch sin señal de control, éstos se pueden habilitar o deshabilitar a discreción.

Esta línea de control, recibirá ahora el nombre de señal de Reloj o CLK (Clock).

Recordemos que cuando la señal de reloj tienen una línea superior, ésta hace referencia al complemento que se estudió en Lógica Matemática. Es decir, la línea es habilitada en bajo:

CLOCK

En este caso, si se desea mantener deshabilitado el Flip-Flop, debes mantener en 1 la señal de Reloj.

Si la línea de CLOK no tiene ninguna raya superior, el Flip-flop se deshabilita con un cero (0).

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

72

Page 75: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

A continuación se representa gráficamente una señal de reloj, el cambio del nivel alto al nivel bajo recibe el nombre de flanco de Bajada y el cambio de nivel bajo a nivel alto recibe el nombre de flanco de subida.

Los Flip-Flop se activan en un flanco determinado de la señal de reloj, ya sea el flanco de subida o el flanco de bajada. Para representar el tipo de flanco en que es activado el Flip-Flop, usamos la siguiente representación:

La señal introducida por el pin de flanco, también se denomina señal de control o señal de reloj. Para indicar esto, usamos la palabra CLK (por el nombre en inglés 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 de Subida

Flip Flop Tipo Data Activo Por Flanco Positivo

Q

0 LATCHJK

D

QSeñal de reloj

Page 76: Modulo de Sistema Secuenciales

2.1.2 Flip-Flop activo por flanco Negativo:

Lección No.16 Circuitos generadores de Flanco.

2.1.3Circuitos generadores de Flanco:

Observemos la siguiente situación:

En un Flip-Flop tipo Data activo por Flanco Positivo, mientras la señal de reloj está activa, indeseablemente, es decir en 1 lógico, cualquier pequeño cambio que se halla producido en los niveles de la señal de entrada Data (D) podrá generar cambios en la salida, éstas señales así generadas reciben el nombre de transcientes indeseables o ruido. Con el ánimo de evitar este ruido, proponemos a continuación un circuito detector de flancos, tal que un flanco de subida generado en la señal de reloj, genera únicamente un pequeño pulso en la nueva señal de reloj de salida, siempre y cuando se trate del circuito diseñado para detectar flancos de subida, igualmente debe ocurrir con el circuito diseñado par detectar los flancos de bajada; se debe generar un pequeño pulso, únicamente cuando en la señal de reloj se produzca un flanco de bajada.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

74

Flip Flop Tipo Data Activo Por Flanco Negativo

Q

0 LATCHJK

DQ

Señal de reloj

Page 77: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Señal de reloj original:

Señal de reloj a la salida del circuito detector de flancos de bajada:

Señal de reloj a la salida del circuito detector de flancos de subida:

75

Nivel Bajo

Nivel alto

Flanco de Bajada

Flanco de Subida

Nivel Bajo

Nivel alto

Nivel Bajo

Nivel alto

Page 78: Modulo de Sistema Secuenciales

Diseño de Sistemas síncronos en VHDL:

Recordemos que lo que diferencia a un sistema síncrono de un sistema asíncrono es la presencia de una señal de reloj que normalmente se está representada por las letras CLK.

En un flip-flop síncrono los datos de las señales de entrada se transfieren a las salidas del flip-flop sólo con el flanco de disparo del impulso del reloj. Por esto decimos que decimos que los datos se transfieren sincronizados con la señal de reloj.

Para definir un sistema síncrono en VHDL, simplemente debemos generar un proceso que involucre un ciclo de espera relacionado con la variable de entrada de la señal del reloj clk como condición para ejecutar el proceso.

Diagrama de flujo para detectar un cambio de flanco en la señal de reloj:

En VHDL es más fácil, dado que existe una función que evalúa tanto un cambio en el estado de la señal de reloj como la espera del tipo de flanco par tomar una acción:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

76

¿CLK = 1?

CLK = 0

NO

Se ha generado un flanco de subida.

¿CLK = 0?

Se ha generado un flanco de bajada.

NO

Page 79: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

La instrucción VHDL es la siguiente:

if clk'event and clk='1' then

Aquí van las instrucciones a ejecutar luego de la señal de reloj.

end if;

En este algoritmo, la función de la palabra clk'event es la de detectar los cambios en la señal de reloj clk y la función de de la clk='1' es la de detectar el flanco de subida del reloj.

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

if clk'event and clk='0' then

Aquí van las instrucciones a ejecutar luego de la señal de reloj.

end if;

77

Page 80: Modulo de Sistema Secuenciales

Flip Flop Tipo Data con circuito detector de Flanco:

Diseño 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 diseño, se recomienda usar diagramas de tiempos y funciones lógicas para construir la tabla de excitación.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

78

CLKNueva señal de reloj

CLKNueva señal de reloj

Flip Flop Tipo Data con circuito detector de Flanco

Q

0 LATCHJK

D

Q

Nueva señal de reloj

Cto detector de Flanco

Page 81: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

VHDL Flip-flop Data síncrono.

Recordemos que en un flip-flop síncrono los datos de las señales de entrada se transfieren a las salidas del flip-flop sólo con el flanco de disparo del impulso del reloj.

En otras palabras, decimos que los datos se transfieren sincronizados con la señal de reloj.

Recordemos la tabla de estados del flip-flop tipo Data asíncrono:

D Qn Qn+10 0 00 1 01 0 11 1 1

Recordemos la tabla de estados del flip-flop tipo Data síncrono:

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

library ieee;use ieee.std_logic_1164.all;

Definición de la entidad:En la entidad definimos el nombre de la unidad funcional que estamos creando (entidad), definimos las señales de entrada, que en este caso serán la señal de reloj clk y la señal data representada en la letra d, y finalmente definimos la señal de salida q, recordemos que para definir estas variables como entradas y salidas usamos las palabras clave in y out respectivamente.

entity biestD is port(clk,d: in std_logic;q: out std_logic);end entity;

Observemos que también se definió el tipo de variable como std logic.

79

Page 82: Modulo de Sistema Secuenciales

Definición de la arquitectura:

En la arquitectura definimos la función lógica que determinará el comportamiento del sistema como un flip-flop tipo data; dado que en un flip-flop data la señal de salida Q sigue a la entrada D, éste queda bien representado por la instrucción:

q<=d

Equivalente a d llévele q, a la salida llévele la entrada.Como se trata del diseño de un sistema síncrono en VHDL debe determinarse si el flip-flop será activado por flanco de subida o por flanco de bajada. Para éste flip-flop usaremos el flanco de bajada, luego la instrucción de detección de flanco deberá ser clk='0'

Definidas éstas características el flip-flop data síncrono, activo por flanco de bajada queda completamente definido así:

architecture archbiestD of biestD isbegin

p: process(clk,d)begin

if clk'event and clk='1' then

q<=d;

end if;

end process;end;

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

80

Page 83: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Circuitos de PRESET y RESET asíncronos:

Actividad:Consultar el circuito integrado 74LS74, 74LS175

Ejercicio:

Diseñe el circuito requerido para almacenar el número de personas que ingresan al ascensor utilizando un flip-flop tipo data con las nuevas señales de PRESET y RESET.

81

PRESET

RESET

R

SQ

~Q

Page 84: Modulo de Sistema Secuenciales

VHDL F-F tipo D con puesta a cero y a uno asíncronas:

La mayoría de los circuitos integrados flip-flop aparte de las entradas síncronas, también pueden tener entradas asíncronas. Estas entradas no dependen de la señal de reloj para cambiar el estado de las señales de salida del flip-flop.

Estas señales reciben el nombre de inicialización o preset (PRE)y señal de borrado ó clear (CLR).

La señal de preset permite poner en estado de SET el flip-flop y la señal de CLR pone en estado de RESET el flip-flop.

Normalmente estas señales son activas en bajo, luego estas señales deben mantenerse en alto para que el dispositivo pueda funcionar.

library ieee;use ieee.std_logic_1164.all;

Definición de la entidad:Para el proceso de declaración de variables es necesario definir aparte de las señales clk, d y q, declarar las señales de entrada set y reset:

entity biestD is port(clk,d: in std_logic;set,reset: in std_logic;q: out std_logic);

end entity;

Definición de la arquitectura:Para lograr que las señales de SET y de RESET no estén afectadas por la señal de reloj es necesario que en el ciclo

architecture archbiestD of biestD isbegin

p: process(clk,d,set,reset)beginif reset='1' then q<='0';

elsif set='1' then q<='1';elsif clk'event and clk='1' thenq<=d;

end if;end process;

end;

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

82

Donde se verifican los estados de RESET Y SET

Flip-flpo Data síncrono act ivo por flanco de subida.

Page 85: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Capítulo 22:

Aplicaciones de los Flip-flop

83

Page 86: Modulo de Sistema Secuenciales

Aplicaciones de los Flip-Flop:

Dispositivos de almacenamientoLa unidad más elemental de memoria es el FLIP.FLOP, la cual nos permite almacenar 1 bit. En esta lección veremos como un arreglo de bits nos permite diseñar un registro o vector de almacenamiento.

Los arreglos de registros constituyen lo que llamamos una MEMORIA.

Lección 17. Almacenamiento paralelo de datos

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

84

D0

Q0 D

Q

Q0Q

D1

Q0 D

Q

Q1Q

D2

Q0 D

Q

Q2Q

D3

Q0 D

Q

Q3Q

CLK

Page 87: Modulo de Sistema Secuenciales

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 a partir de una frecuencia de 24KHz?

Una forma de deducir la función que permita resolver el problema es partir del diagramas de tiempos.

85

J

K

CFrecuencia de entrada

Q1J

K

C

Q2

Vcc

f/2f/4

f

Page 88: Modulo de Sistema Secuenciales

Lección 18. Contadores:

“En la puerta de un ascensor hay un contador de personas que va de 0 a 15. Se requiere almacenar el número de personas que ingresaron al ascensor a las 8:00AM como parte de un conjunto de estadísticos que requiere la administración.”

Para proceder al diseño del contador, debemos partir de determinar el número de bits requeridos para representar un número decimal de 0 a 15 y éstos son cuatro bits, es decir un nible.

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

El número 16 es conocido como el módulo del contador, es decir el número máximo de la cuenta.

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

Estos son los números equivalentes en decimal con la respectiva tabla de verdad veamos la tabla para comprenderlo mejor; observa cómo en la tabla se resalta el mismo dígito que el diagrama de tiempos.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes 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

Números decimales equivalentes

Page 89: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Q3 Q2 Q1 Q0 Decimal equivalente0 0 0 0 00 0 0 0 10 0 1 0 20 0 1 1 30 1 0 0 40 1 0 1 50 1 1 0 60 1 1 1 71 0 0 0 81 0 0 0 91 0 1 0 101 0 1 1 111 1 0 0 121 1 0 1 131 1 1 0 141 1 1 1 15

Una manera de diseñar este contador es usando varios flip-flop JK enclavados en el estado de conmutación:

87

Vcc

0 Q0J

K

O

Vcc

0 Q1J

K

O

Vcc

0 Q2J

K

O

Vcc

0 Q3J

K

O

Page 90: Modulo de Sistema Secuenciales

La administración ahora requiere que el número de personas que ingresa al ascensor a las 8:00AM se sume al número 1.

Para dar solución a este nuevo requerimiento, es necesario garantizar que el contador inicie en 1 a las 7:30AM, y continúe el conteo. En este caso se requiere controlar el estado de las salidas Q0, Q1, Q2 y Q3 sin importar que haya iniciado o no la secuencia de reloj.

Este nuevo estado lo denominamos PRESET o SET asíncrono, ya que debe permitir cargar un dato inicial de conteo independientemente del estado de la señal de reloj.

Igulamente, cuando el estado a almacenar en las salidas Q0 a Q3 es un cero, la señal recibe el nombre de CLEAR (CLR) o RESET asíncrono.

Contadores Asíncronos

Para dar continuidad al diseño del circuito contador de personas en el ascensor, procedemos ahora a diseñar el circuito contador de eventos, en este caso los eventos son los pulsos generados cada que una persona cruza el ascensor para ingresar en éste.

Con el conteo es de máximo 15 personas, el contador debe ser módulo 16; un contador que genere la secuencia de cero a 15, para lo cual se requieren únicamente cuatro bits.

Ejercicio 1.. Siga la secuencia del diagrama de tiempos e identifique a Q0,Q1, Q2 y Q3 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.coInquietudes y recomendaciones: e-mail: [email protected]

88

Page 91: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

VHDL Contadores:

Contador ascendente-descendente con carga paralela síncrona y reset asíncrono:

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

la señal de relojReset = pone todas las señales de salida en bajoClk = Señal de reloj

Definición de paquetes:Antes de iniciar el programa es necesario hacer algunas aclaraciones sobre los paquetes a usar . En palabras de Medrano C.(2005):

“std_logic_arithDefine el tipo unsigned y la operación suma "+" de unsigned con enteros

std_logic_unsignedEste paquete puede tratar en ciertas situaciones un std_logic_vector como un 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 definición 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 ceros binarios.”

library ieee;use ieee.std_logic_1164.all;

89

Contador

Datos de precarga Vector d

Up Load Reset

Salida Vector q

Clk

Page 92: Modulo de Sistema Secuenciales

use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;

entity contador is port(clk,load,up,reset: in std_logic;d: in std_logic_vector(7 downto 0);q: buffer std_logic_vector(7 downto 0));

end entity;

Diagrama de flujo del algoritmo desarrollado en la arquitectura:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

90

CLK = 0

NO

¿ ?

NO

SIQ = 0¿Reset =

1?

SI Q = D¿ Load= 1?

SI¿ up = 1?

Q= Q - 1

Q= Q + 1

Page 93: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Algoritmo en VHDL equivalente:

architecture archcontador of contador is

beginp: process(clk,d,q,load,up,reset)begin

if reset='1' then q<=x"00";elsif clk'event and clk='1' thenif load='1' then q<=d;

elsif up='1' then q <=q+1;else q<=q-1;

end if;end if;

end process;

end architecture;

91

Reset asíncrono

Precarga síncrona

Page 94: Modulo de Sistema Secuenciales

Capítulo 33:

Modelo de un circuito secuencialModelo de un circuito Secuencial:

Un circuito secuencial es en realidad una Máquina de estados ó máquina generadora 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 cada momento de la secuencia un estado.

Etapas de un circuito secuencial:

Un circuito secuencial está conformado por dos etapas: una etapa lógica y una etapa de memoria.

Etapa lógica:

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 generar las entradas (Y0,Y1, …,Yp) de excitación a la etapa de memoria.

Etapa de memoria:

Es la etapa que está conformada por las unidades de memoria ó flip-flops. Esta etapa permite al sistema avanzar de un estado denominado estado actual a un estado futuro (Q0,Q1,…Qn) también denominado estado siguiente está determinado por las líneas de excitación (Y0,Y1, …,Yp) y el estado actual de las variables 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 o futuro.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

92

Page 95: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

1. Diagrama de estados:

Este diagrama permite mostrar la progresión de los diferentes estados por los que va avanzando el sistema.

El diagrama de estados o circuito secuencial más básico es el de un contador, el cual no posee más señales de entrada que la señal de reloj.

A continuación se presenta un diagrama de estados de un contador de 0 a 7:

Como se trata de diseñar un sistema digital, debemos construir el diagrama de estados en binario:

93

0

1

3

2

4

5

7

6

000

001

011

010

100

101

111

110

Page 96: Modulo de Sistema Secuenciales

Tabla de estados:La tabla de estados consiste en la representación del diagrama de estados mediante 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 16 1 1 0

2. Tabla del estado futuro

La tabla del estado futuro muestra cada estado actual del contador con su correspondiente estado futuro, es decir, con el estado al cual pasa el contador desde 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.coInquietudes y recomendaciones: e-mail: [email protected]

94

Page 97: Modulo de Sistema Secuenciales

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 actual al 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

Estado actual

Salida de cada estado

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 1 2. Que si el estado actual es 1, el estado futuro se tornará 0 cuando K sea 1 3. En cualquier otra condición 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 para generar cada un de ellas.

Lo que debemos lograr ahora es generar las señales de entrada J y K para cada uno de los flip-flop, tal que se generen las transiciones de estado que se plantean en la tabla de estados.

Es decir, necesitamos generar los estados futuros Q0, Q1 y Q2 de los estados actuales dados, ¿cómo deberán ser entonces J0K0, J1K1 y J2K2 para que éstos cambios de estado se generen?

95

Page 98: Modulo de Sistema Secuenciales

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-flop deberán 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 deben tomar J0 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 de J0 y K0 el cual, como ya lo habíamos 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.coInquietudes y recomendaciones: e-mail: [email protected]

96

La correspondencia con el flip-flop debe buscarse horizontalmente

Page 99: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Mapas de Karnaugh:

Mapa de Karnaugh para J0:

Función lógica de J0:J0 = Q1’ + Q0

Mapa de Karnaugh para K0:

Función lógica de K0:

K0 = Q1 + Q0’

Ahora que hemos aprendido a obtener las funciones podemos diseñar una única tabla de estados que las contenga a todas:

Estado actual Estado futuro para Q2 para Q1 Para Q0Q2 Q1 Q0 Q2 Q1 Q0 J0 K0 J1 K1 J2 K2

0 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

Q1’Q0’ 00

Q1’Q0 01

Q1Q0 11

Q1Q0’ 10

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

Q1’Q0’ 00

Q1’Q0 01

Q1Q0 11

Q1Q0’ 10

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

97

Page 100: Modulo de Sistema Secuenciales

Mapa de Karnaugh para J1:

Función lógica de J1:J1 = Q1 + Q0

Mapa de Karnaugh para K1:

Función lógica de K1:K1 = Q1’ + Q0’

Mapa de Karnaugh para J2:

Función lógica de J2:J2 = Q2 + Q1Q0’

Mapa de Karnaugh para K2:

Función lógica de K2:

K2 = Q2’ + Q1Q0’

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

Q1’Q0’ 00

Q1’Q0 01

Q1Q0 11

Q1Q0’ 10

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

Q1’Q0’ 00

Q1’Q0 01

Q1Q0 11

Q1Q0’ 10

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

Q1’Q0’ 00

Q1’Q0 01

Q1Q0 11

Q1Q0’ 10

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

Q1’Q0’ 00

Q1’Q0 01

Q1Q0 11

Q1Q0’ 10

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

98

Page 101: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Las funciones Jk de los flip-flop quedan:

J0 = Q1’ + Q0K0 = Q1 + Q0’J1 = Q1 + Q0K1 = Q1’ + Q0’J2 = Q2 + Q1Q0’K2 = Q2’ + Q1Q0’

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

Podemos resumir el diseño de circuitos secuenciales en las siguientes etapas:

Establecer secuencia

Identificar números de estados

Asignación de estados

Tabla de transición

Ecuaciones excitación

Ecuaciones de la salida

Circuito

Básicamente existen dos técnicas para el diseño de circuitos secuenciales conocidas como circuitos Moore y circuitos Mealy.

Cada etapa de un circuito secuencial recibe el nombre de estado. Así, un contador de 0 a 5 tendrá seis estados: los estados 0 - 1 - 2 - 3 - 4 -5, en cada uno de éstos estados 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 circuito contador pase del estado 3 al 4, debe saber que su estado anterior es 3 para poder pasar al estado 4.

99

Page 102: Modulo de Sistema Secuenciales

Capítulo 44:

Circuitos Moor y MeeleyLección 19 Circuitos Moor y Meeley

Circuitos Moore:

En éstos circuitos, las salidas únicamente son función del estado.

Circuitos Mealy:

En éstos circuitos, las salidas son función 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.coInquietudes y recomendaciones: e-mail: [email protected]

100

Variable de entrada

EstadoSalida

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

Salida

(Z)

Estado (Q)

Transición de acuerdo con el valor de la variable de entrada (X)

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

La salida sólo depende del estado Q, es por esto que la salida Z se introduce dentro del estado

La salida Z depende del estado y del valor de la variable de entrada.

Page 103: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

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

Diagrama de bloques del sistema:

Diagrama de tiempos

Señal de relojCLK

Señal de entradaX

Señal de salidaMOOREZ

Señal de salidaMELYZCircuito secuencial 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

Page 104: Modulo de Sistema Secuenciales

DE OTRA FORMA Mealy:

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

102

A

C

F

DC

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

Page 105: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

MOORE:

Del ejemplo propuesto podemos concluir que existen diferentes formas de establecer la secuencia de estados para un mismo comportamiento circuital, a continuación analicemos otro par de ejemplos en los que partimos de un estado inicial en ceros:

A continuación veamos dos ejemplos de sistema Moore con entradas en ceros:

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 la entrada continúe siendo 0, el sistema debe permanecer en el mismo estado A, esperando a que ingrese un 1.

103

A/

A/1

1

B/0

C/0 D/0

1

0

0

0

0

1

1

Page 106: Modulo de Sistema Secuenciales

Si estando en el estado A ocurre que X = 1, este evento debe memorizarse, lo cual se logra evolucionando a otro estado (el estado B), en este estado, la salida continuará siendo cero, ya que sólo se ha detectado un 1.

Si estando en el estado B ocurre que X=0, el sistema debe regresar al estado A para eliminar el 1 que se había memorizado.

Pero si estando en el estado B, ocurre un 1, éste también debe memorizarse haciendo que el sistema pase al estado C y la salida del sistema debe ser un 0, ya que sólo han ocurrido dos unos.

Si estando en el estado C ocurre que X=0, el sistema debe regresar al estado A para eliminar los dos 1’s que se habían memorizado.

Pero si estando en el estado C, ocurre un 1, éste también debe memorizarse haciendo que el sistema pase al estado D y la salida del sistema debe ser un 1, indicando que han ocurrido tres unos seguidos.

Si estando en el estado D ocurre que X=0, el sistema debe regresar al estado A para eliminar la historia de tres 1’s que se había memorizado.

Pero si estando en el estado D, ocurre un 1, éste también debe memorizarse haciendo que el sistema permanezca en el estado D y la salida del sistema debe ser un 1, indicando que han ocurrido nuevamente tres unos consecutivos.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

104

X = 1

A/0

X = 1

X = 0

X = 0

X = 1

B/0

C/0

D/1

X = 0

X = 0

Page 107: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Modelado del sistema mediante un sistema Mealy:

En el circuito Mealy el valor de la salida Z no se conoce por el hecho de conocer el estado, es necesario que la variable de entrada X sea especificado para poder conocer el valor de la salida Z.

Es por esta razón que en los circuitos Mealy en valor de la salida no viene especificado en la entrada.

Así, en el siguiente diagrama observamos como el valor de la salida Z en un estado específico puede tener dos valores de salida diferente: /0 ó /1 dependiendo del valor de la entrada X, luego la pareja entrada / salida (X/Z) toma valores como 0/1 y 1/0.

Si estando en el estado A, X toma el valor de 1, la salida será cero y el sistema pasará al estado B.

Si estando en el estado B, X toma el valor de 1, la salida será cero y el sistema pasará al estado C.

Si estando en el estado C, X toma el valor de 1, la salida será uno y el sistema continuará en el estado C.

105

Variable de entrada

EstadoSalida

A

1/0X = 0 1/1

C

0/0

X = 0

1/0 = X/Z

B

Page 108: Modulo de Sistema Secuenciales

En cualquiera de los estados, cuando X tome el valor de 0, la salida será cero y el estado siguiente será el estado A.

Encontramos entonces que dependiendo de la secuencia asumida aparece un circuito diferente, en la práctica al activar un sistema asumimos el estado CLEAR como el primer dato, en este caso nos conviene partir de un diseño con entradas en cero. En otras palabras, partimos del estado que nos convenga.

Segunda etapa del diseño: Identificación del número de estados:

En el circuito Moore de estado inicial en unos, contamos sólo cuatro estados, A, B, C y D mientras que en el circuito Mealy fueron necesarios tres estados, esta reducción de estados puede redundar en una reducción o simplificación del circuito pero dada la naturaleza del sistema Mealy, identificar o seguir un señal es a la vez más complejo, lo que dificulta la detección futura de errores.

Tabla de estados equivalente al diagrama de estados Moore:

Estado actual

Salida de cada estado Estado Siguiente

EA Z X=0 X=1A 1 B AB 0 B CC 0 B DD 0 B A

Tabla de estados equivalente al diagrama de estados

Estos cuatro estados indican que para el diseño del circuito serán necesarios dos slip-flop con salidas Q1 y Q2.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

106

Si estando en el estado A la entrada X es 1, el estado siguiente continúa siendo A

Page 109: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Tercera etapa del diseño: Asignación de estados:

Es el proceso de asignar las combinaciones de los diferentes valores de las salidas de los dos fip-flop Q1 y Q2 a los estados A, B, C, D.

1 0Q QA = 0 0 B = 0 1C = 1 0D = 1 1

Tabla de transición:Reemplazando la asignación de estados, la tabla de transición se transforma en:

Estado actual Salida Actual

Estado siguienteX = 0 X = 1

1Q 0Q ZA 0 0 1 0 1 (B) 0 0 (A)B 0 1 0 0 1 (B) 1 0 (C)C 1 0 0 0 1 (B) 1 1 (D)D 1 1 0 0 1 (B) 0 0 (A)

Tabla de transición

Ahora se debe determinar el tipo de flip-flop a usar para terminar el circuito.

107

Page 110: Modulo de Sistema Secuenciales

Lección 19 Memorias

La memoria fabricada con materiales semiconductores o semiconductora se clasifica en memorias RAM, ROM, PROM, EPROM y EEPROM.

Disposición de los registros y celdas en una memoria:Para acceder a las diferentes celdas y registros es necesario definir una nomenclatura al igual que lo acemos para encontrar direcciones en una ciudad, ésta convención nos permitirá almacenar, recupera y borrar el contenido de las celdas.

Normalmente, los registros o vectores se representan en celdas horizontales y los bits de cada registro son indicados por las columnas:

1 0 1 00 0 0 0

0 0 0 00 0 0 00 0 0 01 1 1 11 1 1 10 0 1 0

Tabla 1: MemoriaEn la tabla 1 vemos representada una memoria de ocho registros cada uno de cuatro bits.¿Cuantos bits podemos almacenar en esta memoria?

Operación de escritura en memoria:

Bus de direcciones:Para localizar una posición de memoria, es necesario contar con las señales para ubicar la celda específica, éstas líneas recibirán el nombre de líneas de direccionamiento, que en su conjunto son denominadas bus de direcciones.

Bus de datos:La información a extraer de la memoria debe estar presente en el momento de lectura en pines diferentes a los que indican la dirección. Este conjunto de señales reciben el nombre de bus de datos.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

108

Registros

Page 111: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

Señales de control:

Para indicarle a la memoria que los datos presentes en el bus de datos deben ser almacenados en la posición indicada por el bus de direcciones, la memoria debe contar con unos pines especiales:

1.Un pin para habilitar la memoria en su conjunto2.Un pin para indicar que la tarea a realizar es de escritura3.Un pin para indicar que la tarea es de lectura

¿Cuantas líneas de direccionamiento de memoria se requieren para direccionar completamente una memoria de ocho registros de cuatro bits?

En el momento de almacenar la información en la memoria, únicamente es necesario direccionar cada registro, las señales del bus de datos deberán seguir un orden específico para el almacenamiento de los bits en la celda correcta, luego, no es necesario direccional las celdas como tal, únicamente el registro:

0 0 0 01 0 1 00 0 0 00 0 0 00 0 0 01 1 1 11 1 1 10 0 1 0

109

Registros

Datos de entrada

Este es el bit cero, o bit de menor peso

A2 A1 A0

Bus de direccionesDirección a ingresar: 2 = 0 0 1 0

R/W E/D

Señales de control

Input/Outp1Input/Outp2Input/Outp3Input/Outp4

Page 112: Modulo de Sistema Secuenciales

¿Para qué se utiliza la memoria RAM en un computador?

La memoria RAM normalmente se divide en dos secciones denomidadas RAM de propósito general y RAM de propósito específico. En la RAM de propósito general, el programador puede almacenar datos que son denominados Variables del sistema, mientras que en la RAM de propósito específico, cada celda tiene un función dada por el diseñador del procesador o microprocesador; en éste caso el programador no puede utilizar éstos espacios de la RAM para definir y almacenar variables.

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

110

Page 113: Modulo de Sistema Secuenciales

Sistemas Digitales Secuenciales

ANEXO A

INSTALACIÓN DE XILINX 7.1i

Ver documentos anexos.Proceso de instalación del software Xilinx 7.1i

La instalación completa de Xilinx requiere de aproximadamente 500 Megas de espacio disponible en el disco duro, y toma aproximadamente una hora para

completarse.

BIBLIOGRAFÍA

•Echavarría Cifuentes, Rubén Darío. Circuitos Digitales I. Universidad de Antioquia. Colombia 2000.

•GOMEZ, Carlos, GOMEZ, German, BOTERO, William. Matemática Digital. Mc Graw Hill. Bogotá 1998.

111

1. Ejecuta el archivo stup.exe

Page 114: Modulo de Sistema Secuenciales

Ejercicios propuestos

Queridos jóvenes,

¡Sean ustedes bienvenidos a este curso! Inicia el periodo académico e inicia también la primera actividad que tenemos programada para nuestro curso de Sistemas Digitales Secuenciales. La Actividad 01 es, un conjunto de actividades que solicitamos

1. Luego de observar las unidades del módulo y de haber leído la introducción del mismo ¿Cuál piensa usted que es la diferencia entre el curso de sistemas digitales básicos y el de sistemas digitales secuenciales?2. ¿Crees que para desplegar en una pantalla la secuencia 1 2 3 4, se requiera de alguna forma elemental de memoria? Explica y debate con tus compañeros.3. Si requiere diseñar un sistema de seguridad en el cual para que se abra una puerta se debe digitar una clave con la condición de que si se ingresar la clave equivocadamente tres veces suene una alarma. ¿Podrá usted hacer este diseño con los conocimientos de electrónica digital básica?4.Cuando Juan intenta cruzar la calle, mira y ubica los vehículos en la distancia, lo que le permite calcular la velocidad y trayectoria de éstos, para luego calcular la trayectoria y velocidad propias. Al observar que el vehículo acelera, Juan actualiza su velocidad y trayectorias, sin dejar de observar el vehículo. Este proceso, define un sistema retroalimentado, el cual está capturando información constantemente, discute con tus compañeros cuales son las variables que se retroalimentan y cuál es el procesamiento que sufren. Luego realiza un diagrama de flujo que representen la situación planteada.5. Recordando conocimientos del curso Sistemas Digitales Básicos. Diseñe y ensamble un circuito digital para la función F(MAX)= F(0,2,3,5,7,11,14) previamente simplificada usando mapas de Karnaugh.

6. Investigue qué es un sistema y qué lo caracteriza

__________________________________________________________________UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD – www.unad.edu.coInquietudes y recomendaciones: e-mail: [email protected]

112