Anda di halaman 1dari 12

Oscar Ignacio Botero H.

PROBLEMAS DE APLICACIN CON FLIP FLOP


APLICACIN 1: Bandas Transportadoras (CBA)

El sistema posee:
1 sensor de proximidad
1 motor para la banda transportadora 1
1 mbolo retrctil (ACME) para empujar las piezas
Un sensor de proximidad detecta la pieza y manda un pulso negativo al
control de secuencia, 1 segundo despus el motor de la banda transportadora
1 se apaga, al transcurrir otro segundo se activa el mbolo retrctil por un
tiempo de 1 segundo que empuja la pieza hacia la banda transportadora 2 que
est constantemente en movimiento. Transcurrido 3 segundos del proceso se
enciende nuevamente el motor de la banda transportadora 1 hasta que el
sensor de proximidad detecte otra pieza.
El orden para la solucin es:
1.
2.
3.
4.
5.

Diagrama de estados
Tabla de excitacin
Tabla de estados
Diseos de los circuitos
Implementacin del circuito completo

Oscar Ignacio Botero H. 2


Problemas de aplicacin con Flip Flop
SOLUCIN CON F/F D (CBA)
1. Diagrama de estados
El sensor de proximidad manda un pulso negativo que sirve para resetear los
F/F del control de secuencia.

En total son 5 estados, entonces se necesitan 3 flip flop (23 = 8), se pueden
elegir tipo D o tipo JK, obviamente que posea clear o reset. Inicialmente
seleccionamos el F/F tipo D y luego el F/F JK.
2. Tabla de excitacin del Flip Flop tipo D
CK

D
1

IC 74LS74 F/F TIPO D


R S Q Q
ESTADO
1 1
1
0
Set (sncrono)

0
X

1
1

1
1

0
1
Qo Qo

Reset (sncrono)
No cambia

Q
0
0
1
1

Qn+1
0
1
0
1

D
0
1
0
1

3. Tabla de estados

ESTADOS

SECUENCIA
ACTUAL
QC
QB
QA
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0

SECUENCIA
PRXIMA
QC+1
QB+1 QA+1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0

DATOS D
DC
0
0
0
1
1

DB
0
1
1
0
0

DA
1
0
1
0
0

Oscar Ignacio Botero H. 3


Problemas de aplicacin con Flip Flop
4. Diseo de los circuitos
Cada estado posee un lugar nico en el mapa de Karnaugh de acuerdo con el
orden de las variables C, B y A.
BC
A
0
1

00

01

11

10

Circuito de control de secuencia:


Se realiza para las entradas D A, DB y DC en los 5 estados por medio de los
mapas de Karnaugh.
Los estados y se llenan con X, ya que es indiferente el estado de
estos valores.
BC
A
00 01 11 10
0
1 0 X 1
1
0 X X 0

BC
A
00 01 11 10
0
0 0 X 1
1
1 X X 0

BC
A
00 01 11 10
0
0 1 X 0
1
0 X X 1

DA

DB

DC

DA

A C

DA

QA QC

DB

( A B) ( A B)

DC

( A QB )

DB
DC

(QA QB ) (QA QB )

DB

(QA

QB )

QC (QA QB )

Circuito de control del motor de la banda transportadora 1:


Los estados involucrados son el y el = 2 segundos apagado 0.
B+C
A
0+0 0+1 1+1 1+0
0
X
0
1
X
X
0
M = Motor
M

QB

Maxterm "0"

Oscar Ignacio Botero H. 4


Problemas de aplicacin con Flip Flop
Circuito de control del motor del mbolo retrctil:
El estado involucrado es el = 1 segundo.
BC
A
00 01 11 10
0
X
1
X X 1
E = Embolo
E

A B

QA QB

5. Implementacin del circuito completo

Oscar Ignacio Botero H. 5


Problemas de aplicacin con Flip Flop
6. Implementacin en ISE de Xilinx
----------------------------------------------------------------------------------- APLICACIN 1. BANDAS TRANSPORTADORAS CON F/F TIPO D

