Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
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 26 de febrero de 2008 Para recibir actualizaciones y anexos de este material se debe dirigir la solicitud al e-mail: georffrey.acevedo@unad.edu.co Gen er al UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES mailto:georffrey.acevedo@unad.edu.co MÓDULO SI S T E M A S DIGITAL E S S E C U E N C I A L E S PRIMERA EDICIÓN Editor de texto OpenOffic e 2. 3. 1 © Copyright Universidad Nacional Abierta y a Distancia ISBN 2008 Medellín, Colombia UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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. Algunos aspectos esenciales, que resalta el curso son: 3 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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. 4 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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ógicas Tablas de verdad Función de variables lógicas Funciones de dos variables Compuertas lógicas Tecnología TTL y CMOS Teoremas para dos variables MInterms y Maxterms Diseño de un Multiplexor en VHDL capítulo 2 Almacenamiento en registros LATCH -compuerta OR LATCH set LATCH reset LATCH set-reset -diseño -símbolo -tabla de verdad -diagrama de estados LATCH sr con línea de control LATCH tipo data -vhdl latch tipo data LATCH d con señal de control LATCH tipo jk LATCH tipo jk con señal de control LATCH tipo toggle LATCH tipo t con señal de control capítulo 3 Aplicaciones al diseño de Multivibradores Circuitos Multi-vibradotes Circuitos de tiempo -Módulo temporizador de precisión 555 -555 como astable: 5 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES - 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 Flanco Diseño de Sistemas Síncronos en VHDL VHDL Flip-Flop Data con circuito detector de Flanco Circuitos generadores de Flanco Diseñ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ícrono Circuitos 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 frecuencia Contadores Contadores Asíncronos VHDL Circuito Contador Ascendente O Descendente VHDL Definición de paquetes Capítulo 3 Sistemas Secuenciales -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 Circuitos Moore y Meeley Etapas del diseño -Diagrama de estados -Identificación del Número de estados -Tabla de estados 6 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES -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.1i Anexo B – Cómo crear un proyecto esquemático en Xilinx 7.1i 7 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Unidad 11 Introducción a las unidades digitales básicas de almacenamiento 8 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES OBJETIVO GENERAL Estudiar, analizar y profundizarlos 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. 9 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Capítulo 11: • Fase de reconocimiento • Lección 1 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: _____ Verdadero = Falso 10 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES _________ 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. • Lección 2. 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ón Posibles Valores de Verdad de la variable Posibles Valores de Verdad de la funció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. 11 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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 variable p F1(p) F2(p) F3(p) F4(p) F F V F V V 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 V F V F F V V F F V V F F V V F F V V V F F F F F V V V V F F F F V V V V V V F F F F F F F F V V V V V V V V En términos de la variable p y de s, estas funciones podemos definirlas como sigue: F1(p,s) = F F2(p,s) = p NOR s F3(p,s) = (p EXOR s). s F4(p,s) = No p 12 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES F5(p,s) = (p EXOR s). p F6(p,s) = NO s F7(p,s) = p EXOR s F8(p,s) = p NAND s F9(p,s) = p AND s F10(p,s) = p EXNOR s F11(p,s) = s F12(p,s) = NO[(p EXOR s). p] F13(p,s) = p F14(p,s) = NO[(p EXOR s). s] F15(p,s) = p OR s F16(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 S F F V F F F F V V F V V V F F F V V V V F V V F Nemotécnicamente podemos definirlas así: AND: Verdadero-verdadero para ser verdadero...... x OR: Falso-falso para ser falso.............. + EXOR: Iguales para ser falso. .......... ⊕ 13 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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) = Z 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 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: 1-Función Inversora. (Invierte el valor de verdad de las funciones lógicas) 14 COMPUERTA Señales de entrada Función OUT A Ā UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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. 6-Función NOR. 15 A B A and B A + B B A A B A B A Ā A B A and B UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 7-Función EXNOR. 16 A + B B A A B A B UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 3 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 ymaneja 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 VERDADERO 0 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í: 17 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 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 1. Definimos la función Z por su tabla de verdad, 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: A B C F(A,B,C) = Z 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 2. Recordemos que Z, está definida por todos aquellos valores que la afirman. Es decir únicamente por los valores que observamos resaltados en la tabla 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: 18 BA ZC B’A’ C’ UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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' = 1 Teoremas Duales: A . 0 = 0 A . 1 = A A . A = A A . A' = 0 A manera de nemotectnia, observemos como las operaciones de suma y producto coinciden para las funciones OR y AND: 19 0 + 0 = 0 0 + 1 = 1 1 + 1 = 1 0. 0 = 0 0 . 1 = 0 1 . 1 = 1 CIRCUITO LOGICO UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 4 Teoremas para dos variables: 1) A + AB = A Demostración: A(1 + B) = A(1) = A 2) A + AB = A + B Demostració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 Formas estándar de las funciones lógicas: 20 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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) = Z 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 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ásicos Según el número de puertas lógicas los circuitos integrados se clasifican como: Nombre Significado Compuertas lógicas SSI Small-scale-integrated <12 MSI Medium-scale-integrated 12 - 100 LSI 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. 21 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES DECODIFICADOR PARA DISPLAY Display de 7 segmentos: Internamente, se trata de siete diodos dispuestos de la siguiente manera respectivamente: ◦ Lección 5 Diseño de un Multiplexor en VHDL: 22 Ánodo común 7447 Cátodo común 7448 a b c d e f g a b c d e f g Integrado a Usar R E S Vcc R E S UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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. Veamos la tabla de estados: Tabla de estados: Caso A B Control C Salida 0 0 0 0 0 1 0 0 1 0 23 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 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 2 0 1 0 0 3 0 1 1 1 4 1 0 0 1 5 1 0 1 0 6 1 1 0 1 7 1 1 1 1 Obtengamos la 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' + ABC Simplificació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). 24 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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 is begin Y<= ( 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 downto0); --Definimos las entradas A, y B control: in std_logic; --Definimos las señales ce dontrol C1 y: out std_logic); end mux2a1; architecture archmux2a1 of mux2a1 is begin p1: process (entrada,control) 25 Entidad Donde se definen las señales de entrada y salida del sistema: Arquitectura Donde 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 utilizar ieee. : Librería a utilizar std_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 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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; 26 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Capítulo 22: Almacenamiento en Registros 27 Sistema Combinacional Sistema de Retroalimentación Sistema Secuencial UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 6 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 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. 28 LATCHEntrada IN Salida OUT Señal de entrada Circuito Señal de salida UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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 0 0 1 1 1 0 1 1 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: Figura 4 29 P ν Q P Q Compuerta OR TABLA DE VERDAD Q S LATCH SET 0 0 0 Estado Inicial, todo en Cero UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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: 30 Q S LATCH SET 1 1 1 El uno de la salida Q se retroalimenta a la entrada UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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: 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: 31 LATCH SET Q S 1 1 0 El uno que permanece en la entrada, obliga un uno en la salida Q, sin importar el nuevo estado de S 5V 115VAC Señal de entrada Circuito Señal de salida Esta vez la bombilla inicia encendida Circu ito de acopl e de poten cia. 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 Etapa de acople de potencia con Optoacoplador y Triac S Q Figura 7 ¿Qué deberá hacer Boole para apagar el LED y la Bombilla?. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 1.1.1. 2 LATCH RESET LATCH que tiene una señal de entrada que obliga a la salida a tomarel 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: 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 10 Ahora 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: 32 P ~P 0 1 1 0 Q S LATCH SET 0 0 0 Estado Inicial, todo en Cero P P’ Compuerta NOT TABLA DE VERDAD R 0 0 0 Q ~Q Q 1 S 0 0 0 Q ~Q Q UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES } Figura 12 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: 33 LATCH RESET R 1 1 1 Q ~Q Q 0 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 Circu ito de acopl e de poten cia. Q R LATCH RESET UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ¿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? 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 7 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 15 Reemplacemos una inversora por una OR: Figura 16 34 S 0 0 0 Q ~Q Q = P P’ S 0 0 0 Q ~Q Q UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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 17 A 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 35 S ~Q Q R 0 0 1 0 S ~Q Q R 0 0 0 1 S ~Q Q R UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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 = 1 2.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 21 Luego, 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 = 0 3.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: 36 S ~Q Q R 0 1 0 1 0 S ~Q Q R 1 0 0 1 1 S ~Q Q R 1 0 1 0 0 1 S ~Q Q R 0 1 1 0 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Figura 23 Luego, 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. 37 S ~Q Q R 1 1 1 0 0 0 S ~Q Q R 1 1 0 1 0 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Reorganicemos la el diagrama y construyamos con la información anterior una tabla que comprenda todos los cuatro casos vistos: 38 TABLA DE ESTADOS LATCH SET - RESET LATCH SR ~Q Q S R 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 ~Q Función 0 0 0 0 0 1 1 0 0 1 1 0 PERMANECE (Q no cambia) 0 0 1 1 0 1 1 0 0 0 1 1 RESET 1 1 0 0 0 1 1 0 1 1 0 0 SET 1 1 1 1 0 1 1 0 X X X X ESTADO PROHIBIDO (No Válido) UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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. 39 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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. 40 5V 115VAC Circu ito de acopl e de poten cia. 5V pulsadorQ S R Señal de entrada UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 8 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: 41 LATCH SET – RESET CON NAND S ~Q R 0 Q LATCH SET – RESET CON NAND y ENTRADAS ACTIVAS EN BAJO. SÍMBOLO DEL LATCH SET – RESET CON ENTRADAS ACTIVAS EN BAJO. LATCH SR UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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: 42 SET RESET Estado Actual Estado siguiente S R Q Q* 0 0 0 0 0 1 0 1 0 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 1 1 0 1 X X UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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. 43 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Diagrama de Estados. Diagrama de ESTADOS para el LATCH SR: 44 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. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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: 45 Salida = Entrada Solo cuando Control ≠ 0 En otro caso es = 0 Entrada Control Compuerta AND LATCH SR C LATCH SET – RESET CON SEÑAL DE CONTROL. SÍMBOLO DEL LATCH SET – RESET CON SEÑAL DE CONTROL. LATCH SR con Control C UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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 SR 6. Consulta que es un circuito antirrobote. 7. Consulta como usar el LATCH SR para eliminar los rebotes. 46 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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. 47 LATCH SR S R LATCH DATA Q Q 0 1 D Un cero en S se transforma en 1 para R Q Q UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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; 48 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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: 49 0 10X Ó 10 0X Ó 11 10 11 CD LATCH DATA CON SEÑAL DE CONTROL. Q LATCH SR con ControlC Q Q S R C D Q UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Ejercicio 4 1.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. 50 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 9 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. Ahora, analicemos el mismo circuito pero con las señales de entrada invertidas: 51 D Q Q 1 1 10 1 01 0 1 0 0 0 0 1 0 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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. 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: 52 0 0 Circuito para enclavar un cero 1 01 Circuito para enclavar un uno J K 0 0 0 0 10 0 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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: Función lógica deseada: Q* = J’K’Q + JK’Q’ + JK’Q + JKQ’ Simplificación usando mapas de K: 53 J K LATCH JK Q 0 LATCH DATA D Q Q UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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... 54 J K LATCH JK Q 0 LATCH DATA D Q K’ K’Q JQ’ Q UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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: 55 J K LATCH JK Q 0 Q Q D Q K’ K’Q JQ’ C C Línea de Control LATCH DATA UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 10 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. 56 Entrada de excitación TOGGLE SET RESET Estado actual Estado siguiente Función deseada T J K Q Q* Nombre de la Función 0 00 0 0 0 1 0 1 PERMANECE Q no cambia 1 11 1 1 0 1 1 0 ESTADO COMPLEMENTA RIO T LATCH T Q 0 LATCH JK J QK Q UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 1.1.1.8.1 LATCH TIPO T CON SEÑAL DE CONTROL: Para controlar el latch, introducimos la señal de control: 57 T LATCH T Con señal de control Q 0 J D QK CC Línea de Control UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Capítulo 33: Aplicación al diseño de Multivibradores 58 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 11 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. 59 One-Shot IN 0 1 Flanco de subida One-Shot IN 0 1 Flanco de bajada Tiempo controlado por la red RC externa. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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. 60 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 12 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 delas 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) 61 Vcc Cont DISCH RESET THRES Out TRIG 1 5 8 3 4 7 6 2 R1 Q R R R R AO2 AO1 Q1 Pin 0 3 0 4 =→=Pin UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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. 62 0 3Pin 3 2 = →> VccThreshold GNDPin 7 0 3 =→=Pin 3 1 Pin 7 ZPin = → = ↑ UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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: 63 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 ↑=→= UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 13 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. 64 Señal cuadrada Vcc RESET DISCH THRES Out TRIG Cont GND1 3 8 5 4 7 6 2 Vcc 0.01μf R A R B C R L Sensores de nivel UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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. 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: 65 CR0.693 Td B ××= UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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.693 Td R B × = Td Tccon C0.693 Td - Tc R A >× = ◦ Lección 14 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: 66 T T Son dos formas de medir el período de la señal T d T d0.693RAC T O N = Tc T O FF 2/3 Vcc 1/3 Vcc Vcc UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Es el número de veces que se repitela 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í: 67 T f 1= UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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: 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: 68 T TON TOFF ( ) ( ) ( )BA BA BA DA DDA DC OFFON RRCT RRCT CRCRT TCRT TTCRT TTT TTT 2 693.0 2 693.0 693.02 693.0 2 693.0 693.0 += ×+××= ×××+××= +××= ++××= += += ( ) ( )BA BA OFFON RRC f RRC f TT f 2 44,1 2 693.0 1 1 + = + = + = UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Cf2 CR 1,44 R 2 441 A B A ×× ××−= − ×× = f R Cf , RB Si los parámetros conocidos son C y RB podemos usar la siguiente fórmula para calcular el parámetro desconocido RA: Cf CR2 1,44 R 2441 B A B × ×××−= ×− × = f R Cf , RA 69 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES • Lección 15 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. En este caso la descarga del condensador no afecta la entrada de disparo, la cual estará “esperando” siempre la señal externa del pulsador. 70 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 R CRS C R L Censor de nivelDisparo UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES 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. 71 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Unidad 22 Flip-flops y diseño de máquinas de estado. 72 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Capítulo 4: ◦ Lección 16 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). 73 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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: 2.1.2 Flip-Flop activo por flanco Negativo: 74 Nivel Bajo Nivel alto Flanco de Bajada Flanco de Subida Flip Flop Tipo Data Activo Por Flanco Negativo Q 0 LATCH JK D Q Señal de reloj Flip Flop Tipo Data Activo Por Flanco Positivo Q 0 LATCH JK D Q Señal de reloj UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 17 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. 75 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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: 76 Nivel Bajo Nivel alto Flanco de Bajada Flanco de Subida Nivel Bajo Nivel alto Nivel Bajo Nivel alto UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 18 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 datosde 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: 77 ¿CLK = 1? CLK = 0 NO Se ha generado un flanco de subida. ¿CLK = 0? Se ha generado un flanco de bajada. NO UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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; 78 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 19 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 5 1.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. 79 CLK Nueva señal de reloj CLK Nueva señal de reloj Flip Flop Tipo Data con circuito detector de Flanco Q 0 LATCH JK D Q Nueva señal de reloj Cto detector de Flanco UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – 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+1 0 0 0 0 1 0 1 0 1 1 1 1 Recordemos la tabla de estados del flip-flop tipo Data síncrono: Clock D Qn Qn+1 010 0 0 0 010 0 1 0 010 1 0 1 010 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. 80 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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 is begin p: process(clk,d) begin if clk'event and clk='1' then q<=d; end if; end process; end; 81 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 20 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. 82 PRESET RESET R S Q ~Q UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES 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 is begin p: process(clk,d,set,reset) begin if reset='1' then q<='0'; elsif set='1' then q<='1'; elsif clk'event and clk='1' then q<=d; end if; end process; end; 83 Donde se verifican los estados de RESET Y SET Flip-flpo Data síncrono act ivo por flanco de subida. UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Capítulo 55: Aplicaciones de los Flip-flop 84 UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES ◦ Lección 21 Aplicaciones de los Flip-Flop: Dispositivos de almacenamiento La 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. Almacenamiento paralelo de datos 85 D0 Q 0 D Q Q0Q D1 Q 0 D Q Q1Q D2 Q 0 D Q Q2Q D3 Q 0 D Q Q3Q CLK UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD ESCUELA DE CIENCIAS BÁSICAS, TECNOLOGÍA E INGENIERÍA CONTENIDO DIDÁCTICO DEL CURSO: 90178 – SISTEMAS DIGITALES SECUENCIALES Divisor de frecuencia: Al conectar dos flip-flops se obtiene un divisor de frecuencia por 2 Al 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
Compartir