TEMA4
TEMA4
TEMA4
secuencial asíncrona en
automatización
MSc.Ing. Ramiro Franz Aliendre García
Facultad Nacional de Ingeniería
Universidad Técnica de Oruro
http://raliendre.uto.edu.bo
[email protected]
Contenido
1. Introducción
2. Procedimiento de análisis
3. Circuitos con latches
4. Procedimiento de diseño
5. Reducción de las tablas de estado y de flujo
6. Asignación de estado libre de carreras
7. Riesgos
8. Ejemplos de aplicación
1
1. INTRODUCCIÓN
Método para el análisis y diseño de circuitos digitales.
› Su comportamiento se especifica por una secuencia
temporal de entradas, salidas y estados.
› El cambio de estado ocurre cuando hay un cambio en las
variables de entrada.
– El estado cambia inmediatamente después de los cambios de
entrada.
› Es un circuito combinacional con realimentación.
› Son denominados también AUTÓMATAS.
x1 z1
Entradas Salidas
de x2 z2 de
n variables m variables
xn zm
Circuito
y1 combinacional Y1
k variables y2 Y2 k variables
secundarias de excitación
(estado yk Yk (estado
presente) siguiente)
Retardo
Retardo
Retardo
2
1. INTRODUCCIÓN
› Los elementos de retardo pueden verse como elementos de
memoria a corto plazo: tiempo que tarda la información entre la
entrada y la salida, junto con el lazo de realimentación.
› Cuando una variable de entrada cambia, las (estado
siguiente) cambian (no en forma instantánea) y se propagan a
través de los retardos y llegan a ser las (estado presente).
› En estado estacionario = , para = 1, 2, … , .
› Para asegurar la operación apropiada deben alcanzar un
estado estable antes de que alguna entrada cambie de valor.
› MODO FUNDAMENTAL: sólo una variable de entrada cambia
a la vez y el tiempo entre dos cambios de entrada debe ser
más largo que el tiempo que se tarda en alcanzar un estado
estable.
Clasificación.
› Autómata de Mealy: las salidas se obtienen mediante la
combinación de variables entradas y variables de estado.
3
2. PROCEDIMIENTO DE ANÁLISIS
Consiste en obtener una tabla o un diagrama que describe
la secuencia de estados internos y las salidas como una
función de los cambios en la variables de entrada.
Explica como funciona un circuito secuencial asíncrono
Tabla de transición.
Ejemplo.
x y1 Y1
y1
x y2 x Y1
x y2 Y2 y2
x y1 Y2
= + ̅
= ̅ +
4
Tabla de transición.
x x
y1 y2 0 1 y1 y2 0 1
00 0 0 00 0 1
01 1 0 01 1 1
11 1 1 11 1 0
10 0 1 10 0 0
Tabla de transición.
x
y1y2 0 1
Estado total: Combinación del
00 00 01 estado interno y entradas.
Tabla de transición
5
Tabla de transición.
x
y1y2 0 1 x y1 Y1
0
00 00 01
x y2
01 11 01
x y2 Y2
11 11 10 0
10 00 10
x y1
Tabla de transición.
x
y1y2 0 1 x y1 Y1
0
00 00 01
x y2
01 11 01
x y2 Y2
11 11 10 1
10 00 10
x y1
6
Tabla de transición.
x
y1y2 0 1 x y1 Y1
0
00 00 01
x y2
01 11 01
x y2 Y2
11 11 10 1
10 00 10
x y1
Tabla de transición.
x
y1y2 0 1 x y1 Y1
1
00 00 01
x y2
01 11 01
x y2 Y2
11 11 10 1
10 00 10
x y1
7
Tabla de transición.
x
y1y2 0 1 x y1 Y1
1
00 00 01
x y2
01 11 01
x y2 Y2
11 11 10 1
10 00 10
x y1
Tabla de transición.
x
y1y2 0 1 x y1 Y1
1
00 00 01
x y2
01 11 01
x y2 Y2
11 11 10 0
10 00 10
x y1
8
Tabla de transición.
x
y1y2 0 1 x y1 Y1
1
00 00 01
x y2
01 11 01
x y2 Y2
11 11 10 0
10 00 10
x y1
Tabla de transición.
x
y1y2 0 1 x y1 Y1
0
00 00 01
x y2
01 11 01
x y2 Y2
11 11 10 0
10 00 10
x y1
9
Tabla de transición.
x
y1y2 0 1 x y1 Y1
0
00 00 01
x y2
01 11 01
x y2 Y2
11 11 10 0
10 00 10
x y1
0/0
00
0/1
10
Procedimiento:
1. Determinar todos los lazos de realimentación del circuito.
2. Denotar la salida de cada lazo de realimentación con la variable
y su entrada correspondiente con , = 1, 2, 3, … , . es el
número de realimentaciones.
3. Escribir las funciones booleanas para todas las como función de
las entradas externas y las .
4. Encontrar los mapas K para cada función , usando las variables
para las filas y las entradas externas para las columnas.
5. Combinar los mapas en una tabla mostrando = … en
cada casilla.
6. Enciérrese en un círculo los valores de en cada casilla que son
iguales al valor de = … , en la misma fila.
Tabla de flujo.
Si se denotan los estados con símbolos sin hacer referencia específica
a sus valores binarios, se establece la tabla de flujo. Similar a la tabla
de transición.
x
0 1 x1x2
a a b 00 01 11 10
a a ,0 a ,0 a ,0 b ,0
b c b
c c d b a ,0 a ,0 b ,1 b ,0
11
Tabla de flujo.
x1x2 x1x2
y 00 01 11 10 y 00 01 11 10
0 0 0 0 1 0 0 0 0 0
1 0 0 1 1 1 0 0 1 0
Tabla de flujo.
x1 x2 Y
z
x1 x1 y
x2
Y
x1 x2 y z
y
12
Condiciones de carrera.
Si dos o más variables binarias de estado cambian de valor
en respuesta al cambio de una variable de entrada, se dice
que hay una condición de carrera.
› Carrera no crítica: si el estado final estable que alcanza el
circuito no depende del orden en el cual cambian las
variables de estado.
› Carrera crítica: es posible terminar en dos o más estados
estables diferentes dependiendo del orden en el cual
cambian las variables de estado.
00 00 11 00 00 11
01 11 01 01
11 11 11 01
10 11 10 11
13
Ejemplos de carreras críticas:
x x
y1 y 2 0 1 y1y2 0 1
00 00 11 00 00 11
01 01 01 11
11 11 11 11
10 10 10 10
00 00 01 00 00 01 00 00 01
01 11 01 11 01 11
11 10 11 11 11 10
10 10 10 10 10 01
14
Consideraciones de estabilidad.
Inestabilidad: El circuito oscila entre dos estados inestables
x1 x2 Y
y
x1 Y x2 y
x2
Diagrama lógico
Diagrama de contactos
= = + = +
Consideraciones de estabilidad.
x1x2
00 01 11 10
y
0 0 1 1 0
1 0 1 0 0
Tabla de transición
15
3. CIRCUITOS CON LATCHES.
Latch con compuertas NOR:
1 S R Q Q'
R Q 1 0 1 0
0 0 1 0 (Después que SR = 10)
2 0 1 0 1
S Q' 0 0 0 1 (Después que SR = 01)
1 1 0 0
=( + )+ = + = +
= + si =0
16
Circuitos con latches.
S R Y=Q S Y=Q
y R y
e) Diagramas de contacto
17
Circuitos con latches.
SR
y 00 01 11 10
1
S 2 Y=Q 0 1 1 0 0
R
y 1 1 1 1 0
c) Circuito mostrando
d) Tabla de transición
realimentación
= ( )= ̅+
S Y=Q
R y
e) Diagramas de contacto
18
Análisis de circuitos secuenciales asíncronos.
Ejemplo.
x1 R1 Y1
S1
y2
y1 R2 Y2
S2
x2
x1 S1
y2 S Q Y1
R1
R Q
S2
S Q Y2
y1 R2
x2 R Q
19
x1 y2 Y1 x1 y2 x1 Y1
S
x1 x2 Y1 y1 x2
R
x1 x2 Y2 x1 x2 x2 Y2
S
x2 y1 Y2 y2 y1
R
= = +
= = +
= =
= =
= =0
= =0
= + = + + = + +
= + = + + = + +
20
x1 x2
y1y2 00 01 11 10
00 00 00 01 00
01 01 01 11 11
11 00 11 11 10
10 00 10 11 10
Procedimiento:
1. Se etiqueta cada salida de seguro con y su trayectoria de
realimentación con para = 1, 2, 3, … , .
2. Se encuentran las funciones booleanas para las entradas y .
3. Se verifica cuando = 0 para cada latch NOR o cuando ̅ = 0
para cada latch NAND. Si la condición no satisface, el circuito
puede no operar correctamente.
4. Se evalúa = + para cada latch NOR o = ̅+ para
latch NAND.
5. Se construye una tabla de transición con las en las filas y las
en las columnas.
6. Se grafica el valor de = … en la tabla.
7. Se encierra en un círculo los estados estables donde = .
21
Implementación mediante latches SR.
Ejemplo: Repitiendo el ejemplo ya implementado:
x1x2
y 00 01 11 10 y Y S R
0 0 0 0 1 0 0 0 X
0 1 1 0
1 0 0 1 1 1 0 0 1
1 1 X 0
1 0 0 X X 1 1 1 0 0
22
x1 R x2 S
Y Y
x2 x1
S R
x1 x2 x1 Y=Q x1 x2 Y=Q
y x1 y
Procedimiento:
1. Dada la tabla de transición que especifica la función de
excitación = … , se deriva un par de mapas para
cada y con = 1, 2, … , , mediante las condiciones de
la tabla de excitación.
2. Se deriva la función booleana simplificada para cada y .
Debe cuidarse de no hacer y igual a 1 en la misma
casilla de mintérmino.
3. Se dibuja el diagrama lógico usando latches junto con las
compuertas requeridas para generar las funciones booleanas
y . Para latches NOR se utilizan las funciones booleanas
obtenidas en el paso 2. Para latches NAND se usan los
valores complementados de los obtenidos en el paso 2.
23
4. PROCEDIMIENTO DE DISEÑO.
› Inicia con el planteamiento del problema, termina con un
diagrama lógico y/o con un diagrama de contactos.
› Pasos a seguir con objeto de minimizar la complejidad del
circuito y producir un circuito estable sin carreras críticas.
Ejemplo.
Diseñar un circuito con dos entradas D (switch del operario)
y G (switch del supervisor), y una salida Q (motor de
proceso). Si D se cierra o se abre, se transfiere a la salida
Q, siempre que G = 1. La salida Q seguirá a D en tanto que
G = 1. Cuando G pasa a 0, la información que estaba
presente en la entrada D en el momento de la transición
ocurrida se retiene en la salida Q.
24
Supervisor G Operario D Proceso Q
ESTADO
ESTADO
25
Supervisor G Operario D Proceso Q
ESTADO
ESTADO
26
Supervisor G Operario D Proceso Q
ESTADO
ESTADO
27
Tabla de flujo primitiva.
Entradas Salida
Estado Comentarios
D G Q
a 0 1 0 Q = D porque G = 1, después del estado b, del c, o del f
b 1 1 1 Q = D porque G = 1, después del estado a, del e, o del d
c 0 0 0 Después del estado a o del d
d 1 0 0 Después del estado c
e 1 0 1 Después del estado b o del f
f 0 0 1 Después del estado e
DG
00 01 11 10
a c,- a,0 b,- -,-
28
Reducción de la tabla de flujo primitiva.
Fusión. Agrupación de los estados estables desde filas
separadas a una fila común.
Procedimiento informal. Pueden fusionarse dos o más filas
en la tabla primitiva de flujo en una fila si hay estados y
salidas sin conflicto en cada una de las columnas.
29
Reducción de la tabla de flujo primitiva.
DG DG
00 01 11 10 00 01 11 10
DG DG
00 01 11 10 00 01 11 10
y y
0 0 0 1 0 0 0 0 1 0
1 1 0 1 1 1 1 0 1 1
a) = + ̅ b) =
30
Tabla de transición y diagrama lógico.
D D G Y=Q
Y
Q
G G y
y
Mapas K para y
DG DG
00 01 11 10 00 01 11 10
y y
0 0 0 1 0 0 X X 0 X
1 X 0 X X 1 0 1 0 0
a) = b) =
31
D R D G D Y=Q
Q
G
y G
S
c) Latch compuertas NOR d) Diagrama de contactos
D G Y=Q
D S
Q
D y
G
G
R
a a,0 b,- 0 0
b c,- b,0 X 0
c c,1 d,- 1 1
d a,- d,1 X 1
32
Los valores de salida de los estados inestables deben escogerse
de modo que no ocurran salidas falsas momentáneas cuando el
circuito cambia entre estados estables. El procedimiento para
asignar las salidas asociadas a las salidas inestables es:
› Asignar un 0 a una variable de salida asociada con un estado
inestable que es un estado transitorio entre dos estados
estables que tienen un 0 en la variable de salida
correspondiente.
› Asignar un 1 a una variable de salida asociada con un estado
inestable que es un estado transitorio entre dos estados
estables que tienen un 1 en la variable de salida
correspondiente.
› Asignar una condición “no importa” a una variable de salida
asociada con un estado inestable que es un estado transitorio
entre dos estados estables que tienen valores diferentes (0 y 1 o
1 y 0) en la variable de salida correspondiente.
Procedimiento de diseño.
1. Obtener una tabla de flujo primitiva mediante las especificaciones
dadas de diseño. Esta es la parte más difícil del diseño.
2. Reducir la tabla de flujo fusionando filas en la tabla de flujo
primitiva.
3. Asignar variables binarias de estado a cada fila de la tabla de flujo
reducida para obtener la tabla de transición.
4. Asignar valores de salidas a los guiones asociados con los
estados inestables para obtener los mapas de salida.
5. Simplificar las funciones booleanas de las variables de excitación y
salida y se dibuja el diagrama lógico (mediante compuertas o con
latches SR), y el diagrama de contactos.
33
5. REDUCCIÓN DE LAS TABLAS DE
ESTADO Y DE FLUJO.
Problema: se debe reducir estados de tablas de estado especificadas
en forma incompleta.
Tabla de implicación. Ejemplo 1:
Estado Estado siguiente Salida
presente x=0 x=1 x=0 x=1
a c b 0 1
b d a 0 1
c a d 1 0
d b d 1 0
Tabla de estados para demostrar los estados equivalentes
(a, b) implica (c, d), (c, d) implica (a, b)
entonces a y b como c y d son equivalentes
34
b d, e
c
d
e
c, e
f c, d a, b
g d, e d, e
a b c d e f
Tabla de implicación
35
Fusión de la tabla de flujo.
• La tabla de flujo primitiva está incompletamente especificada
• Para la equivalencia de estados deben estar especificados los
estados siguientes y las salidas
• Dos estados son compatibles si para cada entrada posible tienen la
misma salida, y sus estados siguientes son compatibles. Las
condiciones no importa, marcadas con un guion, no se toman en
cuenta.
Procedimiento para encontrar grupos compatibles:
1. Determinar todos los pares compatibles por el uso de la tabla de
implicación
2. Se obtienen los compatibles maximales usando un diagrama de
fusión
3. Se encuentra una colección mínima de compatibles que cubren
todos los estados y es cerrada
DG
00 01 11 10
Para el ejemplo:
a c,- a,0 b,- -,-
36
Tabla de implicación
b
c d, e
d d, e
d, e
e c, f c, f
d, e
f c, f c, f
a b c d e
Pares compatibles: (a, b) (a, c) (a, d) (b, e) (b, f) (c, d) (e, f)
Compatibles maximales.
Compatible maximal: grupo de compatibles que contiene
todas las combinaciones posibles de los estados
compatibles. Se usa un método gráfico: cada estado es un
punto colocado en el perímetro de una circunferencia
› Punto aislado: estado que no es compatible con cualquier
otro estado
› Una línea representa un par compatible
› Un triángulo consta de un compatible de tres estados
› Un compatible de n estados es un polígono de n lados con
todas las diagonales conectadas
37
Para el ejemplo:
Pares compatibles: (a, b) (a, c) (a, d) (b, e) (b, f) (c, d) (e, f)
a a
f b f b
e c e c
d d
Compatibles maximales: (a, b) (a, c, d) (b, e, f)
Compatibles maximales.
h a
g b
f c
e d
Compatibles maximales: (a, b, e, f) (b, c, h) (c, d) (g)
38
Condición de cobertura cerrada.
Condición de cobertura: el conjunto de compatibles
maximales incluye todos los estados de la tabla de estado
original.
Condición de cierre: si no hay estados implicados o si los
estados implicados se incluyen dentro del conjunto.
Para el ejemplo se elige:
(a, c, d) (b, e, f)
No hay estados implicados para:
(a, c) (a, d) (c, d) (b, e) (b, f) (e, f)
Ejemplo.
a
b b, c
e b
c d, e
d b, c a, d
e b, c
d c
a b c d
a) Tabla de implicación b) Diagrama de fusión
39
Pares compatibles:
(a, b) (a, d) (b, c) (c, d) (c, e) (d, e)
Compatibles maximales:
(a, b) (a, d) (b, c) (c, d, e)
40
Método de filas compartidas.
x1x2
00 01 11 10
a = 00 b = 01
a a b d a
b a b b c
c d c c c
d = 10 c = 11
d a - c -
a) Tabla de flujo b) Diagrama de transición
x1x2
00 01 11 10
a = 00 00 01 10 00
b = 01 00 01 01 11
c = 11 10 11 11 11
d = 10 00 - 11 -
c) Tabla de transición
41
Ejemplo 2: Tabla de flujo con cuatro filas
x1x2
00 01 11 10
a b
a b a d a
b b d b a
c c a b c
d c
d c d d c
a) Tabla de flujo b) Diagrama de transición
y1 00 01 11 10
0 a b c g e=100 g=010
1 e d f
d=101 f=111 c=011
42
x 1x 2
Asignación de estados a la 00 01 11 10
tabla de flujo modificada
a = 000 b a e a
b = 001 b d b a
c = 011 c g b c
g = 010 - a - -
- = 110 - - - -
f = 111 c - - c
d = 101 f d d f
e = 100 - - d -
a) Asignación binaria
43
x1x2
Tabla de flujo 00 01 11 10
a1 = 000 b1 a1 d1 a1
a2 = 111 b2 a2 d2 a2
b1 = 001 b1 d2 b1 a1
b2 = 110 b2 d1 b2 a2
c1 = 011 c1 a2 b1 c1
c2 = 100 c2 a1 b2 c2
d1 = 010 c1 d1 d1 c1
d2 = 101 c2 d2 d2 c2
7. RIESGOS.
Transitorios indeseables con interrupciones que pueden
aparecer a la salida del circuito.
Riesgos combinacionales. x2 x3
x1 x2 Y 00 01 11 10
x1
0 1
x2 x3
1 1 1 1
a) Diagrama de contactos
b) Mapa K para
= +
44
x2x3 x1 x2 Y
x1 00 01 11 10
0 1 x2 x3
1 1 1 1 x1 x3
Riesgos
1 1 1
0 0 0
45
Riesgos secuenciales.
x 1x 2
x1 x2 Y y 00 01 11 10
0 0 0 1 0
x2 y
1 1 0 1 1
Riesgos secuenciales.
x1 x2
y 00 01 11 10
0 1
1 1 1 1
c) Mapa K para
46
Riesgos secuenciales.
x1 x2 Y
x1 x2
y 00 01 11 10
x2 y
0 1
x1 y
1 1 1 1
8. EJEMPLOS DE APLICACIÓN.
Ejemplo 1: Deducir el circuito de mando de un motor, que es comandado
por dos botones: con el botón A se arranca el motor, si se deja de pulsar
A, el motor sigue funcionando, sucesivas acciones de A no influyen en el
funcionamiento del motor. Si se presiona el botón P, el motor deja de
funcionar, sucesivas acciones de P no influyen en la salida.
Ejemplo 2: Con un solo botón, encender y apagar un motor.
Generalización: con una sola botonera, habilitar varias salidas en forma
secuencial, comenzando con que ninguna salida está habilitada. Es
decir, en un primer instante ninguna salida está habilitada, se presiona la
botonera y se habilita la primera salida, se presiona otra vez la botonera
y se habilita la segunda salida, deshabilitando la primera; se presiona
nuevamente la botonera y se habilita la tercera salida, deshabilitando la
segunda, y asi sucesivamente hasta que nuevamente se regrese al
estado inicial.
47
CONCLUSIONES.
› Introducción
– Clasificación
› Procedimiento de análisis
– Tabla de transición
– Procedimiento
– Tabla de flujo
– Condiciones de carrera.
› Carrera no crítica
› Carrera crítica
› Ciclo
– Consideraciones de estabilidad.
CONCLUSIONES.
› Circuitos con latches
– Latch con compuertas NOR
– Latch con compuertas NAND
– Análisis de circuitos secuenciales asíncronos con latches.
› Procedimiento
– Implementación mediante latches SR
› Procedimiento
› Procedimiento de diseño
– Tabla de estados totales
– Tabla de flujo primitiva
– Reducción de la tabla de flujo primitiva
– Tabla de transición y diagrama lógico
– Implantación con latches
– Asignación de salidas a los estados inestables
– Procedimiento de diseño
48
CONCLUSIONES.
› Reducción de las tablas de estado y de flujo
– Tabla de implicación
› Equivalencia de estados
– Fusión de la tabla de flujo
– Compatibles maximales
– Condición de cobertura cerrada
› Asignación de estado libre de carreras
– Método de filas compartidas
– Método de filas múltiples
CONCLUSIONES.
› Riesgos
– Riesgos combinacionales
– Riesgos secuenciales
› Ejemplos de aplicación
49
50