sistemas empotrados automatas de estados finitos€¦ · máquinas de estados finitas 2 funciones...
TRANSCRIPT
![Page 2: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/2.jpg)
Máquinas de estados finitas 2
Funciones básicas: AND, OR y NOT
y a=y a b= ⋅y a b= +
a b y0 0 00 1 11 0 11 1 1
a y0 11 0
b
a
ya b
y
Notación
AND OR NOT¬∨∧
yi +
![Page 3: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/3.jpg)
Máquinas de estados finitas 3
Teoremas
a a=
NOT
1
00 0
a a aa a
a aa
⋅ =⋅ =
⋅ =⋅ =
AND
1 10
1
a a aaa a
a a
+ =+ =+ =
+ =
OR
Leyes de Morgan
a b a b
a b a b
+ = ⋅
⋅ = +
a b b aa b b a
+ = +⋅ = ⋅
Conmutatividad
( ) ( )( ) ( )
a b c a b ca b c a b c
+ + = + +⋅ ⋅ = ⋅ ⋅
Distributividad
( ) ( ) ( )( ) ( ) ( )
a b c a b a ca b c a b a c
⋅ + = ⋅ + ⋅+ ⋅ = + ⋅ +
Asociatividad
![Page 4: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/4.jpg)
Máquinas de estados finitas 4
Funciones derivadas
NOR y a b= + NAND y a b= ⋅
Demostrar Demostrar
XNOR y a b a b a b= ⊕ = ⋅ + ⋅XOR y a b a b a b= ⊕ = ⋅ + ⋅
![Page 5: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/5.jpg)
Máquinas de estados finitas 5
XOR y a b a b a b= ⊕ = ⋅ + ⋅Formas canónicas
SUMAS DE PRODUCTOS (SP)
Términos por cada ‘1’ de la salida
PRODUCTOS DE SUMAS (PS)
Términos por cada ‘0’ de la salida
Se niega la función resultante y se simplifica aplicando Morgan
: ( ) ( )SP y a b a b= ⋅ + ⋅
: ( ) ( )
( ) ( )
( ) ( )
( ) ( )
PS y a b a b
y a b a b
y a b a b
y a b a b
= ⋅ + ⋅ ⇒
⇒ = ⋅ + ⋅ ⇒
⇒ = ⋅ ⋅ ⋅ ⇒
⇒ = + ⋅ +
![Page 6: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/6.jpg)
Máquinas de estados finitas 6
EJERCICIO
a b c y0 0 0 10 0 1 10 1 0 10 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0
SP? PS?
![Page 7: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/7.jpg)
Máquinas de estados finitas 7
SIMPLIFICACIÓN (Karnaugh) : ( ) ( ) ( ) ( ) ( )
( ) ( ) ( )
SP y a b c a b c a b c a b c a b c
a b c a b c a b c
= ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅ +
+ ⋅ ⋅ + ⋅ ⋅ + ⋅ ⋅1- Desarrollo de Sumas de Prod (SP)
2- Construir Tabla de Karnaugh (SP)
3- Agrupar casillas a ‘1’ adyacentesen potencias de 2 (1,2,4,8,…)
4- Simplificar expresión SP eliminando las variables que cambien de valor en las agrupaciones
a b c y0 0 0 00 0 1 10 1 0 10 1 1 11 0 0 01 0 1 11 1 0 01 1 1 1
1
1 1
1
1
a b⋅
a b⋅
a b⋅
a b⋅
c c
( )y c a b= + ⋅
![Page 8: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/8.jpg)
Máquinas de estados finitas 8
EJERCICIO: Función lógica (SP) y simplificación
a b c d y
0 0 0 0 0
0 0 0 1 1
0 0 1 0 0
0 0 1 1 1
0 1 0 0 0
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 1
: ( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
SP y a b c d a b c d a b c d
a b c d a b c d a b c d
a b c d a b c d a b c d
= ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ +
+ ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ +
+ ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅ + ⋅ ⋅ ⋅
1 1
1 1 1
1 1
1 1
a b⋅
a b⋅
a b⋅
a b⋅
c d⋅ c d⋅ c d⋅ c d⋅
( )y d a b c= + ⋅ ⋅
![Page 9: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/9.jpg)
Máquinas de estados finitas 9
CONTROL DE UN CARRITO
PON
A B
Entradas Salidas
PON Izq
SA Dcha
SB
Dcha
Izqda
Reposo Dcha Izqda
AON SP ⋅ BS
AS
B ONS P+
ONP
PON alterna la dirección del movimiento
![Page 10: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/10.jpg)
Máquinas de estados finitas 10
MÁQUINAS DE ESTADOS FINITAS
![Page 11: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/11.jpg)
Máquinas de estados finitas 11
INTRODUCCIÓN Evento discreto: ocurrencia de una característica en la evolución de una
señal (flanco de subida, paso por un cierto nivel, pulso, llegada de un dato, …).
SistemasContinuos
o AnalógicosT
IEM
PO
Sistemas deEventos Discretos
Asíncronos
Sistemas deTiempo Discretoo Muestreados
Sistemas deEventos Discretos
Síncronos
CONTINUO DISCRETO
CO
NTI
NU
OD
ISC
RET
O
ESTADO
Eventos discretos
![Page 12: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/12.jpg)
Máquinas de estados finitas 12
INTRODUCCIÓN Sistemas de eventos discretos: sistemas dinámicos que cambian de
estado ante la ocurrencia de eventos discretos. Generalmente el estado sólo puede adquirir un conjunto discreto de valores y puede ser representado de forma simbólica en vez de numérica.
Ejemplo:
• Tiempo contínuo (sistemas asíncronos)
El estado del sistema puede cambiar en cualquier instante ante la llegada de un evento. Ej.: accionamiento del interruptor.
• Tiempo discreto (sistemas síncronos)
El estado del sistema sólo cambia cada T sg en función del estado y entradas presentes en esos instantes de tiempo.
– Evento interno: señal de reloj de la CPU (e.g. PLC)
encendida
apagada
accionamiento interruptor
accionamiento interruptor
![Page 13: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/13.jpg)
Máquinas de estados finitas 13
MÁQUINA DE MEALY Modelo 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 estadosI ≠ Ø 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
I O
Qβ
δCOMBINACIONAL
( ) ( , )
( , )T T T T
T T T
Q I Q
O I Q
δ
β+∆ =
=
![Page 14: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/14.jpg)
Máquinas de estados finitas 14
MÁQUINA DE MOORE Modelo 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 estadosI ≠ Ø 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
I Oλδ Q
COMBINACIONAL
![Page 15: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/15.jpg)
Máquinas de estados finitas 15
MODELADO Ejemplo: Sumador binario serie de 1 bit
• Dos entradas binarias x1 y x2
• Una salida binaria y
Modelo 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
…y
x1
2x
1
…
…
1 1
1 1
0
1
0
1
0
1
0
10
1+
![Page 16: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/16.jpg)
Máquinas de estados finitas 16
MODELADO Modelo 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 estado:
δ(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
…y
x1
2x
1
…
…
1 1
1 1
0
1
0
1
0
1
0
10
1+
![Page 17: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/17.jpg)
Máquinas de estados finitas 17
MODELADO Tabla de transición
• Representación tabular de las funciones de transición de estado y salida
Modelo MEALY Modelo MOORE
00 01 11 10 00 01 11 10 Oq0 q0,0 q0,1 q1,0 q0,1 q00 q00 q01 q10 q01 0q1 q0,1 q1,0 q1,1 q1,0 q01 q00 q01 q10 q01 1
q10 q01 q10 q11 q10 0q11 q01 q10 q11 q10 1
T Tq +∆
Tq
T Tq +∆
Tq
SUMADOR EN SERIE DE 1 BIT
Diseño: La salida se computa a partirdel estado actual y las entradas
![Page 18: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/18.jpg)
Máquinas de estados finitas 18
MODELADO Diagrama de transición
• Grafo cuyos nodos representan estados y los arcos cambios de estado.
Modelo MEALY
Modelo MOORE
q0 q1
00/0 11/1
11/0
00/101,10/001,10/1
SUMADOR EN SERIE DE 1 BIT
00 11 10,01
00
01,10 11
00 11
01,1
0
00 1101,10
q00 /0 q10/0
q11/1q
01 /1
![Page 19: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/19.jpg)
Máquinas de estados finitas 19
REDUCCIÓN DE AUTOMATAS 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)
![Page 20: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/20.jpg)
Máquinas de estados finitas 20
REDUCCIÓN DE AUTÓMATAS Reconocedor de cadenas 101
• I: x={0,1}
• O: y={0,1}
Rec.(101)x y
...111011011 ...001001000
NADA 1 10 101
0/0 1/0 1/0
1/0 0/0 1/1
0/00/0
Estados: NADA ningún símbolo reconocido
1 subcadena 1 reconocida
10 subcadena 10 reconocida
101 cadena 101 reconocida
…10101 una sola secuencia
Cadena no encontrada Cadena
encontrada
Mealy/Moore?
Análisiscomputacional
![Page 21: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/21.jpg)
Máquinas de estados finitas 21
REDUCCIÓN DE AUTÓMATAS Identificación de estados equivalentes
NADA 1 10 101
0/0 1/0
1/0 0/0 1/1
0/0
1/0
0/0
1/1
Conversión a Máquina de Moore
NADA/0 1/0 10/0 101/1
0 1 1
1 0 1
0
0
x=0 x=1Qn Qn/0 Q1/0Q1 Q10/0 Q1/0Q10 Qn/0 Q101/1Q101 Qn/0 Q1/0
x=0 x=1 yQn Qn Q1 0Q1 Q10 Q1 0Q10 Qn Q101 0Q101 Qn Q1 1
Control secuencialMáquinas Síncronas
No hay estados equivalentes
![Page 22: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/22.jpg)
Máquinas de estados finitas 22
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 e1y 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?
![Page 23: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/23.jpg)
Máquinas de estados finitas 23
REDUCCIÓN DE AUTÓMATAS
Transitiva?
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
Condiciones de retención del
estado?
00 01 11 10 Sq1 q1 q5 X q2 1q2 X X q3 q2 1q3 X q4 q3 X 1q4 q1 q4 X X 1q5 X q5 q6 X 0q6 X X q6 q7 0q7 q1 X X q7 0
![Page 24: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/24.jpg)
Máquinas de estados finitas 24Algoritmo
REDUCCIÓN DE AUTÓMATAS
GRAFO DE COMPATIBILIDAD
Algoritmo para reducción
1)Construir el grafo de compatibilidad binaria
2)Encontrar el mayor subgrafocompleto S en el grafo (estadoscompatibles)
3)Borrar S y volver al paso 2 hasta que todos los vérticesestén agrupados
q1
q7
q2
q6
q5
q4
q3
C2C1
C3Análisis de complejidad
![Page 25: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/25.jpg)
Máquinas de estados finitas 25
REDUCCIÓN DE AUTÓMATASReducción de estados
q1 -> C1 (sistema en reposo)
q2,q3,q4 -> C2 (coche en sentido permitido)
q5,q6,q7 -> C3 (coche en sentido contrario)
00 01 11 10 SC1 C1 C3 X C2 1C2 C1 C2 C2 C2 1C3 C1 C3 C3 C3 0
C1/1C3/0 C2/1
00,11 01,11,10
10
01
00
00
01,11,10
Mealy/Moore?
![Page 26: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/26.jpg)
Máquinas de estados finitas 26
IMPLEMENTACIÓN Ejemplo: Detector sentido contrario
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 ;
}
C1/1C3/0 C2/1
00,11 01,11,10
10
01
00
00
01,11,10
CÓDIGO NO ESTRUCTURADO
Difícil puesta a punto y mantenimiento
Tipo de Entradas? Tipo de Salidas?
![Page 27: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/27.jpg)
Máquinas de estados finitas 27
IMPLEMENTACIÓN Ciclo de tratamiento
Ej.: Detección sentido contrario
MOORE
Entradassíncronas
Salidas asíncronas
void main (void) {
while (1){Entrada = Leer_Entrada () ;Estado = Sig_Estado ;switch (Estado){case C1 : Genera (NO_ALARMA) ;
switch (Entrada) {case I01 : Sig_Estado = C3 ; break ;case I10 : Sig_Estado = C2 ; break ;default : ;}
break ;case C2 : Genera (NO_ALARMA) ;
if (Entrada == I00) Sig_Estado = C3 ;break ;
case C3 : Genera (ALARMA) ;if (Entrada == I00) Sig_Estado = C1 ; break ;
}}return ;
}
¿Salidassíncronas?
![Page 28: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/28.jpg)
Máquinas de estados finitas 28
IMPLEMENTACIÓN Ej: Reconocedor de cadenas
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;}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 10
0/0 1/0
1/0 0/0
1/10/0
SalidasSíncronas
EntradaSíncrona
Retención
![Page 29: SISTEMAS EMPOTRADOS AUTOMATAS DE ESTADOS FINITOS€¦ · Máquinas de estados finitas 2 Funciones básicas: AND, OR y NOT ya= +b y =ab⋅ ya= a b y 0 0 0 0 1 1 1 0 1 1 1 1 a y 0 1](https://reader034.vdocuments.pub/reader034/viewer/2022051608/603e470eb881a12fc125b254/html5/thumbnails/29.jpg)
Máquinas de estados finitas 29
IMPLEMENTACIÓN Reconocedor de cadenas con entrada de validación
NADA/0 1/0 10/0 101/1
0 1 1
1 0 1
0
0
void main (void) {
while (1) {Espera_Sincronismo () ;Entrada = Leer_Bit () ;switch (Estado){case NADA : ......
}Genera (Salida) ;
}return ;
}
0
1
Salida