0% encontró este documento útil (0 votos)
111 vistas43 páginas

Maquina Secuencial Elai-Upm

Este documento describe máquinas de estado finitas y sus componentes. Explica las diferencias entre máquinas de Mealy y Moore, y proporciona ejemplos de cómo modelar un sumador binario de 1 bit usando ambos modelos. También cubre objetivos como simplificación a través de la identificación de estados equivalentes.

Cargado por

jjurado183
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
111 vistas43 páginas

Maquina Secuencial Elai-Upm

Este documento describe máquinas de estado finitas y sus componentes. Explica las diferencias entre máquinas de Mealy y Moore, y proporciona ejemplos de cómo modelar un sumador binario de 1 bit usando ambos modelos. También cubre objetivos como simplificación a través de la identificación de estados equivalentes.

Cargado por

jjurado183
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

MQUINAS DE ESTADO FINITAS

Pablo San Segundo (C-206)


[email protected]

Sistemas secuenciales

Secuencial = combinacional + memorias


(biestables)y k f ( x1k , x2k ,..., xnk , m1k , m2k ,...mmk )

Tipos

Sncrono: cambio de estado en cada ciclo de reloj.


Asncrono: cambio de estado nada mas detectarse
variaciones en las entradas o en las memorias internas.

Modelo formal: Mquina de estados

Mealy: las salidas


depende de las entradas y del valor de
m k k f ( x1k , x2k ,..., xnk , m1k , m2k ,...mmk )
las memorias
y k f ( x1k , x2k ,..., xnk , m1k , m2k ,...mmk )

m k k f ( x1k , x2k ,..., xnk , m1k , m2k ,...mmk )

k
Moore: las salidas slo
valor de las memorias
y k fdepende
(m1k , m2k ,...mdel
m)

Mquina de Mealy

Mquina de MEALY: Una mquina secuencial de tipo


MEALY es una 5-tupla M=(Q,I,O,,) donde:
Q es un conjunto finito de estados
I es un conjunto finito de entradas (smbolos de )
O es un conjunto finito de salidas (smbolos de )
: QxI Q es la funcin de transicin de estado
: QxI O es la funcin de salida

Q(T T ) ( IT , QT )
OT ( IT , QT )

O
COMBINACIONAL

Mquina de Moore

Mquina de MOORE: Una mquina secuencial de tipo


MOORE es una 5-tupla M=(Q,I,O,,) donde:
Q es un conjunto finito de estados
I es un conjunto finito de entradas (smbolos de )
O es un conjunto finito de salidas (smbolos de )
: QxI Q es la funcin de transicin de estado
Q O es la funcin de salida

I
COMBINACIONAL

Objetivos

Nociones de Mquinas de Moore y Mealy

Modelado

Diagramas de estado
Tablas de transicin

Simplificacin

Conversiones entre mquinas

Estados equivalentes
Aplicacin sobre el diagrama de estados
Aplicacin sobre las tablas de transicin

Diseo de sistemas secuenciales sncronos

Eleccin de estados (preferentemente con semntica de salida)


Simplificacin
Ecuaciones de transicin de estados

Activacin
Retencin

Casos prcticos

Ejemplo: Sumador binario bit a bit (1/4)

Entradas

Dos entradas binarias x1 y x2

Una salida binaria y

0 1 1 1 1

Estados- Maquina MEALY

q0 estado de no acarreo
q1 estado de acarreo 0

1 1 0 0

1 1 0 1 1

x2

Funcin de transicin de estado

Q = {q0,q1} donde

x1

(q0,11) = q1
(q1,00) = q0

(q0,00/01/10) = q0
(q1,10/01/11) = q1

Funcin de salida

(q0,00/11) = 0
(q1,00/11) = 1

(q0,01/10) = 1
(q1,01/10) = 0

IO
EJERCIC
ra y
a
p
d
a
d
r
e
v
Tablas de

Ejemplo: Sumador binario de 1 bit (2/4)


m={q0,q1}

N
CUESTI

cin
Interpreta
?
semntica

x1

x2

mt

mt+t

mt t x1 x2 x1mt x2 mt

y x1 x2 mt x1 x2 mt x1 x2 mt x1 x2 mt

Ejemplo: Sumador binario bit a bit (3/4)


0 1 1 1 1

x1

+
0 1 1 0 0

1 1 0 1 1

x2
Evento de ACTIVACIN
del estado q1

00/0

01,10/1

q0

11/1
11/0
00/1

q1

01,10/0

Diagrama de transicin de estados


Eventos de RETENCIN
del estado q0

