Sunteți pe pagina 1din 4

INFORME, ARQUITECTURA DE COMPUTADORAS INTEGRANTES: Oscar Mu;oz, 4.454.

076-3 Aldo Rodriguez Martin Calcagno Francisco Fernandez

INTRODUCCION: Caja de Seguridad Se desea construir un circuito secuencial que implementa el sistema electrnico de cerradura de una caja de seguridad (ArquiSafe). La ArquiSafe consta de las siguientes caractersticas: Teclado de entrada con 12 botones (dgitos 0 a 9, A, y B) 3 LEDs para indicar el estado del sistema (Cerrado, Error, Bloqueado) Un buzzer capaz de generar pitidos Una cerradura tradicional activada por llave

El funcionamiento es el siguiente: Cuando la cerradura est desactivada el usuario de la caja de seguridad tiene acceso a su interior para ingresar o retirar elementos. Para activar la cerradura el usuario debe ingresar un cdigo numrico de entre 4 y 8 dgitos (inclusive). Por cada botn que el usuario presione (ya sea un dgito o los botones A y B) un pitido de 0.5 segundos es generado. El usuario digita el cdigo y presiona el botn A. En este momento el sistema determina si el cdigo cumple con los requisitos mnimos de seguridad. Si los cumple la cerradura se activa y un LED Cerrado se prende. Si no se cumplen los requisitos mnimos un LED Error se activa por 2 segundos y a la vez se genera un pitido. Cuando la cerradura est activada para desactivarla (y as permitir abrir la caja) se deber ingresar el cdigo numrico, seguido del botn A. Si el cdigo ingresado es correcto la

cerradura se desactiva y el LED Cerrado se apaga. Si el cdigo ingresado es incorrecto el LED Error se activa por 2 segundos y a la vez se genera un pitido. El usuario puede equivocarse al ingresar el cdigo un mximo de 2 veces seguidas; a la tercera vez el LED Bloqueado se activa y la caja solamente puede ser abierta con la cerradura tradicional. El usuario puede presionar el botn B para reingresar desde el comienzo el cdigo de seguridad (ya sea para activar o desactivar la cerradura). La llave de la cerradura tradicional adems de abrir la cerradura resetea el circuito electrnico de seguridad.

La ArquiSafe cuenta con las siguientes entradas y salidas: Entradas: clk: Esta seal de reloj se supone que tiene una frecuencia de 10 hertz boton[3..0] : Indica qu botn se est presionando (ver cuadro adjunto) reset: Esta seal est conectada a la cerradura tradicional, de tal forma que cuando la llave abre la cerradura tradicional la seal reset toma el valor 1.

Salidas: Cerrado: Conectado al LED Cerrado Error: Conectado al LED Error Bloqueado: Conectado al LED Bloqueado Buzzer: Conectado al buzzer que emite un pitido (mientras vale 1)

Solucion propuesta: Para dise;ar el circuito que representara de la mejor forma la realidad de la ArquiSafe, se busc plantear el problema en varios subproblemas, de manera de modularizar la solucion y asi obtener un circuito mas entendible. El primer subproblema fue decidir, a partir del boton presionado, codificar cual es el boton que se ha presionado y si ese boton es valido o no, en caso de no ser valido no se toma en cuenta, a partir de la salida de ese subproblema y dependiendo del estado es donde se define que hacer con el pedido del usuario. Para ello separamos en 2 casos, que se hace cuando se apreta el boton y el estado de la caja de seguridad es abierto, y que se hace cuando esta cerrado. El estado bloqueado se maneja a parte, donde se cuenta la cantidad de errores que va obteniendo el usuario y si esa cantidad llega a 3,

entonces se ignora cualquier boton que ingrese el usuario hasta que ponga la llave, la cual reseteara los estados. Las codificaciones posibles serian: Que se haya apretado una A, esto es que se trate de abrir o cerrar la caja dependiendo del estado. Que se haya apretado una B, por lo que se borraria la clave que se va ingresando hasta el momento. Y la otra opcion es que se haya ingresado un digito, con lo cual se va haciendo un shifteo de la clave que se va ingresando para asi poner el ultimo digito ingresado en la cola. Donde luego que se presione una A, esa clave debe ser comparada ya sea con las posiciones de la rom, en caso que la caja fuerte se encuentre abierta, o con la clave de la caja si es que la caja fuerte se encuentra cerrada. Para lograr almacenar cada uno de los digitos y los estados, se implementaron circuitos secuenciales compuestos por flip flops tipo D. Circuitos Dise;ados: Reconocedor de teclas invalidas

Este circuito toma como entrada el boton ingresado en la caja fuerte, es un circuito simple que retorna 0 si el boton es uno de los tres botones invalidos propuestos en la letra. Lo que se hace con la salida del circuito es ignorar el boton ingresado tal como si el estado fuera bloqueado en ese momento. Control de clave menor a 4 digitos

En la letra se propuso, que uno de los requerimientos minimos sea que la clave ingresada tenga mas de 4 y menos de 8 digitos. En este subproblema se soluciono el tema de que tenga mas de 4 digitos. Para resolverlo se toman como entrada, los ultimos 20 bits de la clave (los menos significativos) y se verifica el valor de cada uno de ellos, si se cumple que esos 20 bits son 1, entonces significa que la clave contiene menos de 4 digitos, esto es porque cada digito consta de 4 bits, por lo tanto 20 bits serian los ultimmos 5 digitos de la clave, en esta solucion se inicializa la clave con todos los bits en 1, y con cada digito ingresado se va shifteando, por lo tanto si los ultimos 20 bits son 1, la clave no cumple los requerimientos minimos. Control de clave mayor a 8 digitos

Otro de los requerimientos minimos para la clave, es que tuviera hasta 8 digitos (inclusive). Este circuito controla lo pedido. Para controlarlo, por cada digito que se ingresa se le da una se;al la entrada INC de este circuito, y se le pasa la se;al de clock del sistema. Este circuito consta de un contador el cual se incrementa por cada digito ingresado, y cuando este contador llega a mas de 8, la salida se mantiene en 1 y esto indica que se producira un error cuando se presione la tecla A. Mientras el contador se mantenga en menos de 8, la salida se mantendra en 0. Control de boton ingresado

Este es un circuito secuencial propone solucionar el tema que no se puedan ingresar dos botones a la vez, ademas de codificar cual fue el boton apretado, la salida A significa que se apreto la A, la B que se apreto una B, y Guardar significa que lo ingresado es un digito. Para controlar que no se apreten dos digitos a la vez, se utiliza un flip flop tipo para recordar la salida anterior, y por cada boton que se presiona, se pregunta si ya hay otro boton presionado, en caso afirmativo, no se reconoce el boton, y en caso negativo se activa en 1 la salida correspondiente con el boton apretado.

S-ar putea să vă placă și