You are on page 1of 13

SEGUNDA ACTIVIDAD EVALUABLE

FUNDAMENTOS de SISTEMAS DIGITALES

1: Asignatura:

Diseo, Implementacin y Simulacin de un Circuito en Lgica


Secuencial

2: Ttulo de la Actividad:

3: Datos personales:
- Nombre y Apellidos:
- DNI:
- Centro asociado:
4: Cdigo de la actividad que le ha correspondido realizar: A-E-2-xxx
5: Enunciado.
Enunciado A-E-2-xxx
Esta actividad consiste en el diseo e implementacin en el un circuito secuencial que consta de
tres bloque funcionales que realizan funciones claramente diferentes. El primer bloque consiste en
construir un reloj con el circuito de tiempo 555 funcionando como astable. El segundo bloque
consiste en obtener, a partir de este reloj, una onda cuadrada de mayor periodo y, por ultimo, el
tercer bloque consiste en construir un autmata finito controlado por el tren de pulsos anterior y que
acte de una forma u otra en funcin de si este pulso est en alta o en baja. Por tanto, el esquema a
nivel de diagrama de bloques del circuito a disear y simular es el de la siguiente figura:

Reloj
555

Reloj

t1 t2

Generador
de la seal
de control,
x

Circuito
secuencial
de 2 bits

Q1
Q0

Reloj
X

tm = 4T

tm = 4T

Disee el sistema lgico secuencial de la figura para que el circuito secuencial de 2 bits
realice las siguientes funciones:
- Si x=0 no cambia de estado. Es decir, permanece en el mismo estado con independencia
del estado en el que se encuentre.
- Si x=1 el autmata recorre la secuencia 00 01 11 10 00 - 01.

Apellidos, nombre:
DNI: 00000000A

1/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

Respuestas
Bloque 1 Circuito 555 como astable:
El circuito 555, segn la teora, es un circuito de tiempo que puede configurarse como
temporizador (monoestable) o como oscilador (astable). En modo monostable su salida es un
solo pulso en estado de alta, siendo el tiempo que dura la salida en alta lo que define la
duracin del pulso. En cambio, si lo configuramos en modo astable, la salida se compone de un
tren de pulsos (onda rectangular), pasando del estado de alta al de baja indefinidamente..
Siguiendo la figura 10.13 del libro de texto para configurar el circuito 555 como astable,
necesitamos averiguar los valores de RA, RB y C para que la salida nos resulte como queremos.
En mi caso, he decidido tener una frecuencia f = 100 Hz entre pulso y pulso del oscilador, es
decir un periodo T = 1/f = 0,01 s = 10 ms.
Atendiendo ahora a la grfica de la misma figura 10.13 parece que elegir una capacitancia C =
0,1 F dejara los valores de las resistencias en el orden de los kilo-ohmios, por lo tanto ser la
que tome para hacer los clculos e implementar en la simulacin.
Una vez decididos estos parmetros del circuito, para completarlo tenemos que calcular los
valores de las resistencias RA y RB segn las ecuaciones 10.16 del libro, que son:
1 0,693
2 0,693
Como T = 10 ms = t1 + t2 y queremos que la seal de salida sea una onda cuadrada simtrica
donde t1 = t2 resulta que t1 = t2 = 5 ms. Procedemos ya a calcular el valor de las resistencias
segn las ecuaciones anteriores, donde resulta obvio que RA y RB deben tener el mismo valor
debido a esta particularidad de la salida:
=

1
5
=
= 72.150,07
0,693 0,693 0,1

Redondeamos un poco por comodidad y elegimos entonces los valores RA = RB = 72 K


Con estos valores procedemos a disear el circuito con el programa Schematics para obtener
luego la simulacin de la salida y comprobar si funciona segn lo esperado:

Apellidos, nombre:
DNI: 00000000A

2/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

1 Esquema del circuito 555 configurado como astable y con los valores calculados anteriormente

Con el circuito diseado vamos a comprobar mediante una simulacin que funciona segn lo
esperado. Recordemos, una onda cuadrada con 5 ms en alta y 5 ms en baja consecutiva e
indefinidamente:

