Você está na página 1de 10

Diseo de contadores Sncronos.

Introduccin
Si bien es cierto, existen muchas configuraciones de contadores implementados en Circuitos Integrados tanto sncronos como asncronos, la mayora de estos cuentan en la secuencia binaria normal (0, 1, 2, 3,). Y aunque sus secuencias de conteo se pueden modificar, utilizando las entradas asncronas de estos, dichas posibilidades de modificacin no son suficientes cuando se requiere que un contador siga una secuencia distinta a la cuenta normal, por ejemplo que la secuencia de conteo sea los nmeros pares (0, 2, 4, ) u otra secuencia especfica. En estos casos, los contadores se deben disear. Los contadores al igual que cualquier circuito secuencial (tambin llamado mquina de estados), est formado por una etapa de lgica combinacional y una etapa de memoria (tpicamente construida con FlipFlops), tal y como se muestra en la figura. El objetivo del diseo es bsicamente, encontrar la lgica combinacional, que proporcione las salidas del circuito y las entradas a los F-F que aseguren la transicin de estos a los estados adecuados, ya que la zona de memoria es prcticamente invariable (slo hay que indicar cuantos biestables, es decir, Flip-Flops son necesarios). Entradas

Circuito combinacional

Salidas

Estado actual F-F`s

Estado siguiente

Reloj

Procedimiento de diseo.
En los contadores sncronos, todos los F-F se sincronizan al mismo tiempo. Antes de cada pulso de reloj, las entradas de los F-F deben estar en el nivel adecuado para asegurar que pasen al estado correcto. Por ejemplo considerar la siguiente situacin: Estado Presente Q2 Q1 Q0 1 0 0 Estado siguiente Q2 Q1 Q0 0 1 0

Cuando ocurre el siguiente pulso de reloj, las entradas de los F-F deben estar en los niveles apropiados para que el F-F Q2 cambie de 1 a 0 (en la tabla, estado presente de Q2 =1, estado siguiente Q2 = 0), el FF Q1 cambie de 0 a 1 y el F-F Q0 permanezca en 0 (sin cambio). Se tiene entonces que el proceso de diseo de un contador sncrono se convierte en uno en el que se disean los circuitos lgicos que codifican los diversos estados el contador, con el propsito de proporcionar los niveles lgicos para cada entrada de los F-F. Los pasos a seguir para el diseo corresponden a aquellos del diseo de un circuito secuencial cualquiera, con algunas simplificaciones inherentes a los contadores. Paso 1. Se determina el nmero de F-F necesarios, de acuerdo a la secuencia de conteo requerida y al Mdulo del contador a disear.
Sistemas secuenciales 31

Como ejemplo se va a disear un contador sncrono MOD-6, es decir que realiza la secuencia: 0, 1, 2, 3, 4, 5. Para este caso, el nmero de F-F es de tres, ya que los estados diferentes son 6 y 22 < 6 <23. Ntese que para este caso existen dos estados que no se utilizan estos son 110 y 111. Para hacer referencia a estos estados los denominaremos estados indeseables.

Paso 2. Se dibuja el diagrama de transicin de estados, mostrando todos los estados posibles. En este paso, se presentan variantes que dependen del caso particular. Existen casos en que el diseo es lo suficientemente simple que no es necesario el diagrama de estados. Cuando existen estados indeseables es conveniente indicar cuales son, con el objeto de tomar decisiones respecto de cmo se van a considerar. A este respecto se debe tener en cuenta que el contador puede entrar accidentalmente en uno de estos estados al momento de encender el circuito o a causa de ruido. El diseador tiene la posibilidad de elegir si dichos estados se van a ignorar completamente (considerarlos Don`t cares) o si se van a establecer en algn estado de partida. En el diagrama siguiente, se muestran los estados indeseables y en la tabla de estados se define que los estados indeseables vayan al estado 000, a partir de donde se inicia la secuencia.

111 000 101

110

Estado Presente Estado siguiente Cuenta Q2 Q1 Q0 Q2 Q1 Q0


0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0

001

100 011

010

a) Diagrama de estados

b) Tabla de estados

