Ejercicio 1
El sistema de apertura de una caja fuerte está compuesto por dos teclas A y B, un
circuito secuencial a diseñar y un temporizador que mantiene la caja fuerte abierta durante 5
minutos cuando recibe un nivel lógico 1 desde el circuito secuencial. Este temporizador vuelve
a cerrar la caja fuerte pasado dicho tiempo, independientemente del circuito secuencial.
Cuando se pulsa la tecla A, se produce un nivel lógico 1 que entra al circuito secuencial,
mientras que cuando se pulsa la tecla B se produce un nivel lógico 0 de entrada al circuito a
diseñar. Mientras no se pulse ninguna tecla no se genera ningún nivel lógico de entrada al
circuito secuencial.
Para abrir la caja fuerte, la combinación secreta es: pulsar dos veces seguidas la tecla A,
a continuación pulsar una vez la tecla B, y finalmente pulsar una vez la tecla A. Si se hace de
esta manera, el circuito secuencial dará una salida a nivel lógico 1, que actuará sobre el
temporizador, permitiendo la apertura de la caja fuerte durante 5 minutos. Si en cualquier
momento se introdujera un error al pulsar la secuencia secreta, en el siguiente ciclo de reloj
todos los biestables se pondrán a cero (el sistema pasará al estado inicial), y la secuencia debe
volver a introducirse desde el principio.
a) Dibujar el diagrama de estados, explicando claramente en qué consiste cada estado.
b) Implementar el circuito secuencial a diseñar usando biestables JK y las puertas
necesarias.
1. Paso de las especificaciones verbales al diagrama de estados
En este caso, el diagrama de estados tiene que ser capaz de reconocer la combinación de
entrada 1101. Partimos de un estado inicial en el que se espera la introducción del código. A
continuación, se pasará a un nuevo estado cada vez que se reconozca correctamente el siguiente
bit del código, mientras que si éste no corresponde al código se volverá al estado inicial, y habrá
que teclear todo el código de nuevo. El significado de los estados será por tanto el de la
siguiente tabla.
El funcionamiento del diagrama será el que se explica a continuación. Inicialmente nos
encontramos en el estado q0. Mientras no se teclee un 1 (recordemos que la combinación válida
es 1101) nos mantendremos en este estado. Cuando llegue el primer uno pasamos a q1. Si el
siguiente bit es de nuevo un 1, habremos reconocido los dos primeros correctamente, por lo que el siguiente estado será q2. Sin embargo, si en lugar de un 1 se recibe un 0, la secuencia es
incorrecta, y como resultado habrá que regresar a q0, para que el código sea tecleado por
completo de nuevo. Del mismo modo, al recibir un 0 estando en q2 pasaremos a q3 (hemos
reconocido 110). Y finalmente, si en q3 la entrada es un 1, el código ha sido correcto, y por lo
tanto la salida del circuito será 1 y volveremos a q0. Si la entrada es un 0, entonces falló el
último bit, y aunque volvamos también a q0, en este caso la salida del circuito es 0, puesto que el
código fue erróneo.
2. Construcción de la tabla de estados
Tomando el diagrama de estados de la figura anterior debe generarse la tabla de estados, en
la que a partir de las entradas y el estado actual se obtendrá el siguiente estado, y en la que a
partir de ambos, y con ayuda de la tabla de excitación se calcularán las entradas a los biestables
(JK en este caso). Nótese como ahora sí aparece una función de salida (S) diferente del estado
que almacenan los biestables.
3. Minimización de las funciones e implementación del circuito
Simplificando por Karnaugh obtendremos las funciones de entrada a los biestables (J1, K1,
J0 y K0) para el cálculo del nuevo estado, y la función de salida S.
J1 = E Q0
K1 = E + Q0
J0 = E XOR
Q1 K0 = 1
S = E Q1 Q0
Ejercicio 2
Configurar dos flip-flops JK para que se comporten como la
siguiente tabla característica.
Respuesta:
No hay comentarios:
Publicar un comentario