2 Simulacin de la salida (Output) del circuito diseado anteriormente

Apellidos, nombre:
DNI: 00000000A

3/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

Se observa que los tiempos de cada periodo de la onda (salida en alta o salida en baja) no se
corresponden con lo esperado tericamente. Esto se debe primero a las caractersticas del
circuito 555, segundo a que las ecuaciones que hemos utilizado son una aproximacin y no las
necesarias para calcular el valor exacto de la resistencia, y tercero a que hemos redondeado un
poco el valor de las mismas por motivos prcticos desde 72,150 K hasta los 72 K.
Podemos apreciar tambin como en los instantes iniciales, la salida se mantiene en baja ms
tiempo de lo normal, y es debido a que al principio el condensador C est descargado y el
circuito debe esperar a que se cargue completamente.
En cualquier caso, la salida resultante es completamente vlida para los propsitos de la tarea,
as que la damos por vlida y ser la que utilicemos cuando acoplemos todos los bloques al
final de la misma.
NOTA: haciendo la prctica, prob a disear este bloque sin aadir el diodo que recomiendan
en el libro de texto, con lo cual las ecuaciones para calcular RA y RB varan, tomando un valor
de RA RB/10. El resultado fue una onda con los valores de t1 y t2 mucho ms aproximados
entre s que los obtenidos en el ejercicio usando el diodo.
La decisin de hacerlo incluyendo el diodo se debe pues a la recomendacin del libro y a que
en el enunciado de la tarea nos piden que calculemos el valor de R, y no de ambas, dando por
hecho que es el mismo.

Bloque 2 Contador binario integrado SN74939


En el enunciado del ejercicio nos piden que, a partir de la seal generada anteriormente con el
circuito 555, obtengamos otra igualmente cuadrada pero con un periodo que sea 8 veces el
anterior. En nuestro caso entonces deberemos obtener un periodo de 80 ms atendiendo a los
clculos tericos, y de 88 ms si tomamos los datos obtenidos en la simulacin anterior. Es
decir, una sucesin de pulsos u onda cuadrada con 40 ms de estado en alta, y otros 40 ms con
el estado en baja.
Para conseguir la onda necesaria, se podra implementar un circuito con 3 biestables cualquiera
conectados entre s formando un contador binario (contar los pulsos de la onda de entrada), y
elegir como salida una nica lnea, concretamente la del ltimo biestable de la cadena. Tambin
se podra implementar usando otro 555 a continuacin del anterior pero esta vez configurado
como monoestable.
En vez de estas soluciones, vamos a utilizar el circuito integrado SN74393 propuesto en el
enunciado, que no es ms que 4 biestables T conectados en serie que nos proporcionan 4
salidas conformando un contador de 4 bits o mdulo 4 (cuenta hasta 15 en decimal). Este
circuito lo que hace es cambiar el valor de sus salidas (QA, QB, QC y QD) cada vez que a la
entrada (A) le llega un nuevo pulso, de forma que obtenemos, a la salida, 4 ondas que pueden
estar en alta (1) o en baja (0) en funcin del nmero de pulsos que le han ido llegando en el
tiempo. Sin entrar en detalles, estas salidas siguen esta sucesin: 0000, 0001, 0010, 1111 y
vuelve a empezar. Como vemos, si pasamos esos valores a decimal, nos cuenta el nmero de
pulsos desde 0 a 15. Podemos apreciar mejor su funcionamiento observando el cronograma de
este circuito:
Apellidos, nombre:
DNI: 00000000A

4/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

1 Salidas del contador SN74393 en funcin de la entrada de reloj (clock)

Si nos fijamos, podemos apreciar que cada una de las diferentes salidas tiene un periodo que es
desde 2 a 16 veces el periodo de la entrada del reloj (clock), y esto es justo lo que necesitamos
segn el enunciado del ejercicio. Concretamente necesitamos la salida QC del circuito, que
tiene un periodo de 8 veces el de la entrada, es decir la salida del tercer biestable T del 74393.
Como hemos comentado anteriormente, la solucin podramos haberla planteado tambin
usando 3 biestables conectados en serie configurados como contador (y preferiblemente
sncrono).
Sabiendo esto, vamos a realizar ya el esquema del segundo bloque del ejercicio utilizando el
circuito SN74393 para ello. Es un circuito bastante simple y la nica particularidad que tiene es
su entrada de CLR, que debe mantenerse en baja para nuestros propsitos, ya que si la
tuviramos en alta, el circuito se reseteara y sus salidas seran siempre 0 (en baja) hasta que
la cambiramos a alta.

