Deber de Sistemas Digitales
Deber de Sistemas Digitales
Deber de Sistemas Digitales
circuito secuencial a disear y un temporizador que mantiene la caja fuerte abierta durante 5
minutos cuando recibe un nivel lgico 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 lgico 1 que entra al circuito secuencial,
mientras que cuando se pulsa la tecla B se produce un nivel lgico 0 de entrada al circuito a
disear. Mientras no se pulse ninguna tecla no se genera ningn nivel lgico de entrada al
circuito secuencial.
A
Circuito Caja
Temporizador
secuencial fuerte
B
Para abrir la caja fuerte, la combinacin secreta es: pulsar dos veces seguidas la tecla A,
a continuacin 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 lgico 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 pondrn a cero (el sistema pasar al estado inicial), y la secuencia debe
volver a introducirse desde el principio.
En este caso, el diagrama de estados tiene que ser capaz de reconocer la combinacin de
entrada 1101. Partimos de un estado inicial en el que se espera la introduccin del cdigo. A
continuacin, se pasar a un nuevo estado cada vez que se reconozca correctamente el siguiente
bit del cdigo, mientras que si ste no corresponde al cdigo se volver al estado inicial, y habr
que teclear todo el cdigo de nuevo. El significado de los estados ser por tanto el de la
siguiente tabla.
0/0
Estado Definicin Q1 Q0
q0 Estado inicial. 0 0 1/1 q0
1/0
No hay cdigo
q1 Se ha recibido 0 1
el primer 1 0/0
0/0
q3 q1
q2 Se han recibido dos 1 1 0 1/0
consecutivos
q3 Se ha recibido el 0 despus 1 1 q2 1/0
0/0
de dos 1 consecutivos
1
el siguiente estado ser q 2. Sin embargo, si en lugar de un 1 se recibe un 0, la secuencia es
incorrecta, y como resultado habr que regresar a q 0, para que el cdigo sea tecleado por
completo de nuevo. Del mismo modo, al recibir un 0 estando en q 2 pasaremos a q3 (hemos
reconocido 110). Y finalmente, si en q3 la entrada es un 1, el cdigo ha sido correcto, y por lo
tanto la salida del circuito ser 1 y volveremos a q 0. Si la entrada es un 0, entonces fall el
ltimo bit, y aunque volvamos tambin a q 0, en este caso la salida del circuito es 0, puesto que el
cdigo fue errneo.
--------------------------------------------------------------------------
0 0 0 || 0 0 | 0 x 0 x |0
0 0 1 || 0 0 | 0 x x 1 |0
0 1 0 || 1 1 | x 0 1 x |0
0 1 1 || 0 0 | x 1 x 1 |0
1 0 0 || 0 1 | 0 x 1 x |0
1 0 1 || 1 0 | 1 x x 1 |0
1 1 0 || 0 0 | x 1 0 x |0
1 1 1 || 0 0 | x 1 x 1 |1
Simplificando por Karnaugh obtendremos las funciones de entrada a los biestables (J1, K1,
J0 y K0) para el clculo del nuevo estado, y la funcin de salida S.
J1 = E Q0 K1 = E + Q0
J0 = E XOR Q1 K0 = 1
S = E Q1 Q0
2) Se pretende disear un sistema secuencial sncrono con dos entradas E1 y E0, y una
salida S usando biestables D, de manera que proporcione salida alta slo cuando las dos
entradas estn a nivel bajo habiendo estado tambin a nivel bajo ambas entradas en el ciclo de
reloj anterior. Las transiciones se producen en el flanco de bajada del reloj. En los restantes
ciclos de reloj, la salida debe ser baja. Las seales de entrada son peridicas, con un periodo 5
veces superior al perodo de reloj, y son las mostradas en la figura. NOTA: Observar que no se
producen todas las transiciones posibles.
2
1. Paso de las especificaciones verbales al diagrama de estados
1 periodo
reloj
E1
E0
Para realizar el diagrama, hay que tener en cuenta que slo se dan las siguientes
transiciones: entrada E1E0=11 desde q1, entrada E1E0=00 desde q1, Entrada E1E0=00 desde q0,
que es la nica que da salida 1 y entrada E1E0=10 desde q 0. Esto nos permite simplificar el
diseo.
Estado Definicin
q0 Entrada anterior = 00
q1 Estada anterior <> 00 00/1
11/0
10/0
q0 q1
00/0
--------------------------------------------
0 0 0 || 0 | 0 |1
0 0 1 || 0 | 0 |0
0 1 0 || x | x |x
0 1 1 || x | x |x
1 0 0 || 1 | 1 |0
1 0 1 || x | x |x
1 1 0 || x | x |x
1 1 1 || 1 | 1 |0
3
1. Minimizacin de las funciones e implementacin del circuito
D = E1
S = Q E1 = (Q + E1)
a) Disear la circuitera adicional necesaria para que nunca entre ms de una seal
activa al codificador y poner una tabla de salida del codificador para todos los casos
posibles.
b) Definir los estados, su codificacin y su diagrama.
c) Realizar la tabla de excitacin usando biestables D.
d) Implementar el circuito.
EMER
emergencia
reloj 1 Hz
A
B circuito
a disear
CK
En primer lugar debe disearse la circuitera necesaria para asegurar que nunca entra
ms de una seal activa en el codificador. Obsrvese en la figura del enunciado que las seales
externas proceden de dos lugares diferentes. Por un lado, las seales D, APAG e I son generadas
por un interruptor, por lo que por construccin es imposible que se activen dos
simultneamente. Por otro lado tenemos la seal EMER, que procede de la seal emergencia.
Por lo tanto, lo que s puede suceder es que sta ltima y alguna de las anteriores se activen
simultneamente. Para evitarlo es necesario inhibir alguna de las dos cuando se d este caso.
4
Puesto que la seal de emergencia es ms prioritaria, lo que haremos ser utilizarla
como seal de enable del resto, tal y como se muestra en la siguiente figura. Si EMER es 1,
entonces EMER es 0 y las tres AND darn como resultado 0, independientemente de si tambin
alguna de las seales I, D o APAG es 1. Si EMER es 0 entonces EMER es 1 y las puertas AND
permitirn el paso de las 3 seales, de las cuales, como ya se ha comentado, slo una estar
activa.
I AD E Definicin Codificacin
Q1 Q0
0001 Emergencia 0 0
0010 Derecha encendida 0 1
0100 Ambas apagadas 1 0
1000 Izquierda encendida 1 1
Los cuatro posibles estados corresponden a las 4 combinaciones de los dos pilotos de
intermitente. Hemos asignado la codificacin tal y como se indica en la tabla bajo estas lneas,
de manera que el mismo estado puede utilizarse como seal de salida para la activacin de los
intermitentes, simplificando de esta manera la funcin de salida.
q0 Ambas apagadas 00
q1 Derecha encendida 01
q2 Izquierda encendida 10
q3 Ambas encendidas 11
Segn esta codificacin, el diagrama de estados del circuito secuencial a disear sera el
siguiente.
10
10,00
q0
01
00 01,10
11
q1
q3
11 11,10 01
00 11 00
q2
01
5
Mientras nos encontremos en el estado q 0, por ejemplo, y la entrada de A y B sea 10 el
siguiente estado ser q0, puesto que las luces deben permanecer apagadas. Supongamos que
ahora se activa la seal I, solicitando un intermitente a la izquierda. En tal caso se recibir el
cdigo 11 por A y B, por lo que, como se ve en el diagrama pasaremos al estado q 2. Ntese
como en el siguiente ciclo de reloj, si la entrada sigue siendo 11 el siguiente estado ser q0,
provocando que el piloto de la izquierda se apague. La razn de que se produzca esta transicin,
en lugar de permanecer en q 2 es que si no el piloto izquierdo permanecera iluminado
permanentemente, sin parpadear. De esta manera, por tanto, mientras la entrada al circuito
secuencial sea 11, la mquina de estados estar constantemente oscilando entre q0 y q2,
provocando as la intermitencia. El resto de situaciones funcionan de la misma manera.
----------------------------------------------------------------
0 0 0 0 || 1 1 | 1 1
0 0 0 1 || 1 1 | 1 1
0 0 1 0 || 1 1 | 1 1
0 0 1 1 || 0 0 | 0 0
0 1 0 0 || 0 1 | 0 1
0 1 0 1 || 0 0 | 0 0
0 1 1 0 || 0 1 | 0 1
0 1 1 1 || 0 1 | 0 1
1 0 0 0 || 0 0 | 0 0
1 0 0 1 || 0 0 | 0 0
1 0 1 0 || 0 0 | 0 0
1 0 1 1 || 0 0 | 0 0
1 1 0 0 || 1 0 | 1 0
1 1 0 1 || 1 0 | 1 0
1 1 1 0 || 0 0 | 0 0
1 1 1 1 || 1 0 | 1 0
6
VERDE, y nunca en los restantes casos. El sistema completo funciona segn el esquema de la
figura adjunta.
circuito R
P
secuencial A
A NOR Reset
FA E C
reloj 1 Hz
contador 5
bloque 1 bloque 2
B NOR Reset
FB E D
contador 40
Cuando se encienden las luces VERDE y AMBAR el bloque 2 pone la lnea C a nivel 0,
mientras que cuando se enciende slo la luz ROJA pone la lnea D a nivel 0. Mientras que
alguna de estas lneas est a nivel 0, queda inhibida la entrada del reloj al circuito secuencial.
Mientras el semforo est VERDE, los pulsos de reloj entran al circuito secuencial
Los contadores tienen una entrada RESET, activa a nivel alto, y una entrada de
HABILITACION (E), activa a nivel bajo. Cuando los contadores cuentan el ltimo nmero
previsto presentan en su salida respectiva FA/FB un nivel 1, sealando que se ha llegado al final
de la cuenta. NOTA: R est conectado a las entradas de reloj de los tres biestables D que hay en
el circuito secuencial a disear.
En la figura del enunciado pueden apreciarse cuatro bloques bien diferenciados. Por un
lado el circuito secuencial, encargado de generar la secuencia correcta de iluminacin, por otro
el bloque 2 responsable de activar los contadores en funcin de la transicin del semforo (de
verde y amarillo a rojo, y de rojo a verde). Por ltimo, el bloque 1 debe encargarse de inhabilitar
el circuito secuencial mientras alguno de los contadores est en marcha. Esta inhabilitacin se
realiza desactivando la seal de reloj del circuito, de manera que as no puede cambiar de estado
hasta que el reloj se active de nuevo, cosa que suceder cuando los contadores hayan terminado.
La implementacin del bloque 1, por lo tanto ser la que recoge la siguiente tabla de
verdad. Obsrvese como cuando ninguno de los contadores est en marcha (A y B son 0) la
entrada al circuito secuencial es la del reloj del sistema. Sin embargo, si uno de los dos
contadores se pone en marcha (A o B son 0) la entrada de reloj del circuito secuencial es R = 0,
impidiendo que pueda cambiar de estado hasta que el contador no haya terminado. Como los
contadores no pueden activarse simultneamente la combinacin A y B igual a 1 no se producir
nunca.
7
A B |R R = A B reloj = (A + B) reloj
-----------------
0 0 | reloj
0 1 |0
1 0 |0
1 1 |X
V A R | C D
-----------------------
0 0 0 |x x
0 0 1 |1 0
0 1 0 |x x
0 1 1 |x x
1 0 0 |1 1
1 0 1 |x x
1 1 0 |0 1
1 1 1 |x x
C = A D = R = V
Por ltimo, queda disear el circuito secuencial propiamente dicho, para lo cual
procederemos como siempre.
Puesto que el semforo slo utiliza tres de las posibles combinaciones de colores (verde,
verde y mbar, y rojo), slo sern necesarios tres estados para su codificacin. Por lo tanto, con
dos biestables tendramos suficiente para almacenar las tres codificaciones. Sin embargo, y para
simplificar la salida del circuito, puesto que cada luz del semforo es controlada por una salida
diferente, podramos utilizar tres biestables, de manera que cada uno de ellos fuera el
responsable de la activacin o desactivacin de una de las lneas. De esta manera se
desperdician 5 de las ocho posibles combinaciones posibles con los tres biestables, pero a
cambio la salida del circuito es directamente el estado almacenado en sus biestables (mquina
de Moore).
Estado Definicin Qv Qa Qr 0 1
q0 Verde 1 0 0 q0 q1
q1 Verde y mbar 1 1 0
q2 Rojo 0 0 1
0
0
8
2. Construccin de la tabla de estados
--------------------------------------------------------------------------------------
0 0 0 0 || x x x | x x x
0 0 0 1 || 1 0 0 | 1 0 0
0 0 1 0 || x x x | x x x
0 0 1 1 || x x x | x x x
0 1 0 0 || 1 0 0 | 1 0 0
0 1 0 1 || x x x | x x x
0 1 1 0 || 0 0 1 | 0 0 1
0 1 1 1 || x x x | x x x
1 0 0 0 || x x x | x x x
1 0 0 1 || x x x | x x x
1 0 1 0 || x x x | x x x
1 0 1 1 || x x x | x x x
1 1 0 0 || 1 1 0 | 1 1 0
1 1 0 1 || x x x | x x x
1 1 1 0 || x x x | x x x
1 1 1 1 || x x x | x x x
Simplificando por Karnaugh obtendremos las funciones de entrada a los biestables (Dv, Da,
y Dr) para el clculo del nuevo estado. La funcin de salida, como se ha comentado, consiste
simplemente en conectar cada salida de los biestables a la seal de activacin de cada una de las
luces de los semforos
Dv = Qa Da = P Dr = Qa
5) Una mquina expendedora de tabaco est controlada por un circuito secuencial como
el de la figura. Dicho circuito recibe como entradas el cdigo de dos bits (tabla 1) de las
monedas que va introduciendo el usuario. Como salidas, el circuito debe activar 2 seales,
correspondientes a si se debe o no entregar el tabaco (T), y la cantidad de cambio a reintegrar
(C1 y C0), codificadas segn las tablas 2 y 3 respectivamente.
M(2) T (1)
Circuito secuencial
C(2)
9
M1 M0 Significado
0 0 No hay moneda
0 1 Nueva moneda de 25
1 0 Nueva moneda de 50
1 1 Nueva moneda de 100
Tabla 1: Codificacin de la entrada M
T Significado
0 No servir tabaco
1 Servir tabaco
Tabla 2: Codificacin de la salida T
C1 C0 Significado
0 0 No hay cambio
0 1 Cambio de 25
1 0 Cambio de 50
1 1 Cambio de 75
Tabla 3: Codificacin del cambio C
La implementacin del circuito, utilizando mapas de Karnaugh para implementar todas las
funciones.
10
6) Disear un sistema secuencial capaz de reconocer el patrn 001011. La entrada al
circuito se realizar a travs de una seal de entrada E, de forma sncrona, y en serie (un nuevo
bit cada ciclo de reloj). El circuito dispondr de una salida S que tomar el valor 1 en el
instante en el que se reconozca el patrn en la secuencia de entrada, y ser 0 en todos los
dems casos. NOTA: debe tenerse en cuenta que al recibir un bit fuera de secuencia no hay que
desechar todos los valores recogidos hasta ese momento. Es posible que parte de la secuencia
siga siendo vlida. Por ejemplo, si suponemos que se ha recibido la secuencia 00, y a
continuacin llega un tercer 0, se considerar que los 2 ltimos ceros son parte de una secuencia
correcta.
Se pide:
a) Identificacin y codificacin de estados.
b) Diagrama de estados.
c) Completar la tabla de verdad teniendo en cuenta que deben utilizarse biestables
tipo JK, T y D (de ms a menos significativo) para la implementacin fsica del
circuito.
2) Diagrama de estados
3) Implementacin
E Q2(t) Q1(t) Q0(t) Q2(t+1) Q1(t+1) Q0(t+1) J2 K2 T1 D0 S
0 0 0 0 0 0 1 0 X 0 1 0
0 0 0 1 0 1 0 0 X 1 0 0
0 0 1 0 0 1 0 0 X 0 0 0
0 0 1 1 1 0 0 1 X 1 0 0
0 1 0 0 0 1 0 X 1 1 0 0
0 1 0 1 0 0 1 X 1 0 1 0
0 1 1 0 X X X X X X XX
0 1 1 1 X X X X X X XX
1 0 0 0 0 0 0 0 X 0 0 0
1 0 0 1 0 0 0 0 X 0 0 0
1 0 1 0 0 1 1 0 X 0 1 0
1 0 1 1 0 0 0 0 X 1 0 0
1 1 0 0 1 0 1 X 0 0 1 0
1 1 0 1 0 0 0 X 1 0 0 1
1 1 1 0 X X X X X X XX
1 1 1 1 X X X X X X XX
11
EJERCICIOS RESUELTOS DE REGISTROS Y CONTADORES
de desplazamiento mueve los datos al bit de la derecha en cada ciclo de reloj, resulta la siguiente
tabla:
Hay que tener en cuenta que el contador de 2 bits se pone a 0 cuando Q B=1 y cuando x
1 , mientras que el contador de 3 bits se pone a 0 cuando Q E=1, x 1 y QC=1. Tambin
debe considerarse que el impulso de cuenta del contador de tres bits se produce en las
transiciones bajo-alto de Ck, que es la AND de Ck con X.
3) R1 y R2 son dos registros de desplazamiento de 8 bits, en cada uno de los cuales estn
almacenados dos nmeros binarios N1 y N2 respectivamente. Se trata de disear un circuito
secuencial sncrono con dos entradas x1 y x2 por las que entran bit a bit en cada ciclo de reloj
los nmeros N1 y N2, comenzando por el bit ms significativo (MSB), y dos salidas z1 y z2
(por z1 sale el menor de los dos nmeros y por z2 el mayor).
R1 x1 z1
Circuito Secuencial a
disear
R2 x2 z2
Reloj
4) Se trata de disear un circuito secuencial que admite como entradas dos lneas A y B,
procedentes de sendos registros de desplazamientos, de forma sincronizada con un reloj, por las
que entran 1 bit por cada lnea en cada ciclo de reloj.
R1 A z1
Circuito Secuencial a
disear
R0 B z0
Reloj
Se pide:
T1 A Q0 A B B Q0
T0 = A B
D1 = Z1 Z0