Máquina de Estado Finito FSM
Cristian Pulido Aldana (20231007060)
Sebastián Felipe Sotelo Martínez (20231007023)
Universidad Distrital Francisco José de Caldas
Bogotá, Colombia
I. OBJETIVOS
Objetivo general:
• Implementar una máquina de estados finitos para
solucionar un problema específico mediante la
modelación y control secuencial de eventos.
Objetivos específicos:
• Analizar el problema a resolver para identificar
Fig 1. Máquina de estado Mealy
los eventos, estados y transiciones involucradas.
Las FSM se clasifican comúnmente en dos tipos:
• Diseñar el diagrama de estados que represente el
comportamiento del sistema de forma secuencial
y lógica. • Máquina de Mealy, donde las salidas dependen
del estado actual y de las entradas.
• Simular y/o implementar físicamente la máquina • Máquina de Moore, donde las salidas dependen
de estados para validar su funcionamiento. únicamente del estado actual.
El diseño de una FSM implica:
II. MATERIALES
1) Definir los estados y las transiciones.
2) Codificar los estados y asignar las condiciones de
• Compuertas AND y OR cambio.
• Flip - flop tipo D 3) Usar flip-flops para almacenar el estado actual del
• Psoc con referencia CY8C5888LTI-LP039 sistema, en este caso se utiliza el flip- flop tipo D
(como alternativa a las compuertas) temporizador sincrónico.
• Jumpers
El flip-flop tipo D (de "Data" o "Delay") es un elemento
de memoria secuencial fundamental en electrónica
III. MARCO TEÓRICO digital. Su función principal es almacenar un bit de
información, actualizando su valor únicamente en un
Una máquina de estado finito (FSM), o simplemente flanco de reloj (normalmente el flanco de subida). El flip-
máquina de estados, es un modelo matemático utilizado flop tipo D tiene dos entradas principales:
para diseñar sistemas digitales secuenciales. Está
compuesto por un conjunto finito de estados, entradas, • D (dato): valor que se quiere almacenar.
salidas y reglas de transición que determinan cómo • CLK (reloj): controla cuándo se actualiza el valor
cambiar de un estado a otro en función de las entradas. almacenado.
Las máquinas de estado permiten describir y controlar el El modelo sistemático se presenta a continuación:
comportamiento de sistemas digitales, como
controladores, protocolos de comunicación, y procesos
automáticos.
Fig 2. Modelo sistemático flip- flip tipo D
La operación básica del flip-flop D se puede describir con
la siguiente tabla:
Fig 3. Esquema ilustrativo del problema.
Tabla 1. Tabla de verdad flip flop D
Q D Q(t+1) En el tanque donde se almacena la leche por medio de una
0 0 0 valvula V1 transporta la leche hasta la caldera, la cual
0 1 1 identifica variables como la temperatura y nivel de
llenado, porterior a ello la leche se transporta por una
1 0 0
valvula V2, para finalmente almacenar el producto, si es
1 1 1
el caso, en que suceda un error, inmediatamente la alarma
se activa, permitiendo informar al personal y solucionar
Esto significa que la salida Q tomará el valor de la los posibles daños ocurridos.
entrada D solamente cuando ocurra un flanco de subida
en la señal de reloj. En otros momentos, Q permanece V. DESCRIPCIÓN FUNCIONAL
constante. Este comportamiento lo hace ideal para
almacenar el estado en una máquina de estados, ya que Establecemos las posibles entradas y salidas de la FMS
permite sincronizar los cambios de estado con una señal
de reloj común. Entradas: Sensores
• Lleno (L)
Relación entre Flip-Flop D y Máquina de Estados • Temperatura (T)
En la implementación de una máquina de estados, los • Vacío (V)
flip-flops tipo D se utilizan para guardar el estado actual
del sistema. Cada flip-flop representa un bit del código Salidas: Actuadores
binario del estado. Cuando se activa el reloj, los flip-flops
• Válvula 1 (V1)
capturan el valor que define el nuevo estado según las
• Caldera (C)
transiciones diseñadas. Este nuevo estado determina el
• Válvula 2 (V2)
comportamiento futuro del sistema y las posibles salidas.
• Alarma (A)
Gracias a los flip-flops D, las máquinas de estados pueden
Logica implementada:
operar de forma sincrónica, respondiendo de manera
ordenada y precisa a las señales de entrada.
• L=1 si el Nivel >= 99%
• L=0 se el Nivel < 99%
IV. DESCRIPCIÓN DEL PROBLEMA: • T=1 si la temperatura es >= 120ºC
• T=0 si la temperatura es < 120ºC
Inicialmente tenemos: • V=1 si el Nivel <= 1%
• 2 tanques de almacenamiento • V=0 se el Nivel > 1%
• 1 caldera
• Una alarma Codificamos los posibles estados
Todo en conjunto crea un Sistema industrial totalmente
automatizado como lo muestra la siguiente figura:
11 110 11 0001
Tabla 2. Estados del problema 11 111 11 0001
Descripción Código Salidas estado presente
del estado Estado
𝐐𝟏 𝐐𝟎 𝐕𝟏 C 𝐕𝟐 A Si tenemos en cuenta las variables que están
Llenar 00 1 0 0 0 estrictamente relacionadas con la lógica del sistema,
Caldera podemos resumir la tabla 3 con condiciones de no
Calentar 01 0 1 0 0 importa, obteniendo una tabla simplificada equivalente:
Caldera
Desocupar 10 0 0 1 0 Tabla 4. condiciones de no importa
Caldera Estado Condición Estado Salidas
Error 11 0 0 0 1 Presente de Entradas Futuro (D1 (V1, C,
(Q1 Q2) (L, T, V) D2) V2, A)
Al identificar y codificar los posibles estados se crea la 00 0, X, X 00 1, 0, 0, 0
respectiva tabla de verdad, como en esta situación 1, 0, 0 01
tenemos relacionada el tiempo en que se llena la caldera OTRAS 11
es necesario plantear la tabla de estados siguientes. 01 1, 0, 0 01 0, 1, 0, 0
1, 1, 0 10
Tabla 3. tabla de estados siguientes. OTRAS 11
Estado Entradas Estado Salida 10 X, 1, 0 10 0, 0, 1, 0
presente LTV Futuro estado 0, X, 1 01
𝑸𝟏 𝑸𝟎 𝑫𝟏 𝑫𝟎 presente OTRAS 11
𝑽𝟏 , 𝑪, 𝑽𝟐 , 𝑨 11 X, X, X 11 0, 0, 0, 1
00 000 00 1000
00 001 00 1000 A partir de las tablas de estados presentada, es posible
00 010 00 1000 implementar el diagrama de estados del sistema, ya que
00 011 00 1000 en ella se encuentran definidas todas las combinaciones
00 100 01 1000 necesarias para su diseño.
00 101 11 1000
00 110 11 1000
00 111 11 1000
La tabla especifica:
01 000 11 0100
01 001 11 0100 • Los estados presentes del sistema (Q1, Q2).
01 010 11 0100 • Las condiciones de entrada (L, T, V) que
01 011 11 0100 determinan las transiciones.
01 100 01 0100 • El estado futuro correspondiente (D1, D2) para
01 101 11 0100 cada combinación.
01 110 10 0100 • las salidas asociadas (V1, C, V2, A) en cada
01 111 11 0100 estado.
10 000 10 0010
10 001 00 0010 Esta información permite identificar claramente las
10 010 10 0010
transiciones entre estados, lo cual es esencial para
10 011 00 0010
construir el diagrama de transiciones o gráfica de estados.
10 100 10 0010
10 101 11 0010 En dicho diagrama se representarán los nodos (estados) y
10 110 10 0010 las flechas (transiciones) etiquetadas con las condiciones
10 111 11 0010 de entrada que las provocan.
11 000 11 0001
11 001 11 0001
11 010 11 0001
11 011 11 0001
11 100 11 0001
11 101 11 0001
estado del sistema de forma sincrónica con la señal de
reloj.
Este circuito representa de manera estructural cómo el
sistema:
• Evalúa las entradas (L, T, V).
• Transita entre estados según la lógica definida
• Genera las salidas correspondientes a cada
estado.
Fig 4. Diagrama de estados
Sintetizar Moore
Se obtiene el siguiente esquema, el cual permite
implementar de forma clara y estructurada la máquina de
estados finita tipo Moore, separando la lógica de entrada,
el registro de estados y la lógica de salida, su arquitectura
modular facilita tanto la comprensión como la
modificación del comportamiento del sistema ante
distintas condiciones de entrada. Fig 6. Simulación en logisim
VII.CONCLUSIONES
Se logró diseñar e implementar una máquina de
estados finita tipo Moore, capaz de controlar un sistema
automatizado de procesamiento de leche, identificando
adecuadamente los estados operativos, las condiciones de
transición y las salidas correspondientes.
Fig 5. Diseño Moore Se aplicaron de manera práctica conceptos clave de
sistemas digitales, como flip-flops tipo D, compuertas
VI. DESCRIPCIÓN ESTRUCTURAL Y lógicas y funciones booleanas, demostrando cómo la
SIMULACIÓN teoría puede ser implementada en soluciones funcionales
presentes en la industria.
El circuito estructural mostrado es la implementación
lógica del diagrama de máquina de estados finita diseñado El uso de tablas de verdad, permitió simplificar las
previamente. A partir de la tabla de estados y el diagrama expresiones booleanas que controlan las transiciones y
de transiciones, se definieron las funciones booleanas que salidas del sistema, optimizando así el circuito estructural
rigen: en términos de número de compuertas y claridad del
• La evolución del estado del sistema (D1 y D2) diseño.
• Las salidas (V1, C, V2, A)
Se estableció una relación directa entre la tabla de
Estas funciones fueron simplificadas mediante mapas de estados, el diagrama de transiciones y el circuito digital
Karnaugh y luego implementadas con compuertas lógicas final. Esto evidenció que todo el comportamiento
(AND, OR, NOT) y flip-flops tipo D, que almacenan el secuencial diseñado se resume correctamente en el
circuito estructural implementado, lo cual valida la lógica
del sistema.
V. BIBLIOGRAFIA
1) Postgrado Ingenier´ıa, ”Teorema de Morgan: Leyes y
Aplicaciones,” *Postgrado Ingenier´ıa*, 2024. [En l´ınea].
Disponible:https://postgradoingenieria.com/teorema-
morganleyes-aplicaciones/:-:text=Primera
2) GoConqr, ”Leyes de Morgan,” *GoConqr*, 2024. [En
l´ınea].Disponible:https://www.goconqr.com/mapamental/176
36681/leyesde-morgan. [Accedido: 25-jun-2025].
3) PVJL, ”Compuertas Universales,” *PBworks*, 2024. [En
l´ınea].Disponible:https://pvjl.pbworks.com/f/compuertas.20u
niversales.pdf.[Accedido: 25 − jun − 2025].
4) Logicbus, ”Compuertas L´ogicas,” *Logicbus*, 2024. [En
l´ınea]. Disponible: https://www.logicbus.com.mx/compuertas-
logicas. [Accedido: 25-sep-2024]