1. 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
General
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
3. ¡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
4. 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
5. 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
6. - 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
7. -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
8. 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
9. 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.
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
10. 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 250
C.
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
11. _________
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
12. 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
13. 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
14. 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
15. 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
16. 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
17. ◦ 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 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 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
18. 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
19. 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
20. ◦ 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
21. 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
22. 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
23. 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
24. 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
25. 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 downto 0); --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óndel 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
26. 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
27. 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
28. ◦ 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
29. 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
30. 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
31. 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
32. 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:
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
33. }
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
34. ¿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
35. 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
36. 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
37. 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
38. 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 - RESET
Entrada 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
39. 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
40. 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
pulsador
Q
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
41. ◦ 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
42. 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
43. 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
44. 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
45. 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
46. 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
47. 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
48. 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
49. 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
QS
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
50. 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
51. ◦ 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
52. 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
53. 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
54. 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
55. 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
QK’
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
56. ◦ 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
0
0
0
0
0
1
0
1
PERMANECE
Q no cambia
1
1
1
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
57. 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
Q
K C
C
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
58. 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
59. ◦ 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
60. •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
61. ◦ 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 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)
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 0304 =→=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
62. 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
03Pin
3
2
= →>
Vcc
Threshold
GNDPin 703 =→=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
63. 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
= →<
Vcc
Trigger
13Pin0a1de = →Trigger
03Pin
3
2
= →>
Vcc
Threshold
13Pin
3
= →<
Vcc
Trigger
13Pin0a1de = →Trigger
0Pin 30Pin 4 =→=
Pin 70Pin 3 =→=
ZPin 713Pin ↑=→=
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
64. ◦ 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
RA
RB
C
RL
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
65. 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.693Tc 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.693CR0.693Tc BA ××+××=
Como se ve, en esta ecuación esta presente el tiempo de descarga Td, luego:
65
CR0.693Td 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
66. TdCR0.693Tc 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
RB
×
=
TdTccon
C0.693
Td-Tc
RA >
×
=
◦ 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
Td
Td0.693RA
C
TON
= Tc TOFF
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
67. 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í:
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
68. 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
2693.0
2693.0
693.02693.0
2693.0
693.0
+=
×+××=
×××+××=
+××=
++××=
+=
+=
( )
( )BA
BA
OFFON
RRC
f
RRC
f
TT
f
2
44,1
2693.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
69. Cf2
CR1,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
CR21,44
R
2
441
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
70. • 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.1T 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
RCRS
C
RL
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
71. 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
72. 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
73. 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
74. 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
75. ◦ 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
76. 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
77. ◦ 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 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:
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
78. 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
79. ◦ 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
80. 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
81. 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
82. ◦ 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
83. 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 activo
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
84. 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
85. ◦ 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
0D
Q
Q0Q
D1
Q
0D
Q
Q1
Q
D2
Q
0D
Q
Q2
Q
D3
Q
0D
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
86. 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 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.
86
J
K
C
Frecuencia
de entrada
Q1
J
K
C
Q2
Vcc
f/2
f/4
f
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
87. ◦ Lección 22
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.
87
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
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
88. Q3 Q2 Q1 Q0 Decimal equivalente
0 0 0 0 0
0 0 0 0 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 0 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15
Una manera de diseñar este contador es usando varios flip-flop JK enclavados en el estado de
conmutación:
88
Vcc
0 Q0J
K
O
Vcc
0 Q1J
K
O
Vcc
0 Q2J
K
O
Vcc
0 Q3J
K
O
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
89. 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.
89
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
90. ◦ Lección 23
VHDL Contadores:
Contador ascendente-descendente con carga paralela síncrona y reset asíncrono:
Up = 1 indica conteo ascendente
Load = 1 carga los datos de entrada en la salida luego de un flanco de subida en
la señal de reloj
Reset = pone todas las señales de salida en bajo
Clk = 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_arith
Define el tipo unsigned y la operación suma "+" de unsigned con enteros
std_logic_unsigned
Este paquete puede tratar en ciertas situaciones un std_logic_vector como un unsigned (y
sumarlo a un entero por ejemplo).
buffer
Permite 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 menos
significativo.
Un vector definido como x"00" es un vector hexadecimal que equivale a 8 ceros binarios.”
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
90
Contador
Datos de
precarga
Vector d
Up Load Reset
Salida
Vector q
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
91. 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:
91
CLK = 0
NO
¿
?
NO
SI
Q = 0¿Reset =
1?
SI Q = D¿ Load=
1?
SI¿ up = 1?
Q= Q - 1
Q= Q + 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
92. ◦ Lección 24
Algoritmo en VHDL equivalente:
architecture archcontador of contador is
begin
p: process(clk,d,q,load,up,reset)
begin
if reset='1' then q<=x"00";
elsif clk'event and clk='1' then
if load='1' then q<=d;
elsif up='1' then q <=q+1;
else q<=q-1;
end if;
end if;
end process;
end architecture;
92
Reset
asíncrono
Precarga
síncrona
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
93. Capítulo 66:
Sistemas Secuenciales
◦ Lección 26
Modelo 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.
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.
93
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
94. 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:
94
0
1
3
2
4
5
7
6
000
001
011
010
100
101
111
110
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
95. 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 Q0
0 0 0 0
1 0 0 1
3 0 1 1
2 0 1 0
4 1 0 0
5 1 0 1
7 1 1 1
6 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 futuro
Secuencia deseada Q2 Q1 Q0 Q2 Q1 Q0
0 0 0 0 0 0 1 1
1 0 0 1 0 1 1 3
3 0 1 1 0 1 0 2
2 0 1 0 1 0 0 4
4 1 0 0 1 0 1 5
5 1 0 1 1 1 1 7
7 1 1 1 1 1 0 6
6 1 1 0 0 0 0 0
95
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
96. ◦ Lección 27
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 K
0 0 0 X
0 1 1 X
1 0 X 1
1 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?
96
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
97. 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+1
Secuencia deseada Q0 Q0
J0 K0
0 0 1 1 X
1 1 1 X 0
3 1 0 X 1
2 0 0 0 X
4 0 1 1 X
5 1 1 X 0
7 1 0 X 1
6 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.
Secuencia
deseada
Q2 Q1 Q0 J0 Q2 Q1 Q0 K0
0 0 0 0 1 0 0 1 X
1 0 0 1 X 0 1 1 0
3 0 1 1 X 0 1 0 1
2 0 1 0 0 1 0 0 X
4 1 0 0 1 1 0 1 X
5 1 0 1 X 1 1 1 0
7 1 1 1 X 1 1 0 1
6 1 1 0 0 0 0 0 X
97
La
correspondencia
con el flip-flop
debe buscarse
horizontalmente
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
98. ◦ Lección 28
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 Q0
Q2 Q1 Q0 Q2 Q1 Q0 J0 K0 J1 K1 J2 K2
0 0 0 0 0 0 1 1 1 X 0 X 0 X
1 0 0 1 0 1 1 3 X 0 1 X 0 X
3 0 1 1 0 1 0 2 X 1 x 0 0 X
2 0 1 0 1 0 0 4 0 X x 1 1 X
4 1 0 0 1 0 1 5 1 X 0 X X 0
5 1 0 1 1 1 1 7 X 0 1 X X 0
7 1 1 1 1 1 0 6 X 1 x 0 X 0
6 1 1 0 0 0 0 0 0 X x 1 X 1
98
Q1’Q0’
00
Q1’Q0
01
Q1Q0
11
Q1Q0’
10
Q2’ = 0 1 x x 0
Q2 = 1 1 x x 0
Q1’Q0’
00
Q1’Q0
01
Q1Q0
11
Q1Q0’
10
Q2’ = 0 x 0 1 x
Q2 = 1 X 0 1 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
99. 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’
99
Q1’Q0’
00
Q1’Q0
01
Q1Q0
11
Q1Q0’
10
Q2’ = 0 0 1 x x
Q2 = 1 0 1 x x
Q1’Q0’
00
Q1’Q0
01
Q1Q0
11
Q1Q0’
10
Q2’ = 0 x x 0 1
Q2 = 1 X x 0 1
Q1’Q0’
00
Q1’Q0
01
Q1Q0
11
Q1Q0’
10
Q2’ = 0 0 0 0 1
Q2 = 1 X x x x
Q1’Q0’
00
Q1’Q0
01
Q1Q0
11
Q1Q0’
10
Q2’ = 0 x X X x
Q2 = 1 0 0 0 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
100. Las funciones Jk de los flip-flop quedan:
J0 = Q1’ + Q0
K0 = Q1 + Q0’
J1 = Q1 + Q0
K1 = 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.
100
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
101. Circuitos Moore y Mealey
◦ Lección 29
Circuitos Moore y Mealey
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
101
Variable de entrada
Estado
Salida
(... 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.
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
102. 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 reloj
CLK
Señal de entrada
X
Señal de salida
MOORE
Z
Señal de salida
MELY
Z
Circuito secuencial Mealy.
102
zx
CLK
X 0 0 1 1 1 0 0 1 1 1 1 0 1 0 1 1 1 0
Z (Moore) 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1
Z (Mealy) 0 0 0 0 1 0 0 0 0 1 1 0 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
104. 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:
◦ Lección 30
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.
104
A/
A/1
1
B/0
C/0 D/0
1
0
0
0
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
105. 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.
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.
105
X = 1
A/0
X = 1
X = 0
X = 0
X = 1
B/0
C/0
D/1
X = 0
X = 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