La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

MÁQUINAS DE ESTADO FINITAS

Presentaciones similares


Presentación del tema: "MÁQUINAS DE ESTADO FINITAS"— Transcripción de la presentación:

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 DI, RD, IR 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 RR, DD, II

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

30

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


Descargar ppt "MÁQUINAS DE ESTADO FINITAS"

Presentaciones similares


Anuncios Google