Fig. Contador sncrono MOD-6 Paso 3. A partir del diagrama de estados se construye la tabla de estados, en la que se listan todos los estados presentes y estados siguientes. Para el ejemplo, en la tabla se muestran, en la parte izquierda, todos los estados posibles, incluso los que no son parte de la secuencia y constituyen los estados presentes. En la parte derecha se muestran el estado siguiente para cada estado presente. Estos se obtienen de diagrama de estados o directamente de la secuencia, cuando es posible. Por ejemplo, en la lnea de cuenta de 1, se tiene que el estado presente es 0012 (110) y el estado siguiente es 0102 (210). El estado siguiente a 101 (510) es 000 (010). En las lneas de cuenta 6 y 7 (estados indeseables) los estados presentes son 110 y 111 respectivamente y los estados siguientes son 000 para ambos casos. Paso 4. A la tabla de verdad, para cada entrada de F-F, se agrega una columna (una por F-F si este tiene solo una entrada, como el tipo D y dos si se trata de un JK). Para cada estado presente se determinan los niveles requeridos para cada F-F, con el fin de producir la transicin al estado siguiente. En el ejemplo se utilizaran tres F-F JK (con salidas Q2 Q1 y Q0) y cada uno tiene dos entradas (Ji Ki). por lo tanto se deben agregar seis columnas como se muestra en la tabla xx. A la Tabla completa normalmente se le denomina Tabla de excitacin del circuito.

Sistemas secuenciales

32

Las nuevas seis columnas de la tabla, corresponden a las entradas J y K de los F-F. Los valores indicados que llenan esta tabla, se obtienen a partir de la tabla de estados del circuito, utilizando la tabla de excitaciones de F-F JK.

Estado Presente Estado siguiente Entradas F-Fs Cuenta Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0


0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 X X X X X X X X 0 1 1 1 0 1 X X 0 0 X X X X 0 1 X X 1 1 1 X 1 X 1 X 1 X X 1 X 1 X 1 X 1

Q(t) 0 0 1 1

Q(t+1) 0 1 0 1

JK 0X 1X X1 X0

Tabla de excitaciones F-F JK

Tabla de excitaciones del circuito

Para obtener los valores Ji Ki de la tabla se procede de la siguiente forma: Para la lnea de la cuenta cero, el estado presente es 000 y el estado siguiente, despus del pulso de reloj, es 001. Se tiene entonces, que el estado actual de Q2 es 0 y su estado siguiente es 0, es decir, Q2 est en 0 y debe pasar a 0, para lograr que el F-F JK, estando en 0 permanezca en 0, se le debe colocar como entrada J2 = 0 y K2 = X, segn se indica en la tabla de excitaciones del F-F JK. En la misma lnea, el estado presente de Q1 es 0 y el siguiente es 0, por lo tanto, las entradas J1 y K1 deben ser 0 y X respectivamente, igual que en el caso anterior. En la misma lnea de cuenta cero, el estado presente de Q0 es 0 y el siguiente es 1, por lo que se debe colocar como entrada a este F-F, J0 = 1 y K0 = X, y de esta forma, estando el F-F JK en 0 pasa al estado 1, segn se obtiene de la tabla de excitaciones del F-F JK. Este proceso se debe realizar para todas las lneas de cuenta. Paso 5. Se disean los circuitos lgicos para generar las entradas de los F-Fs. En la tabla de excitaciones del circuito se listan las seis entradas de los F-F J2, K2, J1, K1, J0, y K0. Cada una se debe considerar como una salida del circuito lgico cuyas entradas son las salidas de los F-F. Luego se debe disear el circuito para cada una.

Circuito combinacional Salidas de la lgica combinacional, que corresponden a las entradas de los F-F

Salidas de los F-F correspondientes a las entradas a la lgica combinacional

Q0

J0

F-F0
Q1 K0 J1

F-F1
Q2 J2

K1

F-F2

K2

Para obtener el circuito lgico para cada una de las entradas de los F-F (seis en el ejemplo), se transfiere la informacin de la tabla de excitaciones del circuito a un mapa de Karnaugh de tres variables (Q2, Q1 y Q0) para cada entrada.

Sistemas secuenciales

33

Para hacer esto se, procede de la siguiente forma: La tabla siguiente muestra una parte de la tabla de excitaciones del circuito para el contador MOD-6, en la que solo se dejaron las entradas presentes Q2, Q1 y Q0 y las excitaciones para la salida J2 del F-F2
Entradas presentes Cuenta Q2 Q1 Q0 J2
0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 X X X X

