Está en la página 1de 7

Circuitos Electrnicos.

Junio 2006/2007 Problema 1 1 parcial


Se quiere disear un sistema para comparar el tiempo de reaccin de dos participantes. El esquema general se muestra en la figura. P1, P2 y START son botones de pulsacin que generan un 1 al ser pulsados, y GO, TRAMPA y WIN son luces que se encienden con una seal de nivel alto.

El funcionamiento es el siguiente: 1. Al iniciarse el sistema, se espera una pulsacin del botn START. 2. Una vez se ha pulsado START, se espera un tiempo aleatorio y se activa la seal GO. 3. Los jugadores deben accionar su pulsador (P1 P2) lo ms rpido posible despus de activarse la seal GO. Cuando uno de ellos lo hace, se acaba el juego, se activa la seal WIN y el tiempo que ha tardado el ganador se muestra en su display correspondiente. 4. Si transcurre 1 segundo sin que ninguno de los dos jugadores haya accionado su pulsador, el juego se acaba sin ganador. 5. Si alguno de los jugadores acciona su pulsador antes de activarse la seal GO, el sistema activa la salida TRAMPA y se acaba el juego. 6. Al acabarse el juego, se espera a que se pulse de nuevo START para volver al punto 2. El display debe permanecer encendido hasta que se pulse START, pero no ms tiempo. El sistema consta de una mquina de control que gobierna el comportamiento, dos contadores de tiempo que deben medir el tiempo transcurrido entre la seal GO y la activacin de alguno de los pulsadores, un generador de retrasos aleatorios, y dos displays de salida de dos dgitos con seal de habilitacin.

(Sigue)

El generador de retraso aleatorio consta de una entrada y una salida. Al detectar un flanco de subida en su entrada, el generador espera un tiempo aleatorio y devuelve por la salida un pulso a nivel alto que dura un ciclo de reloj. Los contadores de tiempo deben contar el tiempo en centsimas de segundo, y generar una seal F1 o F2 cuando han contado un segundo completo. Los displays disponen de la lgica necesaria para la decodificacin de una seal digital paralela entre 0 y 99 y de una seal para encenderlos y otra para apagarlos. Los displays tienen memoria y permanecen encendidos hasta que se les d orden de apagarse, o apagados hasta que se les d orden de encenderse. El sistema es sncrono y todos los elementos comparten la misma seal de reloj, de 10kHz de frecuencia. Se dispone de contadores sncronos de 7 bits con seales de habilitacin y reset activas a nivel alto. Cualquier otro componente que se quiera usar debe definirse. Se supone que las seales de los botones no tienen rebotes y duran varios ciclos de reloj. Se pide: a) Disear la mquina de control basada en una mquina de estados de Moore, y plantear la tabla de transicin de estados, indicando los valores de las salidas en cada estado. No es necesario resolverla ni calcular las ecuaciones de salida. Se valorar especialmente la reduccin previa del nmero de entradas de la mquina. (4 puntos) b) Disear los contadores de tiempo para que cumplan con las especificaciones descritas. (2 puntos) c) Si se quisiese mostrar la diferencia de tiempo de reaccin entre los dos jugadores hara falta un restador para calcularla. Disear un restador que se adece al sistema especificado a partir de semisumadores y puertas lgicas. (2 puntos) d) Describir los cambios que habra que hacer en el sistema para poder llevar la cuenta del nmero de juegos ganados por cada uno de los jugadores. (2 puntos) Tiempo: 1h

Circuitos Electrnicos. Junio Parcial 2006/2007 Solucin al problema 1 del 1 parcial


a) La transicin de estados de la mquina de estados contenida en la unidad de control puede ser de la siguiente forma:

En la figura, hemos partido de un estado de reposo al que no se vuelve nunca. El camino normal es REPOSO, START, GO, WIN, START, GO, WIN, ..., aunque en algunos casos se puede pasar a TRAMPA o a FIN. El nmero de entradas original (P1, P2, FIN1, FIN2, START, RA) es inmanejable para resolver una mquina de estados. En este caso no se peda hacerlo, pero s reducir las entradas, con lo que se han agrupado P1 y P2, y FIN1 y FIN2 en el diagrama de transiciones. Esto tiene el inconveniente de que la mquina de estados no podr saber cul de los dos jugadores ha ganado, slo que uno de los dos lo ha hecho. En el enunciado se dice explcitamente que slo el display del ganador debe mostrar el tiempo, con lo que habr que buscar alguna forma de resolverlo. Despus de la reduccin quedan 4 entradas, que sigue siendo un nmero elevado. Fijndonos en el diagrama vemos que las entradas RA y FIN1+FIN2 nunca provocan una bifurcacin desde un estado, con lo que podemos combinarlas, quedndonos slo tres entradas. Con estas tres entradas se puede escribir la siguiente tabla de transicin: entradas: START, P1+P2, FIN1+FIN2+RA

Estado 0 (Reposo) 1 (Start) 2 (Go) 3 (Win) 4 (Fin) 5 (Trampa)

000 0 1 2 3 4 5

001 0 2 4 -

011 0 5 4 -

010 0 5 3 3 4 5

110 1 1 3 1 1 1

111 1 5 4 -

101 1 2 4 -

100 1 1 2 1 1 1

En esta tabla se ha considerado que si se produce a la vez una pulsacin de P1 o P2 y la seal de FIN, predomina esta ltima y nadie gana el juego. Por ltimo, las salidas correspondientes a cada estado son: Est 0 Reposo 1 Start 2 Go 3 Win 4 Fin 5 Tramp TR 0 1 0 0 0 0 GO 0 0 1 0 0 0 WIN 0 0 0 1 0 0 TRAMP. 0 0 0 0 0 1 Rn 1 1 0 0 0 0 En 0 0 1 0 0 0 ONn 0 0 0 1 0 0 OFFn 1 1 x 0 0 0

Se puede observar que las seales de reset y habilitacin de los dos contadores siempre se activan y desactivan a la vez, por lo que se pueden combinar en una sola, como se ha hecho en la tabla. Lo mismo pasa con las de activacin y desactivacin de los displays. Slo falta saber cmo activar el display adecuado en el estado 4 (Fin). Para hacerlo nos podemos aprovechar de la memoria que tienen los displays y usar las seales P1 y P2 para seleccionar el adecuado, segn el circuito siguiente:

b) Hay que notar que la frecuencia del reloj del sistema no es la adecuada para medir centsimas de segundo. Si ussemos los contadores con un reloj de 10kHz no tendramos suficiente rango. Como tenemos contadores de 7 bits podemos construir un contador mdulo 100 para dividir la frecuencia por 100, lo que nos da 100Hz, que es exactamente lo que necesitamos. Slo hay que aadir un circuito que detecte cuando el contador llega al final para generar la seal FINn correspondiente.

c) Un restador se puede construir a base de sumadores, haciendo el complemento a 2 del sustraendo. Hacer el complemento a 2 consiste en este caso en invertir todos los bits e introducir un 1 por el acarreo de entrada del sumador de los bits menos significativos.

SC: Sumador Completo d) Slo hay que poner dos contadores, uno para cada jugador. La cuestin es cmo activarlos, ya que todo el sistema tiene que seguir siendo sncrono, y no disponemos de una seal proveniente de la mquina de control que nos indique qu jugador ha ganado. La solucin es usar un circuito similar al que se vio para activar los displays en el apartado a), que combinaba la seal ON1 con P1 y P2 para producir una seal que slo es activa en el display del jugador ganador. Esta seal estar activa mientras estn activas ON1 y la Px correspondiente, lo que ser normalmente varios ciclos de reloj. Hay que usar una pequea mquina de estados para reducir este tiempo a un nico ciclo, y as evitar que el contador se incremente varias veces en un solo juego.

La mquina de estados tiene una nica entrada, una salida, y tres estados: Estado 00 01 11 Resolviendo la mquina tenemos: Q0n+1=/Q1/Q0Ent Q1n+1=Q0Ent Salida=/Q1Q0 0 00 00 00 1 01 11 11 Salida 0 1 0

También podría gustarte