---------------------------------------------------------------------------------library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity BandaTransportadora is
Port ( CLK : in STD_LOGIC;
SENSOR : in STD_LOGIC;
EMBOLO : out STD_LOGIC;
MOTOR : out STD_LOGIC;
Qa : inout STD_LOGIC;
Qb : inout STD_LOGIC;
Qc : inout STD_LOGIC);
end BandaTransportadora;
architecture Comportamiento of BandaTransportadora is
SIGNAL Da,Db,Dc:STD_LOGIC:='0';
SIGNAL Qat,Qbt,Qct:STD_LOGIC:='0';
begin
-- FUNCIONES SIMPLIFICADAS POR MAPAS K
Da <= NOT Qa AND NOT Qc;
Db <= Qa XOR Qb;
Dc <= Qc OR (Qa AND Qb);
-- FUNCIONES DEL MOTOR DE LA BANDA Y DEL MBOLO
MOTOR <= NOT Qb;
EMBOLO <= Qa AND Qb;
-- PROCESO SECUENCIAL
SEQ: PROCESS (CLK,SENSOR)
BEGIN
IF SENSOR='0' THEN
Qat <= '0';
Qbt <= '0';
Qct <= '0';
ELSE
IF CLK'EVENT AND CLK='1' THEN
Qat <= Da;
Qbt <= Db;
Qct <= Dc;
ELSE
NULL;
END IF;
END IF;
END PROCESS SEQ;
Qa <= Qat;
Qb <= Qbt;
Qc <= Qct;
end Comportamiento;

Oscar Ignacio Botero H. 6


Problemas de aplicacin con Flip Flop
----------------------------------------------------------------------------------- APLICACIN 1. BANDAS TRANSPORTADORAS CON F/F TIPO D Y DISPLAY
-- Qa = Q(0)
-- Qb = Q(1)
-- Qc = Q(2)

---------------------------------------------------------------------------------library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity BandasTransportadoras_Ddis is
Port ( SENSOR : in STD_LOGIC;
CLK : in STD_LOGIC;
EMBOLO : out STD_LOGIC;
MOTOR : out STD_LOGIC;
Q : inout STD_LOGIC_VECTOR (2 downto 0);
ANODOS: out STD_LOGIC_VECTOR (3 downto 0);
SEG: out STD_LOGIC_VECTOR (6 downto 0));
end BandasTransportadoras_Ddis;
architecture Comportamiento of BandasTransportadoras_Ddis is
SIGNAL Da,Db,Dc:STD_LOGIC:='0';
SIGNAL Q0t,Q1t,Q2t:STD_LOGIC:='0';
begin
-- FUNCIONES SIMPLIFICADAS POR MAPAS K
Da <= NOT Q(0) AND NOT Q(2);
Db <= Q(0) XOR Q(1);
Dc <= Q(2) OR (Q(0) AND Q(1));
-- FUNCIONES DEL MOTOR DE LA BANDA Y DEL MBOLO
MOTOR <= NOT Q(1);
EMBOLO <= Q(0) AND Q(1);
-- PROCESO SECUENCIAL
SEQ: PROCESS (CLK,SENSOR)
BEGIN
IF SENSOR='0' THEN
Q0t <= '0';
Q1t <= '0';
Q2t <= '0';
ELSE
IF CLK'EVENT AND CLK='1' THEN
Q0t <= Da;
Q1t <= Db;
Q2t <= Dc;
ELSE
NULL;
END IF;
END IF;
END PROCESS SEQ;
Q(0) <= Q0t;
Q(1) <= Q1t;
Q(2) <= Q2t;
ANODOS <= "1110"; -- Seleccion del display 0 en la MUX

Oscar Ignacio Botero H. 7


Problemas de aplicacin con Flip Flop
WITH Q SELECT
SEG <="1000000" WHEN "000", -- Apague el segmento G cuando la entrada sea 0
"1111001" WHEN "001",
"0100100" WHEN "010",
"0110000" WHEN "011",
"0011001" WHEN "100",
"1111111" WHEN OTHERS;
end Comportamiento;