Se puede observar en la tabla que J2 solo tiene un 1 en la posicin 3 y cuatro Dont cares, en las posiciones 4, 5, 6 y 7. Esta es la informacin que se lleva al mapa de Karnaugh.

J2 Q2Q1
Q0

00 01 11 10 X 1 X X X

0 1

J2 =Q1Q0

Una vez que se ha colocado la informacin pertinente en el mapa se procede a minimizar en la forma habitual. De la misma forma se obtienen los dems mapas y sus correspondientes minimizaciones. Estas son:
K2 Q2Q1
Q0

00 01 11 10 X X 1 1 1

J1 Q2Q1
Q0

00 01 11 10 X X X X

K1 Q2Q1
Q0

00 01 11 10 1 1 1 X X

0 X 1 X

0 1 1

0 X 1 X

Por simple inspeccin de la tabla, se determina que J0 = K0 =1

K 2 =Q1 + Q0
Y el circuito es:

J1 =Q2 Q0

K1 =Q2 +Q0 =

Q0 Q1 Q2
1

Q0
Q0
PR

J0
K0

PRQ

J1
K1

PR

Q1

J2
K2

PR

Q2

J0
CL

Q0

CL

Q1

CL

Q2

Q0 CL K 0 1

Ck Q1

Q1 PR J1

Q1

CL

K1

Q2
Q2 PR J2

El mismo circuito del contador sncrono MOD-6, dibujado en una forma alternativa. Evidentemente que el circuito es el mismo. Generalmente es la forma ms usual para dibujar circuitos contadores.

Q2 CL K

Ck

Circuito del contador sncrono MOD-6

Sistemas secuenciales

34

Contador sncrono MOD-6. Segunda implementacin


En las lneas siguientes se implementa el contador sncrono MOD-6 anterior, pero, considerando los estados indeseables como dont cares. En este caso, todos los unos y ceros de las lneas de cuenta 6 y 7 son dont cares como se muestra en la tabla siguiente. Se debe tener presente que el circuito implementado de esta forma, puede entrar accidentalmente en uno de estos estados al momento de encender el circuito, con lo cual se tendr una partida falsa, debindose reiniciar el contador.

Tabla de excitaciones del circuito para el contador MOD-6, Utilizando los estados indeseables como dont cares. Estado Presente Estado siguiente Entradas F-Fs Cuenta Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 X X X X X X X X 0 1 X X 0 1 X X 0 0 X X X X 0 1 X X X X 1 X 1 X 1 X X X X 1 X 1 X 1 X X

Al igual que en el caso anterior, por simple inspeccin de la tabla, se determina que: J0 = K0 =1

Los mapas de Karnaugh para las funciones de entradas de los F-F son los siguientes.

J2 Q2Q1
Q0

K2 Q2Q1 00 01 11 10 X 1 X
Q0

00 01 11 10 X X X X 1

J1 Q2Q1
Q0

00 01 11 10 X X X X

K1 Q2Q1
Q0

00 01 11 10 X 1 X X X

0 1

0 X 1 X

0 1 1

0 X 1 X

J2 =Q1Q0

K 2 =Q0

J1 =Q2 Q0

K1 =Q0

Con las ecuaciones minimizadas, se tiene el siguiente circuito.

Q0 Q1 Q2
1

J0
K0

PRQ

J1
K1

PR

Q1

J2
K2

PR

Q2

CL

Q0

CL

Q1

CL

Q2

Ck

Sistemas secuenciales

35

Contador sncrono MOD.6. Tercera implementacin


A continuacin se implementa el mismo contador anterior, pero, estableciendo los estados indeseables en el estado 000, pero implementando el circuito con F-F tipo T.

Tabla de excitaciones del circuito para el contador MOD-6 con F-F tipo T y con estados indeseables llevados a 000 Estado presente Estado siguiente Entrada F-F Cuenta Q2 Q1 Q0 Q2 Q1 Q0 T2 T1 T0
0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 1 1

Q(t) 0 0 1 1

Q(t+1) 0 1 0 1

T 0 1 1 0

Tabla de excitaciones del F-F tipo T

K2 Q2Q1
Q0

