Ejercicios de sistemas secuenciales con JK

Ejercicio 1:  Diseñar un sistema que active  la iluminación de una sala grande desde 4 entradas diferentes. Para apagar, usaremos los mismos pulsadores.

Pasamos a la resolución.

Tenemos que cada vez que se pulsa alguno de los pulsadores p, el sistema cambia de estado. Los pulsadores se pueden conectar en paralelo. Se conectan de forma que cuando alguno se activa, entra en 1 en el sistema. El diagrama de Moore es:

pulsadores con jk

Ahora pasamos a la tabla de la verdad.

p Q Q(t+1) J K Salida
0 0 0 0 X 0
1 0 1 1 X 1
0 1 1 X 0 1
1 1 0 X 1 0

Las entradas que tenemos son la p y la salida Q del biestable en el estado anterior. En la primera fila tenemos que p=0 y estamos en Q, por tanto la salida no cambia. Para esa transición, las entradas j y k pueden ser J=0 y K=1  , pero también puede ser J=K=0, dado que en esa situación no cambia la salida. Llegamos a la conclusión de que J tiene que ser 0 pero K puede ser 0 o 1, por tanto ponemos una X. El resto del las filas se obtienen con el mismo razonamiento.

Tabla de karnaught. Vemos las entradas para obtener la función de J y de K. Construimos nuestras tablas por el sistema explicado en el etma anterior y tenemos que J = K = 1.

Circuito- Hemos puesto solo un pulsador

pulsadores con jk-logic-ly

Ejercicio 2. Diseña un sistema que active una lámpara de modo intermitente. La frecuencia de la intermitencia viene dada por la frecuencia del reloj del biestable JK.

Ejercicio 3. Diseña un sistema que tenga dos entradas ( dos jugadores ), de forma que:

aSe encienda una bombilla A si el pulsador 1 es activado antes que el pulsador 2

b Se enciende la bombilla B si el pulasdor 2 se activa antes

c En el resto de situaciones, ninguna bombilla se enciende.

Solución:

En primer lugar, hacemos nuestro diagrama de Moore:

circuito-ganador

Tenemos 3 estados estables, E1, E2 y E3. Desde E1 ( empieza el juego ) se puede pasar a E2 si el jugador 1 pulsa antes, o bien a E3 si el jugador 2 pulsa antes. Si los dos pulsan a la vez o no hay respuesta, permanece en E1. Una vez que se llega a los estados 2 y 3, permanece allí siempre hasta que el presentador re-setea el sistema.

Veremos la tabla de la verdad

a b Q1 Q2 Q1(t+1) Q2(t+1) J1 K1 J2 K2
0 0 0 0 0 0 0 X 0 X
1 1 0 0 0 0 0 X 0 X
1 0 0 0 1 0 1 X 0 X
X X 1 0 1 0 X 0 0 X
0 1 0 0 0 1 0 X 1 X
X X 0 1 0 1 0 X X 0