2 Esquema del bloque 2 utilizando el contador 74393

Como vemos, hemos marcado la salida QC del circuito como x para seguir con la nomenclatura
del enunciado. Es necesario aclarar tambin que por practicidad, como entrada hemos hecho
uso de un dispositivo virtual (DSTM1), llamado DigClock en PSpice, que nos proporciona
directamente una onda cuadrada perfectamente simtrica. Lo hacemos sustituyendo la salida
del circuito 555 diseado en el bloque anterior. En la parte final del ejercicio juntaremos todos
los bloques y comprobaremos que funcionan como se espera entre ellos, pero de momento lo
dejamos as por comodidad. Esta seal, que como decimos es una onda cuadrada, se mantiene
un tiempo de 5 ms en estado de alta y un tiempo de 5 ms en estado de baja, alternndose los
estados indefinidamente. As se ajusta a los requerimientos tericos que propusimos en la
resolucin del bloque 1 para la salida del 555.
Procedemos ahora a comprobar si la salida x obtiene el resultado que deseamos, que
recordemos debe ser una onda cuadrada con un periodo de 80 ms y con 40 ms para cada estado:

Apellidos, nombre:
DNI: 00000000A

5/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

3 Cronograma del bloque 2 con la entrada de reloj (clock) y la salida necesaria

Se observa perfectamente que la salida x cumple con los requisitos del enunciado, siendo una
onda cuadrada con un periodo de 8 veces el de la seal de entrada, mantenindose en baja
durante 4 veces el periodo de la seal de entrada, y el mismo tiempo para su estado en alta.
Damos pues por vlido el diseo del bloque y pasamos al siguiente.
Bloque 3 Autmata finito, secuencial de 2 bits:
El enunciado de este bloque nos pide que diseemos un autmata finito de 2 bits en el cual sus
salidas (Q0 y Q1 siendo Q1 la salida correspondiente al bit ms significativo y Q0 al menos
significativo) recorran la siguiente secuencia cuando la seal de control x est en estado de
alta (1 lgico): 00 01 11 10 00 Si la seal de control x est en estado de
baja (0 lgico) las salidas tienen que mantenerse en el estado en el que se encuentran, sin
cambiar, para luego en cuanto la seal de control vuelva a tener el estado de alta, continuar con
la secuencia donde se qued.
Nos piden tambin que el circuito lo simulemos con biestables D y tantas puertas lgicas como
sea necesario. Adems nos indican que utilicemos por ejemplo el biestable SN7474, un
circuito integrado que consta de un biestable D activado por flanco de subida con dos seales
extra de control (PRE y CLR). El esquema del circuito y la tabla de verdad que lo define son:

Apellidos, nombre:
DNI: 00000000A

H
L
x

X
Q0

=
=
=
=
=
=

seal en alta
seal en baja
indeferente
transicin de seal baja-a-alta
indeferente
estado de Q en el instante anterior

6/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

Teniendo en cuenta que los biestables en este caso deben ir realimentados (porque dependen de
sus propias salidas en el instante de tiempo anterior), sus entradas D se definiran por una
funcin = +1 = (, 1, , 0, ). Obviamos la seal de reloj CLK porque recordemos es la
que nos sirve para activar los cambios de estado en sus flancos de subida, y las dos extras de
control PRE y CLR que en nuestro ejemplo se mantendrn en su estado de alta
indefindamente.
Sabiendo todo lo dicho anteriormente, y debido a la relativa sencillez del circuito, podramos
desarrollar ya la tabla de verdad del circuito para a partir de ella sacar los trminos mnimos
que definen a ambas entradas D de los biestables, y finalmente disear el circuito:

+
=

+
=

Y las ecuaciones que definen las salidas, expresadas como suma de productos y
simplificndolas seran:
+
= = + + +