00 01 11 10 1 1 1 1 Q0 Q1 Q2

0 1

T2 =Q2 Q1 + Q1Q0 + Q2 Q0
1

J1 Q2Q1
Q0

00 01 11 10 1

T0

PRQ

T1

PR

Q1 Q1

T2

PR

Q2 Q2

0 1 1 1

CL

Q0

CL

CL

Ck

T1 =Q2 Q1 +Q2 Q0

Mapas de Karnaugh

Circuito de contador MOD-6 con F-F tipo T

Recordando que el F-F tipo T se puede implementar con un F-F tipo JK, uniendo las entradas J y K, se tiene que un circuito equivalente es:
Q0 Q1 Q2

J0
K0

PRQ

J1
K1

PR

Q1

J2
K2

PR

Q2

CL

Q0

CL

Q1

CL

Q2

Ck

Circuito contador MOD-6 con F-F en conexin T

Sistemas secuenciales

36

Diseo de un contador MOD-8.


Se trata de disear un contador MOD-8 (es decir que siga la secuencia 0, 1, 2, 3, 4, 5, 6, 7, 0.) utilizando F-F JK conectados como F-F tipo T. En la figura siguiente se muestra el diagrama de estados y tabla de estados del contador MOD-8.

000 111 110 101 100 011 001 010

Estado actual Estado siguiente Cuenta Q2 Q1 Q0 Q2 Q1 Q0


0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0

Utilizando la tabla de excitaciones del Flip-Flop elegido para la implementacin, se construye la tabla de excitaciones para el contador. En este caso se va a utilizar el F-F JK.

Estado actual Estado siguiente Entradas F-Fs Cuenta Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0


0 1 2 3 4 5 6 7 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 1 X X X X X X X X 0 0 0 1 0 1 X X 0 1 X X X X 0 1 X X 0 1 1 X 1 X 1 X 1 X X 1 X 1 X 1 X 1

Q(t) 0 0 1 1

Q(t+1) 0 1 0 1

JK 0X 1X X1 X0

Tabla de excitaciones F-F JK

Tabla de excitaciones para el contador MOD-8

La tabla de verdad anterior se construy considerando los F-F JK . Para realizar el circuito con F-F JK conectados como tipo T, se debe realizar la unin de los pares Ji Ki y formar una sola entrada.
J2 Q2Q1
Q0

00 01 11 10

J1 Q2Q1
Q0

00 01 11 10

J0 Q2Q1
Q0

00 01 11 10 1 X 1 X 1 X

0 1 1 1

0 1 1 1 1 1

0 1 1 X

J2 =K 2 =Q1Q0

J1 =K1 =Q0

J0 =K 0 =1
Q0 Q1

J0

PR

Q0

J1

PR

Q1

J2

PR

Q2

Q2

K0

CL

Q0

K1

CL

Q1

K2

CL

Q2

Ck Fig. Contador sncrono MOD-8

Sistemas secuenciales

37

2. Diseo de un contador UP/DOWN MOD-8


Como se sabe, un contador UP/DOWN es un dispositivo que cuenta en forma ascendente o descendente dependiendo del estado de una seal de control. Sea esta seal de control X tal que si X = 1 El contador cuenta en forma ascendente y si X = 0, cuenta en forma descendente. Un ejemplo de cuenta sera: 0, 1, 2, 3, 4. 5, 4, 3, 2, 3, 4, 5, 6, 7, 0, 1 . X=1 X=0 X=1

A diferencia del contador anterior, este debe tener una seal de entrada que realice la funcin de control. La tabla d verdad es:
Control Estado actual Estado siguiente Entradas F-Fs X Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 1 1 1 1 0 1 0 0 0 0 1 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 X X X X 1 0 0 0 X X X X X X X X 0 0 0 1 X X X X 1 0 0 0 0 1 X X 0 1 X X 1 0 X X 1 0 X X X X 0 1 X X 0 1 X X 1 0 X X 1 0 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1 X X 1 X 1 X 1 X 1 X 1 X 1 X 1 X 1

Cuenta
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Q(t) 0 0 1 1

Q(t+1) 0 1 0 1

JK 0X 1X X1 X0

