sistemas secuenciales

Anuncio
SISTEMAS SECUENCIALES
Un circuito secuencial es aquel que resuelve una función lógica tal que los valores de sus salidas
en un determinado momento, dependen de los valores de sus entradas en ese mismo momento y
de los últimos valores que tenía anteriormente.
Esto significa que para valores iguales en sus entradas, se puede obtener valores distintos en sus
salidas en distintos momentos.
tiempo
A
B
F0
F1
Tn-1
0
0
0
1
Tn
1
0
1
1
Tm-1
1
1
1
0
Tm
1
0
0
0
A
B
F0
Circuitos
secuenciales
F1
La dependencia de la salida con respecto a los valores anteriores, se debe a la capacidad de
memorizar valores mediante variables de estado. Un circuito secuencial puede representarse de
manera simbólica a base de circuitos combinacionales y elementos de memoria.
E
Bloque
S
combinacional
Memoria o
Flip-flop
Los circuitos secuenciales tienen aplicaciones variadas como:
Elementos de memoria de calculadoras o de computadoras
Contadores digitales
Generadores de secuencia para automatización de máquinas.
La memoria esta formada por un conjunto de elementos llamados biestables (dos estados estables)
o flip-flop's (transiciones hacia atrás o hacia delante), que tienen la capacidad de permanecer
indefinidamente en un determinado estado lógico, (0 ó 1) en ausencia de estímulos exteriores.
Los circuitos secuenciales pueden ser de dos tipos:
Síncronos: Son aquellos que para realizar la transmisión de datos a través del circuito necesitan
una señal de control (reloj=clock), que además viene a ser una más de sus entradas.
Asíncronos: Son aquellos que no necesitan señal de sincronización, por lo tanto sus salidas varían
al cambiar sus entradas.
Podemos esquematizarlos como se aprecia en la siguiente figura
Registros
Asíncronos
Biestables
RS
JK
T
Activados por Nivel
Circuitos
RS
JK
D
Síncronos
Secuenciales
Activados por flanco
Asíncronos
RS
JK
T
D
Contadores
Síncronos
Diagrama de transición de estados.
00/1
00/1
Es la representación gráfica del comportamiento de
01/1
10/0
un sistema secuencial. La información de un
diagrama de transición puede trasladarse a una
0
1
tabla de estados. Cada estado se representa con un
círculo en cuyo interior (con un número binario) se
01/0
10/0
indica el estado del sistema. Las transiciones se 11/0
11/0
representan mediante flechas que van de uno a otro
estado, o saliendo y entrando a un mismo estado.
Cada transición tiene asociada la información de los valores (estrada/salida) que la producen.
Tabla de estados
Es una representación tabular de la secuencia temporal de entradas, salidas y estados de un
sistema secuencial.
Debe contener la siguiente información:
Los estados presentes Qn indicados por un número binario.
Los estados próximos Qn+1 , para todas las combinaciones de Qn y las entradas al sistema.
Las salidas correspondientes a cada una de las combinaciones anteriores.
R
Q
ck
FF
S
RS
Q'
Qn
S
R
Qn+1
0
0
0
0
0
0
1
0
0
1
0
1
0
1
1
?
1
0
0
1
1
0
1
0
1
1
0
1
1
1
1
?
Entradas S R
00
01
10
11
Estado
Estado
Estado
Estado
Estado
Presente
Próximo
Próximo
Próximo
Próximo
Qn
Qn+1
Qn+1
Qn+1
Qn+1
0
0
0
1
?
1
1
0
1
?
Tabla de estados
más práctica para
la representación
de sistemas
secuenciales
Es conveniente saber que el máximo número de estados de un sistema digital está limitado por el
número de FF's. Si el sistema tiene n FF's entonces el sistema tendrá 2n estados diferentes. El
número de entradas y salidas del sistema no esta relacionada con el número de estados.
Flip-flop's
Estados posibles
1
2
2
4
3
8
4
16
5
32
.
.
En caso que no sepa la cantidad de flip-flops pero sí conozca la cantidad de estados del sistema,
puede determinar el número de FF's aplicando la siguiente fórmula:
Num de FF's = Log2 (cantidad de estados) o
Num de FF's = 1/(Ln 2) * Ln (cantidad de estados)
Reducción de estados
Consiste en revisar los diferentes estados del sistema y ver si existen estados redundantes o
equivalentes es decir, que tengan las mismas salidas y que realicen las mismas transiciones hacia
otros estados, o que bajo ciertas condiciones, puedan considerarse como estados equivalentes.
Determine si los siguientes diagramas de transición tienen estados equivalentes redundantes
0/1
1/1
0/0
A
E=0
B
1/0
1/1
0/0
C
Podemos eliminar el estado C y sus transiciones.
E=1
Edo.
Pres
Edo.
Prox
Sal
Edo. Sal
Prox
A
A
0
B
1
B
B
1
A
0
C
A
0
B
1
E=0
E=1
Edo. Edo. Sal Edo. Sal
Pres Prox
Prox
A
B
1
D
0
B
D
0
E
1
C
B
1
D
0
D
C
0
E
0
E
E
0
A
1
A
0/1
1/1
0/1
B
0/0
C
0/0
1/0
1/1
1/0
D
E
0/0
Podemos eliminar el estado C y sus
transiciones.
Además
cambiar
la
transición de D hacia C por otra hacia A.
1/0
Metodología de Diseño Secuencial
1.-Especificacion del sistema. Descripción que indica la secuencia de entradas, salidas y estados
del sistema (incluye diagrama general).
2.-Trasladar el comportamiento del sistema a un diagrama de transición.
3.-Determinar la cantidad de ff's necesarios.
4.-Seleccionar el tipo de ff a utilizar.
5.-Con lo anterior elaborar la tabla de estados.
6.-Si es factible, hacer reducción de estados.
7.-Elaborar una nueva tabla de estados basada en la anterior y que incluya las excitaciones de los
ff's y las salidas.
8.-Obtener las ecuaciones booleanas para las entradas de excitación y para las salidas.
9.-Construir el diagrama esquemático del circuito.
Ejemplo 1
Diseñe un sistema digital secuencial que tenga dos estados, una entrada y una salida. Si la entrada
es igual a cero, el sistema permanece en el mismo estado; si la entrada es igual a uno el sistema
debe cambiar de estado. La salida solo será igual a uno cuando la entrada sea igual a uno y el
sistema este en el estado 0.
El texto anterior nos brinda la descripción necesaria, a continuación el diagrama general
2) Diagrama de transición
S
E
0/0
1/1
0/0
?
0
ck
1
1/0
3) Como solo tenemos dos estados necesitamos un ff
4) Haremos el diseño para ff 's T, JK y D. Primero con FF T.
5) Tabla de estados
E=0
Qn E
Qn+1 S
Estado
Estado
Salida
0
0
0
0
Presente Próximo
S
0
1
1
1
Qn
Qn+1
1
0
1
0
0
0
0
1
1
0
0
1
1
0
E=1
Estado
Salida
Presente
S
Qn+1
1
1
0
0
6) No hay estados redundantes
7T) Nueva tabla de estados incluyendo las entradas a los ff's
E=0
E=1
Edo.
Pres
Qn
Edo.
Prox
Qn+1
Sal
S
Entrada Edo.
al FF
Prox
Qn+1
T
Sal
S
0
0
1
1
Entrada
al FF
0
0
1
1
1
0
0
0
0
1
T
8T)
9T)
T E
Qn
S E
0 1
Qn
0 0 1
0 1
E
0 0 1
1 0 1
1 0 0
T=E
S=E  Qn'
T
Ck
Ahora lo haremos con FF JK
7JK)
E=0
Edo.
Pres.
Qn
Edo.
Próx.
Qn+1
Sal
S
0
0
1
1
E=1
Entradas
Al f.f
J
K
Edo.
Próx.
Qn+1
0
0
X
1
0
X
0
0
Sal
S
Entradas
Al f.f
J
K
1
1
X
0
X
1
S
8JK) Vemos que la salida no cambia, sólo las entradas al FF cambian.
J E
Qn
0
K E
1
Qn
0 0 1
0
1
9JK)
S
0 X X
E
1 0 1
1 X X
J=E
K=E
Ck
Ahora lo haremos con FF D. Vemos que la salida no cambia, sólo las entradas al FF cambian.
7D)
E=0
E=1
Edo.
Pres
Qn
Edo.
Prox
Qn+1
Sal
S
Entrada Edo.
al FF
Prox
Qn+1
D
Sal
S
0
0
1
1
0
0
1
1
1
0
1
0
0
0
8D)
Entrada
al FF
D
9D)
D E
Qn
0 1
0 0 1
S
E
1 1 0
Ck
D= E Qn' + E' Qn
D= E  Qn
EJEMPLO 2
Nos proporcionan el siguiente diagrama que pertenece a un sistema secuencial, y nos piden que
hagamos el diseño.
Vemos que no tiene entradas, sólo salidas (1).
/0
Un esquema general sería el siguiente
00
01
/0
S
/0
?
10
11
/1
2) Ya nos dan el diagrama de transición.
3) Como tenemos cuatro estados necesitamos dos f.f.
4) Usaremos f.f. T.
Ck
5) Tabla de estados
Estados
Presentes
Q1
Q0
0
0
0
1
1
0
1
1
Estados
Próximos
Q1
Q0
0
1
1
1
0
0
1
0
Salida
6) No tiene estados redundantes
S
0
0
0
1
7)
8)
Estados
presentes
Estados
próximos
salida
Entradas
los FF
Q1
0
0
1
1
Q1
0
1
0
1
S
0
0
0
1
T1
0
1
1
0
Q0
0
1
0
1
S Q1
Q0
Q0
1
1
0
0
T 1 Q1
0 1
Q0
0 0 0
1 0 1
a
T0
1
0
0
1
T 0 Q1
0 1
Q0
0 0 1
1 1 0
S=Q1  Q0
1 0 1
T0=Q1‘  Q0‘ + Q1  Q0
T1=Q1  Q0
T0=(Q1  Q0)'
T1
Q0'
Ck
0 1 0
T1=Q1'  Q0 + Q1  Q0'
Q0
T0
0 1
Q1
S
Q1'
EJEMPLO 3
Diseñe un circuito secuencial síncrono cuya única entrada será el reloj y las Q de los flip-flop's
serán sus salidas. La secuencia será: 0,1,4,7,3,0,1,4,7,3.
1) Nos dan la secuencia de estados, el diagrama general sería
Qs
2) Diagrama de trancisión
?
000
001
100
011
111
Ck
3) Tenemos 5 estados, Necesitamos tres ff's
5) Tabla de estados
4) Usaremos una combinacion de ff's
Edos. Pres.
Q2
Q1
0
0
0
0
0
1
0
1
1
0
1
0
1
1
1
1
Para Q2 un SR
Para Q1 un D
Para Q0 un T
6) No tenemos estados redundantes
7)
Estados
Presentes
Q2
0
0
0
0
1
1
1
1
Q1
0
0
1
1
0
0
1
1
Estados
Próximos
Q0
0
1
0
1
0
1
0
1
Q2
0
1
x
0
1
x
x
0
Q1
0
0
x
0
1
x
x
1
Edos. Prox
Q2
Q1
0
0
1
0
X
X
0
0
1
1
X
X
X
X
0
1
Q0
0
1
0
1
0
1
0
1
Entradas a los ff's
Q2
Q0
1
0
x
0
1
x
x
1
S
0
1
x
0
x
x
x
0
R
X
0
x
x
0
x
x
1
Q1
D
0
0
x
0
1
x
x
1
Q0
T
1
1
x
1
1
x
x
0
8)
T Q2Q1
D Q2Q1
Q0
00
0
0
01
11
10
X
X
1
1
0
1
X
0
00
01
11
10
0
1
X
X
1
1
1
1
0
X
01
11
10
Q0
D= Q2
T=Q2' + Q1'
S
R Q2Q1
Q0
00
Q2Q1
00
01
11
10
0
0
X
X
X
1
1
0
0
X
Q0
S= Q1' Q0
Tarea: Hacer el circuito
R= Q1
0
X
X
X
0
1
0
X
1
X
Q0
1
0
X
0
1
X
X
1
EJEMPLO 4
0/0
Construir el sistema secuencial correspondiente
al diagrama de transición que nos dan.
00
1/1
1/0
2) Ya nos dan el diagrama
1/0
S
E
0/0
11
01
?
0/0
10
1/1
ck
3) Para 4 estados necesitamos 2 ff's
0/0
4) Usaremos ff's D
5)
E=0
Edos.
Pres.
Q1 Q2
0 0
0 1
1 0
1 1
Edos.
Prox.
Q1 Q2
0
0
1
0
1
0
1
1
E=1
Sal.
S
0
0
0
0
Edos.
Prox.
Q1 Q2
0 1
0 1
1 1
0 0
Sal.
S
1
0
1
0
6) No hay estados redundantes
7)
Edos.
Pres.
Q1 Q2
0 0
0 1
1 0
1 1
Edos.
Prox.
Q1 Q2
0 0
1 0
1 0
1 1
E=0
Sal.
S
0
0
0
0
Ent a los
Edos.
FF's
Prox.
D1 D2
Q1 Q2
0 0
0 1
1 0
0 1
1 0
1 1
1 1
0 0
E=1
Sal.
S
1
0
1
0
Ent a los
FF's
D1 D2
0 1
0 1
1 1
0 0
8)
D1 E
S
E
Q1Q2
0
1
00
0
1
01
0
11
10
Q1Q2
D2 E
0
1
00
0
0
0
01
1
0
0
11
0
1
10
S= E Q2'
Tarea: Hacer el circuito
Q1Q2
0
1
00
0
1
0
01
0
1
1
0
11
1
0
1
1
10
0
1
D1= E' Q2 + Q1 Q2'
D2= E' Q1 Q2 + E Q1'
+ E Q2'
EJEMPLO 5
Hacer el diseño secuencial de un contador de 0 a 7 en binario, su única entrada será el reloj y su
salida las Q de los ff's.
1) Lo cumple la descripción del problema.
2)
000
001
010
011
111
110
101
100
Edos. Pres
3) Como tenemos 8 estados, necesitamos 3 ff's
Edos Prox
4) Emplearemos ff's T y de tarea hágalo con ff's D.
Q2 Q1 Q0 Q2 Q1 Q0
0
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
1
1
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
1
0
0
0
5) Tabla de estados
6) No tenemos estados redundantes
7)
Edos.
Pres
T0 Q2Q1
00
Q0
0
1
01
11
10
1
1
1
1
1
1
1
T0 = 1 Lógico
0
0
0
0
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
0
1
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
0
1
0
1
0
0
1
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
1
1
1
T2 Q2Q1
00
Q0
0
0
01
11
10
0
0
0
1
1
0
T1 Q2Q1
00
Q0
0
0
01
11
10
1
0
0
0
T2=Q1.Q0
1
1
1
1
T1 = Q0
1
Ent a los
FF's
Q2 Q1 Q0 Q2 Q1 Q0 T2 T1 T0
8)
1
Edos
Prox,
0
T0
1
T2
T1
Ck
Q0
EJEMPLO 6
Q1
Q2
Diseñe un circuito secuencial que cuente de 0 a 3 cuando la entrada externa sea igual a 1 y que
cuente de 3 a 0 cuando la entrada externa sea igual a 0 .
0/
1) Si la E = 1, entonces contará 0, 1, 2, 3, 0, 1, ...
Si la E = 0, entonces contará 3, 2, 1, 0, 3, 2, ...
00
2) Diagrama de transición
3) Como tenemos cuatro estados, necesitamos 2 ff's
0/
4) Usaremos ff's T
1/
1/
5) Tabla de estados
1/
11
E=0
E=1
Estados
presentes
Q2 Q1
Estados
próximos
Q2 Q1
Estados
próximos
Q2 Q1
0 0
1 1
0 1
0 1
0 0
1 0
1 0
0 1
1 1
1 1
1 0
0 0
01
1/
10
0/
6) No tenemos estados redundantes
7)
Estados
Estados
presentes próximos
Q2 Q1
Q2 Q1
Estados
próximos
T2 T1
Q2 Q1
0
0
1
1
1 1
0
1
0 1
0
1
0
0
0 1
1
0
1 1
1
0
0
1
1 1
1
1
0 1
1
1
1
0
0 1
0
0
1 1
T2 T1
8)
T2 Q2Q1
00
E
0
1
1
0
01
11
10
0
0
1
1
1
0
T2 = E' Q1' + E Q1
T1 Q2Q1
00
E
0
1
1
T1 = 1
1
01
11
10
1
1
1
1
1
1
0/
Q1
1
Q2
T2
T1
E
Ck
Tarea:
Diseñe un circuito secuencial que cuente de 0 a 7 cuando la entrada externa sea igual a 1 y que
cuente de 7 a 0 cuando la entrada externa sea igual a 0. Emplear ff´s D.
Diseñe un circuito secuencial con ff’s T que cuente de 0 a 9.
Tablas de excitación de los diferentes Flip Flops
Qn
Qn+1
S
R
Qn
Qn+1
J
K
0
0
0
X
0
0
0
X
0
1
1
0
0
1
1
X
1
0
0
1
1
0
X
1
1
1
X
0
1
1
X
0
Qn
Qn+1
T
Qn
Qn+1
D
0
0
0
0
0
0
0
1
1
0
1
1
1
0
1
1
0
0
1
1
0
1
1
1
Descargar