SOLUCIN CON F/F JK (CBA)


2. Tabla de excitacin del flip flop tipo JK

R
0
1
1
1
1
1

CK
X

IC 74LS73 F/F TIPO JK


J K Q Q
ESTADO
X X 0
1
Reset (asncrono)
0 0 Qo Qo
No cambia
1 0 1
0
0 1 0
1
1 1 Toggle
X X Qo Qo

Q
0
0
1
1

Set (sncrono)
Reset (sncrono)
Conmuta
No cambia

QN+1
0
1
0
1

J
0
1
X
X

K
X
X
1
0

3. Tabla de estados

ESTADOS

SECUENCIA
ACTUAL
QC
QB
QA
0
0
0
0
0
1
0
1
0
0
1
1
1
0
0

SECUENCIA
PRXIMA
QC+1 QB+1 QA+1
0
0
1
0
1
0
0
1
1
1
0
0
1
0
0

DATOS JK
JC
0
0
0
1
X

KC
X
X
X
X
0

JB
0
1
X
X
0

KB
X
X
0
1
X

JA
1
X
1
X
0

4. Diseos de los circuitos


Cada estado posee un lugar nico en el mapa de Karnaugh de acuerdo con el
orden de las variables C, B y A.
BC
A
0
1

00

01

11

10

KA
X
1
X
1
X

Oscar Ignacio Botero H. 8


Problemas de aplicacin con Flip Flop
Circuito de control de secuencia:
Se realiza para las entradas JA, K A, JB, KB, J C y KC en los 5 estados por medio
de los mapas de Karnaugh.
Los estados y se llenan con X, ya que es indiferente el estado de
estos valores.
BC
A
00 01 11 10
0
1 0 X 1
1
0 X X 0

BC
A
00 01 11 10
0
0 0 X X
1
1 X X X

BC
A
00 01 11 10
0
0 X X 0
1
0 X X 1

JA

JB

JC

JA
JB
JC

A C
JA QA QC
A JB QA
A B
JC QA QB

BC
A
00 01 11 10
0
X X X X
1
1 X X 1

BC
A
00 01 11 10
0
X X X 0
1
X X X 1

BC
A
00 01 11 10
0
X 0 X X
1
X X X X

KA

KB

KC

KA
KB

Vcc
A
KB

KC

Gnd

QA

Circuito de control del motor de la banda transportadora 1:


Los estados involucrados son el y el = 2 segundos apagado 0.
B+C
A
0+0 0+1 1+1 1+0
0
X
0
1
X
X
0
M = Motor
M

QB

Maxterm "0"

Oscar Ignacio Botero H. 9


Problemas de aplicacin con Flip Flop
Circuito de control del motor del mbolo retrctil:
El estado involucrado es el = 1 segundo.
BC
A
00 01 11 10
0
X
1
X X 1

E = Embolo
A B
E QA QB

5. Implementacin del circuito completo

Oscar Ignacio Botero H. 10