Tomando J2= K2 ; J1 = K1 ; J0= K0 (lo cual se puede realizar, ya que, observando la tabla de excitaciones. se tiene que cuando J tiene un valor de verdad asignado, K es don`t care y viceversa) y minimizando con mapas de Karnaugh, se obtienen los siguientes resultados:
J1 X Q2
Q1Q0

J2 X Q2 00 01 11 10
Q1Q0

00 01 11 10 00 01 11 1

00 01 1 11 1 10

1 1 1 1

1 1

J2 =K 2 =XQ1Q0 + X1Q1Q0 J1 =K 1 =XQ0 + X1Q0 = X Q0


Directamente de la tabla se obtiene que J0 =K 0 =1

1
X

10

Q0 Q1 Q2
J0
PR

Q0

J1

PR

Q1

J2

PR

Q2

K0

CL

Q0

K1

CL

Q1

K2

CL

Q2

Ck Circuito de contador UP/DOWN MOD-8

Sistemas secuenciales

38

Contador de secuencia par


Disear un contador que realice la secuencia 0, 2, 4, 6, 8, 10, 12, 14, con F-F tipo T.

Solucin
Estado Presente Estado siguiente Entradas F-F Q3 Q2 Q1 Q0 Q3 Q2 Q1 Q0 J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 X X X X X X X X 0 0 0 1 0 1 X X 0 1 X X X X 0 1 X X 0 1 1 X 1 X 1 X 1 X X 1 X 1 X 1 X 1 0 0 0 0 0 0 0 0 X X X X X X X X

Cuenta
0 2 4 6 8 10 12 14

Q(t) 0 0 1 1

Q(t+1) 0 1 0 1

JK 0X 1X X1 X0

Observando la tabla, se puede determinar que es posible establecer los valores de J y K de manera que sean iguales, de esta forma se tiene que:
J3 =K 3 = M ( 6,14 ) ; Minimizando:
J3 Q3Q2
Q1Q0 00 01 11 10 00 01 11 10

J2 =K 2 = M ( 2,6,14 ) ;

J1 =K1 =1

y que

J0 =K 0 =0

J2 Q3Q2
Q1Q0 00 01 11 00 01 11 10

J3 =K 3 =Q2Q1Q0

J2 =K 2 =Q1Q0 , pero

como Q0 = 0 (ya que J0 = K0 = 0), entonces, Q0 = 1 , por lo que 1 1 1 1

10

J3 =K 3 =Q2 Q1 y

J2 =K 2 =Q1

Por lo que el circuito es:

Q0 Q1 Q2 Q3

J1

PR

Q1

J2

PR

Q2

J3

PR

Q3

K1

CL

Q1

K2

CL

Q2

K3

CL

Q3

Ck Circuito de contador de secuencia Par

De la tabla de verdad de este circuito se puede concluir que su diseo es equivalente al de un contador natural (normal) MOD-8, en que las salidas Q3, Q2 y Q1, corresponden a Q2 Q1 y Q0. Observando el circuito del contador MOD-8 diseado antes, se tiene que el circuito resultante es el mismo para ambos contadores, con la excepcin de que, para el de secuencia par, Q0 = 0.

Sistemas secuenciales

39

Problema.
Disear un contador MOD-5, es decir que realice la secuencia 0, 1, 2, 3, 4. Solucin. Este contador requiere el uso de 3 F-F para almacenar los 5 estados diferentes y por lo tanto se tienen 3 3 dont cares correspondientes a 5, 6 y 7 (101, 110 y 111).

Estado Estado Entradas Presente Siguiente De los F-F N Q2 Q1 Q0 Q2 Q1 Q0 T2 T1 T0


0 1 2 3 4 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 0 1 0 0 1 1 0 0 1 0 1 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0

J2 Q2Q1
Q0

00 01 11 10 X 1 X 1 X

J1 Q2Q1
Q0

00 01 11 10 X 1 X X

J0 Q2Q1
Q0

00 01 11 10 1 1 X X X

0 1

0 1 1

0 1 1 1

J2 =K 2 =Q1Q0 + Q2

J1 =K1 =Q0
Q0 Q1 Q2

J1 =K 1 =Q2

J0

PR

Q0

J1

PR

Q1

J2

PR

Q2

K0

CL

Q0

K1

CL

Q1

K2

CL

Q2

Ck

Sistemas secuenciales

40

Você também pode gostar