Story Transcript
UASLP – FI
Laboratorio de Sistemas Digitales
Práctica 7
Práctica 7 Control de una Máquina Expendedora Mediante Máquinas de Estado Finito (FSM) 7.1 Objetivo El alumno aprenderá la importancia del diseño de una máquina de estados finitos (FSM) para controlar un proceso cualquiera. Diseñar un control mediante máquinas de estados finitos para controlar una máquina expendedora de productos.
7.2 Antecedentes Un circuito secuencial como ya se ha visto con anterioridad consiste en dos etapas principales: una etapa combinacional que tradicionalmente está conformada por compuertas AND, OR y NOT, y la siguiente etapa consiste básicamente en Flip-Flops y es una etapa de memoria. A un circuito secuencial también se le conoce en la literatura técnica como Máquina de Estado Finito o FSM de finite state machines. El nombre proviene del hecho de que el comportamiento funcional de estos circuitos puede representarse mediante un número finito de estados. Existen dos configuraciones básicas de las FSM las cuales son las siguientes: • •
Máquinas de Moore En esta configuración, el circuito secuencial o FSM las salidas sólo dependen de los estados. Máquinas de Mealy En esta máquina, las salidas dependen tanto del estado como de las entradas principales.
Una FSM, ya sea Moore o Mealy, pude formar parte de circuito que desempeñe una tarea específica, tal como el control de operaciones en un procesador en el que el control de la unidad aritmética lógica (ALU) está regido por una FSM que realiza el comando para permitir a la ALU realizar las operaciones básicas “suma-resta” “corrimientos lógicos” “corrimientos aritméticos” entre otras operaciones. En sistemas robotizados, sistemas mecatrónicos, entre otros.
7.3 Ejemplo de diseño de una FSM Diseñar una FSM de una máquina expendedora de productos, el producto cuesta $3.00 pesos y acepta monedas de $1.00 y $2.00 pesos. Suponga que solamente se puede introducir una moneda a la vez y que la máquina tiene monedas ilimitadas para dar cambio. También suponga que la señal de reloj tiene una frecuencia mucho mayor que la velocidad con que se introducen (las monedas). El sistema tiene dos entradas • U para indicar que se ha introducido una moneda de $1.00 • D para indicar que se ha introducido una moneda de $2.00 El sistema tiene dos salidas • P para indicar que se tiene que entregar producto • C para indicar que se tiene que entregar cambio
UASLP – FI
Laboratorio de Sistemas Digitales
Práctica 7
7.3.1 Planteamiento de la FSM i.
La máquina comienza a plantearse iniciando en un estado inicial S0 que indica que no se ha recibido ninguna moneda y por lo tanto no se entrega producto ni cambio. “Mientras no se reciba ninguna moneda se debe permanecer en este estado”.
ii.
Cuando se reciba una moneda de $1.00 (U=1) se debe pasar a un estado S1 que indique que hay $1.00 acumulado, todavía sin dar producto ni cambio.
iii.
Cuando se reciba una moneda de $2.00 (D=1) se debe pasar a un estado S2 que indique que hay $2.00 acumulados sin dar producto ni cambio.
El grafo parcial que arroja este análisis se ilustra en la figura 7.1.
Figura 7.1. Grafo parcial mostrando a S0 y sus transiciones
Ahora se analiza el estado S1 con $1.00 acumulado. iv.
Si en el estado S1 no se reciben monedas permanecerá sin cambios (es decir, se continúa en el estado S1). De lo contrario, si se recibe una moneda de $1.00 se procede al estado S2, para indicar que hay $2.00 acumulados.
v.
Si se recibe una moneda de $2.00 se procede a un estado S3 donde se entregará el producto sin cambio.
El grafo parcial que arroja este análisis se ilustra en la figura 7.2.
Figura 7.2. Grafo parcial hasta S1.
UASLP – FI
Laboratorio de Sistemas Digitales
Práctica 7
Ahora se analiza el estado S2 con $2.00 acumulado. vi.
El estado S2 indica que hay $2.00 acumulados, y mientras no reciba ninguna moneda debe permanecer sin cambios.
vii.
Si se recibe una moneda de $1.00 se procede al estado S3 donde se entrega producto.
viii.
Si se entrega una moneda de $2.00 se procede a un estado S4 donde se entrega el producto y se otorga cambio también.
El grafo parcial que arroja este análisis se ilustra en la figura 7.3.
Figura 7.3. Grafo parcial hasta S2.
Dado que la frecuencia de reloj se supone demasiado elevada respecto a la velocidad con que se introducen las monedas, se puede suponer que después de dar producto y cambio en los estados S3 y S4, no se reciben más monedas y se procede incondicionalmente al estado inicial S0. El grafo completo se muestra en la figura 7.4.
Figura 7.4. Grafo completo de la máquina expendedora.
7.3.2 Vaciado de información a la tabla de estados La siguiente etapa consiste en vaciar la información a una tabla de estados y elegir el FF a utilizar. Por simplicidad, seleccionamos el FF tipo D para el diseño del circuito secuencial. La tabla de estados, contiene todas las transiciones efectuadas en el grafo, y se ilustra a continuación
UASLP – FI
Laboratorio de Sistemas Digitales
Práctica 7
Tabla 7.1. Tabla de transición de estados Estado presente
Qi 000 001 010 011 100
00 S0 S1 S2 S0 S0
S0 S1 S2 S3 S4
Estado Siguiente Entrada: DU 01 10 S1 S2 S2 S3 S3 S4 S0 S0 S0 S0
Salida: PC 11 x x x S0 S0
0 0 0 1 1
0 0 0 0 1
Tabla 7.2. Tabla de transición de estados codificada Estado presente
000 001 010 011 100
00 000 001 010 000 000
Estado Siguiente Entrada: D U 01 10 001 010 010 011 011 100 000 000 000 000
Salida: P C 11 xxx xxx xxx 000 000
00 00 00 00 00
00 00 10 00 00
00 10 11 00 00
00 00 00 00 00
Para este ejemplo se necesitan dos tablas de transiciones. En la primera se establece el tipo de Flip-flop que deberá utilizarse en el diseño, la segunda tabla está formada por las salidas del sistema. Tabla 7.3. Tabla de excitación de Flip-flops U 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
q2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
q1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
q0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Q2 0 0 0 0 0 x x x 0 0 0 0 0 x x x 0 0 1 0 0 x x x x x x 0 0 x x x
Q1 0 0 1 0 0 x x x 0 1 1 0 0 x x x 1 1 0 0 0 x x x x x x 0 0 x x x
Q0 0 1 0 0 0 x x x 1 0 1 0 0 x x x 0 1 0 0 0 x x x x x x 0 0 x x x
J2 0 0 0 0 x x x x 0 0 0 0 x x x x 0 0 1 0 x x x x x x x 0 x x x x
K2 x x x x 1 x x x x x x x 1 x x x x x x x 1 x x x x x x x 1 x x x
J1 0 0 x x 0 x x x 0 1 x x 0 x x x 1 1 x x 0 x x x x x x x 0 x x x
K1 x x 0 1 x x x x x x 0 1 x x x x x x 1 1 x x x x x x x 1 x x x x
J0 0 x 0 x 0 x x x 1 x 1 x 0 x x x 0 x 0 x 0 x x x x x x x 0 x x x
K0 x 0 x 1 x x x x x 1 x 1 x x x x x 0 x 1 x x x x x x x 1 x x x x
D2 0 0 0 0 0 x x x 0 0 0 0 0 x x x 0 0 1 0 0 x x x x x x 0 0 x x x
D1 0 0 1 0 0 x x x 0 1 1 0 0 x x x 1 1 0 0 0 x x x x x x 0 0 x x x
D0 0 1 0 0 0 x x x 1 0 1 0 0 x x x 0 1 0 0 0 x x x x x x 0 0 x x x
UASLP – FI
Laboratorio de Sistemas Digitales
Práctica 7
Como se puede ver en la tabla 7.3, las ecuaciones de transición para los FF, se obtienen a partir de mapas de cinco variables, o puede recurrir a un software especializado para realizar la reducción de la tabla de verdad y obtener las ecuaciones. Para encontrar las ecuaciones de excitación de las salidas se recurre a la tabla 7.4. En esta tabla están presentes todas las combinaciones para C y P. Tabla 7.4. Tabla de excitación de salidas q2 0 0 0 0 1 1 1 1
q1 0 0 1 1 0 0 1 1
q0 0 1 0 1 0 1 0 1
C 0 0 0 1 1 x x x
P 0 0 0 0 1 x x x
Realizando las operaciones pertinentes, y considerado la utilización de Flip-flop’s JK, se obtienen las siguientes expresiones: Para las entradas a los FF-JK
Para las salidas
J0 = Dq2
P = q2
K 0 = q1 + D
C = q1q0 + q2
J1 = Dq0 + Uq2 K1 = q0 + U J2 = Uq1q0 K2 = 1
7.4 Desarrollo de la práctica Utilizando la tabla 7.4 y considerando las columnas para el Flip-flop tipo D, encuentre las ecuaciones de entrada a los FF tipo D. NOTA: Las expresiones de salida son las mismas que en el JK pues no dependen de los FF a utilizar. La expresión para D1 es D1 = Uq1q0 + Dq1q0 + Uq2 q1 . • Encuentre las ecuaciones para D0 y D2. • Determine el número de compuertas a utilizar mediante un diagrama esquemático. • Arme el circuito lógico digital • Agregue la parte del reloj diseñado en las prácticas anteriores. • Realice las conexiones necesarias y pruebe su circuito. o ¿Obedece al grafo de la figura 7.4?
7.5 Material y equipo Material Cantidad 1 2 1 3 1 1
Elemento Fuente de 5 VCD Tablilla de conexiones Interruptores DIP Diodo Emisor de Luz Resistencia de 470Ω Potenciómetro de 1MΩ
Descripción Fuente de alimentación Para circuitos integrados 4 entradas de cambio deslizable Estándar Para la construcción del multivibrador astable 555 Para la construcción del multivibrador astable 555
UASLP – FI
1 2 1 Las necesarias Las necesarias Las necesarias 4
Laboratorio de Sistemas Digitales
Práctica 7
Capacitor de 100μF a 50V Capacitares de 0.47μF a 50V 555 74LS32
Para la construcción del multivibrador astable 555 Para la construcción del astable (filtros) multivibrador Circuito integrado OR de dos entradas
74LS08
Circuito integrado AND de dos entradas
74LS04
Circuito integrado inversor
Resistencias 1KΩ
Para protección contra corto circuito
7.6 Conclusiones 7.7 Cuestionario 1. Dibuje el esquemático del circuito combinacional y secuencial del grafo que está en la figura 7.4. 2. Simule el circuito utilizando Electronics work bench. 3. Simule el circuito de la práctica y compárelo con el del punto 1 del cuestionario. 4. Investigar los siguientes temas: • ¿Por qué es necesario el control en una ALU? • La arquitectura de una computadora básica • La diferencia entre un microprocesador y un microcontrolador.
Anexar la simulación solicitada.