Problemas de aplicacin con Flip Flop
6. Implementacin en ISE de Xilinx
----------------------------------------------------------------------------------- APLICACIN 1. BANDAS TRANSPORTADORAS CON F/F TIPO JK
---------------------------------------------------------------------------------library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity BandaTransportadora_JK is
Port ( SENSOR : in STD_LOGIC;
CLK : in STD_LOGIC;
EMBOLO : out STD_LOGIC;
MOTOR : out STD_LOGIC;
Qa : inout STD_LOGIC;
Qb : inout STD_LOGIC;
Qc : inout STD_LOGIC);
end BandaTransportadora_JK;
architecture Comportamiento of BandaTransportadora_JK is
SIGNAL Ja,Ka,Jb,Kb,Jc,Kc:STD_LOGIC:='0';
SIGNAL Qat,Qbt,Qct:STD_LOGIC:='0';
begin
-- FUNCIONES SIMPLIFICADAS POR MAPAS K
Ja <= NOT Qa AND NOT Qc;
Ka <= '1';
Jb <= Qa;
Kb <= Qa;
Jc <= Qa AND Qb;
Kc <= '0';
-- FUNCIONES DEL MOTOR DE LA BANDA Y DEL MBOLO
EMBOLO <= Qa AND Qb;
MOTOR <= NOT Qb;
-- PROCESO SECUENCIAL
SEQ:PROCESS (SENSOR,CLK)
BEGIN
IF SENSOR='0' THEN
Qat <= '0';
Qbt <= '0';
Qct <= '0';
ELSE
IF CLK'EVENT AND CLK='1' THEN
Qat <= (Ja AND NOT Qa) OR (NOT Ka AND Qa);
Qbt <= (Jb AND NOT Qb) OR (NOT Kb AND Qb);
Qct <= (Jc AND NOT Qc) OR (NOT Kc AND Qc);
ELSE
NULL;
END IF;
END IF;
END PROCESS SEQ;
Qa <= Qat;
Qb <= Qbt;
Qc <= Qct;

Oscar Ignacio Botero H. 11


Problemas de aplicacin con Flip Flop
end Comportamiento;
----------------------------------------------------------------------------------- APLICACIN 1. BANDAS TRANSPORTADORAS CON F/F TIPO JK Y DISPLAY
-- Qa = Q(0)
-- Qb = Q(1)
-- Qc = Q(2)
---------------------------------------------------------------------------------library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity BandasTransportadoras_JKdis is
Port ( SENSOR : in STD_LOGIC;
CLK : in STD_LOGIC;
EMBOLO : out STD_LOGIC;
MOTOR : out STD_LOGIC;
SEG : out STD_LOGIC_VECTOR (6 downto 0);
ANODOS : out STD_LOGIC_VECTOR (3 downto 0);
Q : inout STD_LOGIC_VECTOR (2 downto 0));
end BandasTransportadoras_JKdis;
architecture Comportamiento of BandasTransportadoras_JKdis is
SIGNAL Ja,Ka,Jb,Kb,Jc,Kc:STD_LOGIC:='0';
SIGNAL Q0t,Q1t,Q2t:STD_LOGIC:='0';
begin
-- FUNCIONES SIMPLIFICADAS POR MAPAS K
Ja <= NOT Q(0) AND NOT Q(2);
Ka <= '1';
Jb <= Q(0);
Kb <= Q(0);
Jc <= Q(0) AND Q(1);
Kc <= '0';
-- FUNCIONES DEL MOTOR DE LA BANDA Y DEL MBOLO
EMBOLO <= Q(0) AND Q(1);
MOTOR <= NOT Q(1);
-- PROCESO SECUENCIAL
SEQ:PROCESS (SENSOR,CLK)
BEGIN
IF SENSOR='0' THEN
Q0t <= '0';
Q1t <= '0';
Q2t <= '0';
ELSE
IF CLK'EVENT AND CLK='1' THEN
Q0t <= (Ja AND NOT Q(0)) OR (NOT Ka AND Q(0));
Q1t <= (Jb AND NOT Q(1)) OR (NOT Kb AND Q(1));
Q2t <= (Jc AND NOT Q(2)) OR (NOT Kc AND Q(2));
ELSE
NULL;
END IF;
END IF;
END PROCESS SEQ;

Oscar Ignacio Botero H. 12


Problemas de aplicacin con Flip Flop
Q(0) <= Q0t;
Q(1) <= Q1t;
Q(2) <= Q2t;
ANODOS <= "1110"; -- Seleccion del display 0 en la MUX
WITH Q SELECT
SEG <="1000000" WHEN "000", -- Apague el segmento G cuando la entrada sea 0
"1111001" WHEN "001",
"0100100" WHEN "010",
"0110000" WHEN "011",
"0011001" WHEN "100",
"1111111" WHEN OTHERS;
end Comportamiento;

Anda mungkin juga menyukai