ina
CUESTIN
s una mqu
e
e
u
q
e
tr
s
e
Demu
de Mealy

Ejemplo: Sumador binario bit a bit

Diseo-Mquina MOORE

estado
estado
estado
estado

de
de
de
de

0 1 1 0
no acarreo con salida y=0
no acarreo con salida y=1
acarreo con salida y=0
acarreo con salida y=1

1 1 0 1 1

x2

Funcin de transicin de estados

q00
q01
q10
q11

x1

Q = {q00,q01,q10,q11} donde

0 1 1 1 1

(4/4)

(q00/q01 ,00) = q00


(q00/q01 ,11) = q10
(q10/q11 ,00) = q01
(q10/q11 ,11) = q11
(q00/q01 ,01/10) = q01
(q10/q11,01/10) = q10

Funcin de salida

(q00/q10) = 0

(q01/q11) = 1

n
versi
n
N
o

c
I
T
le
re
CUES otra posib aly a Moo
e
de Me
Indiqu

Representacin-Diagrama de estados (1/2)

Diagrama de estados

Grafo cuyos nodos representan estados y los arcos


cambios (transiciones) entre estados fruto de eventos

MEALY
CUESTIN I
MEALY o MOORE?

01,10/1

00/0

11/1
11/0

q0

00/1

q1

01,10/0

CUESTIN II
Secuencial o combinacional?

01,10

q01 /1

q10 /0

00

10,01

11

SUMADOR
EN SERIE DE
1 BIT

11

0 1 ,1 0

MOORE

q00 /0

0 1 ,1 0

00

q11/1

11

Representacin-Tabla de transicin

Tabla de transicin de estados

0 1 1 1 1

(2/2)
x1

y
Representacin tabular de las funciones de transicin de
+
estado y salida

SUMADOR EN SERIE DE 1 BIT


0 1 1 0 0

Modelo MEALY

1 1 0 1 1

x2

Modelo MOORE

q T |x00
1 x01
2
11 10 00 01 11 10 O q T |x1x 2
q0
q1
q10
q11

q0,0
q0,1
q01
q01

q0,1
q1,0
q10
q10

q1,0 q0,1
q1,1 q1,0
q11
qT T q10
q11 q10

q00 q00 q01 q10 q01 0


q01 q00 q01 q10 q01 1
0
1

qT T
CUESTIN
Razone si pueden existir problemas de
implementacin de la
mquina para este caso

La salida se computa a partir del


estado actual (Qt) y las entradas

Simplificacin- estados equivalentes (1/3)

ESTADOS EQUIVALENTES (intuicin)


Dos estados son equivalentes cuando para una
misma secuencia de entradas la mquina evoluciona
de la misma manera: pasa por los mismos estados y
presenta la misma salida en todo momento

Simplificacin-ejemplo

(2/3)

Reconocedor de cadenas 101

10101 una sola secuencia

Rec.(101)

...111011011

I: x={0,1}
O: y={0,1}

0/0

NADA
Cadena {101}
NO encontrada

Cadena {101}
encontrada

...001001000
1/0

1/0

II
IN
T
S
l?
E
CU
c i ona
a
n
i
b
Com

1/0
0/0

10

1/1

101

0/0
0/0

Estados:

NADA
1
10
101

ningn smbolo reconocido


subcadena 1 reconocida
subcadena 10 reconocida
cadena 101 reconocida

I
CUESTIN
oore?
Mealy o M

Simplificacin-ejemplo

(3/3)

Identificacin de estados equivalentes


ICIO
EJERC
0/0

e t ra n
Tabla d

1/0
1/0

NADA

1/0
0/0

10

1/1

101

Q\X

0/0
1/1
0/0

Control secuencial
con mquinas
sncronas

Conversin a Mquina de Moore


Q\X

x=0

x=1 y

Qn

Qn

Q1

Q1

Q10

Q1

Q10

Qn

Q101 0

Q101

Qn

Q1

NADA/0

sicin

x=0

x=1

Qn

Qn/0

Q1/0

Q1

Q10/0 Q1/0

Q10

Qn/0

Q101/1

Q101

Qn/0

Q1/0

1
1

1/0

1
0

10/0

0
0
No hay estados equivalentes

101/1

Ejercicio: Control de un carrito


LEY DE CONTROL
Un ciclo completo de
ida y vuelta tras cada
pulsacin de PON

Izqda

A
PON

Entradas

Dcha

(1/7)
Salidas

PON

Izq

Dcha

Tanteo con mquina de Moore: Un estado por