= ( + ) + ( + )

= +
+
= = + +

+



+ )
(
= (

+ ) +

=
+
Con esto como decimos ya podramos disear el circuito y comprobar si efectivamente se
cumplen los requisitos del enunciado para el autmata, pero en la Gua de Estudio de la
asignatura, nos piden especficamente que desarrollemos el bloque mediante el procedimiento
general de sntesis de autmatas finitos. Es decir obtener primero el diagrama de transicin
de estados, luego a partir de l las matrices de transicin y por ltimo la matriz funcional, de
donde podemos a su vez obtener las expresiones mnimas de las seales de disparo de los
biestables.
Empecemos pues con el diagrama de transicin de estados siguiendo la descripcin del
ejercicio. Tenemos una salida por biestable que conforman 22 = 4 posibles estados, que sern
00, 01, 10 y 00 a los que llamaremos S0, S1, S2 y S3 respectivamente. De forma ms general,
Apellidos, nombre:
DNI: 00000000A

7/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

un estado S se define como = 1 0 siendo Q1 y Q0 los estados en los que se encuentra el


autmata en cada momento (que adems en este caso coinciden con las salidas del mismo,
por lo tanto no es necesario expresarlas en el diagrama). La seal de control x es la entrada
que hace que el autmata cambie entre los diferentes estados. Entonces a raz de lo expuesto en
el enunciado el diagrama sera:
0

S0
1

S2

S1

S3

0
Ahora, a partir de este diagrama de transicin de estados, podemos obtener las matrices de
transicin para cada valor posible de la entrada de control x, 0 (baja) y 1 (alta), que son,
respectivamente:
T0 (x=0)
S0
S1
S2
S3

00
01
10
11

S0
00
1
0
0
0

S1
01
0
1
0
0

S2
10
0
0
1
0

S3
11
0
0
0
1

T1 (x=1)
S0
S1
S2
S3

00
01
10
11

S0
00
0
0
1
0

S1
01
1
0
0
0

S2
10
0
0
0
1

S3
11
0
1
0
0

Con las matrices de transicin que acabamos de crear, podemos fcilmente obtener la matriz
funcional:

Apellidos, nombre:
DNI: 00000000A

8/13

Fundamentos de Sistemas Digitales

M(x)

A-E-2-xxx

+
+

+
+

+
+

+
+

00

01

10

11

00

01

10

11

Esta matriz representa las transiciones entre los diferentes estados del autmata dependiendo
del valor que tome la entrada x. Es decir, que por ejemplo si en el instante t el estado es 00 y la
entrada es (x = 0), en el siguiente instante (t+1) el estado ser 00.
El paso que hay que dar ahora es el de obtener las funciones de excitacin de los biestables D
que vamos a usar. Estas funciones de excitacin nos darn los valores que deben introducirse
en los biestables D para realizar la realimentacin y as disponer de los estados anteriores del
autmata a la entrada del mismo (conexiones D del SN74393 ). Sabiendo esto, debemos
obtener dos funciones lgicas, una para cada variable de estado (1+1 y 0+1 ):
1+1 = 1 = (, 1 , 0 )
y
+1

0 = 0 = (, 1 , 0 )
Para calcular estas funciones a partir de la matriz funcional, al igual que en una tabla de verdad,
hay que tomar los valores y variables que hacen que la funcin sea 1. Nos tenemos que fijar en
las columnas de la matriz que hacen que las variables de estado (1+1 y 0+1 ) sean tambin 1.
Es decir, las columnas 3 y 4 para 1+1 y las columnas 2 y 4 para 0+1. Para estas columnas,
sumaremos los trminos que aparecen en ellas multiplicados por las combinaciones de 1 y 0
correspondientes a cada fila. Entonces:
1+1 = 1 = 1 0 + 1 0 + 1 0 + 1 0
1 = (1 0 + 1 0 ) + (1 0 + 1 0 )
1 = 0 + 1
y
0+1 = 0 = 1 0 + 1 0 + 1 0 + 1 0
0 = (1 0 + 1 0 ) + (1 0 + 1 0 )
0 = 1 + 0

Apellidos, nombre:
DNI: 00000000A

9/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

Apreciamos que efectivamente el resultado obtenido a partir de este desarrollo, coincide con el
que obtuvimos al principio desarrollando las funciones directamente a partir de la tabla de
verdad. En principio parece todo correcto, veamos si la simulacin del circuito nos lo confirma.
Recordemos que estas funciones que acabamos de calcular, sirven tanto para la realimentacin
de los biestables (entrada D de cada uno) en el instante de tiempo t, como para saber el estado
en el que se encontrar cada salida de esos mismos biestables en el instante de tiempo t+1.

4 Esquema del autmata de 2 bits para el bloque 3

Por cuestiones prcticas, hemos simulado directamente las entradas x y clock con un DigClock
de caractersticas expuestas en el propio esquema. Comprobemos ahora en el cronograma si las
salidas Q1 y Q0 se comportan de la forma que esperamos:

5 Cronograma del autmata con las entradas de reloj y de control y las salidas Q1 y Q0

Apellidos, nombre:
DNI: 00000000A

10/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

Vemoslo ms de cerca:

Aparentemente se comporta correctamente. Cuando la seal de control x est en baja las salidas
mantienen siempre su estado anterior, y cuando pasa a alta, recorren la secuencia indicada. La
pega es que cuando x = 0 siempre coincide que las salidas tendrn que ser 00. Para cerciorarnos
de que todo funciona bien, vamos a realizar la simulacin cambiando el periodo de la seal de
control x de forma que no se cumpla esta coincidencia. Por ejemplo usaremos un periodo de 30
ms (menor que el original), y otro de 50 ms (mayor):

6 Cronograma con los periodos de la seal de control cambiados

Se puede apreciar ahora que, en los instantes en los que x = 0, las salidas mantienen
efectivamente el estado anterior en el cual se encontraban, y adems no coincide que este
siempre sea 00. La secuencia que se recorre en x = 1 tambin es la deseada.
Por lo tanto, ya podemos dar por correctos las funciones calculadas y el esquema planteado
para el bloque 3.

Apellidos, nombre:
DNI: 00000000A

11/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

Unin de todos los bloques y su cronograma correspondiente:


Vamos a proceder ahora a unir entre s todos los bloques que hemos ido diseando a lo largo
del ejercicio y comprobaremos mediante su cronograma en la simulacin que funciona como es
debido.

7 Esquema con todos los bloques unidos

8 Cronograma con la simulacin del circuito anterior

Apreciamos en el cronograma de la simulacin que tanto las seales de reloj como la de control
se generan correctamente, y que tambin las salidas del autmata son las esperadas.
Podemos dar por acabado el ejercicio y pasaremos a comentar las dificultades que hemos ido
encontrando mientras lo resolvamos.

Apellidos, nombre:
DNI: 00000000A

12/13

Fundamentos de Sistemas Digitales

A-E-2-xxx

Dificultades encontradas:
Si descartamos los problemas que he tenido con el programa para realizar las simulaciones
(sobre todo configuraciones de Setup Analysis) y de inicializacin de los biestables, por
deberse a la poca familiarizacin que tena con el mismo, el ejercicio no ha presentado mayores
complicaciones. Aun as me gustara comentar dnde he estado bloqueado en algunos
momentos de la realizacin de la prctica.
En el Bloque 1, a la hora de calcular el valor del condensador C, no saba cmo hacerlo (2
ecuaciones 3 incgnitas) hasta que encontr que el valor deba escogerse a ojo segn una
grfica del libro de teora. Concretamente la grfica de la figura 10.13, tal y como comento en
el mismo apartado.
Para el Bloque 3, tuve ms dificultades de las previstas calculando las funciones de excitacin
siguiendo el procedimiento general de sntesis de autmatas finitos. Nunca haba hecho nada
parecido y la intuicin en un primer momento me llevaba a resolverlo utilizando una tabla de
verdad en lugar de las matrices. Lo resolv simplemente estudiando el libro de teora, sobre
todo el apartado 9.5.3. Aplicacin del Mtodo General a la Sntesis de Contadores con
PLDs.

Apellidos, nombre:
DNI: 00000000A

13/13

You might also like