Академический Документы
Профессиональный Документы
Культура Документы
Hay que tener en cuenta que en una báscula D el valor de la salida Q sigue siempre al
valor de la entrada D cuando entra el impulsos de reloj. Por lo tanto la entrada “D”
será siempre igual al del valor de la Q final que se quiera obtener.
Ejemplo:
Variable Estado Estado Variable Entrada
entrada inicial final salida a báscula
1/1
x Qn Qn+1 y D
1 0 1 1 1
0/0 S0 S1 1/0 0 0 0 0 0
1 1 1 0 1
0/0
0 1 0 0 0
x 2 1
D Q
Tras simplificar: D=x y = xiQ 3 4 2
y
CLK Q 1
3
Diseño con básculas “T”
Ejemplo:
Variable Estado Estado Variable Entrada
0/1
entrada inicial final salida a báscula
x Qn Qn+1 y T
1/0 S0 S1 1/0 0 0 1 1 1
1 0 0 0 0
0/0
1 1 1 0 0
0 1 0 0 1
Respuesta
Estado inicial Estado final de la Entrada “J” Entrada “K”
báscula
No cambiar 0 0
0 0 o 0 X
Poner a 0 0 1
Cambiar 1 1
0 1 o 1 X
Poner a 1 1 0
Cambiar 1 1
1 0 o X 1
Poner a 0 0 1
No cambiar 0 0
1 1 o X 0
Poner a 1 1 0
Ejemplo:
Variable Estado Estado Variable Entrada
0/1
entrada inicial final salida a báscula
x Qn Qn+1 y J K
1/0 S0 S1 1/0 0 0 1 1 1 X
1 0 0 0 0 X
0/0
1 1 1 0 X 0
0 1 0 0 X 1
x x x x
Q X X J=x Q 1 0 K=x
Q 1 0 Q X X
x x
Q 1 0 y = x iQ
Q 0 0
x 2 1 1 3
J Q
12
CLK
4 2 2
K Q 1
y
3
Matriz funcional
Matriz que recoge los estados iniciales el la columna de la izquierda, los estados finales en la línea
superior y en los cuadros de la matriz se representan los valores de las variables que provocan la
transición entre los estados iniciales y los finales
Q0 Q0 ⇐ Estado final
M ( x0 ) Q0 0 1 0+1=1 La suma de todos los
elementos de cada
Q0 x0 x0 x0 + x0 = 1 fila = 1
⇑
Estado
inicial
El valor de D se obtendrá tomando las celdas que provocan que Q se ponga a 1 y realizando
la suma de los productos entre las básculas del estado inicial y el valor que se encuentre en las
celdas citadas:
D = Q0 i1 + Q0 i x = Q0 + Q0 i x = (Q0 + Q0 )i(Q0 + x ) = Q0 + x
Matriz funcional
Columna 0 1 2 3 Fila
Q1Q0 00 01 10 11 ⇓
00 0 1 0 0 0
01 x0 x1 + x0 i x1 0 0 x0 x1 + x0 x1 1
10 x0 i x1 x0 x1 x0 x1 x0 x1 2
11 x0 x1 x0 x1 x0 x1 x0 i x1 3
Se puede apreciar que la matriz está bien ya que la suma de cada una de las líneas da como
resultado “1”.
Obtención de J0 :
Se tomarán las celdas que provocan que Q0 pase de 0 a 1. ⇒ m01, m03, m21 y m23
J 0 = Q1 iQ0 (1 + 0) + Q1 Q0 ( x0 x1 + x0 x1 )
Obtención de K0 :
Se tomarán las celdas que provocan que Q0 siga a 1 del estado inicial al final y luego se invertirá el
resultado obtenido. ⇒ m11,m13,m31,m33
Obtención de J1 :
Se tomarán las celdas que provocan que Q1 pase de 0 a 1. ⇒ m02, m03, m12 y m13
J1 = Q1 Q0 (0 + 0) + Q1Q0 (0 + x0 x1 + x0 x1 )
Obtención de K1 :
Se tomarán las celdas que provocan que Q1 siga a 1 del estado inicial al final y luego se invertirá el
resultado obtenido. ⇒ m22,m23,m32,m33
K1 = Q1 Q0 ( x0 x1 + x0 x1 ) + Q1Q0 ( x0 x1 + x0 i x1 ) ⇒ K1 = Q1 Q0 ( x0 x1 + x0 x1 ) + Q1Q0 ( x0 x1 + x0 i x1 )
El siguiente paso consiste en simplificar cada una de las funciones e implementar el circuito.
Análisis:
El análisis consiste en obtener la matriz funcional y/o el diagrama de etapas a partir de un circuito
determinado.
Para estudiar el procedimiento vamos a partir del ejemplo del problema correspondiente al examen
de Junio del 2003.
2. Analice el circuito secuencial de la figura, presentando el resultado del análisis mediante las expresiones
lógicas correspondientes, la matriz funcional y el diagrama de transición de estados.
En primer lugar obtendremos las funciones correspondientes a cada variable (Di e “y”) a partir del
esquema suministrado:
QBQA 00 01 10 11
QBQA = 00
Funciones de la fila 0 m0 Estados iniciales ⇒
⇓
DA = x1 + QA = x1 + 0 = x1
DB = x1 i x2 iQB + ( x1 + x2 )QB = x1 i x2 i0 + ( x1 + x2 )1 = ( x1 + x2 )
Estados finales
m00 = DB i DA m00 = DB i DA = ( x1 + x2 )i x1 = x1 i x1 i x2 = x1 i x2
m01 = DB i DA m01 = DB i DA = ( x1 + x2 )i x1 = x1 i x1 i x2 = 0
m02 = DB i DA m02 = DB i DA = ( x1 + x2 )i x1 = x1 i x1 + x1 i x2 = x1 i x2
m03 = DB i DA m03 = DB i DA = ( x1 + x2 )i x1 = x1 i x1 + x1 i x2 = x1
QBQA = 01
Funciones de la fila 1 m1 Estados iniciales ⇒
⇓
DA = x1 + QA = x1 + 1 = 1
DB = x1 i x2 iQB + ( x1 + x2 )QB = x1 i x2 i0 + ( x1 + x2 )1 = ( x1 + x2 )
Estados finales
m10 = DB i DA m10 = DB i DA = ( x1 + x2 )i1 = 0
m11 = DB i DA m11 = DB i DA = ( x1 + x2 )i1 = ( x1 + x2 ) = x1 i x2
m12 = DB i DA m12 = DB i DA = ( x1 + x2 )i 1 = 0
m13 = DB i DA m13 = DB i DA = ( x1 + x2 )i1 = x1 + x2
QBQA = 10
Funciones de la fila 2 m2 Estados iniciales ⇒
⇓
DA = x1 + QA = x1 + 0 = x1
DB = x1 i x2 iQB + ( x1 + x2 )QB = x1 i x2 i1 + ( x1 + x2 )0 = x1 i x2
Estados finales
m20 = DB i DA m20 = DB i DA = x1 i x2 i x1 = ( x1 + x2 ) x1 = x1 x2
m21 = DB i DA m21 = DB i DA = x1 i x2 i x1 = ( x1 + x2 ) x1 = x1
m22 = DB i DA m22 = DB i DA = x1 i x2 i x1 = x1 i x2
m23 = DB i DA m23 = DB i DA = x1 i x2 i x1 = 0
QBQA = 11
Funciones de la fila 3 m3 Estados iniciales ⇒
⇓
DA = x1 + QA = x1 + 1 = 1
DB = x1 i x2 iQB + ( x1 + x2 )QB = x1 i x2 i1 + ( x1 + x2 )0 = x1 i x2
Estados finales
m30 = DB i DA m30 = DB i DA = x1 i x2 i0 = 0
m31 = DB i DA m31 = DB i DA = x1 i x2 i1 = x1 + x2
m32 = DB i DA m32 = DB i DA = x1 i x2 i0 = 0
m33 = DB i DA m33 = DB i DA = x1 i x2 i1 = x1 i x2
Matriz funcional
Estado inicial Estado final
QBQA 00 01 10 11
00 x1 i x2 0 x1 i x2 x1
01 0 x1 i x2 0 x1 + x2
10 x1 x2 x1 x1 i x2 0
11 0 x1 + x2 0 x1 i x2
Suma de fila 0:
∑ fila0 = ( x i x ) + 0 + x i x
1 2 1 2 + x1 = x1 ( x2 + x2 ) + x1 = x1 + x1 = 1
Suma de fila 1:
∑ fila1 = 0 + x i x1 2 + 0 + x1 + x2 = ( x1 + x1 )i( x1 + x2 ) + x2 = x1 + x2 + x2 = 1
Suma de fila 2:
Suma de fila 3:
∑ fila3 = 0 + ( x + x ) + 0 + x i x
1 2 1 2 = ( x1 + x1 )i( x1 + x2 ) + x2 = x1 + x2 + x2 = 1
SOLUCIÓN:
x1 x2 Q1 Q0 Q1 + 1 Q0 + 1 y1 y2 D1 D0
Tener en
0 0 0 0 0 0 0 0 0 0 0
cuenta que
4 0 1 0 0 0 1 0 1 0 1
al ser
8 1 0 0 0 0 1 0 1 0 1
báscula D, a
12 1 1 0 0 1 1 1 0 1 1 la entrada D
1 0 0 0 1 0 1 0 1 0 1 habrá que
5 0 1 0 1 1 0 1 0 1 0 meter el
9 1 0 0 1 1 0 1 0 1 0 mismo valor
13 1 1 0 1 1 1 1 0 1 1 que el que
2 0 0 1 0 1 0 1 0 1 0 se quiera
6 0 1 1 0 1 1 1 1 1 1 obtener en
10 1 0 1 0 1 1 1 1 1 1 “Q”
14 1 1 1 0 1 1 1 1 1 1
3 0 0 1 1 1 1 1 1 1 1
7 0 1 1 1 0 1 0 0 0 1
11 1 0 1 1 0 1 0 0 0 1
15 1 1 1 1 1 1 0 0 1 1
Logigrama:
x1 x2 Q1 Q0
2
2
3
1
2 1 0
1
2 1
X X
2
2 1
X X
3
2 1
X X X X
4
2 1
X X
5
2 1
X X
6
2 1
X X X X
7
2 1
X
8
2 1
X X
9
2 1
X X
10
2 1
X X X X
11
2 1
X
12
2 1
X X X
13
2 1
X X X
14
2 1
X X X X
15
2 1
X X
2
U4 U4 U4 U4
OR2 OR2 OR2 OR2
1
Reloj
3
U5 U5
CLK
CLK
D
DFF DFF
Q
y1 y2
1
Q1 Q0
Junio del 2002
SOLUCIÓN:
Variable
entrada
orden
salida
x1 Q1 Q0 Q1 + 1 Q0 + 1 y1 J1 K1 J0 K0
0 0 0 0 0 0 0 0 X 0 X
4 1 0 0 1 0 1 1 X 0 X
1 0 0 1 0 1 0 0 X X 0
5 1 0 1 1 0 1 1 X X 1
2 0 1 0 1 0 1 X 0 0 X
6 1 1 0 1 1 1 X 0 1 X
3 0 1 1 1 1 0 X 0 X 0
7 1 1 1 1 1 0 X 0 X 0
Q 0 Q0 Q0 Q 0
x 0 1 3 2
x 4 5 7 6
Q1 Q1 Q1 Q1 Q1 Q1
Q 0 Q0 Q0 Q 0 Q 0 Q0 Q0 Q 0 Q 0 Q0 Q0 Q 0
x 0 0 X X x X X 0 0 x 0 X X 0
x 1 1 X X x X X 0 0 x 0 X X 1
J1 = x K1 = 0 J 0 = xQ1
Q1 Q1 Q1 Q1
Q 0 Q0 Q0 Q 0 Q 0 Q0 Q0 Q 0
x X 0 0 X x 0 0 0 1
x X 1 0 X x 1 1 0 1
K0 = xQ1 y = Q1 Q0 + xQ1
2
x 1 1
J Q
3 Q0 1
J Q
3 Q1
3
12 12
CLK CLK
2
1 4 2 4 2
3 K Q K Q
Reloj
2
1
3 2
y
1
3
CONTADORES
Los contadores son circuitos secuenciales capaces de recorrer una secuencia previamente
especificada de estados. Reciben un tren de impulsos y responden con una sucesión de estados
correspondientes a la representación en binario del número de impulsos recibidos desde que se
inició el ciclo.
Tipos de
contadores Hay una relación temporal fija entre sí. Todas las
básculas que componen el contador reciben en el mismo
Síncronos instante la señal de reloj y por lo tanto cambian (si han
de cambiar) en el mismo instante.
Contadores asíncronos:
Compuestos por básculas JK con J=K=1 (básculas T) de forma que la entrada de reloj entra en la
primera báscula (bit de menor peso) y el reloj del resto de las básculas es la salida Q de la
báscula anterior.
Esto provoca el sentido asíncrono del contador, ya que cuando entra el impulso de reloj a la primera
báscula esta empieza a bascular, pero la siguiente no basculará hasta que no lo haya hecho la
anterior. Este efecto provoca una reacción que se va añadiendo de báscula a báscula y por lo tanto
el tiempo de cambio de un estado al otro puede ser el resultado de acumular los tiempos de
transición del número de básculas que intervienen en dicho cambio.
Contadores descendentes:
Para configurar contadores con sentido descendente hay dos posibilidades:
1. Tomar un contador ascendente y tomar las salidas de la Q .
2. Tomar la entrada de reloj de cada báscula de la salida Q de la báscula anterior.
Contador reversible
El proceso de diseño de los contadores síncronos no deja de ser un caso concreto del diseño de
circuitos secuenciales con básculas estudiado anteriormente. Ya que partimos de un diagrama de
estados en el que se representan los diferentes estados de cuenta del contador y debemos de seguir
los pasos de diseño analizados en los apartados anteriores.
A pesar de lo indicado se puede configurar un contador binario natural síncrono de una manera un
tanto estandar. Se pueden implementar con básculas JK con las dos entradas unidas a “1” (básculas
T) de forma que los relojes de todas las básculas están unidos entre sí y a la señal del reloj de
entrada.
− En el caso de un contador ascendente: cada una de las entradas JK de cada báscula a una
puerta “AND” de todas las salidas Q de las básculas de pesos inferior.
− En el caso de un contador descendente: cada una de las entradas JK de cada báscula a una
puerta “AND” de todas las salidas Q de las básculas de pesos inferior.
REGISTROS DE DESPLAZAMIENTO
Un registro es circuito digital con dos funciones básicas:
− Almacenamiento de datos.
− Movimiento de datos.
Con tales funciones una cuestión elemental es el modo de introducir y el modo de sacar dicha
información. Teniendo en cuenta que hay dos maneras de manipular los datos: serie/paralelo; ello da
lugar a tener diferentes configuraciones de registros en función de la entrada y la salida de dichos
datos:
− Entrada serie / Salida serie.
− Entrada serie / Salida paralelo.
− Entrada paralelo / Salida serie.
− Entrada paralelo / Salida paralelo.
Diagrama de estados
0
1 1 1 1 1 1 1
S0 S1 S2 S3 S4 S5 S6 S7
0 0 0 0 0 0 0
Estado Entradas
Nº
Estado inicial
final a báscula
x1 Q2 Q1 Q0 Q2 + 1 Q1 + 1 Q0 + 1 J2 K2 J1 K1 J0 K0
0 0 0 0 0 1 1 1 1 X 1 X 1 X
8 1 0 0 0 0 0 1 0 X 0 X 1 X
1 0 0 0 1 0 0 0 0 X 0 X X 1
9 1 0 0 1 0 1 0 0 X 1 X X 1
2 0 0 1 0 0 0 1 0 X X 1 1 X
10 1 0 1 0 0 1 1 0 X X 0 1 X
3 0 0 1 1 0 1 0 0 X X 0 X 1
11 1 0 1 1 1 0 0 1 X X 1 X 1
4 0 1 0 0 0 1 1 X 1 1 X 1 X
12 1 1 0 0 1 0 1 X 0 0 X 1 X
5 0 1 0 1 1 0 0 X 0 0 X X 1
13 1 1 0 1 1 1 0 X 0 1 X X 1
6 0 1 1 0 1 0 1 X 0 X 1 1 X
14 1 1 1 0 1 1 1 X 0 X 0 1 X
7 0 1 1 1 1 1 0 X 0 X 0 X 1
15 1 1 1 1 0 0 0 X 1 X 1 X 1
Q1 Q1 Q1 Q1 Q1 Q1
Q 0 Q0 Q0 Q 0 Q 0 Q0 Q0 Q 0 Q 0 Q0 Q0 Q 0
Q2 0 1 3 2 Q2 1 X X 1 Q2 X 1 X 1
x x x
Q2 4 5 7 6 Q2 1 X X 1 Q2 X 1 X 1
Q2 12 13 15 14 Q2 1 X X 1 Q2 X 1 X 1
x x x
Q2 8 9 11 10 Q2 1 X X 1 Q2 X 1 X 1
J0 = 1 K0 = 1
Q1 Q1 Q1 Q1
Q 0 Q0 Q0 Q 0 Q 0 Q0 Q0 Q 0
Q2 1 0 X X Q2 X X 0 1
x x
Q2 1 0 X X Q2 X X 0 1
Q2 0 1 X X Q2 X X 1 0
x x
Q2 0 1 X X Q2 X X 1 0
J1 = xQ0 + xQ0 K1 = xQ0 + xQ0
Q1 Q1 Q1 Q1
Q 0 Q0 Q0 Q 0 Q 0 Q0 Q0 Q 0
Q2 1 0 0 0 Q2 X X X X
x x
Q2 X X X X Q2 1 0 0 0
Q2 X X X X Q2 0 0 1 0
x x
Q2 0 0 1 0 Q2 X X X X
J 2 = x(Q1Q0 ) + x (Q1 iQ0 ) K 2 = x(Q1Q0 ) + x (Q1 iQ0 )
2 2
5V 1 3 1 2 1 3 1 2 1 3
J Q 3 1 J Q 3 1 J Q
12 3 12 3 12
CLK CLK CLK
1
2 2
4 2 1 4 2 1 4 2
K Q 3 K Q 3 K Q
Reloj