Está en la página 1de 7

Máquina expendedora de bebidas

Diseñar un sistema secuencial síncrono (modelo de Mealy) que simule a una máquina ex-
pendedora de bebidas en la que el precio unitario de la lata es de 100 pesetas. La máquina
admite monedas de 25, 50 y 100 pesetas. La máquina tiene dos salidas, y1 e y0 . Se deben intro-
ducir monedas hasta que se alcance o sobrepase el precio unitario; en este caso debe activarse la
salida y1 (y1 = 1). Si se debe devolver cambio se activará la salida y0 (y0 = 1).

Diagrama de estados
Entradas posibles, x(t):
No introducir nada.
Introducir una moneda de 25 pesetas.
Introducir una moneda de 50 pesetas.
Introducir una moneda de 100 pesetas.
Estados posibles, s(t), que estarán relacionados con la cantidad acumulada en la máquina:
Nada acumulado, q0 .
25 pesetas acumuladas, q1 .
50 pesetas acumuladas, q2 .
75 pesetas acumuladas, q3 .
Cuando llegue a 100 o más, como ya activa las salidas y es un modelo de Mealy, el estado
será el q0 .
nada/00
100/10

q0 Estado inicial

25/00
100/11

50/00 q1
nada/00
50/10
100/11 25/00

nada/00
q2
25/10
50/11
25/00 50/00
100/11

q3

nada/00

1
Tabla de estados y tabla de salidas
& x(t) S(t + 1) z(t) = y1 y0
S(t) & x = nada x = 25 x = 50 x = 100 x = nada x = 25 x = 50 x = 100
q0 q0 q1 q2 q0 00 00 00 10
q1 q1 q2 q3 q0 00 00 00 11
q2 q2 q3 q0 q0 00 00 10 11
q3 q3 q0 q0 q0 00 10 11 11

Especicación binaria
Se trata de codicar en binario x(t), S(t) y z(t). La salida z(t) ya está codicada con y1 y0 .

Estado S(t) Q1 Q0 Entrada x(t) x1 x0


q0 00 nada 00
q1 01 25 01
q2 10 50 11
q3 11 100 10

Tabla de estados y tabla de salidas en binario


S(t + 1) z(t)
S(t) Q1 Q0 Q1 Q0 Q1 Q0 Q1 Q0 y1 y0
Q1 Q0 x = 00 x = 01 x = 11 x = 10 x = 00 x = 10 x = 11 x = 10
00 00 01 10 00 00 00 00 10
01 01 10 11 00 00 00 00 11
10 10 11 00 00 00 00 10 11
11 11 00 00 00 00 10 11 11

Puesto que tenemos 2 variables de estado, Q1 y Q0 , se necesitan dos biestables.

Con biestables tipo J-K


Utilizando la tabla de excitación de los biestables tipo J-K, construimos las funciones J1 , K1 ,
J0 y K0 , que son las que nos proporcionan las funciones de transición de estado. La tabla de
estado, pero para cada variable de estado por separado, Q1 y Q0 , podemos obtener las variables
Ji y Ki . Para Q1 y cambiando de orden las las correspondientes a los estados q2 y q3 , para que
sean como mapas de Karnaugh, obtenemos:

S(t) Q1 (t + 1) J1 K1
Q1 Q0 x = 00 x = 01 x = 11 x = 10 00 10 11 10 00 10 11 10
00 0 0 1 0 0 0 1 0 - - - -
01 0 1 1 0 0 1 1 0 - - - -
11 1 0 0 0 - - - - 0 1 1 1
10 1 1 0 0 - - - - 0 0 1 1

A partir de estas tablas, hacemos los mapas de Karnaugh correspondientes a J1 y K1 y se


obtienen dichas funciones.

2
x1 x0 x1 x0
J1 00 01 11 10 K1 00 01 11 10
 
00 0 0 1 0 00 - - - -
 
01 0 1 1 0 01 - - - -
Q1 Q0 Q1 Q0
11 - - - - 11 0 1 1 1
 

10 - - - - 10 0 0 1 1
 
J1 = x1 x0 + Q0 x0 K 1 = x 1 + Q0 x 0

Procediendo de forma análoga para Q0 se obtiene:

S(t) Q0 (t + 1) J0 K0
Q1 Q0 x = 00 x = 01 x = 11 x = 10 00 10 11 10 00 10 11 10
00 0 1 0 0 0 1 0 0 - - - -
01 1 0 1 0 - - - - 0 1 0 1
11 1 0 0 0 - - - - 0 1 1 1
10 0 1 0 0 0 1 0 0 - - - -

x1 x0 x1 x0
J0 00 01 11 10 K0 00 01 11 10
  
00 0 1 0 0 00 - - - -

01 - - - - 01 0 1 0 1
Q1 Q0 Q1 Q0 
11 - - - - 11 0 1 1 1

10 0 1 0 0 10 - - - -
 


J0 = x1 x0 K0 = x1 x0 + x1 x0 + Q1 x0