cada combinacin de salidas posibles con
sentido:

Reposo (R)
Derecha (D)
Izquierda (I)

Ecuaciones de transicin
E={Pon, A, B}
Q={R, D, I}
O= {Do, Io}

Pon

Qt\

00
0

00
1

01
0

01
1

10
0

10
1

11
0

11
1

0,0

1,0

x
01
1

11
0

x
11
1

0,1
O

0,0

1,0

x
11
1

0,1
O

00
0

00
1

01
0

I
Qt\

10
0

10
1

Ecuaciones de
retencin de estado
RR, DD, II

I
Qt\
Ecuaciones de
activacin de estado
DI, RD, IR

(2/7)

00
0

00
1

R
01
0

x
01
1

10
0

10
1

R
11
0

0,0

1,0

0,1

Ecuaciones de activacin
Qt\

00
0

00
1

01
0

R
I

10
0

10
1

01
1

(3/7)

x
R

11
0

11
1

0,0

1,0

0,1

Dt 1 Rt Pon A
Activacin del estado Derecha
I t 1 Dt (BA B )
Activacin del estado Izquierda
Activacin del estado ReposoRt 1 I t A
PON A

Reposo

Dcha

Izqda

Ecuaciones de retencin
Qt

(4/7)

00
0

00
1

01
0

01
1

10
0

10
1

11
0

11
1

0,0

1,0

0,1

Retencin del estado de reposo

Usando solo entradas y reposo(t)-el formalismo

Rt 1 Rt (( Pon A B) (Pon A B ) ( Pon


A B ) ...)

Usando entradas, reposo(t) y derecha(t+1),


programacin PLCs

Rt 1 Rt Dt 1

Retencin de D, I?

Ecuaciones de transicin finales


Qt

(5/7)

00
0

00
1

01
0

01
1

10
0

10
1

11
0

11
1

0,0

1,0

0,1

Activacin

Retencin

Dt 1 Rt A Pon Dt It 1
Trans. Derecha

I t 1 Dt B I t Rt 1
Trans. Izquierda

Trans. ReposoRt 1 I t A Rt Dt 1

Modificacin de especificaciones

(6/7)

Sucesivas pulsaciones de Pon alternan la


direccin del movimiento del carrito (si no
est en los extremos)
Qt

Activacin

00
0

00
1

01
0

R
I

Retencin

10
0

10
1

D
Qt

01
1
x

11
0

11
1

0,0

1,0

0,1

00
0

00
1

01
0

01
1

10
0

10
1

11
0

11
1

0,0

1,0

0,1

Nuevas ecuaciones de transicin


Qt

(7/7)

00
0

00
1

01
0

01
1

10
0

10
1

11
0

11
1

0,0

1,0

0,1

Activacin

Retencin

Trans. DerechaDt 1 Pon B ( Rt I t ) Dt I t 1

I t 1 Dt ( B Pon) I t ( Rt 1 Dt 1 )
Trans. Izquierda

Trans. ReposoRt 1 I t A Rt Dt 1

Ejercicio: Control de trfico en un sentido-A


e2

e1

q1

q2

q3

q4

q5

q6

q7

Disee una mquina de estados que permita detectar vehculos


que circulan en direccin contraria por una autova. Dicho sistema
tendr dos entradas e1 y e2 que sern las seales de dos clulas
fotoelctricas situadas a una distancia menor que 1) la longitud del
vehculo y 2) la separacin entre vehculos

Solucin
(e1,e2)

salida

Qt\

00

01

10

11

C1: no vehculo

NO

NO

SI

SC

C2: correcto

SC

NO

SC

SC

SC

C3: incorrecto

SI

NO

SI

SI

SI

NOt 1 ( SCt SI t ) E1 E 2 NOt (SI t 1 SC


t 1 )
SCt 1 NOt E1 SCt NOt 1
SI t 1 NOt E 2 SI t NOt 1
01,11,10
C3/0

00,11
00
01

C1/1

01,11,10
10
00

C2/1

EJERCICIO
Ecuaciones de salida

Ejercicio: Control de trfico en un sentido-B


e2

e1

q1

q2

q3

q4

q5

q6

q7

Disee una mquina de estados que permita detectar vehculos


que circulan en direccin contraria por una autova. Dicho sistema
tendr dos entradas e1 y e2 que sern las seales de dos clulas
fotoelctricas situadas a una distancia mayor que la longitud del
vehculo y menor que la separacin entre vehculos

Tabla de transicin (I)


(e1,e2)

Qt\

00

01

10

11

no vehculo

NO

NO

SI

SC

correcto

SC

VE
C

SC

SC

SI

VEI

SI

SI

VEI

VEI

SI

VE
C

VE
C

SC

incorrecto
vehculo entre sensores no ok
vehculo entre sensores ok

CUESTIN I
Es correcta la tabla?

CUESTIN II
Indique si existe un problema con el diseo

Tabla de transicin (II)


00

01

10

11

no vehculo

Qt\
(e1,e2)

correcto-10

NO

NO

SI-01

SC10

SC-10

SC00

SC10

SC-00

SC00

SC01

SC-01

NO

SC01

correcto-00
correcto-01

SI-01
CUESTI
NI
SI-00
Complete
la tabla

SI-10

0
0
CUESTIN II
n estado?
lg
a
r
a
c
fi
li
p
im
Se puede s
0

EJERCICIO
Ecuaciones de activacin y retencin para la mquina simplificada

Ejercicio: Control de un cilindro (1/3)


Realizar un automatismo para el control de un cilindro de doble
efecto con una electrovlvula 5/2 biestable. Se dispone de un
interruptor de inicio (I) y otro de parada (P), junto con dos
sensores de posicin S1 y S2, que detectan la compresin y
expansin del cilindro respectivamente.
Al activar I se realizarn ciclos completos de expansin/compresin
del cilindro hasta activar P, momento en que el cilindro volver al
reposo.
En reposo siempre estar comprimido el cilindro. La parada siempre
ser preferente.

Diseo de mquina de estado (2/3)

Qt

Entradas: {I, P, S1, S2}


Salidas: {A1 y A2} R
E
Estados

000
0

000
1

A1

A
2

C
{ Reposo (R), Expandiendo
(E), Comprimiendo (C)
}
conf. inicial del reposo
EJERCICIO I
Ecuaciones de salidas

I . Rt 1 Ct P S1 Rt Et 1

II . Et 1 Rt I S1 S2 P Ct S1 P Et Ct 1
III . Ct 1 Et S 2 Ct Et 1
Indica parada
preferente

EJERCICIO
II
Ecuacione
s en lengu
aje
de
contactos
(KOP)

Lenguaje KOP (3/3)

Rt 1 Ct P S1 Rt Et 1
Et 1 Rt I S1 S2 P Ct S1 P Et Ct 1
Ct 1 Et S 2 Ct Et 1

Ec. activacin

Ec. retencin

Tabla de transicin (II)-Solucin


00

01

10

11

no vehculo

Qt\
(e1,e2)

correcto-10

NO

NO

SI-01

SC10

SC-10

SC00

SC10

SC-00

SC00

SC01

SC-01

NO

SC01

SI-01
01
x

x10
SI-10

correcto-00
correcto-01
incorrecto-01
incorrecto-00
incorrecto-10

Qt\ SI-01
(e1,eSI-00
2)
NO SI-10

SI-00
00
SI-00
NONO

x
SI01/00

x 11 0 O
x
0

SI-10
SC- x x 0 1
10/00

SC10/00

SC10/00

SC-01

SC10/00

SC-01

NO

SC-01

Entorno S5-Bloque OB1

Entorno S5-Simulador

Simplificacin (1/3)

Estados equivalentes: Dado un autmata de estados


finitos A=(Q,I,O,,), dos estados qi, qj Q se dicen
equivalentes (qi,e) = (qj,e) e I y (qi) =(qj).
(MEALY (qi,e) = (qj,e) e I)

ESTADOS EQUIVALENTES (informal)


Dos estados son equivalentes cuando para una misma
secuencia de entradas la mquina evoluciona de la misma
manera: pasa por los mismos estados y presenta la misma
salida en todo momento

REDUCCIN DE AUTMATAS

Autmatas incompletamente especificados

Ejemplo: Detector de coches en sentido contrario

Especificar un sistema que permita detectar vehculos


que circulan en direccin contraria por una autova.
Dicho sistema tendr dos entradas e1 y e2 que sern las
seales de dos clulas fotoelctricas situadas a una
distancia menor que la longitud del vehculo y la
e2
separacin entre vehculos.
e1

q1

q2

q3

q4

q5

q6

q7

MEALY o MOORE?

REDUCCIN DE AUTMATAS
Estados compatibles: Dado un autmata de
estados finitos A=(Q,I,O,,) incompletamente
especificado, se dice que dos estados
qi, qj Q son compatibles qi ~ qj

Transitiva?

(1) (qi,e) = (qj,e) e I en el dominio