Las filas rojas nos indican el paso desde el E1 a E1, dado que los valores que entran son 00 y 11 y, por tanto, no hay cambio de estados. Los valores de J y K para pasar desde cero a cero son, j=0 y k = 1, pero como partimos de cero y llegamos a cero, si entramos en las dos entradas jk el 0, tambien obtenemos una salida de Q(t+1) = 0 ( ver tabla de JK =. Por tanto, tenemos que las entradas de jk tienen que ser la 0X.  Procedemos de iguan forma pora el resto de variables.

Por tanto, tenemos que K1 = K2 =0  y

El circuito queda de la siguiente manera.

juego pulsador

 

Ejercicio 12: Diseñar un circuito con biestables JK que controle las luces de un semáforo de forma que lleve la siguiente secuencia:

Se enciende la verde, luego se pasa a a la luz  ámbar, después al rojo, luego vuelve al  ámbar para acabar en el  verde. El sistema se vuelve a repetir de forma indefinida.

En este ejercicio tenemos una entrada como X en la cual, sea lo que sea su valor, el estado cambia  de q1 a q2, de q2 a q3, etc.

diagrama estados de semaforoVamos a necesitar 4 estados estables. Aunque parece que con tres es suficiente ( Q2 y Q4 tienen la misma salida ), la procedencia es diferente y por tanto, nos obliga a crear 4 estados.

Para 4 estados estables , necesitamos dos biestables JK, que llamaremos JoKo Y J1K1. Esos biestables tienen unas salidas Qo y Q1 que toman los valores 00, 01 ,10 y 11.

Por ello tenemos la siguiente tabla de la verdad:

Antes de exponerla completamente, veremos cómo se obtiene cada uno de los valores JK para pasar de un estado Q a un Q(t+1).

Partimos de que pasamos de un Q1 = 0 a un Q1(t+1) = 1. En este caso, tenemos 4 posibilidades de J y K para poder pasar desde el 0 al 1 y tenemos que saber cuales de ellas son válidas. Haremos una pequeña tabla para explicarlo:

Q1 Q1(t+1) J1 K1 Comentarios
0 1 0 0 Esta opción no vale porque con JK = 00 se mantiene la salida. Como antes era 0 , lo siguiente es 0, pero necesitamos un 1. No vale
0 1 0 1 Esta tampoco vale dado que un JK=01 pone la salida a 0 y se necesita un uno.
0 1 1 0 Esta SI vale dado que la combinación jk=10 pone la salida a 1, que es lo que vale q1(t+1)
0 1 1 1 Esta también vale dado que el 11 provoca que la salida sea la inversa del valor que había antes, pasa del 0 al 1

Sacamos la conclusión que los valores  de JK 10 y 11 son válidos, o lo que es lo mismo, JK -> 1X

La tabla de la verdad completa es:

Qo Q1 Qo(t+1) Q1(t+1) Jo Ko J1 K1 Verde Ámbar Roja
0 0 0 1 0 X 1 X 0 1 0
0 1 1 0  1 X  X 1  0 0 1
 1 0 1 1  X 0 1 X  0 1 0
 1 1 0 0  X 1 X 1  1 0 0

Veremos como tenemos que alimentar cada J y K para que pase de un estado a otro. Luego veremos que salidas tenemos que tomar ( de Q1 y Q2) para obtener las salidas de las lámparas del semáforo.

Una vez que tenemos la tabla de la verdad, se obtiene que :

En este caso, hemos considerado X como 1.

Ahora , hemos supuesto que X es =0

Para J1 y K1, le asignamos el valor fijo 1

Tenemos que la verde se encienda cuando Qo(t+1) = 0 Y Qo(t+1) = 0, POR TANTO:

Vamos con el piloto ámbar: Se activa cuando  Q1(t+1) = 1, por tanto, la función es:

Y para la roja , e activa cuando Qo(t+1) = 1 Y Qo(t+1) = 0, por tanto, la función es:

Tenemos el siguiente circuito

semaforo con jk

Os dejo el enlace de logicly del semaforo

He quedado un vídeo explicando un poquito mas este ejercicio:

[hoops name=”jk”]

Ejercicio 13: 

Diseñar un sistema que active una luz si recibe una entrada ( 1110 ) y se desactive si recibe otra entrada ( 1101 ). Para el resto de las combinaciones posibles, el sistema debe permanecer como estaba, o sea, si la luz estaba encendida, permanece encendida y viceversa.

Resolución:

Nuestro diagrama de Moore sería:

jk-con-4-entradas

Construimos la tabla de la verdad , resumida dado que solo ocurre transición para una combinación. Tenemos:

Entradas J K Q= Salida
1110 1 0 1
1101 0 1 0
Resto de Combinaciones 0 0 Q( t-1)

Directamente tenemos que :   y 

La salida Q coincide con la salida del sistema

Nuestro circuito queda como:

jk con 4 entradas

Podemos bajar el archivo en este enlace. Jk con 4 entradas

Ejercicio 14

Diseñar un sistema de apertura de una  caja fuerte, que con una clave La clave es 1 1 0 1, se debe abrir siempre que la secuencia sea la correcta. Para ello tenemos un sistema temporal , de forma que cada cierto tiempo se lee la entrada de un pulsador . El pulsador A que entra los datos, entra un 1 lógico si está pulsado y un 0 si no se pulsa.

En primer lugar, creamos nuestra tabla de la verdad basada en un diagrama de estados, que mostramos a continuación:

alarma diagrama estados

En este diagrama tenemos una entrada y una salida. Como hay 4 pasos, creamos 4 estados y por tanto, necesitamos 2 biestables JK.

Vamos a completar la tabla de la verdad partiendo desde q0 dando la vuelta hasta llegar a q3.

 

A q1 q2 Q1 Q2 J1 K1 J2 K2 S
0 0 0 0 0  0  X  0  x 0
1 0 0 0 1  0  x  1 x 0
0 0 1 0 0 0  x  x  1 0
1 0 1 1 0  1  x  x  1 0
0 1 0 1 1  x  0 1  x 0
1 1 0 0 0  x  1  0  x 0
0 1 1 0 0  x  1  x  1 0
1 1 1 0 0  x  1  x  1 1

De la tabla tenemos con la ayuda de karnaugh

K2 = 1

y la salida S = aq1q2

El circuito que nos queda es:

alarma secuencial

Montamos nuestro circuito que podemos ver en * Circuito de alarma secuenciales

Actividad extra. El sistema tiene una pequeña vulnerabilidad. Averigua cual es y aplica alguna solución.

*Tener en cuenta que el reloj que hemos puesto en el circuito es de 2 segundos, que actúa por flanco de subida. La lectura que hace el sistema es lo que entra  por la entrada a justo en ese instante que sube el pulso. Hay que tenerlo en cuenta para hacer la simulación.

Actividad 15. 

En el problema del tema anterior que tratamos un sistema para controlar el nivel de un depósito elevado, encontramos el problema de la limitación de la electrónica combinacional para este tipo de problema. Construir un sistema usando un JK que resuelva este inconveniente sabiendo que el agua se toma de un pozo con sensor c ( tiene que estar a 1 para que funciona el bomba ), y el depósito elevado tiene un nivel bajo b ( sensor b) y otro de llenado a ( sensor superior a ). Si el agua está entre a y b se debe activar la bomba en el proceso de llenado pero no en el proceso de vaciado. En este último caso, se activa cuando llega al mínimo. Con esto evitamos el arranque continuo de la bomba.

Desarrollo:

Tenemos una serie de pasos que se generan en el llenado del depósito y que dan lugar a estados estables, cuya situación cambia cuando cambia el nivel de agua y se activa algún sensor. Pasamos a describirlos.

  El pozo tiene agua y el depósito está vacío. Esto da lugar al estado E1 donde la salida es 1 ( motor funcionando ).

El agua llega al mínimo del depósito ( se activa b). Esto nos da lugar a un nuevo estado estable E2

El agua sigue entrando y se llega al máximo. El sensor a se activa y tenemos el nuevo estado estable E3

El agua desciende, el motor no debe funcionar. Sigue bajando hasta legar a b ( 001 ) momento en el que el sistema retorna al estado E2

Vamos a exponer este razonamiento en el diagrama de Moore.

En este diagrama, consideramos las entradas en el orden abc, por tanto un valor 001 sería a=b=0  y c =1. ( pozo lleno, deposito vacío ).

deposito agua con jk

hay que tener en cuenta que en el diagrama anterior podemos haber omitido alguna situación de entrada por muy poco probable  ( ver cual ). estamos hablando de situaciones del tipo a activado y b a cero, y cosas del estilo.

Con el diagrama anterior, construimos nuestra tabla de la verdad de 3 entradas, una salida y dos biestables. El estado E1 lo conseguimos con Q1=0 y Q2 = 0, el estado E2 con Q1 = 0 y Q2 = 1  y el estado E3 con Q1 =1 y Q2 =0. El E4 no es necesario.

a b c Q1 Q2 Q1(t+1) Q2(t+1) J1 K1 J2 K2 Salida
 X X 0 0 0 0 0 0 X 0 X 0
0 0 1 0 0 0 1 0 X 1 X 1
0 0 1 1 0 0 1 X 1 1 X 1
 0 1 1 0 1 0 1 0 X X 0 1
 X 1 X 1 0 1 0 X 0 0 X 0
1 1 1 0 1 1 0 1 X X 1 0

j1 = K2 = abcq1’q2

k1 = a’b’cq1q2′

j2 = Un momento. No has pensado que esto se puede hacer con menos biestables ?????

Veremos si es posible tener sólo dos estados posibles, motor funcionado y motor parado. Veremos las transiciones

deposito agua con jk-simple

Ahora tenemos un biestable , dando E1 como Q1 a 0 y E2 cuando Q2 = 1

La tabla es:

a b c Q Q(t+1) J K
0 0 1 0 1 1 X
1 1 1 1 0 X 1
X X 0 X 0 X 1
resto       Q  0 0

  Salida = Q

Probamos el circuito

circuito-llenar-deposito

Lo podemos bajar en Circuito para llenar deposito de agua

Actividades. 

El circuito anterior, tenemos un pequeño error, que tenéis que averiguar. Os dejo el circuito simplificado que elimina ese error. Control de deposito mejorado

En el análisis anterior, no hemos utilizado Karnaugh para simplificar funciones.  Utiliza ese sistema para obtener una función más simplificada

En el circuito anterior, se puede simplificar algo si trabajamos con la entrada CLR del JK y el sensor c. Averigua cómo se puede hacer.

Actividad 16. En un semáforo, queremos controlar el paso de peatones por medio de un pulsador p. Si no se pulsa, la luz verde permanece encendida indefinidamente. Si se pulsa, se enciende la luz ámbar y la roja, pasado un tiempo se  queda encendida sólo la roja y para finalizar , se vuelve a poner la luz verde.

Ver ejercicio resuelto. Semáforo peatones con JK