Descargar la presentación
La descarga está en progreso. Por favor, espere
1
MÁQUINAS DE ESTADO FINITAS
Pablo San Segundo (C-206)
2
Sistemas secuenciales
Secuencial = combinacional + memorias (biestables) Tipos Síncrono: cambio de estado en cada ciclo de reloj. Asíncrono: cambio de estado nada mas detectarse variaciones en las entradas o en las memorias internas. Modelo formal: Máquina de estados Mealy: las salidas depende de las entradas y del valor de las memorias Moore: las salidas sólo depende del valor de las memorias
3
Máquina de Mealy Máquina de MEALY: Una máquina 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 (símbolos de …) O Ø es un conjunto finito de salidas (símbolos de …) : QxI Q es la función de transición de estado : QxI O es la función de salida COMBINACIONAL
4
Máquina de Moore Máquina de MOORE: Una máquina 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 (símbolos de …) O Ø es un conjunto finito de salidas (símbolos de …) : QxI Q es la función de transición de estado Q O es la función de salida COMBINACIONAL
5
Objetivos Nociones de Máquinas de Moore y Mealy Modelado
Conversiones entre máquinas Modelado Diagramas de estado Tablas de transición Simplificación Estados equivalentes Aplicación sobre el diagrama de estados Aplicación sobre las tablas de transición Diseño de sistemas secuenciales síncronos Elección de estados (preferentemente con semántica de salida) Ecuaciones de transición de estados Activación Retención Casos prácticos
6
Ejemplo: Sumador binario bit a bit (1/4)
Entradas Dos entradas binarias x1 y x2 Una salida binaria y Estados- Maquina MEALY Q = {q0,q1} donde q0 estado de no acarreo q1 estado de acarreo Función de transición de estado (q0,11) = q1 (q0,00/01/10) = q0 (q1,00) = q0 (q1,10/01/11) = q1 Función de salida (q0,00/11) = 0 (q0,01/10) = 1 (q1,00/11) = 1 (q1,01/10) = 0 EJERCICIO Tablas de verdad para d y b
7
Ejemplo: Sumador binario de 1 bit (2/4)
m={q0,q1} x1 x2 mt mt+Dt y 1 CUESTIÓN ¿Interpretación semántica?
8
Ejemplo: Sumador binario bit a bit (3/4)
Evento de ACTIVACIÓN del estado q1 Diagrama de transición de estados Eventos de RETENCIÓN del estado q0 CUESTIÓN Demuestre que es una máquina de Mealy
9
Ejemplo: Sumador binario bit a bit (4/4)
Diseño-Máquina MOORE Q = {q00,q01,q10,q11} donde q00 estado de no acarreo con salida y=0 q01 estado de no acarreo con salida y=1 q10 estado de acarreo con salida y=0 q11 estado de acarreo con salida y=1 Función de transición de estados (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 Función de salida (q00/q10) = 0 (q01/q11) = 1 Indique otra posible conversión de Mealy a Moore CUESTIÓN
10
Representación-Diagrama de estados (1/2)
Grafo cuyos nodos representan estados y los arcos cambios (transiciones) entre estados fruto de eventos MEALY CUESTIÓN I ¿MEALY o MOORE? CUESTIÓN II ¿Secuencial o combinacional? MOORE SUMADOR EN SERIE DE 1 BIT
11
Representación-Tabla de transición (2/2)
Tabla de transición de estados Representación tabular de las funciones de transición de estado y salida Modelo MEALY Modelo MOORE O q0 q0,0 q0,1 q1,0 q0,1 q00 q00 q01 q10 q q1 q0,1 q1,0 q1,1 q1,0 q01 q00 q01 q10 q q10 q01 q10 q11 q q11 q01 q10 q11 q10 1 SUMADOR EN SERIE DE 1 BIT La salida se computa a partir del estado actual (Qt) y las entradas CUESTIÓN Razone si pueden existir problemas de implementación de la máquina para este caso
12
Simplificación- estados equivalentes (1/3)
ESTADOS EQUIVALENTES (intuición) Dos estados son equivalentes cuando para una misma secuencia de entradas la máquina evoluciona de la misma manera: pasa por los mismos estados y presenta la misma salida en todo momento
13
Simplificación-ejemplo (2/3)
Reconocedor de cadenas 101 I: x={0,1} O: y={0,1} …10101 una sola secuencia CUESTIÓN II ¿Combinacional? Cadena {101} NO encontrada Cadena {101} encontrada Estados: NADA ningún símbolo reconocido 1 subcadena 1 reconocida 10 subcadena 10 reconocida 101 cadena 101 reconocida CUESTIÓN I ¿Mealy o Moore?
14
Simplificación-ejemplo (3/3)
Identificación de estados equivalentes EJERCICIO Tabla de transición 0/0 1/0 1/0 NADA 1/0 0/0 1/1 101 1 10 Q\X x=0 x=1 Qn Qn/0 Q1/0 Q1 Q10/0 Q10 Q101/1 Q101 0/0 1/1 0/0 Control secuencial con máquinas síncronas Conversión a Máquina de Moore NADA/0 1/0 10/0 101/1 1 Q\X x=0 x=1 y Qn Q1 Q10 Q101 1 No hay estados equivalentes
15
Ejercicio: Control de un carrito (1/7)
LEY DE CONTROL Un ciclo completo de ida y vuelta tras cada pulsación de PON Entradas Salidas PON Izq A Dcha B Dcha Izqda A B PON Tanteo con máquina de Moore: Un estado por cada combinación de salidas posibles con sentido: Reposo (R) Derecha (D) Izquierda (I)
16
Ecuaciones de transición (2/7)
Pon A B E={Pon, A, B} Q={R, D, I} O= {Do, Io} Qt\ 000 001 010 011 100 101 110 111 O R x 0,0 D 1,0 I 0,1 Qt\ 000 001 010 011 100 101 110 111 O R x D 0,0 I 1,0 0,1 Ecuaciones de activación de estado DI, RD, IR Qt\ 000 001 010 011 100 101 110 111 O R x D 0,0 I 1,0 0,1 Ecuaciones de retención de estado RR, DD, II
17
Ecuaciones de activación (3/7)
Qt\ 000 001 010 011 100 101 110 111 O R x D 0,0 I 1,0 0,1 Activación del estado Derecha Activación del estado Izquierda Activación del estado Reposo Reposo Dcha Izqda
18
Ecuaciones de retención (4/7)
Qt 000 001 010 011 100 101 110 111 O R x D 0,0 I 1,0 0,1 Retención del estado de reposo Usando solo entradas y reposo(t)-el formalismo Usando entradas, reposo(t) y derecha(t+1), programación PLCs ¿Retención de D, I?
19
Ecuaciones de transición finales (5/7)
Qt 000 001 010 011 100 101 110 111 O R x D 0,0 I 1,0 0,1 Activación Retención Trans. Derecha Trans. Izquierda Trans. Reposo
20
Modificación de especificaciones (6/7)
Sucesivas pulsaciones de Pon alternan la dirección del movimiento del carrito (si no está en los extremos) Qt 000 001 010 011 100 101 110 111 O R x D 0,0 I 1,0 0,1 Activación Qt 000 001 010 011 100 101 110 111 O R x D 0,0 I 1,0 0,1 Retención
21
Nuevas ecuaciones de transición (7/7)
Qt 000 001 010 011 100 101 110 111 O R x D 0,0 I 1,0 0,1 Activación Retención Trans. Derecha Trans. Izquierda Trans. Reposo
22
Ejercicio: Control de tráfico en un sentido-A
q1 q2 q3 q4 q5 q6 q7 Diseñe una máquina de estados que permita detectar vehículos que circulan en dirección contraria por una autovía. Dicho sistema tendrá dos entradas e1 y e2 que serán las señales de dos células fotoeléctricas situadas a una distancia menor que 1) la longitud del vehículo y 2) la separación entre vehículos
23
Solución Qt\ 00 01 10 11 O NO SI SC x 1 (e1,e2) salida
C1: “no vehículo” C2: “correcto” C3: “incorrecto” EJERCICIO Ecuaciones de salida
24
Ejercicio: Control de tráfico en un sentido-B
q1 q2 q3 q4 q5 q6 q7 Diseñe una máquina de estados que permita detectar vehículos que circulan en dirección contraria por una autovía. Dicho sistema tendrá dos entradas e1 y e2 que serán las señales de dos células fotoeléctricas situadas a una distancia mayor que la longitud del vehículo y menor que la separación entre vehículos
25
Tabla de transición (I)
“correcto” “incorrecto” “no vehículo” (e1,e2) “vehículo entre sensores no ok” “vehículo entre sensores ok” Qt\ 00 01 10 11 O NO SI SC x 1 VEC VEI I CUESTIÓN I ¿Es correcta la tabla? CUESTIÓN II Indique si existe un problema con el diseño
26
Tabla de transición (II)
Qt\(e1,e2) 00 01 10 11 O NO SI-01 SC-10 x 1 SC-00 SC-01 SI-00 SI-10 “correcto-10” “correcto-00” “no vehículo” “correcto-01” CUESTIÓN I Complete la tabla CUESTIÓN II ¿Se puede simplificar algún estado? EJERCICIO Ecuaciones de activación y retención para la máquina simplificada
27
Ejercicio: Control de un cilindro (1/3)
Realizar un automatismo para el control de un cilindro de doble efecto con una electroválvula 5/2 biestable. Se dispone de un interruptor de inicio (I) y otro de parada (P), junto con dos sensores de posición S1 y S2, que detectan la compresión y expansión del cilindro respectivamente. Al activar I se realizarán ciclos completos de expansión/compresión 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. I P
28
Diseño de máquina de estado (2/3)
Qt 0000 0001 … A1 A2 R E C Entradas: {I, P, S1, S2} Salidas: {A1 y A2} Estados { Reposo (R), Expandiendo (E), Comprimiendo (C) } conf. inicial del reposo EJERCICIO I Ecuaciones de salidas Indica parada preferente EJERCICIO II Ecuaciones en lenguaje de contactos (KOP)
29
Lenguaje KOP (3/3) Ec. activación Ec. retención
31
Tabla de transición (II)-Solución
Qt\(e1,e2) 00 01 10 11 O NO SI-01 SC-10 x 1 SC-00 SC-01 SI-00 SI-10 “correcto-10” “correcto-00” “no vehículo” “correcto-01” “incorrecto-01” “incorrecto-00” “incorrecto-10” Qt\(e1,e2) 00 01 10 11 O NO SI-01/00 SC-10/00 x 1 SC-01 SI-01 SI-10
32
Entorno S5-Bloque OB1
33
Entorno S5-Simulador
34
Simplificación (1/3) Estados equivalentes: Dado un autómata 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 máquina evoluciona de la misma manera: pasa por los mismos estados y presenta la misma salida en todo momento
35
REDUCCIÓN DE AUTÓMATAS
Autómatas incompletamente especificados Ejemplo: Detector de coches en sentido contrario Especificar un sistema que permita detectar vehículos que circulan en dirección contraria por una autovía. Dicho sistema tendrá dos entradas e1 y e2 que serán las señales de dos células fotoeléctricas situadas a una distancia menor que la longitud del vehículo y la separación entre vehículos. e1 e2 q1 q2 q3 q4 q5 q6 q7 ¿MEALY o MOORE?
36
REDUCCIÓN DE AUTÓMATAS
Estados compatibles: Dado un autómata de estados finitos A=(Q,I,O,,) incompletamente especificado, se dice que dos estados qi, qj Q son compatibles qi ~ qj (1) (qi,e) = (qj,e) e I en el dominio de especificación (2) (qi) = (qj) en el dominio de especificación Transitiva? Condiciones de retención del estado? S q1 q1 q5 X q2 1 q2 X X q3 q2 1 q3 X q4 q3 X 1 q4 q1 q4 X X 1 q5 X q5 q6 X 0 q6 X X q6 q7 0 q7 q1 X X q7 0
37
Simplificación de máquinas
Autómatas completamente especificados Una vez construido un modelo: ¿Es posible reducir el número de estados? coste de implementación/ejecución manejabilidad del modelo Dos estados equivalentes son INDISTINGUIBLES El comportamiento del autómata a partir de cualquiera de los dos estados es el mismo. RELACION DE EQUIVALENCIA Estados equivalentes: Dado un autómata 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)
38
REDUCCIÓN DE AUTÓMATAS
q1 -> C1 (sistema en reposo) q2, q3, q4 -> C2 (coche en sentido permitido) q5, q6, q7 -> C3 (coche en sentido contrario) S C1 C1 C3 X C2 1 C2 C1 C2 C2 C2 1 C3 C1 C3 C3 C3 0 Mealy/Moore?
39
SINCRONISMO vs ASINCRONISMO
void main (void) { //... C1: Genera (NO_ALARMA) ; Entrada = Leer_Entrada () ; if (Entrada == I01) goto C3 ; if (Entrada == I10) goto C2 ; goto C1 ; C2: if (Entrada == I00) goto C1 ; goto C2 ; C3: Genera (ALARMA) ; goto C3 ; return ; } Tipo de Entradas? Tipo de Salidas? CÓDIGO NO ESTRUCTURADO Difícil puesta a punto y mantenimiento
40
SINCRONISMO vs ASINCRONISMO
void main (void) { while (1) [Espera_Sincronismo ();] 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;} case E10 : if (Entrada==0) {Salida=0; Estado=NADA;} else if (Entrada==1) {Salida=1; Estado=E101;} case E101 : if (Entrada==0) {Salida=0; Estado=NADA;} } Genera (Salida) ; return ; Entrada Síncrona Retención del estado Salidas Síncronas
41
SINCRONISMO vs ASINCRONISMO
Reconocedor de cadenas con entrada de validación NADA/0 1/0 10/0 101/1 1 void main (void) { while (1) Espera_Sincronismo () ; Entrada = Leer_Bit () ; switch (Estado) case NADA : ... ... } Genera (Salida) ; return ;
42
Introducción Álgebra booleana Máquinas de estados Representación
Tablas de verdad Puertas lógicas Axiomas Simplificación Ejemplos Máquinas de estados Mealy Moore Tablas de transición Diagramas de estados Simplificación (Reducción) Sincronismo
43
REPASO: S.E.D. SISTEMAS DE EVENTOS DISCRETOS Sistemas Continuos
o Analógicos TIEMPO Sistemas de Eventos Discretos Asíncronos Tiempo Discreto o Muestreados Síncronos CONTINUO DISCRETO ESTADO
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.