de especificacin
(2) (qi) = (qj) en el dominio de
especificacin

q1
q2
q3
q4
q5
q6
q7

00
q1
X
X
q1
X
X
q1

01
q5
X
q4
q4
q5
X
X

11
X
q3
q3
X
q6
q6
X

10
q2
q2
X
X
X
q7
q7

S
1
1
1
1
0
0
0

Condiciones de
retencin del estado?

Simplificacin de mquinas

Autmatas completamente especificados

Una vez construido un modelo:

Es posible reducir el nmero de estados?

coste de implementacin/ejecucin
manejabilidad del modelo
RELACION DE EQUIVALENCIA

Estados equivalentes: Dado un autmata de estados


finitos A=(Q,I,O,,), dos estados qi, qj Q se dicen
equivalentes (qi,e) = (qj,e) e I y (qi) =(qj).
(MEALY (qi,e) = (qj,e) e I)

Dos estados equivalentes son INDISTINGUIBLES


El comportamiento del autmata a partir de
cualquiera de los dos estados es el mismo.

REDUCCIN DE AUTMATAS
q1 -> C1 (sistema en reposo)
q2, q3, q4 -> C2 (coche en sentido permitido)
q5, q6, q7 -> C3 (coche en sentido contrario)

00
C1 C1
C2 C1
C3 C1

01,11,10
C3/0

01
C3
C2
C3

11
X
C2
C3

00,11
00
01

C1/1

10
C2
C2
C3

S
1
1
0

01,11,10
10
00

Mealy/Moore?

C2/1

SINCRONISMO vs ASINCRONISMO

01,11,10
C3/0

00,11
00
01

C1/1

01,11,10
10
00

C2/1

Tipo de Entradas?
Tipo de Salidas?

CDIGO NO ESTRUCTURADO
Difcil puesta a punto y mantenimiento

void main (void) {


//...
C1:
Genera (NO_ALARMA) ;
Entrada = Leer_Entrada () ;
if (Entrada == I01) goto C3 ;
if (Entrada == I10) goto C2 ;
goto C1 ;
C2:
Genera (NO_ALARMA) ;
Entrada = Leer_Entrada () ;
if (Entrada == I00) goto C1 ;
goto C2 ;
C3:
Genera (ALARMA) ;
Entrada = Leer_Entrada () ;
if (Entrada == I00) goto C1 ;
goto C3 ;
//...
return ;
}

SINCRONISMO vs ASINCRONISMO
0/0
void main (void)
{
while (1)
{
[Espera_Sincronismo ();]
Entrada Sncrona
Entrada = Leer_Bit ();
switch (Estado)
{
case NADA : if (Entrada==0) {Salida=0; Estado=NADA;}
else if (Entrada==1) {Salida=0; Estado=E1;}
break ;
case E1 : if (Entrada==0) {Salida=0; Estado=E10;}
else if (Entrada==1) {Salida=0; Estado=E1;}
break ;
case E10 : if (Entrada==0) {Salida=0; Estado=NADA;}
else if (Entrada==1) {Salida=1; Estado=E101;}
break ;
case E101 : if (Entrada==0) {Salida=0; Estado=NADA;}
else if (Entrada==1) {Salida=0; Estado=E1;}
break ;
}
Genera (Salida) ;
}
return ;
}

NADA

1/0
1/0

0/0

0/0
1/1

Retencin
del estado

Salidas
Sncronas

10

SINCRONISMO vs ASINCRONISMO

Reconocedor de cadenas con entrada de validacin


0

NADA/0

1
1

1/0

1
0

10/0

0
0

Salida
0
1

101/1

void main (void)


{
while (1)
{
Espera_Sincronismo () ;
Entrada = Leer_Bit () ;
switch (Estado)
{
case NADA : ...
...
}
Genera (Salida) ;
}
return ;
}

Introduccin

lgebra booleana

Representacin

Tablas de verdad
Puertas lgicas

Axiomas
Simplificacin
Ejemplos

Mquinas de estados

Mealy
Moore
Representacin

Tablas de transicin
Diagramas de estados

Simplificacin (Reduccin)
Sincronismo
Ejemplos

REPASO: S.E.D.
SISTEMAS DE EVENTOS DISCRETOS

ESTADO

CONTINUO

DISCRETO

Sistemas
Continuos
oAnalgicos

Sistemasde
EventosDiscretos
Asncronos

DISCRETO

TIEMPO

CONTINUO

Sistemasde
TiempoDiscreto
oMuestreados

Sistemasde
EventosDiscretos
Sncronos

También podría gustarte