PRACTICA DE LABORATORIO N.
º 3
ANDRES COLLAZOS
FACULTAD DE INGENIERIA ELECTRONICA Y TELECOMUNICACIONES,
UNIVERSIDAD DEL CAUCA
CIRCUITOS DIGITALES
DOCENTE
ING. CRISTIAN VALENCIA
POPAYAN-CAUCA
NOVIEMBRE DE 2023
MARCO TEORICO
Para llevar a cabo prácticas exitosas, es esencial considerar los siguientes
conceptos:
CONCEPTOS GENERALES:
MÁQUINAS DE ESTADO: Estos modelos describen el comportamiento de un
sistema en diversas situaciones, siendo valiosos en el diseño de circuitos,
sistemas de control y software para gestionar el flujo de información y la toma de
decisiones. Se asemejan a personas con diferentes estados de ánimo,
representados por situaciones específicas, con transiciones que indican cambios
entre estos estados. Pueden ser síncronas, con cambios en momentos
específicos, o asíncronas, respondiendo a eventos externos. Son fundamentales
para sistemas que requieren un comportamiento controlado, como controladores
de dispositivos o sistemas de control de tráfico.
MÁQUINA DE ESTADOS SÍNCRONA DE MOORE: Este modelo describe el
comportamiento de un sistema donde los cambios de estado suceden en
momentos específicos controlados por una señal de reloj. Se asemeja a un
conductor de autobús que realiza acciones específicas según la situación, con el
reloj marcando el ritmo en el que toma decisiones.
MÁQUINA DE ESTADOS SÍNCRONA DE MEALY: Este modelo describe el
comportamiento de un sistema donde los cambios de estado ocurren en
momentos específicos controlados por una señal de reloj, y las salidas dependen
tanto del estado actual como de las entradas del sistema. Puede compararse con
un vendedor de helados que toma decisiones basadas en el estado actual y las
acciones de los clientes, produciendo respuestas específicas.
DIAGRAMA DE ESTADOS: Se utiliza para representar el comportamiento de una
máquina de estado, donde los estados se muestran como círculos y las
transiciones como flechas. Permite especificar acciones o resultados asociados
con cada transición.
FLIP FLOP TIPO D: Un circuito digital utilizado en electrónica para almacenar y
cambiar el estado de un bit de información. Con una entrada "D" para el bit de
información y una entrada de control "CLK" (señal de reloj) que determina cuándo
se actualiza el estado del flip-flop al cambiar la señal de reloj de un nivel bajo a
uno alto (flanco de subida). Es común en aplicaciones de memoria y
almacenamiento de datos.
El estado actual del flip-flop tipo D se mantiene en la salida, generalmente
denotada como "Q". Durante un flanco de subida en la señal de reloj, el valor de la
entrada "D" se replica en la salida "Q". Si la entrada "D" es 0, la salida "Q" será 0;
si la entrada "D" es 1, la salida "Q" será 1.
Adicionalmente, el flip-flop tipo D puede tener una entrada extra llamada "RESET",
que posibilita restablecer el estado del flip-flop a un valor predeterminado cuando
se activa. Esto implica que la salida "Q" se verá forzada a un estado específico,
sin importar la entrada "D" o la señal de reloj.
DESARROLLO DE LA PRACTICA
Máquinas de Estado: Luces Intermitentes
Se desea diseñar el circuito de control de los intermitentes de un vehículo, según
las siguientes especificaciones:
El mando para activar los intermitentes tiene tres posiciones: una central de
reposo y dos laterales, para activar el intermitente izquierdo o derecho.
Con activar el mando para alguno de los dos lados, al menos durante un
flanco de reloj, el intermitente correspondiente se encenderá (y apagará)
dos veces (primera parte del Cronograma 1)
Pasadas estas dos intermitencias, si sigue pulsado el mando, seguirá
realizando la intermitencia durante tanto tiempo como esté activo el mando
(segunda parte del Cronograma 1.
Si antes de cumplir las dos intermitencias muevo el mando hasta su otra
posición activa, se interrumpirá el ciclo y empezará a realizar el ciclo del
otro intermitente (Cronograma 2).
La frecuencia de reloj del sistema supondremos que es el doble de la que
deseo en los intermitentes.
Se pide:
Plantear una máquina de estados síncrona de Moore que realice todo el
cometido del controlador. Deberá tener como entradas SD, SI, y como
salidas LD, LI. Dejar indicado como Tabla de Transición de estados o
diagrama de estados.
Separar el problema en dos pequeñas máquinas de estado, cada una de
ellas controlando una luz, y usando la entrada contraria como Reset
Síncrono del sistema.
Realizar la máquina con biestables JK.
SOLUCION:
Lo primero que hacemos es realizar la tabla de transición de estados, conjunto con
la tabla de excitación de la máquina.
ESTADO ACTUAL F.F1 ESTADO FUTURO
SD SI D1 D2
S0 0 0 0 1 0 1
S0 0 0 1 0 1 0
S1 1 0 0 0 0 0
S2 0 1 0 0 0 0
No se puede hacer la transición directamente de SD a SI; es necesario pasar
primero por S0. Por lo tanto, se ha diseñado este sistema con solo tres estados,
representando así la versión más simplificada de este ejercicio.
Utilizando esta tabla como base, procedemos a generar las tablas de Karnaugh
para cada uno de los biestables.
D1/ 0 1 11 10
SDSI
0 0 0 X 1
1 0 0 X 1
D1 = SDSI´
D1/ 0 1 11 10
SDSI
0 0 1 X 0
1 0 1 X 0
D2 = SD´SI
Con esta minimización, se procede a realizar el diseño del circuito. El cual se
plantea de la siguiente manera:
Para el correcto funcionamiento del circuito, es esencial contar con un contador y
una memoria. Esto asegura una intermitencia adecuada y permite que el circuito
recuerde los procesos previos para lograr una salida precisa tanto en LD como en
LI.
2.Máquinas de Estado: Sistema de Iluminación
Se desea diseñar un sistema de iluminación para un pasillo, de manera que
cumpla con las siguientes especificaciones:
El diseño estará basado en una máquina de estados síncrona.
El pasillo dispone de dos pulsadores, uno al lado de cada puerta, de
manera que se pueda encender y apagar la luz desde cada extremo. Cada
pulsador produce un ‘1’ lógico mientras está pulsado, y un ‘0’ lógico cuando
no lo está.
Se desea que, cada vez que se pulse cualquier pulsador, la luz cambie de
estado: si está apagada se debe encender, y viceversa.
Se debe tener en cuenta el caso en el que, mientras se pulsa un interruptor,
se pulse
el otro. Por ejemplo, si estando apagada la luz, alguien pulsa P1 se enciende la
luz.
Pero si mientras está pulsado P1 alguien pulsa P2, entonces se apagará
nuevamente la luz.
Sin embargo, se puede considerar que la frecuencia del reloj es lo
suficientemente alta como para que sea imposible un cambio simultáneo de
los dos pulsadores (en el mismo ciclo de reloj). En la siguiente figura se
muestra un esquema de la instalación:
Como se observa, la máquina de estados tendrá dos entradas, P1 y P2, y una
única salida, LUZ, que hará que se la luz se encienda mientras valga ‘1’, y que
permanezca apagada cuando valga ‘0’. Se pide:
Diseño de la máquina de estados descrita. Implementación de la tabla de
transición de estados.
Reducción, si es posible de la máquina. Obtención de las ecuaciones de
excitación de los biestables que compongan la máquina, así como de la
ecuación de salida. Realizar la máquina con biestables tipo D, y puertas de
dos entradas.
Dibujar el esquema de la máquina de estados, incluyendo la salida.
SOLUCION:
Lo primero que hacemos es realizar la tabla de transición de estados:
ESTADO INICIAL 00 01 11 10 LUZ
0 OFF 0 1 -- 2 0
1 P2: ON 4 1 3 -- 1
2 P1: ON 4 -- 3 2 1
3 P1 P2: OFF -- 5 3 6 0
4 ON 4 5 -- 6 1
5 P2: OFF 0 5 7 -- 0
6 P1: OFF 0 -- 7 6 0
7 P1P2: ON -- 1 7 2 1
En cuanto al Estado 0: OFF significa luces apagadas y se observa que los
pulsadores se encuentran en reposo. Si se pulsa P2 voy al estado 1. Si se pulsa
P1 voy al estado 2. No se puede pasar de 00 a 11 en un ciclo por lo que no es
posible en ese estado.
Para el Estado 1: P2: ON. Se pulsó P2, para encender la luz. Mientras
permanezca pulsado, sigo en este estado. Si se suelta (P2 =0), pasamos a estado
4 y si se pulsa p1 voy al estado 3, la luz se enciende.
Para el Estado 2: P1: ON. Se pulsó P1, para encender la luz. Mientras
permanezca pulsado, sigo en este estado. Si se suelta (P1 =0), pasamos a estado
4 y si se pulsa p2 voy al estado 3, la luz se enciende.
Para el Estado 3: PIP2. OFF. Se han pulsado P1 y P2, desde la posición de
reposo, por lo cual la luz debe apagarse. Si se suelta algún pulsador, iré a los
estados 5 ó 6, dependiendo de cuál quede pulsado. No es posible la entrada 00.
Para el Estado 4: ON. Estado estable de la luz encendida y pulsadores en
reposo. Permanecen en este estado hasta que se pulse P1 o P2, en dado caso se
irá al estado 6 o 5.
Para el Estado 5: P2. OFF. Se ha pulsado P2, y la luz estaba encendida: apagar
la luz. Al igual que pasaba en el estado 1, pueden pulsar P1 o soltar P2. Si se
pulsa P1, con ambos pulsados se va al estado 7, mientras que, si se sueltan P2,
se va al estado 0, el cual representa a los dos pulsadores en estado de reposo.
Para el Estado 6: P1. OFF. Se ha pulsado P1 y la luz que está encendida se
apaga. Al igual que pasa en el estado 2, pueden pulsar P2 o soltar P1. Si se
pulsan P2, con ambos pulsados se va al estado 7, mientras que, si se sueltan P1,
se va al estado 0.
Para el Estado 7: P1P2. ON: Se han pulsado P1 y P2 estando la luz encendida,
por lo que se apaga y vuelve a encender. Al igual que pasa en el estado 3, si se
suelta alguno de los pulsadores se va al estado 1 o 2, respecto a cuál quede
pulsado.
Ahora se simplifica la tabla de transición de estados. Se sabe que los estados 1 y
2 tienen la misma salida, y que sus transiciones son compatibles. Lo mismo ocurre
con 5 y 6, haciendo posible la reducción de la tabla, la cual queda de la siguiente
manera:
ESTADO INICIAL
00 01 11 10 LUZ
0 OFF 0 1 -- 1 0
1 P2 o P1: ON 3 1 2 1 1
2 P1 P2: OFF -- 4 2 4 0
3 ON 3 4 -- 4 1
4 P2 o P1: OFF 0 4 5 4 0
5 P1 P2: ON -- 1 5 1 1
Por consiguiente, se realiza la asignación de estados. De esta manera resulta más
fácil y eficiente observar la salida. La luz, será igual a Qo, el bit menos
significativo. Con esto se puede realizar la tabla de excitación de la máquina.
Q2 Q1 Q0 P1 P2 D2 D1 D0
0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 1
0 0 0 1 1 X X X
0 0 0 1 0 0 0 1
0 0 1 0 0 0 1 1
0 0 1 0 1 0 0 1
0 0 1 1 1 0 1 0
0 0 1 1 0 0 0 1
0 1 0 0 0 X X X
0 1 0 0 1 1 0 0
0 1 0 1 1 0 1 0
0 1 0 1 0 1 0 0
0 1 1 0 0 0 1 1
0 1 1 0 1 1 0 0
0 1 1 1 1 X X X
0 1 1 1 0 1 0 0
1 0 0 0 0 0 0 0
1 0 0 0 1 1 0 0
1 0 0 1 1 1 0 1
1 0 0 1 0 1 0 0
1 0 1 0 0 X X X
1 0 1 0 1 0 0 1
1 0 1 1 1 1 0 1
1 0 1 1 0 0 0 1
A partir de esta tabla se realizan los mapas de Karnaugh para cada uno de los
biestables. Dado que se tienen cinco variables, separamos en dos tablas de 4
variables, usando Q2 para separar ambos mapas.
Q2 = 0
Q1 Q0 P1 -- P2
0 1 11 10
0 0 0 0 X 0
0 1 0 0 0 0
1 1 0 1 X 1
1 0 X 1 0 1
Q2
Q2 = 1
Q1 Q0 P1 -- P2
0 1 11 10
0 0 0 1 1 1
0 1 X 0 1 0
1 1 X X X X
1 0 X X X X
Q2 = Q1*(P1+P2) + P1 * P2 *Q2 + Q2 * QO´ * (P1+P2)
Q2 = 0
Q1 Q0 P1 -- P2
0 1 11 10
0 0 0 0 X 0
0 1 1 0 1 0
1 1 1 0 X 0
1 0 X 0 1 0
Q1
Q2 = 1
Q1 Q0 P1 -- P2
0 1 11 10
0 0 0 0 0 0
0 1 X 0 0 0
1 1 X X X X
1 0 X X X X
Q1 = Q2´ * P1 * P2 + P1´ * P2´ * Q0
Q2 = 1
Q1 Q0 P1 -- P2
0 1 11 10
0 0 0 1 X 1
0 1 1 1 0 1
1 1 1 0 X 0
1 0 X 0 0 0
Q0
Q2 = 1
Q1 Q0 P1 -- P2
0 1 11 10
0 0 0 0 1 0
0 1 X 1 1 1
1 1 X X X X
1 0 X X X X
Q0 = Q1´ * Q2´ * (P1+P2) + P1´* P2´* Q0 + Q2 * (Q0+P1+P2)
Con esta minimización realizada, se procede a realizar el diseño del circuito. El
cual queda de la siguiente manera: