Sistemas Secuenciales
Electrónica Digital
Electrónica Básica
José Ramón Sendra Sendra
Dpto. de Ingeniería Electrónica y Automática ULPGC
Combinacional: las salidas dependen de las entradas
Secuencial: las salidas dependen de las entradas y de valores anteriores de determinadas salidas ( e.d. depende de la vida pasada del circuito)
CIRCUITOS SECUENCIALES
Sistema combinacional
Circuito de realimentación Entradas
Los circuitos secuenciales pueden ser:
•Asíncronos: no dependen de ninguna señal de reloj
•Síncronos: dependen de un reloj
CIRCUITOS SECUENCIALES
Sistema combinacional Entradas
Salidas
Salidas que actúan como entradas
Sistema combinacional
Elementos de memoria Entradas
Salidas
Generador de impulsos de
Las células básicas de los circuitos secuenciales son los biestables los cuales pueden ser:
•Asíncronos: no dependen de ninguna señal de reloj
•Síncronos: dependen de un reloj
•Activos por nivel
•Activos por flanco Þ Flip-Flops
Los más utilizados son: •RS
•JK •D •T •etc
BIESTABLE RS NOR
BIESTABLES ASÍNCRONOS
S 0 0 1 1 R 0 1 0 1 Q(t+1) Q(t) 0 1 Indeseable Q(t+1) Q(t) 1 0 S 0 0 0 0 1 1 1 1 R 0 0 1 1 0 0 1 1 Q(t) 0 1 0 1 0 1 0 1 Q(t+1) 0 1 0 0 1 1 - -No cambia Reset Set - -IndeseableCuando R≠≠≠≠S la salida sigue a la S
No cambia
S
R Q
Q
BIESTABLE RS NOR
BIESTABLES ASÍNCRONOS
Q(t) 0 0 1 1 Q(t+1) 0 1 0 1 S R Q QTabla de Transición
S 0 1 0 X R X 0 1 0
BIESTABLE RS NAND
BIESTABLES ASÍNCRONOS
S 0 0 1 1 R 0 1 0 1 Q(t+1) Q(t) 0 1 Indeseable Q(t+1) Q(t) 1 0 S 0 0 0 0 1 1 1 1 R 0 0 1 1 0 0 1 1 Q(t) 0 1 0 1 0 1 0 1 Q(t+1) - - 1 1 0 0 0 1 No cambia Reset Set - -IndeseableCuando R≠≠≠≠S la salida sigue a la R
No cambia
S
R Q
Q
BIESTABLE RS NAND
BIESTABLES ASÍNCRONOS
Q(t) 0 0 1 1 Q(t+1) 0 1 0 1Tabla de Transición
S 1 0 1 X R X 1 0 1 S R Q Q
BIESTABLE JK
BIESTABLES ASÍNCRONOS
J 0 0 1 1 K 0 1 0 1 Q(t+1) Q(t) 0 1 Cambia Q(t+1) Q(t) 1 0 J 0 0 0 0 1 1 1 1 K 0 0 1 1 0 0 1 1 Q(t) 0 1 0 1 0 1 0 1 Q(t+1) 0 1 0 0 1 1 1 0 No cambia Reset Set CambiaCuando J≠≠≠≠K la salida sigue a la J
No cambia
K
J Q
Q
Tabla de Verdad
Q(t) Q(t)
Oscilación para J=K=1 → Carreras →→→→ No se suelen usar →→→→ Sol: Biestable JK M/S
BIESTABLE JK
BIESTABLES ASÍNCRONOS
Q(t) 0 0 1 1 Q(t+1) 0 1 0 1Tabla de Transición
J 0 1 X X K X X 1 0 K J Q Q
BIESTABLE TIPO T ( = JK cortocircuitando J=K)
BIESTABLES ASÍNCRONOS
T 0 0 1 1 Q(t) 0 1 0 1Tabla de Verdad
Q(t+1) 0 1 1 0 T Q Q No cambia Cambia (TOGGLE)
BIESTABLE TIPO D ( No hace nada, sirve de memoria)
BIESTABLES ASÍNCRONOS
Q(t)
Q(t) D
NECESIDAD DE SISTEMAS SÍNCRONOS
NECESIDAD DE SISTEMAS SÍNCRONOS
Entradas asíncronas → no dependen de reloj → PRESET (poner a 1 la salida) y CLEAR (poner a 0 la salida)
BIESTABLES SÍNCRONOS
Activas a nivel alto Activas a nivel bajo
PR
CLR
PR
CLR
Entradas de reloj → CK, CLK, CLOCK ...
BIESTABLES SÍNCRONOS
Disparo por nivel
nivel alto
CLK
nivel bajo
CLK
Disparo por flanco
flanco de
subida CLK
flanco de
Entradas síncronas → dependen del reloj → R, S, J, K, T, D
BIESTABLES SÍNCRONOS
S R
K
Orden de prioridad:
1.- Entradas Asíncronas 2.- Entrada de Reloj 3.- Entradas Síncronas
BIESTABLES SÍNCRONOS
S
R Q
Q PR
CLR
CLK S
R Q
Q PR
CLR CLK
BIESTABLE RS SÍNCRONO ACTIVADO POR NIVEL
BIESTABLES SÍNCRONOS
S
R Q
Q C
C S R Q Q
0 X X Q Q
1 0 0 Q Q
1 0 1 0 1
1 1 0 1 0
BIESTABLE RS SÍNCRONO CON ENTRADAS ASÍNCRONAS
BIESTABLES SÍNCRONOS
S R Q Q PR CLR CLKC S R Q(t+1)
X X X 1
X X X 0
X X X 1*
0 0 Q(t)
1 0 1
0 1 0
1 1 Indeterminado
Indeseado PR CLR 0 1 1 0 0 0 1 1 1 1 1 1 1 1
BIESTABLE RS SÍNCRONO ACTIVADO POR FLANCO (FLIP-FLOP)
BIESTABLES SÍNCRONOS
S
R Q
Q CLK
C S R Q Q
X X Q Q
0 0 Q Q
0 1 0 1
1 0 1 0
BIESTABLE JK MAESTRO ESCLAVO (MASTER-SLAVE)
FLIP-FLOP JK SÍNCRONO ACTIVADO POR FLANCO
BIESTABLES SÍNCRONOS
K J Q Q CLK K J Q Q CLKC S R Q Q
X X Q Q
0 0 Q Q
0 1 0 1
1 0 1 0
1 1 Q Q
C S R Q Q
X X Q Q
0 0 Q Q
0 1 0 1
1 0 1 0
BIESTABLE TIPO D
BIESTABLES SÍNCRONOS
D Q
Q CLK
C D Q(t) Q(t+1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
Modo memoria
FLIP-FLOP TIPO D
FLIP-FLOP TIPO T
REGISTRO DE DESPLAZAMIENTO ENTRADA SERIE SALIDA SERIE
REGISTRO DE DESPLAZAMIENTO ENTRADA SERIE SALIDA SERIE
REGISTRO DE DESPLAZAMIENTO ENTRADA SERIE SALIDA PARALELA
REGISTRO DE DESPLAZAMIENTO ENTRADA SERIE SALIDA PARALELA
REGISTRO DE DESPLAZAMIENTO ENTRADA PARALELA SALIDA SERIE
REGISTRO DE DESPLAZAMIENTO ENTRADA PARALELA SALIDA SERIE
REGISTRO DE DESPLAZAMIENTO ENTRADA PARALELA SALIDA PARALELA
REGISTRO DE DESPLAZAMIENTO ENTRADA PARALELA SALIDA PARALELA
Definición: Circuito secuencial cuyas salidas representan en un
determinado código el número de impulsos que se aplican a la entrada
Estructura: Biestables activados por flanco (FF) conectados entre sí
Módulo (M): número de valores por los que pasa (divisor por M)
Tipos:
•Ascendentes •Descendentes
Tipos:
•Asíncronos → Los FF no comparten la misma señal de reloj •Síncronos → Los FF comparten la misma señal de reloj:
•Síncronos propiamente dichos
•Contadores basados en registros de desplazamiento
CONTADORES
CONTADORES ASÍNCRONOS
Secuencia
de cuenta Condiciones de funcionamiento
A2 A1 A0
0 0 0
0 0 1 A0 cambia de 0 a 1
0 1 0 A0 cambia de 1 a 0; A1 cambia de 0 a 1.
0 1 1 A0 cambia de 0 a 1
1 0 0 A0 cambia de 1 a 0; A1 cambia de 1 a 0; A2 cambia
1 0 1 A0 cambia de 0 a 1
1 1 0 A0 cambia de 1 a 0; A1 cambia de 0 a 1.
J K Q CLK J K Q CLK J K Q CLK “1” l l Entrada de impulsos a contar l l l
QA QB QC
Q Q Q
CONTADORES
CONTADORES ASÍNCRONOS → Utiliza FF tipo T o tipo JK
Problema → lento ya que cada FF debe esperar a que el anterior bascule
CONTADORES
CONTADORES ASÍNCRONOS → Módulo ≠ 2n
Se parte de un contador de M = 2n y se conecta la primera combinación no
deseada mediante una NAND a las entradas CLEAR de los FF JK o T.
Ej: contador M = 12
J K Q CLK J K Q CLK J K Q CLK J K Q CLK
“1” l l l
l
l
Entrada de impulsos a contar
l l l
l C C C C
CONTADORES
CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S
TABLA DE TRANSICIONES SEÑALES DE CONTROL ESTADO ACTUAL ESTADO
SIGUIENTE ENTRADAS SÍNCRONAS QD QC QB QA QD QC QB QA JD KD JC KC JB KB JA KA
0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X 0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1 0 0 1 0 0 0 1 1 0 X 0 X X 0 1 X 0 0 1 1 0 1 0 0 0 X 1 X X 1 X 1 0 1 0 0 0 1 0 1 0 X X 0 0 X 1 X 0 1 0 1 0 1 1 0 0 X X 0 1 X X 1 0 1 1 0 0 1 1 1 0 X X 0 X 0 1 X 0 1 1 1 1 0 0 0 1 X X 1 X 1 X 1 1 0 0 0 1 0 0 1 X 0 0 X 0 X 1 X 1 0 0 1 1 0 1 0 X 0 0 X 1 X X 1 1 0 1 0 1 0 1 1 X 0 0 X X 0 1 X 1 0 1 1 1 1 0 0 X 0 1 X X 1 X 1 1 1 0 0 1 1 0 1 X 0 X 0 0 X 1 X 1 1 0 1 1 1 1 0 X 0 X 0 1 X X 1 1 1 1 0 1 1 1 1 X 0 X 0 X 0 1 X 1 1 1 1 0 0 0 0 X 1 X 1 X 1 X 1
CONTADORES
CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S
Simplificamos por Karnaugh:
JD=KD=QAQBQC
JC=KC=QAQB
JB=KB=QA
CONTADORES
CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S
J K Q CLK J K Q CLK J K Q CLK J K Q CLK “1” l l l l Entrada de impulsos a contar l l l l l l
QA QB QC QD
CONTADORES
CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S
Podemos ahorrar puertas lógicas si nos damos cuenta que:
JA=KA=“1”
JB=KB=QA
JC=KC=JBQB
CONTADORES
CONTADORES SÍNCRONOS → Ej: Contador M = 16 con biestables JK M/S
J K Q CLK J K Q CLK J K Q CLK J K Q CLK “1” l l l C l l l l l
QA QB QC QD
l l
CONTADORES
CONTADORES
CONTADORES
CONTADORES SÍNCRONOS DE CUALQUIER SECUENCIA → Ej: Contador de la secuencia “2, 3, 5, 1, 7, 2, 3,...”
CONTADORES
CONTADORES SÍNCRONOS DE CUALQUIER SECUENCIA → Ej: Contador de la secuencia “2, 3, 5, 1, 7, 2, 3,...”
CONTADORES
CONTADORES SÍNCRONOS BASADOS EN REGISTROS DE DESPLAZAMIENTO →→→→ CONTADOR EN ANILLO
CONTADORES
CONTADORES SÍNCRONOS BASADOS EN REGISTROS DE