Story Transcript
MARCO TEORICO CIRCUITOS SECUENCIALES: El comportamiento de un circuito secuencial se determina mediante las entradas, las salidas y los estados de sus flip−flops. Tanto las salidas como el estado siguiente son función de las entradas y del estado presente. El análisis de los circuitos secuenciales consiste en obtener una tabla o un diagrama de las secuencias de tiempo de las entradas, salidas y estados internos. También es posible escribir expresiones booleanas que describen el comportamiento de los circuitos secuenciales. Sin embargo, esas expresiones deben incluir la secuencia de tiempo necesaria ya sea en forma directa o indirecta. Un diagrama lógico se reconoce como el circuito de un circuito secuencial e incluye los flip−flops. Los flip−flops puede ser cualquier tipo y el diagrama lógico puede o no incluir compuertas combinacionales. CONTADORES: Un contador es un circuito secuencial de aplicación general, cuyas salidas representan en un determinado código el numero de pulsos que se meten a la entrada Están constituidos por una serie de biestables conectados entre si de modo que las salidas de estos cambian de estado cuando se aplican impulso. a la entrada. La capacidad de un contador es el numero mas elevado, expresado en cualquiera de los códigos binarios, que puede ser representado en sus salidas. El modulo, o número de estados totales que puede representar el contador, es igual al numero máximo de impulsos que se puede representar más uno (el cero). Si "n" es el número de flip−flops empleado para hacer el contador, y "M" el módulo del contador, se debe verificar: M"2 Cuando el contador llega al valor máximo de su capacidad, comienza a contar de nuevo desde cero al aplicarle el siguiente impulso. Dependiendo del modo d e operación, lo s contadores pueden ser ascendentes ( si su contenido se incrementa con cada impulso), descendentes (si su contenido disminuye), o bien una combinación de ambos (up/down counters). Por otro lado, los contadores se dividen en sÍncronos y asíncronos. Los primeros, son aquellos en los que los impulsos de reloj se aplican simultáneamente a todos los biestables, y por tanto, todas las salidas cambian al mismo tiempo. En los asíncronos, por contra, la señal de reloj se aplica a la entrada del primer biestable, la salida de éste a la entrada de reloj del siguiente, y así sucesivamente el tiempo de propagación de estos dispositivos, es superior al de los sÍncronos (la señal tiene que pasar por todos los bits menos significativos hasta llegar a un determinado bit). Otra clasificación es según la naturaleza de los números que cuenta el dispositivo. Existen contadores binarios (el número de estados es múltiplo de 2), decimales (el numero de estados es múltiplo de 10), y de modulo M (un numero M cualquiera de estados). 1
Además, en todos los casos anteriores, la cuenta no tiene por qué empezar e terminar en 0. Por ejemplo se puede diseñar un contador de módulo 3 que cuente 5−6−7. El diseño de contadores sÍncronos, se hace de igual forma que para cualquier circuito secuencial. Como caso particular, vamos a ver el diseño de contares binarios asíncronos. TABLA DE ESTADOS: Q 0 0 1 1
Q(t+1) 0 1 0 1
J 0 1 X X
K X X 1 0
D 0 1 0 1
S 0 1 0 X
R X 0 1 0
T 0 1 1 0
OBJETIVOS • Analizar y diseñar circuitos secuenciales. • Aplicar los conocimientos obtenidos en clase para implementar circuitos de contadores sin entradas externas. • Aplicar los conocimientos obtenidos en clase para implementar circuitos de contadores con entradas externas. CONCLUSIONES ♦ Los mapas de Karnaugh son de vital importancia para encontrar y simplificar el diseño del circuito de un contador. ♦ Al añadir entradas externas se duplica el numero de contadores existentes en el circuito. ♦ Para poder implementar un contador debemos tener la tabla de estados que se encuentra en el marco teórico. LABORATORIO • Diseñar un contador que realice la secuencia: 0−2−1−3−0 Estado Presente A B 0 0 1 0 0 1 1 1 JA=KA=1;
Estado siguiente A B 1 0 0 1 1 1 0 0
Salidas JA 1 X 1 X
KA X 1 X 1
JB 0 1 X X
KB X X 0 1
JB=KB=A
2
• Diseñar un contador sincrónico que cumpla la siguiente secuencia: 2.3.6.1.4.7.2 con FF JK Estado Presente
Estado siguiente
Salidas
JA=C; KA=B; JB=−C; KB= A´+B´; JC=KC=1.
• EQUIVALENCIA GRAY: Diseñar un circuito secuencial que siga la secuencia de tres bits, con un FF D Gray
ABC
ABC(T+1)
DA
DB
DC
3
000 000 000 001 001 001 001 011 010 011 011 010 011 010 010 110 100 110 110 111 101 111 111 101 110 101 101 100 111 100 100 000 DA=AC+BC´; DB=A´C+BC´; DC= A´B´+AB=AOB.
0 0 0 1 1 1 1 0
0 1 1 1 1 0 0 0
1 1 0 0 1 1 0 0
• Diseñar un contador sincrónico que cumpla la siguiente secuencia: 0,1,3,2,6,7,5,4,0 con FF JK, con una entrada externa X, cuando X=1, el contador es ascendente y cuando X=0 el contador es descendente. Estado Presente Entrada externa Estado siguiente ABC X ABC 000 0 100 000 1 001 001 0 000 001 1 011 011 0 001 011 1 010 010 0 011 010 1 110 110 0 110 110 1 111 111 0 110 111 1 101 101 0 111 101 1 100 100 0 101 100 1 000 JA=C´(BOX); JB=C(AOX); JC=AOBOX;
Salidas A JK 1X 0X 0X 0X 0X 0X 0X 1X X1 X0 X0 X0 X0 X0 X0 X1
Salidas B JK 0X 0X 0X 1X X1 X0 X0 X0 X0 X0 X0 X1 1X 0X 0X 0X
Salidas C JK 0X 1X X1 X0 X0 X1 1X 0X 0X 1X X1 X0 X0 X1 1X 0X
KA=C´(BOX); KB=C(AOX); KC=AO(BOX).
4
• Contador con 2 entradas externas (4 contadores) X 0 0 1 1 ABC
Y 0 1 0 1
Secuencia 0.1.2.3.4.5.6.7.0... 2.4.6.0.2... 1.3.5.7.1... 6.4.2.0.7.5.3.1.6... XY
ABC(T+1)
JA KA
JB KB
JC KC
000
00
001
0X
0X
1X
000
01
010
0X
1X
0X
000
10
001
0X
0X
1X
000
11
111
1X
1X
1X
001
00
010
0X
1X
X1
001
01
010
0X
1X
X1
001
10
011
0X
1X
X0
001
11
110
1X
1X
X1
010
00
011
0X
X0
1X
010
01
100
1X
X1
0X
010
10
011
0X
X0
1X 5
010
11
000
0X
X1
0X
011
00
100
1X
X1
X1
011
01
100
1X
X1
X1
011
10
101
1X
X1
X0
011
11
001
0X
X1
X0
100
00
101
X0
0X
1X
100
01
110
X0
1X
0X
100
10
101
X0
0X
1X
100
11
010
X1
1X
0X
101
00
110
X0
1X
X1
101
01
110
X0
1X
X1
101
10
111
X0
1X
X0
101
11
011
X1
1X
X0
110
00
111
X0
X0
1X
110
01
000
X1
X1
0X
110
10
111
X0
X0
1X
110
11
100
X0
X1
0X
111
00
000
X1
X1
X1
111
01
000
X1
X1
X1
111
10
001
X1
X1
X0
X0 101 11 111 JA=B´XY+BCY´+B´XY=Y(BOX)+BCY; KA=JA
X1
X0
JB=C+XÝ+XY´=C+(XOY); KB=E+C JC=Y´+AB´C; KC=X´+ B´X • Diseñar un circuito secuencial que cumpla: Si X=1 cuente 0−9−0 Si X=0 cuente 9−0−9, con FF D. 6
ENTRADAS ABCD 0000
ABCD(T+1) 0001
SALIDAS DA 0
X 1
DB 0
DC 0
DD 1
0000
0
1001
1
0
0
1
0001
1
0010
0
0
1
0
0001
0
0000
0
0
0
0
0010
1
0011
0
0
1
1
0010
0
0001
0
0
0
1
0011
1
0100
0
1
0
0
0011
0
0010
0
0
1
0
0100
1
0101
0
1
0
1
0100
0
0011
0
0
1
1
0101
1
0110
0
1
1
0
0101
0
0100
0
1
0
0
0110
1
0111
0
1
1
1
0110
0
0101
0
1
0
1
0111
1
1000
1
0
0
0
0111
0
0110
0
1
1
0
1000
1
1001
1
0
0
1
1000
0
0111
0
1
1
1
1001
1
0000
0
0
0
0
1001
0
1000
1
0
0
0
DA=ADE´+AED´+BCD´E+ A´B´C´D´E´= A(DOE)+D´(BCE+A´B´C´E´); DB=B(1+DE´)+D´E´(BC+A)+B´CED´=(EOD)(B´C+B)+D´E´(B+A)+B; DC=D´E´(C+A)+A´DE; DD=COD.
7