Y las funciones de salida, y1 y0 , se obtienen a partir de la tabla de salida y simplicando.

S(t) y1 y0
Q1 Q0 x = 00 x = 01 x = 11 x = 10 x = 00 x = 01 x = 11 x = 10
00 0 0 0 1 0 0 0 0
01 0 0 0 1 0 0 0 1
11 0 1 1 1 0 0 1 1
10 0 0 1 1 0 0 0 1

3
x1 x0 x1 x0
y1 00 01 11 10 y0 00 01 11 10

00 0 0 0 1 00 0 0 0 0

01 0 0 0 1 01 0 0 0 1
Q1 Q0   Q1 Q0  
11 0 1 1 1 11 0 0 1 1
  

10 0 0 1 1 10 0 0 0 1
 

y1 = x1 x0 + Q1 x1 + Q1 Q0 x0 y0 = Q1 Q0 x1 + Q1 x1 x0 + Q0 x1 x0

Esquema del circuito con biestables J-K


x1 x0

Q1
J1 Q

Ck

K1 Q

Q0
J0 Q

Ck

K0 Q

y1

y0

Esquema del circuito con biestables J-K y con una ROM


Para implementar las funciones de conmutación J0 , K0 , J1 , K1 , y1 , y0 , se puede utilizar una
ROM, una PLA o una PAL. El esquema general del circuito es el que se muestra. En el caso
de usar una ROM, sería una ROM de 4 × 6, y su contenido, que se obtiene directamente de sus
tablas de verdad, también se muestra a continuación.

4
J0 K0 J1 K1 y1 y0
x0 J0 0 0 0 0 0 0 0
A0
x1 K0 1 1 0 0 0 0 0
A1
ROM J1 2 0 0 0 0 1 0
Q0 A2
Q1 PLA K1 3 0 0 1 0 0 0
A3
o
y1 4 0 0 0 0 0 0
PAL
y0 5 0 1 1 0 0 0
6 0 1 0 0 1 1
7 0 0 1 0 0 0
8 0 0 0 0 0 0
9 1 0 0 0 0 0
K1
10 0 0 0 1 1 1
Q1 11 0 0 0 1 1 0
Ck
J1
12 0 0 0 0 0 0
K0
13 0 1 0 1 1 0
Q0 14 0 1 0 1 1 1
Ck
15 0 1 0 1 1 1
J0

Esquema del circuito con biestables J-K y con una PAL


Las funciones simplicadas a implementar son:

J0 = x1 x0

K0 = x1 x0 + x1 x0 + Q1 x0

J1 = x1 x0 + Q0 x0

K1 = x1 + Q0 x0

y1 = x1 x0 + Q1 x1 + Q1 Q0 x0

y0 = Q1 Q0 x1 + Q1 x1 x0 + Q0 x1 x0

Se implementan en una PAL de 4 × 18 × 6. El circuito completo es como con la ROM, pero


sustituyendo la ROM por la PAL.

5
Q1 Q0 x1 x0

J1 K1 J0 K0 y1 y0

Con biestables tipo D


La tabla de estados y salidas es:

S(t + 1) z(t)
S(t) Q1 Q0 Q1 Q0 Q1 Q0 Q1 Q0 y1 y0
Q1 Q0 x = 00 x = 01 x = 11 x = 10 x = 00 x = 10 x = 11 x = 10
00 00 01 10 00 00 00 00 10
01 01 10 11 00 00 00 00 11
10 10 11 00 00 00 00 10 11
11 11 00 00 00 00 10 11 11

En el caso de biestables D, las entradas Di coinciden con los valores de Qi (t + 1). Entonces,
podemos obtener estas funciones simplicando los diagramas de Karnaugh.

6
x1 x0 x1 x0
D1 00 01 11 10 D0 00 01 11 10

00 0 0 1 0 00 0 1 0 0

  
01 0 1 1 0 01 1 0 1 0
 

Q1 Q0  Q1 Q0
11 1 0 0 0 11 1 0 0 0

 
10 1 1 0 0 10 0 1 0 0


D1 = Q1 x1 x0 + Q1 Q0 x0 + Q1 x1 x0 + Q1 Q0 x1 D0 = Q0 x1 x0 + Q0 x1 x0 + Q1 Q0 x1 x0

Las funciones de salida son las mismas que hemos obtenido anteriormente, con los biestables
J-K.
y1 = x1 x0 + Q1 x1 + Q1 Q0 x0

y0 = Q1 Q0 x1 + Q1 x1 x0 + Q0 x1 x0

Esquema del circuito con biestables D


x1 x0

Q1 Q0

Q1
D1 Q

Ck Q

Q0
D0 Q

Ck Q

y1

y0

De igual modo que se ha mostrado con biestables J-K, podríamos implementar las funciones
D1 , D0 , y1 e y0 con una ROM, una PLA o una PAL. En este caso serían dispositivos de 4 salidas.

También podría gustarte