CAP 9 Newmarg-2c

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 56

CAPÍTULO 9 - CONTADORES Y REGISTROS 297

CAPÍTULO 9

CONTADORES Y REGISTROS

9.1 INTRODUCCIÓN
Existen situaciones en las que se requiere conocer el número de veces que ocurre algún evento
particular; y más aún contarlo con algún dispositivo que se encargue de realizar dicha tarea, indepen-
dientemente de la velocidad con que ocurran los eventos cuya cantidad se desea determinar, pudien-
do el intervalo entre ocurrencia de los eventos ser desde nanosegundos o microsegundos hasta mi-
nutos, horas y tiempos aún mayores.
Como ya se vio en los capítulos anteriores, un autómata es capaz de tener un comportamiento tal
que en sus salidas refleje el número de veces que ocurre un determinado evento; siempre y cuando
la ocurrencia de éste se corresponda con un cambio de algún parámetro dado, lo cual se logra me-
diante un dispositivo conocido como transductor. Obviamente, dependiendo de la tecnología con la
que se implante el autómata, el transductor deberá ser tal que convierta la ocurrencia del evento en
un parámetro acorde con la tecnología empleada. En el caso de autómata desarrollado electrónica-
mente, lo más indicado es que la salida del transductor corresponda a una señal eléctrica en la que
se produzca un pulso cada vez que ocurra el evento a contar.
Por lo tanto, un dispositivo con tales características no es más que un autómata diseñado con un
comportamiento particular, de modo tal que sus salidas correspondan al número de veces que ha
ocurrido un determinado evento, que es traducido a su entrada como un cambio de nivel lógico. Co-
mo todo autómata, dicho dispositivo estará siempre caracterizado por tener un número finito de esta-
dos, de modo que la cuenta de la ocurrencia del evento de interés siempre estará limitada a algún
valor específico, no pudiendo ser indefinida.

9.2 CONTADORES
En general, los contadores son autómatas capaces de almacenar e indicar mediante sus salidas,
cuántos pulsos han sido aplicados en su entrada, independientemente de la duración de éstos. De
este modo, puede concebirse un contador de la forma más sencilla posible como aquél que posee
una sola entrada y tantas salidas como sean requeridas para representar la máxima cuenta que se
desee alcanzar.

9.2.1 DEFINICIÓN
De forma general, se puede definir un contador como un bloque que posee una entrada y n sali-
das, las cuales contienen en cada instante la información correspondiente al número de veces que ha
ocurrido un cambio de nivel lógico en su entrada, correspondiendo esto a la ocurrencia de un evento.
En la Figura 9-1 se muestra el esquema de bloque correspondiente a un contador con n salidas, re-
presentadas por On-1 ... O0.
Cabe observar que por ser cualquier contador un autómata sincrónico, tal como han sido ya defi-
nidos, en lo que a su entrada se refiere ésta corresponde usualmente a la entrada del 'clock' del au-
tómata. Por otro lado, dependiendo de la forma como se presente la información en las salidas del
contador, éste podrá ser un contador binario natural, un contador BCD o, en general, un contador
base R; en cuyo caso la cuenta de los pulsos de entrada es mantenida y presentada en una base R
cualquiera.
298 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

C
O On-1
N
T On-2
ENTRADA A

...
D
O O0
R

Figura 9-1. Esquema de bloque de un contador con n salidas.

Sin embargo, frecuentemente la mayoría de los contadores poseen otras entradas adicionales a la
entrada de los pulsos a ser contados, las cuales son utilizadas para el control del sistema; y pudiendo
éste poseer tantas entradas de control como sean requeridas. Entre las funciones que es posible
realizar mediante estas entradas de control se pueden mencionar las siguientes: llevar la cuenta a
cero, inhibir la cuenta aun cuando se apliquen pulsos en su entrada, llevar al contador a una cuenta
específica, invertir el sentido de conteo, etc. En la Figura 9-2 se muestra el esquema de bloque co-
rrespondiente a un contador con entradas de control, las cuales no se especifican en la figura con una
función definida.

ENTRADA C
O On-1
N
T On-2
(BASE R)
ENTRADAS A
...

DE D
...

O O0
CONTROL
R

Figura 9-2. Esquema de bloque de un contador con n salidas y entradas de control.

Como debe resultar obvio al lector, cada valor diferente que presenten las salidas del contador co-
rresponden a un estado diferente del mismo. Por otro lado, como el número de estados que puede
tener un autómata es finito, tal como se mencionó antes, la cuenta máxima que puede alcanzar cual-
quier contador también será finita; de modo que al alcanzar su cuenta máxima, con el próximo pulso
de entrada volverá a comenzar de nuevo la secuencia de conteo, la cual puede iniciarse en cero o en
cualquier otro valor, dependiendo de cómo se haya diseñado el contador.
Como consecuencia de ello, el diagrama de flujo de estados de cualquier contador siempre se ce-
rrará formando un anillo, tal como se muestra en la Figura 9-3; donde se presenta el diagrama de flujo
de estados de un contador de N estados sin indicar sus salidas.

E1 E2

E3
EN

E4

Figura 9-3. Diagrama de flujo de estados de un contador de N estados.


CAPÍTULO 9 - CONTADORES Y REGISTROS 299

9.2.2 MÓDULO DE UN CONTADOR


Se define como módulo de un contador al número total de estados que éste posee. Si como
ejemplo se considera el diagrama de flujo de estados mostrado en la Figura 9-3, puede verse que
éste corresponde a un contador que posee N estados; y por lo tanto, será un contador módulo N.
Cabe aclarar que el módulo de un contador no está relacionado con la cuenta máxima que éste
pueda alcanzar, la cual corresponde al máximo valor representado en las salidas correspondientes a
uno de sus estados.
Este estado a su vez, no tiene por qué ser el último estado de la secuencia, ya que existen conta-
dores cuya cuenta progresa en forma descendente como se verá posteriormente; en cuyo caso, el
último estado del ciclo posee una salida que corresponde al menor valor representado en ellas. Por
otro lado, no necesariamente todo contador debe tener salida con valor cero correspondiente a al-
guno de sus estados, aun cuando ello sea lo más común; así como tampoco la secuencia de la cuen-
ta tiene que corresponder a cantidades consecutivas. Supóngase como ejemplo de ello un contador
que cuente de dos en dos o en potencias de tres.
Solamente si el contador inicia la cuenta desde cero y realiza la secuencia de conteo en forma
consecutiva y creciente, el valor correspondiente a la cuenta máxima del contador estará siempre
dado por el valor de su módulo - 1.

9.2.3 CLASIFICACIÓN
Entrando más en detalle acerca de cómo están constituidos los contadores, tal como se verá se-
guidamente, sus elementos constitutivos básicos son una serie de 'flip-flops' interconectados entre sí;
los que evolucionan de un estado a otro sincronizados con la señal externa que constituye la entrada
del contador, la cual es aplicada directa o indirectamente a la entrada de 'clock' de cada uno de los
'flip-flops'. De allí que en principio, todo contador pueda ser considerado como un autómata sincrónico
o que opera con ‘clock’, de acuerdo con la clasificación de los sistemas secuenciales planteada en la
teoría de autómatas desarrollada en este texto.
Sin embargo, dependiendo de la forma como se aplica la mencionada señal de sincronismo a ca-
da uno de los 'flip-flops', los contadores se suelen clasificar en dos grandes grupos, a saber: contado-
res sincrónicos y contadores asincrónicos.
No obstante, a pesar de que esta clasificación es la misma utilizada para los autómatas, debe te-
nerse claro que ello obedece a una terminología empleada para diferenciar la forma como se sincro-
nizan los diferentes 'flip-flops' que constituyen un contador dado; el cual como ya se indicó, es siem-
pre en esencia un autómata sincrónico. En la Figura 9-4 se muestra el esquema de un contador, que
como se verá posteriormente corresponde a un contador del tipo sincrónico; sin embargo, en estos
momentos sólo se persigue evidenciar que la topología del mismo se corresponde con la de un autó-
mata sincrónico que no posee entradas, tal como puede observarse en el esquema. Si se compara
este esquema con el presentado en la Figura 8-25, correspondiente a un autómata sincrónico modelo
Moore, podrá observarse que no existe diferencia entre ellos; salvo que en el contador el combinacio-
nal de salida no existe y el combinacional de estados se ha disgregado y distribuido en n bloques
combinacionales diferentes, cada uno de ellos para controlar las excitaciones de cada 'flip-flop.
De hecho, la gran mayoría de los contadores se corresponden a autómatas modelo Moore, ya
que, por lo general, las salidas de los diferentes 'flip-flops' constituyen a su vez las salidas del conta-
dor; aunque también es posible que las salidas provengan de un combinacional de salida, el cual será
imprescindible en ciertos casos para ambos tipos de contadores. Adicionalmente, nada impide que un
contador sea implantado según el modelo Mealy.
A continuación se presenta en detalle el concepto bajo el cual se hace la clasificación de los con-
tadores, sus topologías, velocidad, ventajas y desventajas, así como la metodología y consideracio-
nes empleadas para su diseño.
300 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

C J1 Q1 O1
O
M
B
I
N
K1 Q1
ENTRADA

C J2 Q2 O2
O
M
B
I
N
K2 Q2
.
. .
. .
.

C Jn Qn On
O
M
B
I
N
Kn Qn

Figura 9-4. Esquema general de un contador con n salidas, basado en FF-JK.

9.2.3.1 CONTADORES SINCRÓNICOS


Como miembros pertenecientes a esta categoría se consideran aquellos contadores cuya señal de
entrada es aplicada directamente a la entrada de 'clock' de cada uno de los 'flip-flops' que lo constitu-
yen. Un ejemplo de un contador de este tipo lo constituye el esquema mostrado en la Figura 9-4, el
cual se representa de nuevo en la Figura 9-5 de forma diferente, la cual corresponde a la usualmente
empleada para los contadores.

O1 (LSB) O2 (MSB) On

C J1 Q1 C J2 Q2 C Jn Qn
O O O
M M ... M
B B B
I I I
N N N
K1 Q1 K2 Q2 Kn Qn
...

ENTRADA
Figura 9-5. Esquema de un contador tipo sincrónico de n etapas.

No obstante, en cualquiera de las dos figuras se puede observar el hecho de que la señal de en-
trada cuyos pulsos van a ser contados, es aplicada directamente a la entrada de 'clock' de cada uno
de los n 'flip-flops' que constituyen el contador. Igualmente cabe observar que aun cuando se ha re-
presentado un contador basado en FF-JK, igualmente es factible diseñar un contador con cualquier
tipo de 'flip-flops'; inclusive es posible utilizar varios tipos de 'flip-flops' en un mismo contador.
CAPÍTULO 9 - CONTADORES Y REGISTROS 301

Debido a que los pulsos de la señal de entrada se aplican simultáneamente a todos los 'flip-flops'
de la cadena, todos ellos cambiarán de estado al mismo tiempo; permitiendo esto que la frecuencia
máxima de la entrada sea mayor en los contadores sincrónicos en comparación con los asincrónicos,
tal como se verá posteriormente en otra sección de este capítulo. Sin embargo, el hecho de que la
entrada de 'clock' de cada 'flip-flop' representa circuitalmente una carga para la señal de entrada y
que mientras mayor sea el módulo del contador mayor será el número de 'flip-flops', trae como conse-
cuencia que los pulsos de entrada puedan sufrir deterioro en su forma; lo que representa una desven-
taja típica de estos contadores.
A fin de subsanar este inconveniente, generalmente se hace necesario regenerar la señal de en-
trada mediante la conexión de uno o varios NO INVERSORES después de cada tantos 'flip-flops' según
sea requerido de acuerdo con la tecnología empleada. Ello trae como consecuencia que los pulsos de
entrada ya no sean aplicados simultáneamente a todos los 'flip-flops'.
Como se mencionó anteriormente, cada uno de los combinacionales mostrados en el esquema de
la Figura 9-5, representa las funciones de excitación de cada 'flip-flop' y en consecuencia, se pueden
presentar situaciones en las cuales una o varias de las funciones de excitación a su vez estén conte-
nidas en otras funciones de excitación más complejas. Dependiendo de la forma como se implanten
las diferentes funciones lógicas de excitación, a los contadores sincrónicos se les subdivide a su vez
en dos categorías: contadores de carry paralelo y contadores de ripple carry.
Aquí el término 'carry' se emplea por tratarse de señales que provienen de las salidas de un 'flip-
flop' y que son aplicadas a otro 'flip-flop' de la cadena.
Como contadores de carry paralelo se consideran aquellos contadores en los cuales las funciones
de excitación de cada uno de los 'flip-flops' se implementan en forma independiente de las demás.
Por otro lado, se consideran contadores de ripple carry a aquéllos en los que las funciones de excita-
ción de uno o varios de sus 'flip-flops' son implementadas, siempre que sea posible, utilizando como
parte de ellas funciones de excitación correspondientes a otros 'flip-flops'; resultando así combinacio-
nales más sencillos.
Como podrá observarse, el que un determinado contador pueda ser implantado como un tipo u
otro, depende del contador en sí, ya que ello está directamente relacionado con sus ecuaciones de
excitación; por lo que es posible que para ciertos contadores no tenga sentido tal clasificación, en
tanto que para otros sí existan las dos alternativas de implantación.
A fin de aclarar este concepto, considérese un contador sincrónico constituido por cuatro etapas o
'flip-flops', cuyas excitaciones estén dadas por las ecuaciones siguientes:
 J 0  K0  1

 J1  K1  Q0
 (9-1)
 J2  K2  Q1 Q0
J  K Q Q Q
 3 3 2 1 0

Como puede observarse, la implantación de las excitaciones del FF 3 puede realizarse de dos for-
mas diferentes. Por un lado se puede hacer directamente utilizando una compuerta AND de tres en-
tradas, la cual corresponde a la implantación como contador de carry paralelo; o bien, se puede tam-
bién utilizar la excitación del FF2 y aplicarla a una compuerta AND de dos entradas junto a Q2 para
obtener así las excitaciones correspondientes al FF 3, la que correspondería a un contador de ripple
carry. En la Figura 9-6 se muestra el esquema correspondiente al contador de carry paralelo y en la
Figura 9-7 el esquema del mismo contador pero implementado como de ripple carry.
Obviamente, en lo que a velocidad de respuesta del contador del ejemplo se refiere, el contador
de carry paralelo será más rápido que el de ripple carry, ya que en este último la excitación del FF3
sufre un retardo adicional por haber sido implementada mediante dos compuertas. Lo dicho aquí es
válido para cualquier contador.
302 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

(LSB) O0 O1 O2 (MSB) O3
ENTRADA

J0 Q0 J1 Q1 J2 Q2 J3 Q3

"1"
K0 Q0 K1 Q1 K2 Q2 K3 Q3

Figura 9-6. Esquema de un contador sincrónico de cuatro etapas de carry paralelo.

(LSB) O0 O1 O2 (MSB) O3
ENTRADA

J0 Q0 J1 Q1 J2 Q2 J3 Q3

"1"
K0 Q0 K1 Q1 K2 Q2 K3 Q3

Figura 9-7. Esquema de un contador sincrónico de cuatro etapas de ripple carry.

En general, la máxima frecuencia de operación de un contador sincrónico viene dada por la expre-
sión siguiente, independientemente de la forma de su implantación:
1
𝑇𝑀𝐼𝑁 = 𝑓 ≥ 𝑡𝐹 + 𝑡𝐶 (9-2)
𝑀𝐴𝑋

donde: tF = tiempo de respuesta de un 'flip-flop' (si todos son iguales)


tC = tiempo de respuesta del combinacional (el más lento)
fMAX = máxima frecuencia de la señal de entrada.
Sin embargo, para el caso de contadores carry paralelo, tC debe corresponder al mayor de los
tiempos de respuesta de los diferentes combinacionales correspondientes a cada 'flip-flop'; en tanto
que para los contadores ripple carry, tC corresponderá a la suma de los tiempos de respuesta de las
compuertas involucradas en la obtención de la excitación que requiera mayor cantidad de ellas.
El retardo introducido por un mayor número de compuertas involucradas en un contador ripple ca-
rry, trae como consecuencia que la máxima frecuencia de operación de estos contadores sea de
aproximadamente un 70 % de la máxima frecuencia de operación de los contadores carry paralelo.
Por otro lado, estos últimos a pesar de ser más rápidos, debido a que las salidas de los 'flip-flops' son
aplicadas directamente a mayor cantidad de entradas de compuertas, requieren, en primer lugar,
compuertas lógicas con un mayor número de entradas; y en segundo lugar, la carga que debe mane-
jar la salida de cada 'flip-flops' es mayor en la medida que aumente el número de etapas, lo que en
cierto modo constituye una desventaja.
CAPÍTULO 9 - CONTADORES Y REGISTROS 303

9.2.3.2 CONSIDERACIONES PARA EL DISEÑO DE LOS CONTADORES SINCRÓNICOS


En lo que al diseño de este tipo de contadores se refiere, por tratarse de autómatas sincrónicos, el
procedimiento seguido para su diseño y las consideraciones que deben tomarse se corresponden con
las indicadas en el Capítulo 8; independientemente de que su implementación se realice como un
contador de carry paralelo o de ripple carry.
En todo contador sincrónico el número de 'flip-flops' requerido viene dado por la expresión (9-3),
que se indica a continuación:
n 1 n
2  M 2 (9-3)
donde: M = módulo del contador (siempre que el número de estados sea una potencia de 2)
n = número de 'flip-flops' requeridos = número de bits
Como puede observarse, la expresión (9-3) es idéntica a la expresión (8-8), ya que el módulo re-
presenta igualmente el número de estados del contador.
En otro orden de ideas, al diseñar contadores sincrónicos, generalmente no es necesario realizar
el proceso de minimización de los estados planteado en el capítulo anterior; ya que cuando se trata
del diseño de un contador, de un modo u otro siempre se conocerá su módulo, el cual corresponde al
número mínimo de estados del autómata.
Vale la pena mencionar que aun cuando en la mayoría de los casos las salidas de los 'flip-flops'
corresponden a las salidas del contador, ello no siempre será así; presentándose situaciones en las
que se requiere la codificación de las salidas de los 'flip-flops'. Por otro lado, siempre es posible dise-
ñar un contador sincrónico con el siguiente criterio: se desarrolla la máquina de estados con tantos
estados como indique el módulo del contador y que realice el ciclo entre ellos con una codificación
arbitraria de los mismos; y se diseña aparte el combinacional de salida que hará coincidir las salidas
requeridas del contador con cada uno de los estados. Tanto la máquina de estados como el combina-
cional de salida se diseñan con el criterio de sistema mínimo.
No obstante, aun cuando en todos los casos es posible aplicar el criterio que se acaba de mencio-
nar, el sistema más pequeño y compacto posible corresponderá a aquél constituido sólo por la má-
quina de estados. En muchos casos es posible eliminar el combinacional de salida si se diseña la
máquina de estados de modo tal que los códigos que se asignen a cada estado, correspondan con
las salidas requeridas para el contador. De ser así, obviamente la codificación no puede realizarse
arbitrariamente; pero todas las consideraciones del diseño pueden hacerse sobre la tabla de excita-
ción.
A manera de ejemplo, seguidamente se planteará el diseño del contador empleado anteriormente
para indicar la diferencia entre los dos tipos de contadores sincrónicos.

EJEMPLO 9-1
"Se desea diseñar un contador sincrónico binario natural de 4 bits". Aun cuando a primera vista
pudiera parecer que las especificaciones dadas son muy pobres o escuetas, son suficientes para
definir o especificar que se quiere un contador ascendente cuya cuenta se represente en binario natu-
ral, partiendo ésta de cero; y siendo la cuenta máxima quince en decimal (módulo 16), lo cual se de-
duce fácilmente de la relación (9-3) con n = 4. Generalmente cuando no se especifica lo contrario, la
cuenta de todo contador comenzará en cero y será ascendente.
Dado que no se especifica el tipo de 'flip-flop' para desarrollar el contador módulo 16, en el ejem-
plo se diseñará utilizando FF-JK.
Por lo tanto, se puede construir directamente la tabla de excitación correspondiente que se mues-
tra en la Figura 9-8, en la cual se indican los estados actuales y próximos estados, así como los valo-
res para las excitaciones de los cuatro 'flip-flops'. Obsérvese que no se incluyen columnas para las
salidas, ya que éstas vienen dadas directamente por las salidas de los 'flip-flops'.
Los respectivos mapas de Karnaugh para obtener las ocho ecuaciones de excitación se muestran
en la Figura 9-9, indicándose las respectivas agrupaciones de 1's consideradas.
304 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

ESTADO Q3 Q2 Q1 Q0 Q3+ Q2+ Q1+ Q0+ PRÓXIMO


ESTADO J3 K3 J2 K2 J1 K1 J0 K0
0 0 0 0 0 0 0 0 1 1 0 - 0 - 0 - 1 -
1 0 0 0 1 0 0 1 0 2 0 - 0 - 1 - - 1
2 0 0 1 0 0 0 1 1 3 0 - 0 - - 0 1 -
3 0 0 1 1 0 1 0 0 4 0 - 1 - - 1 - 1
4 0 1 0 0 0 1 0 1 5 0 - - 0 0 - 1 -
5 0 1 0 1 0 1 1 0 6 0 - - 0 1 - - 1
6 0 1 1 0 0 1 1 1 7 0 - - 0 - 0 1 -
7 0 1 1 1 1 0 0 0 8 1 - - 1 - 1 - 1
8 1 0 0 0 1 0 0 1 9 - 0 0 - 0 - 1 -
9 1 0 0 1 1 0 1 0 10 - 0 0 - 1 - - 1
10 1 0 1 0 1 0 1 1 11 - 0 0 - - 0 1 -
11 1 0 1 1 1 1 0 0 12 - 0 1 - - 1 - 1
12 1 1 0 0 1 1 0 1 13 - 0 - 0 0 - 1 -
13 1 1 0 1 1 1 1 0 14 - 0 - 0 1 - - 1
14 1 1 1 0 1 1 1 1 15 - 0 - 0 - 0 1 -
15 1 1 1 1 0 0 0 0 0 - 1 - 1 - 1 - 1

Figura 9-8. Tabla de excitación. Ejemplo 9-1.

Q1Q0 Q1Q0
Q3Q2 00 01 11 10 Q3Q2 00 01 11 10
00 0- 0- 0- 0- 00 0- 0- 1- 0-
01 0- 0- 1- 0- 01 -0 -0 -1 -0
11 -0 -0 -1 -0 11 -0 -0 -1 -0
10 -0 -0 -0 -0 10 0- 0- 1- 0-

J3 K3 J2 K2

Q1Q0 Q1Q0
Q3Q2 00 01 11 10 Q3Q2 00 01 11 10
00 0- 1- -1 -0 00 1- -1 -1 1-
01 0- 1- -1 -0 01 1- -1 -1 1-
11 0- 1- -1 -0 11 1- -1 -1 1-
10 0- 1- -1 -0 10 1- -1 -1 1-

J1 K1 J0 K0

Figura 9-9. Mapas de Karnaugh de las excitaciones. Ejemplo 9-1.

A partir de ellos se obtienen las mínimas expresiones de las excitaciones, las que corresponden a:

J 3  K 3  Q2 Q1 Q0 J1  K1  Q0
J 2  K 2  Q1 Q0 J 0  K0  1
CAPÍTULO 9 - CONTADORES Y REGISTROS 305

Obsérvese que estas ecuaciones corresponden a las expresiones (9-1) de la sección anterior, tal
como era de esperarse; de modo que el esquema del contador corresponderá al mostrado en la Figu-
ra 9-6 si la implantación se realiza como un contador carry paralelo, o al esquema de la Figura 9-7 si
se hace como contador ripple carry. ■
Como debe resultar obvio para el lector, el módulo del contador no tiene que ser necesariamente
una potencia de 2 en todos los casos. Ejemplo de ello es un contador de décadas en BCD, el cual en
consecuencia debe tener cuatro bits de salida y, por ende, cuatro 'flip-flops'; pero de las dieciséis
combinaciones posibles para los estados sólo se utilizan diez, quedando sin utilizar las combinacio-
nes correspondientes del 10 al 15 en decimal.
Para finalizar, debe tenerse presente que cualquier contador sincrónico que se conciba siempre
corresponderá a un caso particular de un autómata sincrónico y, por ende, su diseño queda contem-
plado en lo indicado en la sección 8.3.3 del Capítulo 8 de este texto.

9.2.3.3 CONTADORES ASINCRÓNICOS


A este tipo de contadores también se les conoce como contadores de ripple y en general, poseen
una topología muy sencilla, siendo así más fácil su diseño.
Los contadores asincrónicos se caracterizan por estar constituidos también por una serie de 'flip-
flops' pero que no están sincronizados en forma simultánea por los pulsos de la señal de entrada,
sino que por el contrario cada 'flip-flop', salvo el primero de la cadena, es sincronizado directa o indi-
rectamente por la salida de otro 'flip-flop'. Sólo a uno de los 'flip-flops' se aplican los pulsos de la señal
de entrada para su sincronismo, siendo éste generalmente el primero de la cadena.
Como consecuencia de ello, los diferentes 'flip-flops' no cambian de estado simultáneamente como
lo hacen en los contadores sincrónicos. En este caso se requiere que el 'flip-flop' anterior haya cam-
biado de estado para que pueda hacerlo el siguiente; por lo que para el último 'flip-flop' de la cadena
resultará el mayor retardo y cuyo valor dependerá por supuesto del número de etapas o 'flip-flops' del
contador. Esta es la razón fundamental por la que a estos contadores se les denomina asincrónicos y
por la que presentan mayores limitaciones en lo que a su velocidad de operación se refiere, aun
cuando posean la ventaja de ser sistemas más sencillos y de fácil diseño. Por otro lado, los diferentes
'flip-flops' no representan una carga considerable para la señal de entrada en ningún caso, ya que
ésta sólo es aplicada a uno de ellos.
En la Figura 9-10 se presenta el esquema general de un contador asincrónico constituido por una
cadena de ‘flip-flops’ tipo T, desarrollados con FF-JK; en el que se puede apreciar cómo la señal de
entrada se aplica solamente al primer 'flip-flop' de la cadena. La salida de éste constituye el bit menos
significante (LSB) del contador; y a su vez, esta señal actúa como 'clock' para el segundo 'flip-flop' y
así sucesivamente con los siguientes hasta llegar a la última etapa, cuya salida representa el bit más
significante (MSB). No obstante, es posible también que la señal de 'clock' de los 'flip-flops' sucesivos
al primero, provenga de un combinacional.

O1 (LSB) O2 On (MSB)

J1 Q1 J2 Q2 Jn Qn

ENTRADA ...

K1 Q1 K2 Q2 Kn Qn

"1" ...

Figura 9-10. Esquema de un contador tipo asincrónico de n etapas.

El esquema mostrado en la Figura 9-10 corresponde a la forma más simple de implantar un conta-
306 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

dor asincrónico y como puede observarse, se basa en una serie de FF-T conectados todos de la
misma forma, siendo esta topología la que se emplea más frecuentemente. Cabe observar que los
'flip-flops' pueden ser de cualquier tipo, siempre y cuando sean configurados para operar como un FF-
T. En la figura se muestran FF-JK con sus entradas conectadas a un nivel lógico 1; y además, se han
resaltado las líneas que constituyen las señales de sincronismo de cada uno de los 'flip-flops'. Es
importante observar que como consecuencia de los tiempos de respuesta de los 'flip-flops' y de que
estos cambian de estado uno a la vez en forma secuencial, los valores de sus salidas y el valor de la
cuenta que debe llevar el sistema no se corresponderán en todo instante de tiempo; apareciendo así
falsos estados en las salidas del contador. Esto trae como consecuencia la necesidad de utilizar otros
'flip-flops' adicionales para mantener los niveles lógicos válidos de las salidas, tal como se verá con
más detalle posteriormente.
Considerando lo mencionado anteriormente, el tiempo de respuesta de un contador asincrónico
vendrá dado por la relación siguiente:
Tiempo de Respuesta del Contador = n tF (9-4)
de modo que la máxima frecuencia de operación de un contador asincrónico será:
1
= TMIN ≥ n tF (9-5)
fMAX

donde: tF = tiempo de respuesta de cada 'flip-flop'


n = número de 'flip-flops' del contador
fMAX = máxima frecuencia de la señal de entrada.
Por ello en el peor de los casos, será necesario esperar n tF segundos a partir del instante que
cambia la señal de entrada, para obtener la salida correspondiente a la cuenta del sistema.
Si se considera un contador asincrónico con la topología representada en el esquema de la Figura
9-10, el número de estados o módulo del mismo vendrá dado por la relación (9-6); sin embargo, como
se verá posteriormente en la próxima sección, es posible modificar la topología básica para lograr que
el número de estados sea diferente de una potencia de 2.
n
Número de estados = M = 2 (9-6)
donde: M = módulo del contador
n = número de 'flip-flops' del contador
Por lo tanto, si las salidas de uno de los estados corresponden al cero y la cuenta es creciente, se
cumple también para este tipo de contadores que la cuenta máxima corresponde al módulo menos
uno.
Una característica de los contadores asincrónicos consiste en que, dependiendo del flanco de los
pulsos de 'clock' con el que actúen los diferentes 'flip-flops' que lo integran, la cuenta será ascendente
o descendente. Por supuesto, todos los 'flip-flops' en un contador dado deben cambiar o con el flanco
de alza o con el de bajada. Así resulta que si los 'flip-flops' cambian con el flanco de bajada del pulso
de 'clock', la cuenta se realizará en forma ascendente; en tanto que en el caso contrario la cuenta
será descendente o regresiva.
En la Figura 9-11 se muestra el esquema de un contador asincrónico de tres etapas, implantado
con FF-JK que actúan con el flanco de bajada de los pulsos de 'clock'; por lo que de acuerdo con la
relación (9-6) tendrá ocho estados diferentes, comenzando la cuenta desde 0 y llegando hasta 7.
En la Figura 9-12 se presenta el diagrama de tiempo correspondiente, en el que se muestran la
señal de entrada (CLK), las salidas y la cuenta correspondiente en decimal. Se ha supuesto además,
que los 'flip-flops' poseen un comportamiento ideal, es decir, con tiempo de respuesta cero.
CAPÍTULO 9 - CONTADORES Y REGISTROS 307

O0 (LSB) O1 O2 (MSB)

J0 Q0 J1 Q1 J2 Q2
ENTRADA

K0 Q0 K1 Q1 K2 Q2

"1"

Figura 9-11. Contador asincrónico de 3 etapas de cuenta ascendente.

Puede observarse que el contador realiza una secuencia cíclica por sus ocho estados indefinida-
mente, los cuales puede asumirse que sean designados por las cantidades correspondientes a la
cuenta representada en las salidas del sistema. Siendo así, aun cuando se supuso que el contador se
encontraba inicialmente en su estado 0 sin tener ninguna base para asegurar que dicho estado exis-
te, puede verse en el diagrama de tiempo que luego de alcanzar el estado 7, el contador pasa por sí
solo al estado 0. No obstante, haciendo uso de las entradas por nivel de los 'flip-flops', es decir, el
SET y el CLEAR, siempre es posible llevar al contador a un estado determinado; el cual en caso de
aplicarse un pulso a la entrada CLEAR de todas sus etapas, sería el correspondiente a las salidas en
cero o el estado 0 del diagrama.

ENTRADA
CLK

O0

O1

O2

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

Figura 9-12. Diagrama de tiempo del contador mostrado en la Figura 9-11.

Por otro lado, obsérvese que la salida del FF0 corresponde efectivamente al LSB de las salidas; y
la del FF2 al MSB.

O0 (LSB) O1 O2 (MSB)

J0 Q0 J1 Q1 J2 Q2
ENTRADA

K0 Q0 K1 Q1 K2 Q2

"1"

Figura 9-13. Contador asincrónico de 3 etapas de cuenta descendente.

Si se considera el mismo contador asincrónico de tres etapas, pero implementado con 'flip-flops'
que actúan con el flanco de alza del pulso de 'clock', tal como se representa en el esquema mostrado
308 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

en la Figura 9-13, de nuevo éste realizará un ciclo por sus ocho estados; pero esta vez la cuenta será
descendente o regresiva.
Considerando nuevamente que los 'flip-flops' son ideales, asumiendo que el nombre asignado a
cada estado corresponde al equivalente en decimal de la cuenta del sistema y que el contador se
encuentra inicialmente en el estado 7, el diagrama de tiempo correspondiente es el mostrado en la
Figura 9-14. Como puede verse, la cuenta en este caso es descendente.

ENTRADA

CLK

O0

O1

O2

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

Figura 9-14. Diagrama de tiempo del contador mostrado en la Figura 9-13.

A fin de evidenciar una de las principales desventajas que presentan los contadores asincrónicos,
a continuación se considerará el mismo contador asincrónico de tres etapas, pero considerando que
los 'flip-flops' no son ideales y que por lo tanto, poseen un tiempo de respuesta diferente de cero. Al
hacer esta consideración y como consecuencia de los retardos introducidos por los 'flip-flops', durante
los instantes de tiempo correspondientes a las transiciones de un estado a otro, en las salidas apare-
cerán niveles lógicos que representan estados no válidos dentro de la secuencia normal del contador.
En la Figura 9-15 se muestra el diagrama de tiempo correspondiente al mismo contador presenta-
do en la Figura 9-11; y al igual que en los diagramas de tiempo presentados anteriormente, se indica
el valor en decimal de la cuenta mantenida por el contador, donde puede considerarse también que a
los diferentes estados se les asigna dicho valor para identificarlos. Además, en el diagrama se indica
el tiempo de duración de cada intervalo o estado en función del período TC de la señal de entrada y
del tiempo de respuesta tF de cada 'flip-flop', el cual se supone igual para todos ellos.

ENTRADA
CLK

O0

O1

O2

(TC) (TC - tF) (TC) (TC - 2 tF) (TC) (TC - tF) (TC) (TC - 2 tF) (TC)
CUENTA 0 1 2 3 4 5 6 7 0 1 2
0 2 0 6 0
(t F) 0 (t F) (t F) 4 (t F) (t F)
(t F) (t F)

Figura 9-15. Diagrama de tiempo de un contador asincrónico no ideal.

Puede observarse que en el instante de la transición entre algunos de los estados, como conse-
cuencia de los retardos de los 'flip-flops', las salidas toman niveles tales que no corresponden a nin-
guno de los estados involucrados en la transición; lo que ocasiona que la duración de todos los esta-
CAPÍTULO 9 - CONTADORES Y REGISTROS 309

dos válidos no sea la misma durante un ciclo completo. Más aún, nótese que en algunas transiciones
el contador cambia a más de un estado incorrecto antes de alcanzar el estado que le corresponde
realmente.
El hecho de que la duración de los estados válidos no sea la misma, no reviste mayor importancia
desde el punto de vista práctico para la mayoría de las aplicaciones; ya que la diferencia resultará
despreciable por ser usualmente el período de la señal de entrada siempre mucho mayor que el tiem-
po de respuesta de un 'flip-flop'. Sin embargo, los estados erróneos que aparecen en algunas de las
transiciones de estado representan el verdadero problema; ya que las salidas del contador pueden
ser aplicadas a otro sistema lógico, el cual puede ser capaz de reconocer dichos niveles lógicos y
tomar acciones basándose en ellos con el consecuente error.
Al respecto también cabe mencionar que tal como puede observarse, en ninguna transición el con-
tador asincrónico de tres etapas considerado cambia a más de dos estados incorrectos, así como
tampoco el intervalo de duración de ninguno de los estados válidos es menor de TC - 2 tF. En general,
si se considera un contador asincrónico con n etapas, en el peor de los casos en algunas transiciones
pasará a través de n-1 estados erróneos; y la mínima duración de sus estados válidos será:
TC - (n-1) tF donde TC es el período de la señal de entrada.
Tal como se mencionó anteriormente, a fin de evitar que un contador asincrónico presente estados
erróneos durante algunas de sus transiciones de estado, es una práctica usual añadir otros 'flip-flops'
adicionales que al ser sincronizados de alguna forma con la señal de entrada del contador o con otra
señal externa, mantengan estables los niveles lógicos de las salidas del contador correspondientes a
los estados correctos de su secuencia. Estos 'flip-flops' adicionales usualmente son tipo D, ya que es
el tipo de 'flip-flop' que posee el modo de operación más idóneo para este fin. En lo que al sincronis-
mo de estos 'flip-flops' se refiere, es aconsejable que éste se realice utilizando la misma señal de
entrada del contador; ya que de no ser así y realizarse mediante otra señal externa, se requiere de
todos modos lograr el sincronismo entre ambas señales.

(LSB) O0 O1 (MSB) O2

Q0 Q1 Q2
D0 D1 D2

Q0 Q1 Q2

J0 Q0 J1 Q1 J2 Q2

ENTRADA
K0 Q0 K1 Q1 K2 Q2

"1"

Figura 9-16. Contador asincrónico ascendente de 3 bits con 'flip-flops' tipo D


para mantener las salidas y sincronizados con la misma entrada.

De este modo, el único aspecto que quedaría por resolver es lo relativo a la posibilidad de lograr
su sincronismo mediante la misma entrada. Analizando de nuevo el diagrama de tiempo mostrado en
la Figura 9-15, puede observarse que en el instante en que ocurre el flanco de alza de los pulsos de
entrada, las salidas de los 'flip-flops' poseen siempre los niveles lógicos correspondientes a los esta-
dos de la secuencia propia del contador. Además, ello se cumple siempre en tanto el ancho de los
pulsos de entrada sea tal que el tiempo que esta señal permanece en 0 (TCL) sea mayor que 3 tF, o
bien, en el caso general de un contador de n bits, TCL > n tF. En consecuencia, si dicha condición se
cumple, los flancos de alza de los pulsos de la entrada son apropiados para aplicarse a la entrada de
'clock' de los 'flip-flops' tipo D, para de este modo sincronizar la carga de los valores de las salidas de
310 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

los FF-JK en ellos y no utilizar una señal adicional.


En la Figura 9-16 se muestra el esquema del contador de tres bits con los tres FF-D adicionales,
cuyo 'clock' actúa con el flanco de alza y cuyas salidas serán consideradas ahora como las verdade-
ras salidas del contador (O2 O1 O0).
En la Figura 9-17 se muestra el diagrama de tiempo correspondiente que refleja el comportamien-
to en el tiempo del sistema completo, donde puede observarse que ahora la duración de todos los
estado es la misma e igual al período de la entrada (TC), cumpliéndose además que TCL > 3 tF.

ENTRADA 3 tF (TCL > 3 tF) TCH TC


CLK TCL

Q0

Q1

Q2

O0

O1

O2

CUENTA 0 1 2 3 4 5 6 7 0 1 2
(TC) (TC) (TC) (TC) (TC) (TC) (TC) (TC) (TC) (TC)

TCH mayor que MAX(tF)


Figura 9-17. Diagrama de tiempo del contador asincrónico de 3 bits con FF-D
sincronizados por los flancos de alza.

También es posible considerar la situación en la que los FF-D actúen con el flanco de bajada del
'clock', en cuyo caso el problema del sincronismo debe resolverse de una manera diferente. Si se
analiza de nuevo el diagrama de tiempo mostrado en la Figura 9-15, resulta evidente que no es posi-
ble sincronizar los FF-D con la señal de entrada, por lo que será obligatorio emplear otra señal para
ello. Dicha señal deberá tener el mismo período que la entrada del contador, pero deberá estar desfa-
sada en el tiempo respecto a la entrada, pudiendo incluso tener la misma forma y ciclo de trabajo que
ésta. Es evidente que dicha señal deberá estar retrasada con respecto a la entrada.
Si el lector no recuerda o no conoce el concepto de ciclo de trabajo de una señal, cabe mencionar
que este parámetro es una medida de la porción de tiempo que una señal periódica mantiene un nivel
alto en un período completo de ella. Por lo tanto, si se designa por tH y tL a la fracción del período T
que la señal se mantiene en un nivel alto y en un nivel bajo respectivamente, el ciclo de trabajo o 'duty
cycle' de la señal, tal como fue definido anteriormente, viene dado por la ecuación (9-7); y se expresa
como un porcentaje.
tH t
Duty Cycle  D.C.  100  H  100 (9-7)
tH  tL T

Algunos autores lo definen como la razón entre el tiempo que la señal permanece en nivel bajo y el
período, lo cual es en esencia lo mismo. No obstante, en este texto se considerará el ciclo de trabajo
definido por la ecuación (9-7).
Continuando con el problema del sincronismo de las señales de 'clock' de los 'flip-flops', si se de-
CAPÍTULO 9 - CONTADORES Y REGISTROS 311

signa como CLK1 a la señal de 'clock' que se aplicará a los FF-D, el flanco de alza de cada pulso de
esta señal deberá producirse en cualquier instante del intervalo de tiempo durante el cual las salidas
de los FF-JK posean los niveles correspondientes a uno de los estados de la secuencia del contador.
Por lo tanto, resulta evidente que la señal CLK1 deberá estar retrasada con respecto a la entrada.
Como puede deducirse de un análisis del diagrama de tiempo, dado que es el flanco de bajada de la
señal CLK1 el que actuará sobre los FF-D, la magnitud del retraso de esta señal dependerá también
de su ciclo de trabajo. Si se considera el ciclo de trabajo de la señal CLK1 igual que el de la entrada;
entonces se puede ver que en el contador de 3 bits considerado, en el peor de los casos luego de 3 tF
segundos contados a partir del flanco de bajada de la entrada, las salidas ya poseen los niveles lógi-
cos correspondientes al estado verdadero de la secuencia. Dado que es recomendable considerar
siempre un cierto margen de seguridad, resulta entonces que el retraso entre los flancos de bajada de
ambas señales deberá ser mayor de 3 tF segundos para este contador; y para el caso general de un
contador de n bits, el desfasaje deberá ser mayor de n tF segundos como mínimo.

ENTRADA 4 tF TCH = 2 tF TC
CLK

CLK1

Q0

Q1

Q2

O0

O1

O2

CUENTA 0 1 2 3 4 5 6 7 0 1 2
(TC) (TC) (TC) (TC) (TC) (TC) (TC) (TC) (TC) (TC)

Figura 9-18. Diagrama de tiempo del contador asincrónico de 3 bits con FF-D
sincronizados por flancos de bajada.

En la Figura 9-18 se muestra el diagrama de tiempo correspondiente al contador de 3 bits, con las
señales CLK (entrada) y CLK1 desfasadas en 4 tF segundos y en el que se consideró el ancho de los
pulsos de ambas señales igual a 2 tF segundos.
Puede observarse que ahora las salidas de los FF-D (O2 O1 O0) cambian de acuerdo a la secuen-
cia de estados deseada y que la duración de cada uno de ellos es la misma e igual a TC.
El esquema del circuito correspondiente se muestra en la Figura 9-19, donde se puede observar
que se ha introducido un bloque de retardo para desfasar la señal CLK1 de la señal de entrada, con un
retardo TD = 4 tF.
Dicho bloque de retardo podría ser implantado mediante cuatro o más NO INVERSORES, si el tiem-
po de respuesta de ellos fuera menor que el de los 'flip-flops', como sucede generalmente en todas
las familias lógicas. Obsérvese que cada vez que el retardo deseado sea un múltiplo de 2 tF, se pue-
den utilizar también INVERSORES, ya que con cada par de inversores no se modificará la forma de la
señal. No obstante, cuando se requieran tiempos de retardo mayores se puede recurrir a otras técni-
cas, tales como utilizar una línea de retardo.
312 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

(LSB) O0 O1 (MSB) O2

Q Q Q
D D D

Q Q Q
CLK1
Bloque de
Retardo
TD = 4 tF
J0 Q0 J1 Q1 J2 Q2

(ENTRADA)
CLK
K0 Q0 K1 Q1 K2 Q2

"1"

Figura 9-19. Contador asincrónico ascendente de 3 bits con 'flip-flops'


tipo D sincronizados con una señal desfasada.

9.2.3.4 CONSIDERACIONES PARA EL DISEÑO DE CONTADORES ASINCRÓNICOS


A pesar de que las discusiones en las secciones anteriores sobre diferentes aspectos relativos a
los contadores asincrónicos se han basado en un contador de 3 bits, debe resultar claro para el lector
que el diseño de un contador asincrónico de tantos bits de salida como se desee, pero cuyo módulo
sea siempre una potencia de 2, consiste simplemente en interconectar el número de ‘flip-flops’ reque-
ridos de acuerdo con la configuración típica presentada y tomar las precauciones necesarias para
evitar la aparición en las salidas de estados incorrectos.
Sin embargo, cuando se desea diseñar un contador asincrónico cuyo módulo sea diferente de una
potencia de 2, es necesario realizar ciertas modificaciones a la configuración típica presentada, a fin
de lograr que el contador reinicie su cuenta cuando alcance la máxima cuenta deseada. En primer
lugar, será necesario utilizar las entradas de nivel de los diferentes 'flip-flops', ya que mediante la
aplicación de una señal apropiada a una de estas entradas de cada 'flip-flop', o a una combinación de
ellas, se logrará forzar al contador a alcanzar su estado inicial antes de que su cuenta corresponda a
n
2 .
Obsérvese que si el contador inicia la cuenta en un estado caracterizado por ser todas sus salidas
0, si se conectan las entradas CLEAR de todos los 'flip-flops' cada vez que se aplique un pulso a di-
chas entradas se obligará al contador a cambiar a su estado inicial. Por otro lado, si la cuenta se inicia
en un estado cualquiera en el que las salidas sean una combinación de 0's y 1's, mediante la aplica-
ción de un pulso en las entradas SET de algunos de los 'flip-flops' y en las entradas CLEAR de otros,
igualmente se logrará que el contador cambie a dicho estado. No obstante, en ambos casos se debe
generar en el momento apropiado el pulso al que se ha hecho referencia; es decir, cuando el conta-
dor alcance el estado correspondiente a la cuenta máxima que haya sido especificada.
Como puede observarse, la única dificultad aparente para el diseño de contadores asincrónicos
con módulo M  2 , siendo M un entero, consiste en determinar el estado en el que se debe generar
n

el pulso que llevará al contador a su estado inicial y la generación del pulso en sí.
En general, partiendo de que se ha especificado el módulo M del contador a diseñar, el procedi-
miento a seguir se puede resumir en los siguientes pasos:
1) Se determina el número de 'flip-flops', n, requeridos para el contador a partir de la siguiente rela-
ción:
n
M 2 (9-8)
2) Se interconectan los n 'flip-flops' de acuerdo con la configuración típica de un contador asincróni-
CAPÍTULO 9 - CONTADORES Y REGISTROS 313

co.
3) Se expresa el módulo M del contador en binario.
4) Las salidas de los 'flip-flops' que correspondan a un 1 en el número M expresado en binario, se
aplican a las entradas de una compuerta AND, cuya salida será conectada a las entradas CLEAR
de los 'flip-flops' si la cuenta inicial es 0; o al SET de algunos de ellos y al CLEAR de otros si la
cuenta inicial es diferente de 0.
Sin embargo, tal como se evidenciará en el ejemplo siguiente, a pesar de que en la salida de la
compuerta AND se produzca el pulso que se emplea para llevar a los 'flip-flops' al estado inicial, bajo
ciertas consideraciones la sola compuerta no será suficiente para garantizar el efecto deseado. Por
otro lado, surgirá un 'spike' en una o varias de las salidas del contador, motivo por el cual será siem-
pre requerido el empleo de los FF-D adicionales para las salidas.
Cabe observar también que en el procedimiento descrito se asume que las entradas de nivel de
los diferentes 'flip-flops' se activan con un nivel 1. Si dichas entradas se activan con un nivel 0, la
compuerta AND deberá reemplazarse por una compuerta NAND.
En la Figura 9-20 se muestra el esquema general de un contador asincrónico de n bits, modificado
de acuerdo al procedimiento descrito anteriormente para lograr que su módulo sea un número entero
n
M < 2 . En el circuito del esquema se considera que el contador inicia la cuenta en 0, por lo que la
señal identificada como RESET se aplica a la entrada CLEAR de todos sus 'flip-flops'.

O0 O1 On-1
(LSB) (MSB) SALIDAS EN "1"

"0" ...
SET SET SET
J0 Q0 J1 Q1 Jn-1 Qn-1
(ENTRADA)
CLK ...
...
K0 Q0 K1 Q1 Kn-1 Qn-1
CLR CLR CLR

"1" ...
...
RESET

Figura 9-20. Contador asincrónico de n bits con módulo M < 2n.

Obsérvese también que la entrada SET de los n 'flip-flops' está conectada a un nivel 0 aun cuando
no sean requeridas, ya que es recomendable en cualquier sistema lógico no dejar al aire (sin conec-
tar) las entradas que no sean utilizadas.

 EJEMPLO 9-2
Considérese la situación según la cual se plantea "diseñar un contador asincrónico que iniciando
su cuenta desde 0, cuente en forma ascendente en binario natural y cuya máxima cuenta correspon-
da a 4 en decimal".
Si la cuenta se inicia en 0 y llega hasta 4, evidentemente el contador tendrá cinco estados y, por
ende, se trata de un contador módulo 5; de modo que, por no ser su módulo una potencia de 2 se
aplicará el procedimiento antes descrito.
A partir de la relación (9-8) se determina que el contador estará constituido por tres 'flip-flops', los
cuales además deberán actuar con el flanco de bajada del 'clock' para que la cuenta progrese en
forma ascendente según lo requerido. Expresando el módulo en binario se tiene que: B2=1, B1=0 y
B0=1; de modo que las salidas Q2 y Q0 se aplicarán a la entrada de una compuerta AND de cuya sali-
da se obtendrá la señal RESET que permitirá llevar a 0 la salida no negada de los tres 'flip-flops', asu-
314 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

miendo que la entrada CLEAR de éstos actúa con un nivel 1.


En la Figura 9-21 se muestra el esquema del contador en cuestión. Cabe destacar el hecho de
que a la entrada CLEAR del FF1 puede no ser necesario aplicar la señal RESET, ya que para el instan-
te en que se producirá el pulso en esta señal, la salida Q1 estará en 0; ya que B1 = 0 al expresar el
módulo en binario. Esto se evidencia en el diagrama de tiempo mostrado en la Figura 9-22; sin em-
bargo, es una práctica común aplicar la señal de puesta a cero a todos los 'flip-flops' del contador. Por
otro lado, obsérvese en el esquema que la entrada SET de los tres 'flip-flops' se ha conectado a 0.

O0 O1 O2
(LSB) (MSB)

"0"
SET SET SET
J0 Q0 J1 Q1 J2 Q2
(ENTRADA)
CLK

K0 Q0 K1 Q1 K2 Q2
CLR CLR CLR

"1"

RESET

Figura 9-21. Contador asincrónico ascendente de 3 bits módulo 5. Ejemplo 9-2.

En el diagrama de tiempo mostrado en la Figura 9-22 se indica la señal RESET además de la en-
trada y las salidas de los 'flip-flops'. En dicho diagrama se presentan dos ciclos completos del conta-
dor, considerando en el primero de ellos (a la izquierda) que los 'flip-flops' son ideales; en tanto que
para el ciclo mostrado a la derecha, se ha considerado que el tiempo de respuesta de cada 'flip-flop'
para llevar su salida no negada a 0 por efecto de la entrada CLEAR, es diferente de cero. En ambos
ciclos se ha considerado también el tiempo de respuesta de la compuerta AND diferente de cero y
menor que el de los 'flip-flops'; sin embargo, no se ha considerado el tiempo de respuesta tF de los
'flip-flops, ya que sólo se pretende detallar el comportamiento del sistema en el instante de ocurrencia
del pulso en la señal RESET.

'SPIKE'
ENTRADA

CLK

O0
tCLR FF-0 > tCLR FF-2
O1
tCLR FF-2 > 0
O2

RESET
PARA CAMBIAR A '0'
RETARDOS DEL AND PARA CAMBIAR A '1' RETARDOS DEL AND
CUENTA 0 1 2 3 4 0 1 2 3 4 1 2 3
5 5

CONSIDERANDO LOS FF's IDEALES CONSIDERANDO LOS FF's CON tCLR > 0

Figura 9-22. Diagrama de tiempo del contador asincrónico módulo 5 de 3 bits, que considera los
FF ideales y con tiempo de puesta a cero mayor que 0. Ejemplo 9-2.
CAPÍTULO 9 - CONTADORES Y REGISTROS 315

En ambos casos puede observarse que la señal RESET permanece en 0 prácticamente durante
todo el ciclo del contador, excepto durante un corto período de tiempo al final del mismo. 
A fin de constatar que efectivamente el contador de la Figura 9-21 cumple con los requerimientos
exigidos en el ejemplo, se considerará el ciclo mostrado en el diagrama de tiempo correspondiente a
la situación ideal; ya que el considerar el tiempo de respuesta de los 'flip-flops' por efecto de la entra-
da CLEAR, trae como consecuencia otros efectos que serán discutidos y analizados posteriormente y
no en este momento.
Tal como se observa en el primer ciclo mostrado en el diagrama de tiempo, se asume que el con-
tador comienza su cuenta desde 0, progresando ésta en forma ascendente. Al llegar la cuenta a 4 y
habiéndose efectuado el ciclo por cinco estados, con el próximo pulso de la entrada el contador debe-
rá evolucionar a su estado inicial cambiando sus salidas a 0. Como puede observarse, durante los
cinco estados recorridos, la señal RESET se ha mantenido en 0, ya que Q2 y Q0 no han tomado un
nivel 1 a la vez; pero al producirse el flanco de bajada del quinto pulso de la entrada, el contador tien-
de a evolucionar a su estado 6 y la cuenta a cambiar en consecuencia a 5 tomando Q2 y Q0 un nivel
1, por lo que la salida del AND cambiará a 1 mientras ambas entradas lo sean. De este modo, se pro-
duce un pulso en la señal RESET, que hace cambiar a 0 aquellas salidas de los 'flip-flops' que estuvie-
ran en 1 en ese instante; obligando así al contador a volver a su estado 0 e iniciar de nuevo su ciclo,
el cual queda constituido por cinco estados con duración T C segundos cada uno y un sexto estado
con duración muy corta. Ello obliga a que se utilicen los respectivos FF-D en las salidas del sistema
para garantizar que éstas correspondan en todo instante a los cinco estados deseados.
Al ser considerados los 'flip-flops' como ideales, la duración del pulso de la señal RESET depende
solamente de los tiempos de respuesta de la compuerta AND (para cambiar de 0 a 1 y para cambiar
de 1 a 0), quedando la duración del pulso en función a dichos tiempos. Sin embargo, si se considera
además el tiempo en que los 'flip-flops' responden a un pulso aplicado en su entrada CLEAR o SET, la
duración del pulso en la salida de la compuerta AND se verá afectada también por dicho valor; y de-
penderá esencialmente de él por ser este tiempo generalmente mayor que el tiempo de respuesta de
una compuerta. Ello se evidencia en el segundo ciclo presentado en el diagrama de tiempo de la Fi-
gura 9-22, donde puede observarse que la duración del pulso resulta mayor que en el primer ciclo.
Se puede deducir del diagrama de tiempo en cuestión, si se considera a los 'flip-flops' como no
ideales pero con igual tiempo de puesta a cero, que el contador podrá permanecer en el estado 6
(cuenta en 5) o en general en el estado M + 1, durante un tiempo ligeramente mayor antes de cam-
biar a su estado inicial, lo que no trae mayores consecuencias; ya que mediante los FF-D se logra
que las salidas de éstos presenten solamente los valores correspondientes a los estados dados por el
módulo con el cual se diseñó el contador.
Sin embargo, es posible que se presente la situación en la cual los tiempos de puesta a cero de
los 'flip-flops' sean diferentes entre sí, lo que es usual en la práctica; trayendo como consecuencia
que el contador luego de alcanzar su cuenta máxima, cambie a otro estado diferente en vez e hacerlo
de nuevo a su estado inicial. Al ser diferente el tiempo de puesta a cero de cada 'flip-flop', surge la
posibilidad de que uno o más de ellos no cambien su salida Q a 0 con la señal RESET. Ello obedece a
que esta señal se mantendrá en 1 solamente hasta que el 'flip-flop' más rápido del contador cambie
su salida a 0 más el intervalo correspondiente al tiempo de respuesta de la compuerta; quedando así
los 'flip-flops' más lentos con su salida Q en el nivel que correspondía al último estado válido de la
secuencia. Esta situación se ilustra en el segundo ciclo del diagrama de tiempo de la Figura 9-22,
donde se ha denotado por tCLR el tiempo de puesta a cero de los 'flip-flops' y se ha supuesto además
que:
t CLR FF 0  t CLR FF 2

Como consecuencia de ello el FF0 no tendrá tiempo para cambiar su salida a 0 mientras dura el
pulso de RESET, ocasionando que el contador comience el nuevo ciclo con el estado cuya salida es 1
(estado 2) y no con la salida 0 (estado 1).
Para subsanar este inconveniente y garantizar que todos los 'flip-flops' del contador cambien su
salida Q a 0, independientemente de que sus tiempos de puesta a cero sean iguales, mayores o me-
nores entre sí, se añade un FF-SR al sistema; a cuya entrada S se conecta la salida de la compuerta
316 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

AND y cuya salida constituye ahora la señal RESET, que se aplica a la entrada CLEAR de los 'flip-
flops'. De este modo, la duración del pulso en la señal RESET se hace independiente de los tiempos
de puesta a cero de los 'flip-flops', garantizándose así que todos ellos cambien a 0.
Para cambiar de estado nuevamente al FF-SR, en su entrada R se aplica una señal que se obtie-
ne de la misma entrada del contador. El esquema del mismo contador del Ejemplo 9-2 se muestra en
la Figura 9-23, con el FF-SR implantado mediante dos compuertas NAND; por lo que se ha sustituido
la compuerta AND por una compuerta NAND, para cambiar de estado al SR con un 0 y no con un 1.
Negando la señal de entrada del contador se obtiene una señal que es apropiada para llevar a 0 la
salida del FF-SR; siempre y cuando el ciclo de trabajo de la entrada sea tal que el tiempo que perma-
nezca en 0 sea mayor que el mayor de los tiempos de puesta a cero de los 'flip-flops'.

O0 O1 O2
(LSB) (MSB)

"0"
SET SET SET
J0 Q0 J1 Q1 J2 Q2
(ENTRADA)
CLK

K0 Q0 K1 Q1 K2 Q2
CLR CLR CLR

"1" S
RESET

Figura 9-23. Esquema de un contador asincrónico de 3 bits módulo 5,


con FF-SR para la puesta a cero.

En la Figura 9-24(a) se muestra el correspondiente diagrama de tiempo con las diferentes señales
involucradas, en el que se ha asumido que el tiempo de puesta a cero del FF 2 es mayor que el del
FF0 igual que en el caso anterior; y se ha despreciado el tiempo de respuesta del inversor. Puede
observarse que independientemente de ello, todos los 'flip-flops' del contador tienen tiempo para
cambiar su salida Q a 0. Sin embargo, nótese que igualmente se requieren los FF-D para mantener
las salidas en sus niveles adecuados de acuerdo con el ciclo del contador, ya que los estados erró-
neos se siguen produciendo al cambiar del último estado del ciclo al estado inicial. Los FF-D podrían
estar sincronizados con el flanco de alza de la entrada.
A fin de poder apreciar con más detalle los tiempos de retardo involucrados en el momento que fi-
naliza el ciclo del contador, en la Figura 9-24(b) se muestran las mismas señales involucradas pero
ampliadas durante los tres períodos de la señal CLK en que se interrumpe el ciclo normal del conta-
dor.
Por lo tanto, se puede concluir que los contadores asincrónicos, a pesar de caracterizarse por te-
ner una configuración con topología relativamente simple, requieren siempre de tantos FF-D como
bits posea el contador, para mantener las salidas correspondientes a los estados válidos de su ciclo;
y evitar así que se reflejen los niveles lógicos erróneos que presentan sus 'flip-flops' durante ciertos
instantes. Esto es aplicable cualquiera sea el módulo del contador. Por otro lado, cuando se requiera
diseñar un contador asincrónico cuyo módulo no sea una potencia de 2, se requerirá añadir las com-
puertas lógicas necesarias para asegurar el cambio al estado inicial deseado al finalizar su ciclo.
Por último, obsérvese en todos los diagramas de tiempo mostrados, que siempre las señales en
las salidas de los 'flip-flops' que constituyen el contador, poseen un período igual al doble del período
de la señal que se aplica en la entrada de 'clock' de cada uno de ellos; por lo que cada una de las
CAPÍTULO 9 - CONTADORES Y REGISTROS 317

etapas divide por dos la frecuencia de la señal de 'clock'. Esta característica obedece al hecho de
estar constituidos por 'flip-flops' tipo T.

ENTRADA

CLK

O0
tCLR FF-0
O1
tCLR FF-2 > tCLR FF-0
O2

S
RETARDO DEL NAND
R
RETARDO DEL S-R
RESET
5 4
CUENTA 0 1 2 3 4 0 1 2 ...

SE DESPRECIA EL RETARDO DEL INVERSOR

Figura 9-24(a). Diagrama de tiempo del contador mostrado en la Figura 9-23.

ENTRADA

CLK

O0
tCLR FF-0
O1
tCLR FF-2 > tCLR FF-0
O2

S
RETARDO DEL NAND
R
RETARDO DEL S-R
RESET
5 4
CUENTA ... 3 4 0 1 ...
SE DESPRECIA EL RETARDO DEL INVERSOR

Figura 9-24(b). Diagrama de tiempo del detalle del fin del ciclo del contador.
318 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

Posteriormente cuando se traten los divisores de frecuencia, se verá que éstos son siempre con-
tadores utilizados para este fin particular; en cuyo caso la utilización de contadores asincrónicos es
muy común y más ventajosa en ciertos casos por la sencillez de su diseño; ya que no son necesarias
las consideraciones hechas para asegurar en las salidas los niveles correspondientes a los estados
del ciclo, como ocurre cuando se utiliza como contador.

9.2.4 CÓMO SE GARANTIZA INICIALMENTE UN ESTADO DEL CICLO NORMAL DEL


CONTADOR
Hasta los momentos se ha supuesto implícitamente que de alguna manera los contadores consi-
derados inician su secuencia o cuenta en alguno de los estados pertenecientes a su ciclo, lo cual es
n
cierto siempre y cuando el contador utilice la totalidad de los 2 estados posibles; suponiendo, obvia-
mente, que se trata de un contador con n bits de salida. Sin embargo, en aquellos casos en los cuales
n
el número de estados pertenecientes al ciclo del contador es menor que 2 , no se tiene garantía ple-
na de que al energizar el sistema éste alcance uno de los estados del ciclo que realizará posterior-
mente bajo condiciones normales de operación.
Por ello es recomendable, y hasta podría decirse que imprescindible, asegurar que al comienzo de
su operación el sistema sea forzado a alcanzar un estado predeterminado que pertenezca a su ciclo o
cuenta normal. Si bien es posible que en algunos casos el sistema alcance por sí mismo uno de los
estados de su ciclo normal luego de evolucionar por uno o más estados no pertenecientes a él, es
recomendable adoptar como práctica de diseño, el tomar las consideraciones necesarias para garan-
tizar que todo contador se inicie o arranque en uno de los estados de su ciclo.
La forma de garantizarlo consiste en primer lugar, en generar un pulso en un instante posterior a la
activación del sistema que sea aplicado a ciertas entradas de nivel de los diferentes 'flip-flops', provo-
que que las salidas de estos tomen niveles que correspondan a uno de los estados del ciclo del con-
tador. Para ello se requiere que dichas entradas sean conectadas entre sí de la forma adecuada para
tal fin, así como conectar a un nivel 0 las que no sean utilizadas. A partir del instante inicial y tan pron-
to como el contador sea forzado a alcanzar uno de sus estados del ciclo, mediante los pulsos aplica-
dos en su entrada continuará evolucionando a través de los estados propios de él. Además, es posi-
ble que durante la operación del contador, se desee por alguna circunstancia llevarlo a dicho estado
inicial en un determinado momento bajo la acción manual de un interruptor tipo pulsador; por lo que
usualmente se suele utilizar un circuito en cuya salida se genere un pulso al aplicar energía al sistema
o cuando se active el pulsador, contemplando de esta forma las dos condiciones.
En la Figura 9-25 se muestra el esquema de un circuito de este tipo, el cual está constituido por
una compuerta OR y varios componentes pasivos. El circuito se basa en un derivador pasivo de la
señal de alimentación que constituye un escalón de tensión, a fin de obtener un pulso de corta dura-
ción cuya forma se indica en la figura. La función de derivar la tensión de alimentación la realizan la
resistencia R y el condensador C, cuyos valores determinan el ancho del pulso que se aplica a una
entrada de la compuerta.

RESET
MANUAL

RESET
+V
C
R R1

Figura 9-25. Posible circuito para generar la señal RESET.

Por su parte, la resistencia R1 permite asegurar un nivel 0 en la otra entrada de la compuerta lógi-
CAPÍTULO 9 - CONTADORES Y REGISTROS 319

ca cuando el pulsador se encuentra abierto; y que al oprimirlo manualmente aparezca la tensión +V


sobre la resistencia R1 y, por ende, en la entrada del OR; correspondiendo este valor de tensión a un
1 lógico. Resulta así que la compuerta OR permite obtener en su salida un pulso cada vez que se
aplique la señal +V al energizar el sistema o cuando se accione manualmente el pulsador, cuya dura-
ción dependerá de la fuente o causa que lo origine. Además, la compuerta OR permite obtener un
pulso de forma rectangular y con el nivel lógico apropiado.
Generalmente, la señal de salida del circuito mostrado se designa con el nombre de RESET; y aun
cuando reciba el mismo nombre que la señal empleada para interrumpir el ciclo de los contadores
asincrónicos vistos anteriormente, ello no debe causar confusión, pues se trata en esencia de la mis-
ma señal; o dicho de otro modo, de dos eventos que causan la misma acción. Por ello, en el caso de
n
contadores asincrónicos con módulo diferente de 2 , como el mostrado en la Figura 9-23, mediante
otra compuerta OR se pueden combinar lógicamente la señal que se genere a partir de ciertas salidas
del propio contador (salida del latch) y la que se genere mediante el circuito presentado anteriormente
en la Figura 9-25; y a esa única señal asignarle el nombre de RESET.
De igual modo, cuando se considera un contador sincrónico de n bits con un número de estados
n
inferior a 2 , resultarán códigos no asignados a estado alguno; en cuyo caso es recomendable tam-
bién asegurar que el sistema inicialmente alcance uno de los estados perteneciente a su ciclo. En
tales situaciones se tomarán las mismas consideraciones expuestas anteriormente, haciendo uso de
las entradas de nivel de los 'flip-flops' y del circuito mostrado en la Figura 9-25 u otro que cumpla la
misma función. Como ejemplo de la situación planteada para los contadores sincrónicos, puede con-
siderarse el esquema mostrado en la Figura 9-36 del Ejemplo 9-4, que corresponde a un contador
módulo 6 utilizado para dividir x 6 la frecuencia de señal de entrada; en el cual de los ocho códigos de
tres bits se asignan sólo seis de ellos a sus estados.

9.2.5 TIPOS DE CONTADORES MÁS COMUNES


Existen ciertos contadores que por sus características y uso frecuente, se conocen con nombres
particulares que reflejan de cierta forma su modo de operación. Por lo general corresponden a conta-
dores sincrónicos, de modo que mediante el procedimiento de diseño descrito para ellos es posible
diseñarlos a partir de los requerimientos que definan su operación como en cualquiera de los casos. A
continuación se describe los tipos más comunes de estos contadores.

9.2.5.1 CONTADOR BINARIO NATURAL DE N BITS


Bajo esta denominación se puede incluir cualquier contador de N etapas que se caracterice por
llevar una cuenta ascendente en sus salidas correspondiente al código binario natural. Por lo tanto,
puede corresponder tanto a un contador sincrónico como asincrónico, tomando en este último caso
las consideraciones necesarias presentadas anteriormente.

9.2.5.2 CONTADOR REVERSIBLE ('UP/DOWN')


Este tipo de contadores se caracterizan por ser capaces de mantener su cuenta en cualquier base
como cualquier contador, pero además, poder cambiar el sentido de la misma bajo el control de una
señal externa. Por lo tanto, son capaces de contar los pulsos de entrada tanto en forma ascendente
como descendente, dependiendo de una señal externa.
Tal como se mencionó al principio de este capítulo, los contadores pueden tener entradas adicio-
nales a la entrada de los pulsos a ser contados, que son utilizadas para su control a fin de realizar
ciertas funciones. Entre estas funciones se encuentra la de poder invertir el sentido de la cuenta, re-
quiriéndose así una sola entrada adicional que dependiendo del nivel lógico que posea, determina si
el contador cuenta en forma creciente o en forma decreciente, la cual usualmente se designa como
U/D (tomado del Inglés 'up/down').
En la Figura 9-26(a) se muestra el esquema de bloque de un contador reversible de n bits de sali-
da; y en la Figura 9-26(b) su correspondiente diagrama de flujo de estados. Se ha establecido que si
la entrada U/D = 0 la cuenta es creciente, en tanto que si U/D = 1 es decreciente, asumiendo además
que la cantidad representada por las salidas en el estado Ei es menor que en el estado Ei+1. Debe
resultar evidente que su diseño resulta más conveniente hacerlo como un contador sincrónico, por
320 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

disponerse de un control total de la operación del sistema a partir de cada estado del mismo, tal como
se ilustra en el ejemplo siguiente.

ENTRADA C
O On-1 U/D=0
E1 E2
N
T On-2 U/D=1
A

...
(BASE R) E3
U/D D EN
O O0
R E4

(a) (b)
Figura 9-26. Contador reversible: a) Esquema de bloque. b) Diagrama de flujo de estados.

 EJEMPLO 9-3
"Considérese el caso de diseñar un contador binario de dos bits código Gray que cuente de forma
creciente cuando su entrada U/D = 0 y decrecientemente cuando U/D = 1".
Por ser el contador de dos bits estará constituido por dos 'flip-flops' y será por ende módulo 4, te-
niendo otra entrada externa además de la entrada de los pulsos a contar. El diseño del contador se
realizará como un contador sincrónico por resultar éste más sencillo y para ello se planteará directa-
mente la tabla de excitación tratando de hacer coincidir las salidas con los códigos asignados a cada
estado.
En la Figura 9-27 se muestra la tabla de excitación basada en FF-D y acorde a lo mencionado en
los requerimientos del problema. La entrada para los pulsos a ser contados no se incluye en la tabla,
ya que ésta será la entrada de 'clock' de cada 'flip-flop'.

ESTADO U/D Q1 Q0 Q1+ Q0+ D1 D0


0 0 0 0 0 1 0 1
1 0 0 1 1 1 1 1 CUENTA
2 1 0 0 0 0 0 CRECIENTE
0
3 0 1 1 1 0 1 0
0 1 0 0 1 0 1 0
1 1 0 1 0 0 0 0 CUENTA
2 1 1 0 1 1 1 1 DECRECIENTE

3 1 1 1 0 1 0 1

Figura 9-27. Tabla de excitación del contador reversible. Ejemplo 9-3.

Q1Q0 Q1Q0
U/D 00 01 11 10 U/D 00 01 11 10
0 0 1 1 0 0 1 1 0 0
1 1 0 0 1 1 0 0 1 1
D1 D0
Figura 9-28. Mapas de Karnaugh de las excitaciones. Ejemplo 9-3.
CAPÍTULO 9 - CONTADORES Y REGISTROS 321

En la Figura 9-28 se muestran los respectivos mapas de Karnaugh de las excitaciones D1 y D0, de
los cuales se obtienen las ecuaciones respectivas.
Las ecuaciones del sistema son:


D1  U / D  Q0  U / D  Q 0  U / D  Q0


 D0  U / D  Q1  U / D  Q1  U / D  Q1
El esquema del contador se muestra en la Figura 9-29, el cual además de los dos FF-D solamente
requiere de dos compuertas adicionales para las excitaciones.

(MSB) Q1 (LSB) Q0

Q1 Q0
U/D D1 D0

CLK
Q1 Q0

Figura 9-29. Esquema del contador reversible. Ejemplo 9-3.

Los FF-D se ha supuesto que actúen con el flanco de alza del 'clock', aunque igualmente se pudie-
ran utilizar ‘flip-flops’ que actúen con flanco de bajada, ya que no existe algún requerimiento que obli-
gue a una u otra condición. 
Los contadores reversibles son en general ampliamente utilizados en aplicaciones de temporiza-
dores digitales; los que como parte del sistema poseen una etapa que permite al operador establecer
el tiempo deseado y mediante un comando externo iniciar la cuenta regresiva, que al llegar a cero
generará una señal que detendrá el proceso cuya duración se pretende controlar.
Comercialmente existen circuitos integrados que realizan las funciones antes descritas y que como
parte integral de ellos, poseen un contador que generalmente cuenta en forma descendente solamen-
te.

9.2.5.3 CONTADOR DE ESTADOS PREESTABLECIDOS


Este tipo de contadores se caracteriza esencialmente por tener una serie de entradas, cuyo núme-
ro iguala al de sus salidas; mediante las cuales se especifica un número K que corresponde al estado
al que cambiará el contador cuando se aplique un pulso en otra de sus entradas, continuando luego
su cuenta normal a partir de dicho estado. Si se tratara por ejemplo de un contador binario natural de
4 bits, éste tendrá también cuatro bits de entrada que permitirán comenzar la cuenta a partir de cual-
quier número entre 0 y 15. Es posible que un contador de este tipo sea además reversible, en cuyo
caso podrá comenzar la cuenta a partir del número o estado seleccionado en forma ascendente, o
bien en forma descendente.
En la Figura 9-30(a) se muestra el esquema de bloque de un contador de este tipo, en el que pue-
den observarse sus n salidas y n entradas de DATA para cargar la información correspondiente al
estado al que cambiará cuando se aplique un pulso en la entrada designada como PRESET. Esta
entrada según el caso, también puede ser identificada con otros nombres como LOAD, PRESET
ENABLE, etc. En la Figura 9-30(b) se presenta el correspondiente diagrama de flujo de estados, según
el cual el contador realiza su ciclo normal a través de los N estados E1,..., EN mientras no se aplique
n
la señal PRESET, siendo N = 2 .
322 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

Dn-1 C
On-1
O E1 E2
Dn-2 On-2
N
T

...
A E3
D0 D O0 EN
CLK INH O
R E4
PRESET
(BASE R)
ENTRADA
(a) (b)
Figura 9-30. Contador de estados preestablecidos: a) Esquema de bloque.
b) Diagrama de flujo de estados.

CLK INH

RESET

D0

D1

D2
(ENTRADA)
CLK

Q0

Q1

Q2

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

CUENTA 'CLOCK' INHIBIDO


CONTINÚA LA CUENTA POR SU CICLO NORMAL
NORMAL Y CARGA

Figura 9-31. Diagrama de tiempo de un contador de estados preestablecidos.

Sin embargo, encontrándose el contador en cualquiera de sus estados y aplicarse un pulso en la


entrada PRESET en un instante t, el contador realizará una transición al estado correspondiente al
número K que se encuentre aplicado a las entradas de DATA (Dn-1 ... D0) en el instante de aplicación
del pulso. Ello se representa en el diagrama de flujo de estados de la figura mediante las transiciones
indicadas con líneas finas y discontinuas, donde se ha supuesto que el contador se encuentra en el
estado E2 en el instante t.
Aun cuando en la Figura 9-30(b) se han indicado solamente las transiciones correspondientes
desde el estado E2 para hacer más clara la visualización en la figura, lo mismo es aplicable desde
CAPÍTULO 9 - CONTADORES Y REGISTROS 323

cada uno de los N estados del contador.


La Figura 9-31 muestra un diagrama de tiempo en el que se representa la operación de un conta-
dor comercial de este tipo y la secuencia de las señales en el instante en que se carga la data; donde
se ha supuesto que ésta corresponde al número 4 decimal.
Puede observarse que el contador viene realizando su cuenta normalmente hasta que se aplica la
señal CLK INH (‘clock’ inhibido), que inhibe la cuenta del contador y congela la cuenta en 6 en el caso
considerado. El pulso de esta señal debe tener una duración tal que permita colocar en las entradas
de DATA el valor correspondiente (4 |10 en este caso) y que alcancen niveles estables para el momen-
to de aplicarse el pulso de PRESET, para así ser cargada en las salidas. Posterior a este instante se
habilita de nuevo la entrada CLK (CLK INH = 0) y el contador continúa su cuenta normalmente a partir
del valor cargado, repitiendo su ciclo al llegar a su cuenta máxima.
En dicho diagrama de tiempo se muestra la secuencia seguida por un contador que carga la data
mediante un 0 en la señal PRESET y de forma no sincronizada con los pulsos de la señal de entrada,
la cual debe ser inhibida durante ese intervalo de tiempo. También es posible concebir un contador de
estado preestablecido que transfiera a sus salidas la data presente en sus entradas en el instante de
ocurrencia de uno de los flancos de la señal de ‘clock’ (entrada); siempre y cuando la entrada PRESET
tenga el nivel lógico apropiado para ello.
Un contador de este tipo puede ser diseñado, aplicando el procedimiento seguido para los conta-
dores sincrónicos, en cuyo caso se considerarán las entradas de data, PRESET y CLK INH en la cons-
trucción de la tabla de excitación.

9.2.6 DIVISORES DE FRECUENCIA


Una de las tantas aplicaciones de los contadores consiste en su empleo para obtener una señal en
alguna de sus salidas, cuya frecuencia sea una fracción entera de la frecuencia de la señal que se
aplica en su entrada (fC); o sea, lo que comúnmente se refiere como un divisor de frecuencia. Si se
considera un contador binario natural módulo M, ya sea éste sincrónico o asincrónico, en el diagrama
de tiempo de sus salidas podrá observarse que el período de cada una de ellas corresponde a un
múltiplo entero del período de la entrada; de modo que la frecuencia de esta señal es dividida sucesi-
vamente por dos en la salida de cada etapa del contador.
De este modo se obtiene en la salida O0 correspondiente al bit menos significante, una señal con
2
frecuencia fC / 2, en la salida O1 una señal con frecuencia fC / 2 ; y así sucesivamente en la salida On-1
n
una frecuencia correspondiente a fC / 2 , siendo n el número de bits del contador, por lo que su módu-
n
lo está dado por M = 2 .
Obviamente, para poder hablar de división de frecuencia, la señal que se aplica en la entrada del
contador debe ser periódica. Por otro lado, cabe destacar que aun cuando en el caso planteado de un
contador binario natural las señales en cada una de sus salidas tienen un ciclo de trabajo de 50 %,
ello no constituye un requerimiento indispensable para que opere como un divisor de frecuencia; ya
que la frecuencia de una señal no depende del ciclo de trabajo de la misma.
Dada la simplicidad que presenta la topología de los contadores asincrónicos, son ellos los que
comúnmente se emplean para dividir la frecuencia de una señal aplicada en su entrada; aunque ello
no quiere decir que no pueda emplearse también un contador sincrónico. Si se considera el contador
binario de dos bits código Gray presentado en el Ejemplo 9-3 y se construye el diagrama de tiempo
de sus salidas, podrá observarse que mientras la entrada U/D no cambie de nivel, las señales en
cualquiera de las salidas tienen una frecuencia f = fC /4; ambas con ciclo de trabajo del 50 % como
puede observarse en la Figura 9-32.
324 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

TC
(ENTRADA)
CLK

U/D

Q0

Q1

4 TC
fQo = fC / 4 D.C. = 50 %
Figura 9-32. Diagrama de tiempo del contador sincrónico del Ejemplo 9-3 (Figura 9-29).

Con relación al empleo de los contadores asincrónicos como divisores de frecuencia, cabe desta-
car que por ser requerida en la mayoría de los casos solamente la señal de una de sus salidas, no
tiene importancia que para esta aplicación se produzcan estados incorrectos en algunas transiciones.
Por ello no son requeridos los FF-D en las salidas de los 'flip-flops' del contador y sólo se debe tener
la precaución de elegir como salida del divisor de frecuencia cualquier salida del contador que no
presente algún 'spike' y que su señal, obviamente, sea periódica. Cualquier salida que no cumpla con
estos requerimientos no deberá ser considerada apropiada para utilizar su señal. En algunas situa-
ciones es posible que se utilicen más de una salida del contador, cuyas señales posean frecuencias
diferentes.
En general, si se desea diseñar un divisor de frecuencia x N, es decir, diseñar un sistema en el
cual la señal de su salida posea una frecuencia igual a la frecuencia de la señal de entrada dividida
entre N, se deberá diseñar un contador cuyo módulo M sea igual a N. Ello puede deducirse fácilmente
de los diagramas de tiempo correspondientes a cualquiera de los contadores considerados anterior-
mente. A manera de ejemplo, puede considerarse el diagrama de tiempo mostrado en la Figura 9-24,
correspondiente al contador asincrónico módulo 5, cuyo esquema se mostró en la Figura 9-23. Si se
considera dicho contador como un divisor de frecuencia, puede observarse que en un período de las
señales en sus salidas O1 y O2 están contenidos cinco períodos de la señal de 'clock'; por lo que la
frecuencia de su señal de entrada quedó dividida por 5, independientemente del valor de los tiempos
de puesta a cero de los 'flip-flops' y de lo que ocurra cuando se interrumpe el ciclo de la cuenta nor-
mal del contador. La señal de la salida O0, por su parte, no puede ser considerada para esta aplica-
ción por presentar un pulso de muy corta duración o 'spike' cuando se reinicia el ciclo y, por ende, no
se puede considerar periódica.
En cuanto a la forma de las señales O1 y O2 en este caso resultan diferentes, teniendo ciclos de
trabajo diferentes, el cual es de 40 % para la señal O1 y, aproximadamente, de 20 % para la señal O2;
ya que los diferentes retardos de los componentes del sistema ocasionan que este último sea ligera-
mente mayor. Sin embargo, esta diferencia resulta despreciable en la mayoría de los casos, ya que,
por lo general, el período de la señal de 'clock' es mucho mayor en comparación a los retardos.
Por otro lado, cuando se desea obtener una señal de cierta frecuencia a partir de otra señal con
frecuencia mayor, es posible que además se especifique el ciclo de trabajo que debe tener la señal
de salida. En situaciones como la planteada, el empleo de contadores asincrónicos posiblemente no
sea lo más indicado, salvo en aquellos casos en que el ciclo de trabajo de la señal de alguna de sus
salidas cumpla con ambos requerimientos; ya que de no ser así, resulta imposible modificar el ciclo
de trabajo sin el uso de componente adicionales, perdiéndose así la ventaja de su sencillez.
Sin embargo, mediante el empleo de contadores sincrónicos puede ser posible obtener también la
señal de salida con la frecuencia especificada y satisfacer además ciertos valores para su ciclo de
trabajo. Esto puede lograrse en función de la cantidad de 1's que se puedan asignar consecutivamen-
CAPÍTULO 9 - CONTADORES Y REGISTROS 325

te en la tabla de excitación en un ciclo completo de la salida del 'flip-flop' que se considerará como la
salida del divisor.
Obsérvese que aún empleando un contador sincrónico, existen fuertes restricciones en cuanto al
ciclo de trabajo que puede tener la señal de alguna de sus salidas; debido a que en primer lugar, la
menor duración que puede tener un pulso en cualquiera de sus salidas corresponde a un período del
'clock'. Por esta razón, los ciclos de trabajo posibles serán sólo los múltiplos del porcentaje corres-
pondiente a un pulso del ‘clock’; o sea, múltiplos del inverso del módulo (1/M), lo que constituye la
limitación más fuerte. En segundo lugar, si n es el número mínimo de bits requeridos de acuerdo a la
n
relación (9-3), se dispone de 2 combinaciones, en las cuales el número de 1's y 0's en cada bit de
n-1 n-1
salida es de 2 ; de modo que el número de 1's consecutivos requerido debe ser menor o igual a 2 .
Sin embargo, esto no representa un obstáculo insuperable, ya que se pueden añadir 'flip-flops' adicio-
nales; que aun cuando sean redundantes en lo que concierne al contador, permitirán lograr la asigna-
ción de los estados en la forma deseada. En los ejemplos que se presentan a continuación se evi-
dencian los aspectos antes mencionados.

 EJEMPLO 9-4
Considérese la situación siguiente: "Para una cierta aplicación se desea obtener una señal cuya
frecuencia sea 6 KHz y con un ciclo de trabajo de 50 %; a partir de una señal de 36 KHz y ciclo de
trabajo de 50 %."
Para obtener la señal con las características requeridas se deberá diseñar un contador módulo 6,
ya que la frecuencia de la señal requerida es 1/6 de la frecuencia de la señal disponible; y ello puede
lograrse indistintamente con un contador asincrónico o con uno sincrónico.
En caso de considerarse un contador asincrónico habrá que construir el diagrama de tiempo co-
rrespondiente a fin de determinar si es posible satisfacer el requerimiento del ciclo de trabajo de la
señal de salida. Dicho diagrama de tiempo se presenta en la Figura 9-33, donde se puede observar
que la señal correspondiente a la salida Q2 es la única que posee la frecuencia deseada; pero su ciclo
de trabajo es de 2/6, lo que equivale a 33,33 %, por lo que no satisface los requerimientos plantea-
dos.

TC
(ENTRADA)
CLK

Q0
2 TC
Q1 fQo = fC / 2

Q2

6 TC
fQ2 = fC / 6 D.C. = 33,33 %

Figura 9-33. Diagrama de tiempo correspondiente a un contador asincrónico M = 6. Ejemplo 9-4.

Por lo tanto, se recurrirá al diseño de un contador sincrónico de tres bits, de acuerdo con la rela-
ción (9-3); en cuya tabla de excitación se intentará asignar los estados de forma tal que en la salida
del 'flip-flop' que se elija como salida del divisor de frecuencia, quede el número de 1's consecutivos
apropiado para satisfacer el valor del ciclo de trabajo deseado, siempre que ello sea posible.
Para el divisor x 6 planteado, un período de la señal de salida debe corresponder a 6 períodos de
la señal de 'clock'; y el pulso de menor duración que se puede obtener en cualquiera de las salidas
326 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

tendrá una duración de TC segundos, con un ciclo de trabajo de 16,66 % ó 1/6. Por lo tanto, los de-
más ciclos de trabajo posibles serán de 2/6 (33,33 %), 3/6 (50 %) y 4/6 (66,66 %); por lo que en la
tabla de excitación la asignación de los estados se deberá realizar de forma que en un ciclo completo
queden tres 1's consecutivos en alguna de sus salidas a fin de que el ciclo de trabajo sea 50 %. Ello
es posible de lograr, utilizando los tres 'flip-flops' requeridos, ya que con los ocho códigos disponibles
se pueden lograr hasta cuatro 1's sucesivos.
En la Figura 9-34 se muestra la tabla de excitación correspondiente con una de las posibles se-
cuencias y asignación de estados, donde se seleccionó la salida del FF 2 como la salida del divisor de
frecuencia, que será diseñado, basado en 'flip-flops' tipo T.

ESTADO Q2 Q1 Q0 Q2+ Q1+ Q0+ T2 T1 T0


0 0 0 0 0 0 1 0 0 1
1 0 0 1 0 1 0 0 1 1
2 0 1 0 1 0 0 1 1 0
0 1 1 - - - - - -
3 1 0 0 1 0 1 0 0 1
4 1 0 1 1 1 0 0 1 1
5 1 1 0 0 0 0 1 1 0
1 1 1 - - - - - -

Figura 9-34. Tabla de excitación del divisor x 6. Ejemplo 9-4.

Puede observarse en la tabla de excitación que la secuencia de estados seguida no corresponde a


una cuenta en orden sucesivo y creciente, ya que las salidas expresadas en decimal durante el ciclo
corresponden a: 0, 1, 2, 4, 5 y 6. Ello no tiene importancia en la aplicación que se le está dando al
contador, ya que solamente interesa obtener en una de sus salidas una señal con las características
exigidas. Las respectivas excitaciones de cada 'flip-flop' se obtienen de los mapas de Karnaugh co-
rrespondientes a cada una de ellas, que se muestran en la Figura 9-35.

Q1Q0 Q1Q0 Q1Q0


Q2 00 01 11 10 Q2 00 01 11 10 Q2 00 01 11 10
0 0 0 - 1 0 0 1 - 1 0 1 1 - 0
1 0 0 - 1 1 0 1 - 1 1 1 1 - 0

T2 T1 T0
Figura 9-35. Mapas de Karnaugh de las excitaciones. Ejemplo 9-4.

Así resultan las respectivas ecuaciones de la excitación de cada 'flip-flop' que se indican a conti-
nuación:
 T Q
 2 1
 T1  Q1  Q0

 T0  Q1
En consecuencia, el esquema correspondiente del divisor es el mostrado en la Figura 9-36, en el
cual sólo la salida del FF2 constituye una salida del sistema. Obsérvese que algunas de las entradas
de nivel de los 'flip-flops' se han conectado a la señal RESET del sistema, para así garantizar que el
contador como tal alcance uno de los estados contemplados en su tabla de excitación, ya que existen
dos códigos que no han sido utilizados. Las entradas de nivel no utilizadas se conectaron a un nivel
CAPÍTULO 9 - CONTADORES Y REGISTROS 327

lógico 0.

'RESET' MANUAL fOUT = fIN / 6


SALIDA
RESET
+V
C
R R1 "0" "0"
SET SET SET
Q2 Q1 Q0
T2 T1 T0

ENTRADA
fIN Q2 Q1 Q0
CLR CLR CLR

"0"

Figura 9-36. Esquema del divisor de frecuencia x 6 basado en un contador sincrónico. Ejemplo 9-4.

En particular, el contador se diseñó, considerando que el pulso en la señal RESET lo lleve al esta-
do 4 indicado en la tabla de excitación, sólo con la intención de mostrar un caso en que se combinen
las entradas SET y CLEAR de los 'flip-flops' para lograrlo. Igualmente válido hubiera sido conectar las
entradas CLEAR de los tres 'flip-flops', para llevarlo al estado 0 en lugar del estado 4.
Se puede construir un diagrama de tiempo con las señales de interés basado en los estados de la
tabla de excitación, a fin de comprobar que efectivamente el contador diseñado opera como un divisor
x 6 con ciclo de trabajo de 50 %. En la Figura 9-37 se muestra dicho diagrama de tiempo y puede
verse que efectivamente el período de la salida Q2 corresponde a seis períodos de la señal empleada
como 'clock' del sistema; y que su ciclo de trabajo es de 50 % según se especificó.

TC
ENTRADA
CLK

RESET

Q0

Q1

Q2

6 TC
fQ2 = fC / 6 D.C. = 50 %
Figura 9-37. Diagrama de tiempo correspondiente al divisor de frecuencia x 6. Ejemplo 9-4.

 EJEMPLO 9-5
Supóngase de nuevo la situación planteada en el Ejemplo 9-4, pero que ahora se desee obtener
una señal de frecuencia de 9 KHz, con ciclo de trabajo de 75 %.
328 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

En este caso hay que diseñar un divisor de frecuencia x 4 y, por ende, el contador en cuestión se-
rá módulo 4. Procediendo de la misma forma como se hizo en el ejemplo anterior, si se examina pri-
mero la alternativa de emplear un contador asincrónico, en su salida correspondiente al bit menos
significante se obtendrá una señal de 18 KHz con D.C.= 50 %; y en su otra salida la señal tendrá una
frecuencia de 9 KHz pero también con D.C.= 50 %, tal como se puede observar en el diagrama de
tiempo de la Figura 9-38.

TC fC = 36 KHz
ENTRADA
CLK

Q0

Q1

4 TC fQ1 = fC / 4 D.C. = 50 %

Figura 9-38. Diagrama de tiempo correspondiente a un contador asincrónico M = 4. Ejemplo 9-5.

Por lo tanto, nuevamente habrá que intentar obtener la señal con las características exigidas me-
diante el empleo de un contador sincrónico. De acuerdo con la relación (9-3) se requieren dos bits
para tener cuatro estados, y como se indicó anteriormente el ciclo de trabajo se podrá seleccionar en
múltiplos de 1/M = ¼ = 0,25 = 25 %; por lo tanto, para obtener un ciclo de trabajo de 75 % será nece-
sario asignar en tres estados sucesivos del ciclo uno de los bits en 1. Sin embargo, en las cuatro
combinaciones de los dos bits de salida sólo se pueden lograr dos 1's consecutivos, por lo que será
necesario añadir un bit adicional a fin de poder cumplir con el requisito de ciclo de trabajo de 75 %.
De este modo, la tabla de excitación se construirá, considerando tres 'flip-flops' en lugar de dos, los
que se asumirán tipo D como se muestra en el Figura 9-39. En ella los estados han sido asignados de
modo tal que en la salida del FF1 se obtenga la señal requerida.

ESTADO Q2 Q1 Q0 Q2+ Q1+ Q0+ D2 D1 D0


0 0 0 0 0 1 0 0 1 0
0 0 1 - - - - - -
1 0 1 0 0 1 1 0 1 1
2 0 1 1 1 1 1 1 1 1
1 0 0 - - - - - -
1 0 1 - - - - - -
3 1 1 0 0 0 0 0 0 0
1 1 1 - - - - - -

Figura 9-39. Tabla de excitación del divisor x 4. Ejemplo 9-5.

Cabe observar que otra alternativa sería utilizar un contador sincrónico módulo 4 de dos bits y di-
señar un combinacional que teniendo como entradas las salidas Q1 y Q0 del contador, genere en su
salida la señal de 9 KHz con D.C. = 75 % requerida. Posiblemente esta solución conduzca al sistema
más reducido, ya que el lector puede constatar fácilmente que basta una compuerta NAND para lo-
grarlo.
Continuando con el desarrollo planteado en base al contador sincrónico, en la tabla los estados
han sido asignados de modo tal que en la salida del FF 1 se obtenga la señal requerida. Las excitacio-
nes de cada 'flip-flop' se obtienen de los mapas de Karnaugh que se muestran en la Figura 9-40.
CAPÍTULO 9 - CONTADORES Y REGISTROS 329

Q1Q0 Q1Q0 Q1Q0


Q2 00 01 11 10 Q2 00 01 11 10 Q2 00 01 11 10
0 0 - 1 0 0 1 - 1 1 0 0 - 0 1
1 - - - 0 1 - - - 0 1 - - - 0

D2 D1 D0
Figura 9-40. Mapas de Karnaugh de las excitaciones. Ejemplo 9-5.

Las respectivas ecuaciones de la excitación de cada 'flip-flop' son:


 D Q
 2 0
 D1  Q 2

 D0  Q2 Q1  Q 2 Q1  Q2  Q1
con lo que resulta el circuito cuyo esquema se muestra en la Figura 9-41, en el cual se han tomado en
cuenta las consideraciones pertinentes a iniciar el sistema en uno de sus estados válidos.

fOUT = fIN / 4
SALIDA
fIN
ENTRADA
"0" "0" "0"
'RESET' MANUAL
SET SET SET
Q2 Q1 Q0
D2 D1 D0

+V C Q2 Q1 Q0
R R1 CLR CLR CLR

RESET

Figura 9-41. Esquema del divisor de frecuencia x 4 basado en un contador sincrónico. Ejemplo 9-5.

TC
ENTRADA
CLK

RESET

Q0

Q1

Q2

4 TC fQ2 = fC / 4 D.C. = 75 %
Figura 9-42. Diagrama de tiempo correspondiente al divisor de frecuencia x 4. Ejemplo 9-4.
330 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

En la Figura 9-42 se muestra el diagrama de tiempo correspondiente al contador módulo 4 con


tres 'flip-flops' de cuya salida Q1 se obtiene la señal que satisface los requerimientos. 
Para finalizar, como el lector habrá podido observar, mediante el uso de contadores asincrónicos o
sincrónicos, y siempre con ciertas limitaciones, es posible diseñar sistemas cuya función específica-
mente sea la de dividir la frecuencia de la señal aplicada a su entrada para obtener una señal que
satisfaga ciertas características; tanto de frecuencia como de su ciclo de trabajo.

9.2.6.1 OTRAS CONFIGURACIONES


Los divisores de frecuencia presentados hasta el momento están basados en contadores ya sean
sincrónicos o asincrónicos, donde aprovechando la característica que presentan sus salidas al repre-
sentar cantidades crecientes consecutivas, por el peso de cada una de ellas sus respectivas señales
van teniendo períodos cada vez mayores. Sin embargo, existen otras configuraciones de sistemas
digitales que basados también en 'flip-flops', permiten obtener en su salida una señal de menor fre-
cuencia que la que se aplica en su entrada, la cual generalmente constituye la entrada de 'clock'. En
cierto modo, también deben ser considerados como contadores, aunque en estos casos sus configu-
raciones no corresponden a las que poseen los contadores anteriormente definidos como sincrónicos
y asincrónicos; y sus salidas no guardan el orden establecido en una cuenta consecutiva.
A pesar de existir muchos circuitos que tendrán alguna salida con frecuencia menor que su entra-
da, en esta sección se considerará una configuración en especial, que tiene la característica de po-
derse desarrollar utilizando solamente 'flip-flops', tal como se verá posteriormente; o bien, como una
combinación de éstos y contadores comerciales, lo que si se quiere puede ser visto como una ventaja
adicional.
Una particularidad de esta configuración consiste en que el número N por el que queda dividida la
frecuencia de la señal de entrada, está dado a su vez por: N  2 p  1 ; siendo p el módulo de un con-
tador que se utiliza como divisor por p.
En la Figura 9-43 se presenta el esquema general de la configuración del sistema divisor x N, la
que puede verse está constituida por dos FF-JK y un divisor por p intercalado entre ellos dos. Como
puede observarse en el esquema, la salida del divisor x N completo proviene de la salida del divisor
x p. Por su parte, el bloque que representa al divisor x p corresponde a un contador asincrónico o sin-
n
crónico de n bits, cuyo módulo p generalmente es igual a 2 . Por ello usualmente por la facilidad de
diseño se utiliza un contador asincrónico de n bits.

SALIDA fO

fI
J Q DIVISOR POR p J Q
ENTRADA

K Q K Q
"1"

Figura 9-43. Configuración general del divisor por 2n+1.

Obsérvese que la configuración mostrada en la figura no se corresponde con la de un contador


sincrónico, así como tampoco con la de uno asincrónico. Más bien pudiera ser considerada como un
híbrido entre ambos, ya que el bloque del divisor x p como se mencionó antes, corresponderá a un
contador asincrónico y la forma como se aplica la señal de 'clock' a los dos FF-JK, es típica de la con-
figuración de un contador sincrónico. En este caso la excitación del segundo 'flip-flop' proviene no de
un combinacional, sino de un contador asincrónico.
La frecuencia de la señal de salida se relaciona con la frecuencia de la entrada mediante la rela-
CAPÍTULO 9 - CONTADORES Y REGISTROS 331

ción (9-9):
fI
fO  (9-9)
2p  1
n
Obsérvese que si el módulo del divisor x p de n bits es igual a 2 , para su implantación sólo serán
requeridos n 'flip-flops'; ya que no se requerirán compuertas lógicas adicionales y, en consecuencia,
la totalidad del sistema se podrá implantar utilizando sólo 'flip-flops', que pueden ser inclusive todos
del mismo tipo.
Sin embrago, la configuración correspondiente a la Figura 9-43 presenta ciertas restricciones en lo
que respecta a los flancos con que actúan los diferentes 'flip-flops', los cuales no pueden ser elegidos
en forma arbitraria. En lo que a los dos 'flip-flops' JK se refiere, éstos deben activarse con el mismo
flanco y es necesario que éste corresponda al flanco de bajada; por su parte, los 'flip-flops' que consti-
tuyen al divisor por p deberán actuar con el flanco de alza del 'clock'. Si se violan estas exigencias, la
salida del sistema en conjunto no tendrá la frecuencia dada por la ecuación (9-9), en lugar de ello el
sistema dividirá por 2 p.
El lector puede comprobar, si así lo desea, que el divisor para un número N cualquiera, puede fun-
cionar correctamente si se consideran otras formas diferentes de combinar los flancos de acción de
los 'flip-flops'. No obstante, aun cuando alguna de las formas de combinarlos puede funcionar correc-
tamente para dividir por un número N, posiblemente no dará el mismo resultado cuando se intente
para otro número N diferente. Solamente de la forma indicada anteriormente se garantiza la operación
correcta para cualquier número por el que se desee dividir la frecuencia de la entrada.
Cada vez que se utiliza esta configuración para dividir la frecuencia de una señal por un número
cualquiera N, es necesario determinar el valor de p en la expresión divisor x p; a fin de diseñar el divi-
sor x p; y para ello será siempre necesario expresar el número N de la forma 2p + 1 ó de la forma
W
2 ·(2p + 1), ya que dependiendo de si N es par o impar será necesario descomponerlo de acuerdo
con la última forma.
Si N es un número par, en primer lugar se divide a N sucesivamente entre 2 tantas veces como
W
sea necesario para obtener una expresión de la forma 2 ·B, en la que B represente un número impar
tal que B-1 sea una potencia de 2; de modo que W representa el número de las sucesivas divisiones
por 2 realizadas. El número impar B corresponde a 2p + 1, por lo que 2 p  2 y por lo tanto p  2 n 1 .
n

Entonces el divisor x p estará constituido por un contador de n-1 bits, usualmente asincrónico. La can-
W
tidad representada por 2 será implantada mediante una serie de W divisores por 2, que no son más
que una cadena de W 'flip-flops' tipo T conectados en cascada; los cuales pueden ser conectados
tanto a la salida como antes de la entrada de la configuración mostrada en la Figura 9-43. Considé-
rense los siguientes casos a manera de ejemplo:
N=6  6  2  3  2   2  1  1

N = 10  10  2  5  2   4  1  2   2  2  1

N = 36  36  2  18  2  2  9  2  2   8  1  2  2   2  4  1
Si N es impar se expresa directamente como 2p + 1, pudiendo a su vez resultar que el número par
n
2p sea una potencia de 2 ó no. En caso de ser 2 p  2 , según lo antes indicado el divisor x p estará
constituido por n-1 'flip-flops', interconectados como un contador asincrónico generalmente. Si por el
contrario 2p no resulta ser una potencia de 2, dependiendo si 2p es par o impar se aplica el procedi-
miento indicado anteriormente para cuando N es par o este mismo si N es impar; pudiendo dar como
resultado uno o varios divisores formando parte de otro, teniendo todos la configuración mostrada en
la Figura 9-43. Sin embargo, la serie de 'flip-flops' conectados en cascada para dividir por 2 sucesi-
vamente, en caso de resultar en la expresión de p, quedarán dentro de la configuración de uno de los
divisores; el más externo por llamarlo de alguna forma. Considérense como ejemplo las siguientes
cantidades:
2
N=9  9  8 1  2  2 1
332 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

N = 13  13  12  1  2  6  1  2   2  3   1  2   2   2 1  1   1
 15  14  1  2  7  1  2   6  1  1  2   2  3  1  1
N = 15  
  2   2   2 1  1  1  1

 73  72  1  2  36  1  2   2 18  1  2   2  2  9  1
N = 73  
   2
 2  2  2  2  2 1 1 
El lector debe observar que en el empleo de esta configuración como divisor de frecuencia, de-
pendiendo del número N pueden resultar configuraciones que a su vez contengan uno o más diviso-
res con la misma configuración; formando así especies de nidos tal como se les conoce en el léxico
de la programación. Mediante los ejemplos que se presentan a continuación se pretende aclarar la
forma de determinar el esquema circuital del divisor.

 EJEMPLO 9-6
"Utilizando la configuración mostrada en la Figura 9-43, diseñe un divisor de frecuencia por 3".
Según lo indicado anteriormente, por ser 3 un número impar se expresará directamente de la for-
ma 2p + 1. Así se tiene que:
3  2  1  2 1  1 de modo que p = 1.
Por lo tanto no se requiere del divisor x p, siendo éste el caso más sencillo posible con esta confi-
guración de divisores, cuyo esquema se muestra en la Figura 9-44.

SALIDA
fO = fI / 3
JA QA JB QB
ENTRADA
fI "1"
KA QA KB QB

Figura 9-44. Esquema del divisor x 3. Ejemplo 9-6.

fI TC
ENTRADA

QA

QB

QB

f O = fI / 3 D.C. = 66,66 % 3 TC

Figura 9-45. Diagrama de tiempo del divisor x 3. Ejemplo 9-6.

En la Figura 9-45 se muestra el diagrama de tiempo de las señales de interés, donde se evidencia
CAPÍTULO 9 - CONTADORES Y REGISTROS 333

que la frecuencia de la señal en la salida del FF A corresponde a 1/3 de la frecuencia de la señal de


entrada. 
Cabe observar que al construir el diagrama de tiempo de este tipo de divisores es necesario con-
siderar los retardos de los 'flip-flops', aun cuando los mismos no se indiquen en el diagrama de tiem-
po, ya que de lo contrario el resultado obtenido será incorrecto. Nótese que cada vez que ocurra un
pulso en la entrada, para analizar el cambio que experimentará el FF A se debe considerar que el nivel
lógico de la señal aplicado en su entrada J está estable, en base al cual y de acuerdo con su ecua-
ción característica se producirá el cambio de su salida. Por su parte, el cambio que experimente el
FFB deberá analizarse igualmente en función de la salida que tenía el FF A antes de ocurrir el pulso y
no la que adquiere como consecuencia del mismo, ya que dicho pulso se aplica simultáneamente a
ambos 'flip-flops'. Resumiendo, el nivel a considerar de la entrada J de cada ‘flip-flop’ en el momento
de ocurrir el flanco de bajada de la señal de entrada, corresponderá al nivel de la salida del respectivo
‘flip-flop’ antes de ocurrir el pulso en la entrada.

 EJEMPLO 9-7
En este caso, en lugar de considerarse un diseño específico, se plantearán las configuraciones co-
rrespondientes a las distintas cantidades descompuestas anteriormente, a fin de destacar las diferen-
tes situaciones que se presenten.
a) Para N = 6 como se observa de la expresión según la cual se representó esta cantidad, resulta la
configuración básica con p=1 y un divisor x 2 externo. El respectivo esquema se muestra en la Fi-
gura 9-46.

fQ = f I / 2 fO = fI / 6

J Q JA QA JB QB
fI

K Q KA QA KB QB

"1"
DIVIDE POR 2 DIVIDE POR 3

Figura 9-46. Esquema del divisor x 6. Ejemplo 9-7.

b) Para N = 10 resulta una configuración que por ser p=2 se requiere de un divisor x 2 interno; y, por
otro lado, es requerido un divisor x 2 externo al grupo de 'flip-flops' de la configuración. En la Figu-
ra 9-47 se muestra el respectivo esquema; obsérvese que el FF-T conectado entre los FFA y FFB
actúa con el flanco de alza del 'clock' tal como fue indicado anteriormente.

fO = fI / 10
fQ = fI / 2

J Q JA QA J Q JB QB
fI

K Q KA QA K Q KB QB

"1"

DIVIDE POR 2 DIVIDE POR 5

Figura 9-47. Esquema del divisor x 10. Ejemplo 9-7.


334 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

El divisor x 2 externo también se ha elegido accionado por flanco de bajada del 'clock', pero ello
es indiferente para el correcto funcionamiento del divisor.
c) Para N = 36 la configuración es muy parecida a la anterior, salvo que se requieren dos divisores x
2 internos y dos divisores x 2 externos, tal como se muestra en el esquema de la Figura 9-48.

fO = fI / 36
fQ = fI / 4

JA QA DIV. x 2 DIV. x 2 JB QB
fI DIV. x 2 DIV. x 2
"1"
KA QA KB QB

DIVIDE POR 4 DIVIDE POR 9

Figura 9-48. Esquema del divisor x 36. Ejemplo 9-7.

d) Para N = 13 puede verse de la expresión del número presentada anteriormente, que la configura-
ción completa del divisor corresponde a la configuración básica con un divisor x 6 como el mos-
trado en la Figura 9-46, en el lugar del divisor x p; resultando así, si se quiere ver como tal, un di-
visor contenido dentro de otro. El esquema se muestra en la Figura 9-49.

fO = fI / 13

JA QA J Q Ja Qa Jb Qb JB QB
fI

KA QA K Q Ka Qa Kb Qb KB QB
"1"

DIVIDE POR 6

Figura 9-49. Esquema del divisor x 13. Ejemplo 9-7.

e) Como un último ejemplo se considerará el divisor para N = 9 a fin de construir además, el corres-
pondiente diagrama de tiempo; ya que por tener más señales involucradas servirá al lector para
visualizar el funcionamiento de estas configuraciones.

fO = fI / 9

JA QA J1 Q1 J2 Q2 JB QB
fI

KA QA K1 Q1 K2 Q2 KB QB
"1"

DIVIDE POR 4

Figura 9-50. Esquema del divisor x 9. Ejemplo 9-7.


CAPÍTULO 9 - CONTADORES Y REGISTROS 335

TC
fI

QA

Q1

Q2

QB

QB

fO = fI / 9 D.C. = 55,55 %
9 TC

Figura 9-51. Diagrama de tiempo del divisor x 9. Ejemplo 9-7.

En la Figura 9-50 se muestra el esquema del divisor y en la Figura 9-51 el respectivo diagrama de
tiempo e las señales involucradas en el divisor. 
Obsérvese que en aquellos casos en que se requiera dividir la frecuencia de una señal por un
número relativamente grande empleando la configuración que se discute en esta sección, es reco-
mendable sustituir el bloque del divisor x p por un contador comercial, al que se conectarían los dos
'flip-flops' JK. Así por ejemplo, empleando un contador comercial módulo 1024, se podría desarrollar
un divisor por 2049 con sólo tres componentes, sin necesidad de emplear los diez 'flip-flops' divisores
x 2.
En otro orden de ideas, debe quedar claro que en general, cualquier sistema digital que sea capaz
de dividir la frecuencia de la señal que se aplique en su entrada será de una u otra forma un contador;
por lo que es posible encontrar una gran variedad de divisores de frecuencia. Inclusive, para ciertas
aplicaciones específicas y de consumo masivo, los fabricantes de semiconductores han desarrollado
una variedad de circuitos integrados, que dividiendo la frecuencia de la señal de entrada por una can-
tidad fija y específica, generan en su salida una señal cuya frecuencia típica es utilizada en muchas
aplicaciones o bien en dispositivos de uso masivo.
Obviamente, en alguna entrada de tales dispositivos semiconductores se requiere aplicar una se-
ñal también de una frecuencia determinada, la cual usualmente proviene de un oscilador basado en
un cristal cuya frecuencia de oscilación se utiliza como patrón, la cual es también específica. Como
ejemplo de ello se pueden mencionar circuitos integrados comerciales como el MM5368 o el
MM53107 fabricados por National Semiconductor , los cuales generan una señal de 60 Hz que se
emplea como señal de referencia de precisión en muchas aplicaciones de sistemas digitales. Para el
MM53107 la frecuencia del cristal requerido para el oscilador es de 2,097152 MHz, en tanto que el
MM5368 requiere un cristal de 32,768 KHz.
El MM53107 figura en el MOS DATABOOK 1980 de National Semiconductor como un "Oscila-
dor / Divisor de 17 Etapas" y su esquema de bloques, tomado del mencionado manual, se muestra en
la Figura 9-52. Como puede observarse, está constituido por un bloque oscilador al que se conecta el
cristal y tres componentes pasivos externos, un divisor de 17 etapas, un bloque para generar el pulso
de 'RESET' del divisor y la etapa de salida. De acuerdo con información suministrada en la hoja de
especificaciones de dicho circuito integrado, el contador es módulo 34.952 y las salidas de sus 17


NATIONAL SEMICONDUCTOR es una Marca Registrada de NATIONAL SEMICONDUCTOR CORPORATION.
336 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

etapas son llevadas a 0 mediante un pulso que se genera cuando sus etapas 1, 2, 3, 4, 16 y 17 al-
canzan el estado adecuado.

CRISTAL
2,097152 MHz OSC.
OUT OSCILADOR SALIDA
ETAPA 60 Hz.
R1 DIVISOR DE 17 ETAPAS DE
SALIDA
C2

C1 OSC
IN

GENERADOR DEL PULSO DE 'RESET'


VSS

VSS VDD

Figura 9-52. Esquema de bloques del circuito integrado MM53107

Las dos señales identificadas como VSS y VDD corresponden a las tensiones de alimentación del
circuito.

9.3 REGISTROS
En los sistemas digitales la data está representada por una serie de bits cuyo número varía de-
pendiendo de cada aplicación en particular, los cuales se agrupan para constituir lo que se denomina
una palabra; la cual generalmente debe ser almacenada temporalmente, bien para ser procesada o
como el resultado o consecuencia de su procesamiento. Para almacenar la data en un sistema se
utilizan ciertos dispositivos denominados registros, los cuales pueden concebirse como una serie de
celdas adyacentes capaces de almacenar un bit de información cada una de ellas; de modo tal que el
conjunto permite almacenar la palabra completa de data. En la Figura 9-53 se muestra un esquema
general de un registro de n bits.

Bn-1 Bn-1 ... B2 B1 B0

Figura 9-53. Representación de un registro de n bits.

En función de cómo esté organizada la data en un registro dado, éste puede corresponder a un
registro binario de n bits, un registro BCD de N dígitos (en consecuencia de 4N bits), etc. Por otro
lado, la información de cada una de las celdas de un registro evidentemente debe ser cargada de
alguna forma cada vez que requiera ser actualizada; realizándose siempre esta operación sincroniza-
damente mediante una señal externa. No obstante, existen dos formas básicas de cargar la data en
un registro; a saber, en forma paralela o en forma serial.
En los registros de entrada paralela, los bits de la palabra de data a ser almacenados son carga-
dos en forma simultánea en cada una de las celdas del registro, por lo que se requiere de tantas en-
tradas como bits o celdas posea el registro. La operación de carga del registro se debe sincronizar
mediante la aplicación de un pulso en la entrada de 'clock' del mismo. En la Figura 9-54(a) se presen-
ta el esquema de bloque correspondiente a un registro de n bits con entrada y salida paralelas, en la
que se puede observar igual número de líneas de entrada que de salida y la respectiva entrada de
'clock'.
Por el contrario, en los registros con entrada serial, la data es aplicada bit a bit a la primera celda
del registro, lo que también es sincronizado mediante pulsos de 'clock' aplicados al conjunto, que en
este caso posee una sola entrada para la data. Obviamente, este tipo de registro tiene que ser capaz
de ir desplazando el contenido de cada celda a la celda adyacente, hasta que así el último bit de la
palabra de data quede almacenado en la celda que le corresponde. En la Figura 9-54(b) se muestra
CAPÍTULO 9 - CONTADORES Y REGISTROS 337

el esquema de bloque correspondiente y como puede observarse, sólo existe una línea de entrada
además de la entrada de 'clock'.

SALIDAS SALIDAS

ENTRADA
Bn-1 Bn-2 ... B2 B1 B0 Bn-1 Bn-2 ... B2 B1 B0
‘CLOCK’ ‘CLOCK’

ENTRADAS
(a) (b)
Figura 9-54. Esquemas de bloque de registros: a) Con entrada paralela. b) Con entrada serial.

En lo que a las salidas del registro se refiere, se pueden hacer las mismas consideraciones ante-
riores, de modo que un registro puede presentar la data contenida en él tanto en forma paralela como
en forma serial; aplicándose los mismos conceptos mencionados anteriormente al discutir las modali-
dades de la data de entrada.
Posteriormente, cuando se discuta en detalle la forma como están constituidos internamente los
registros en función de elementos lógicos ya definidos, se presentarán esquemas de registros corres-
pondientes a las diferentes formas de presentar las salidas y aplicarles la data de entrada.

9.3.1 REGISTROS DE DESPLAZAMIENTO


Por su parte, los registros que poseen la capacidad de desplazar o transferir entre celdas de alma-
cenamiento adyacentes la información en ellas contenida, se denominan registros de desplazamiento.
En este tipo de registro, cada pulso de 'clock' que se aplica actúa simultáneamente sobre todas
sus celdas, haciendo que cada bit almacenado se transfiera a la próxima celda o posición adyacente
hacia la derecha o hacia la izquierda, dependiendo del modo de operación del dispositivo. Sin embar-
go, existen registros de desplazamiento que mediante una entrada de control, son capaces de des-
plazar la información contenida hacia la derecha o hacia la izquierda, los cuales se conocen como
registros de desplazamiento bidireccionales.
En la Figura 9-55 se esquematiza la operación de un registro de desplazamiento de cuatro bits con
desplazamiento a la derecha, indicándose el contenido de la información antes y después de aplicado
un pulso de 'clock'; donde se asume que las celdas se cargan con 0 después que su información ha
sido desplazada.

ANTES 1 0 1 1

‘CLOCK’

DESPUÉS 0 1 0 1 1 (BIT PERDIDO)

Figura 9-55. Representación de la operación de un registro de desplazamiento.

Cabe destacar que en este tipo de registro, cada vez que se desplaza la información en cualquier
sentido, se pierde un bit de la data originalmente contenida en él; por ello cuando se realiza esta ope-
ración, usualmente se aplica a su vez nueva data en su entrada serial.
No obstante, es posible configurar al registro de desplazamiento de manera que el bit correspon-
diente a la celda más a la derecha no se pierda después del desplazamiento (asumiendo desplaza-
miento a la derecha); sino que por el contrario sea almacenado en la primera celda a la izquierda,
338 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

constituyendo así un anillo tal como se ilustra en la Figura 9-56.

ANTES 1 0 1 1

‘CLOCK’

DESPUÉS 1 1 0 1

Figura 9-56. Representación de un registro de desplazamiento en anillo.

Puede observarse que un registro de desplazamiento con esta configuración, durante su opera-
ción genera en sus salidas una secuencia que se repite cíclicamente, por lo que su comportamiento
es exactamente igual al de un contador. De hecho, a esta configuración de los registros de despla-
zamiento se les conoce como contadores de anillo, que serán tratados con más detalle en una próxi-
ma sección.

9.3.2 CONFIGURACIÓN INTERNA DE LOS REGISTROS


Dado que un 'flip-flop' cualquiera que sea su tipo, como biestable que es, puede mantener su sali-
da Q en cualquiera de los dos niveles lógicos, constituye el elemento o dispositivo lógico que es ca-
paz de almacenar un bit de información. De allí que cualquier registro, sea cual sea su tipo, estará
constituido fundamentalmente por 'flip-flops' conectados entre sí de diferente forma de acuerdo con el
tipo de registro; pudiendo también ser necesario en algunos casos, emplear algunas compuertas lógi-
cas. De este modo, cada una de las celdas de un registro corresponderá a un 'flip-flop', que en princi-
pio podrá ser de cualquiera de los tipos ya definidos y cuya salida generalmente será la salida del
registro.
Según lo mencionado antes, tanto en las salidas como en las entradas la data puede presentarse
tanto de forma serial como paralela, por lo que de acuerdo con las cuatro combinaciones posibles se
pueden concebir registros con entrada paralela/salida paralela, entrada serial/salida paralela, entrada
serial/salida serial y entrada paralela/salida serial.
Un registro con entrada paralela/salida paralela puede diseñarse, tal como se ilustra en la Figura
9-57, con una serie de FF-D sincronizados mediante una señal de 'clock' común a todos ellos. Las
entradas D de cada ‘flip-flop’ constituyen directamente la entrada de la data y las salidas de cada ‘flip-
flop’, las salidas del registro. Obsérvese también que con cada pulso de 'clock' se actualiza la data en
la salida de cada ‘flip-flop’ y por ende del registro. Por otro lado, en el registro mostrado se ha consi-
derado además la posibilidad de limpiar el contenido del mismo mediante la aplicación de un pulso en
la señal RESET, para lo cual se han conectado entre sí las entradas CLEAR de todos los 'flip-flops'.

(SALIDA)
O3 O2 O1 O0
"0"
SET SET SET SET
Q3 Q2 Q1 Q0
D3 D2 D1 D0

CLOCK
Q3 Q2 Q1 Q0
CLR CLR CLR CLR

RESET

D3 D2 D1 D0
(ENTRADA)

Figura 9-57. Esquema de un registro de 4 bits con entrada paralela/salida paralela.


CAPÍTULO 9 - CONTADORES Y REGISTROS 339

Obsérvese que en este tipo de registro la información de cada celda no se desplaza hacia la celda
adyacente con cada pulso de ‘clock’, sino que la misma es transferida de cada entrada a la salida
respectiva; por lo que no constituyen un registro de desplazamiento, aunque sí un registro como tal.
Este tipo de registro se utiliza frecuentemente para mantener la data de cualquier sistema digital en
niveles lógicos constantes durante intervalos de tiempo, que dependen de la frecuencia de los pulsos
aplicados en sus entradas de 'clock'.
Los registros con entrada serial/salida paralela por su parte, evidentemente son de por sí registros
de desplazamiento, ya que si se trata de un registro de n bits deberá ingresarse los n bits de entrada
uno a uno y desplazarlos n veces; por lo que la data en la salida estará actualizada y será válida lue-
go de transcurrir n períodos de 'clock'. En la Figura 9-58 se muestra el esquema de un registro de
este tipo de cuatro bits diseñado con FF-JK, el cual igualmente podría ser diseñado con 'flip-flops' tipo
D o SR.

O3 O2 O1 O0

"0"
SET SET SET SET
DATA J3 Q3 J2 Q2 J1 Q1 J0 Q0

CLK
N.C.
K3 Q3 K2 Q2 K1 Q1 K0 Q0
CLR CLR CLR CLR

RESET

Figura 9-58. Esquema de un registro de 4 bits con entrada serial/salida paralela.

Por otro lado, nótese que las entradas J y K de cada ‘flip-flop’ provienen de las salidas Q y Q ne-
gada respectivamente del 'flip-flop' anterior, salvo en el primero de ellos (FF3) cuya salida representa
el bit más significante; al cual se aplica la entrada de data directamente a su entrada J. Dicha data, en
el caso de utilizarse 'flip-flops' con dos entradas, debe ser negada y aplicada a la otra entrada del
mismo 'flip-flop' (K en este caso), a fin de que el sistema se comporte como un registro de desplaza-
miento. La señal de 'clock' es aplicada en forma simultánea a todos los 'flip-flops' e igualmente se
puede limpiar el registro mediante la aplicación de un pulso en la señal RESET.
Los registros con entrada serial/salida serial son también conocidos como FIFO's, acronismo que
en Inglés significa 'First In–First Out'; es decir, se comporta como un túnel donde el primer bit que se
introduce en su entrada es también el primer bit en aparecer en su única salida, el cual va siendo
desplazado de un 'flip-flop' al otro con cada pulso de 'clock' que se aplica al registro. De modo que el
esquema de este tipo de registro es igual al del registro mostrado en la Figura 9-58, pero sin dejar
accesibles las salidas de todos los 'flip-flops', salvo la salida del último.
En la Figura 9-59 se muestra el esquema correspondiente a un registro con estrada serial/salida
serial de cuatro bits.
Obsérvese que en cualquiera registro que posea entrada serial, ya sea su salida serial o paralela,
se requiere que transcurran una serie de períodos de 'clock' para cargar en todos los 'flip-flops' la data
correspondiente a la entrada. La cantidad de períodos de 'clock' necesarios dependerá del número de
'flip-flops' o longitud del registro. Nótese también que en el caso de registros con entrada y salida
serial, los bits que aparecen en la salida de éste deben ser recogidos y/o procesados por algún dis-
positivo dependiendo de la aplicación, ya que no quedarán almacenados en el registro y se perderán
una vez que aparezca el siguiente bit.
340 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

"0"
SALIDA
DATA SET SET SET SET
J3 Q3 J2 Q2 J1 Q1 J0 Q0

CLK N.C.
K3 Q3 K2 Q2 K1 Q1 K0 Q0
CLR CLR CLR CLR

RESET

Figura 9-59. Esquema de un registro de 4 bits con entrada serial/salida serial (FIFO).

Finalmente se tienen los registros con entrada paralela/salida serial, los cuales pueden ser consi-
derados también como dispositivos capaces de convertir data con formato paralelo a formato serial.
Este tipo de registros poseen una configuración un poco más complicada por requerir de una etapa
que acepte la data de entrada con la ocurrencia de un pulso de sincronismo y que la retenga durante
varios pulsos, para posteriormente mediante otra etapa colocar en la salida el valor correspondiente a
cada uno de los bits de la data de entrada, de forma sincronizada con sucesivos pulsos de ‘clock’.
En la Figura 9-60 se muestra el esquema correspondiente a un sistema digital particular que opera
como un registro de tres bits con entrada paralela y salida serial; sin que dicha configuración sea la
única posible. Como puede observarse, el sistema está constituido por tres FF-D que reciben y man-
tienen los bits de la data de entrada, un sistema combinacional para generar la salida y un contador
de anillo de tres bits; éste último será discutido en la próxima sección y por ahora el lector puede ver
la forma como cambian sus salidas en el diagrama de tiempo mostrado en la Figura 9-61.

"0"
SET
Q2
D2
D2

Q2
CLR

SET (SALIDA)
Q1
D1
D1 OUT

Q1
CLR

SET
Q0 CONT.
D0
D0 O0 DE
ANILLO
Q0
CLR
O2 CLR
CLK

RESET

Figura 9-60. Esquema de un registro de 4 bits con entrada paralela/salida serial.

Tal como se mencionó antes, los tres bits de la data (D2, D1, D0) son aplicados a la respectiva en-
trada de tres FF-D, los que son sincronizados con la señal de la salida O2 del contador de anillo. Este
CAPÍTULO 9 - CONTADORES Y REGISTROS 341

contador posee tres estados válidos que se corresponden a las salidas O2O1O0 = 001 - 010 - 100 - …;
y al aplicarse el pulso de RESET en su entrada CLR las salidas toman los valores O2O1O0 = 001.
Igualmente, como el pulso de RESET también es aplicado a la entrada CLR de los FF-D, produce que
las salidas Q de éstos tomen el nivel 0.

CLK

RESET

D2

D1

D0

Q2

Q1

Q0

O2

O1

O0

OUT

0 1 0 1 1 0 1 0 1 0 1

Figura 9-61. Diagrama de tiempo del registro de 3 bits con entrada paralela / salida serial.

Como se puede observar en el diagrama de tiempo de la Figura 9-61, el contador de anillo cambia
de estado con cada flanco de alza del ‘clock’, tomando sus salidas los valores O2O1O0 = 100 con el
primer pulso de ‘clock’ que ocurra luego de cambiar a 0 la señal RESET; luego O2O1O0 = 010, O2O1O0
= 001, O2O1O0 = 100 y así sucesivamente en un ciclo. Dado que cada una de las salidas del contador
es aplicada a una entrada de cada compuerta AND y a que sólo una de las salidas está en 1 a la vez,
si la data almacenada en cada FF-D es 1, sólo la salida de la compuerta respectiva también lo será;
de modo que al cumplirse un ciclo completo del contador, en la salida del OR aparecerán los valores
almacenados en los FF-D uno a continuación del otro.
Por otro lado, nótese que la data de entrada debe permanecer constante sólo cuando ocurra el
flanco de alza de la señal O2, teniendo tiempo para cambiar al nuevo valor durante el resto del ciclo
del contador.
En el diagrama de tiempo no se han considerado los retardos debidos a los diferentes componen-
tes del sistema; y en la parte inferior del mismo se han indicado mediante flechas los períodos corres-
pondientes a cada secuencia de la data en la salida y sus respectivos valores.

9.3.3 REGISTROS DE DESPLAZAMIENTO COMO CONTADORES


A un registro de desplazamiento se le pueden hacer ciertas modificaciones menores que permiten
que éste adopte el comportamiento de un contador, por repetir cíclicamente los valores de sus sali-
das. Dichas modificaciones consisten básicamente en eliminar la entrada externa del registro y en su
lugar aplicar a ella la salida del último ‘flip-flop’ del registro.
Fundamentalmente tienen importancia dos tipos de contadores cuyo diseño está basado en regis-
342 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

tros, los cuales son el contador de anillo y el contador Johnson; los que, a pesar de tener ciclos de
estados completamente diferentes, se diferencian topológicamente sólo en la salida que se aplica de
nuevo a la entrada.

9.3.3.1 CONTADOR DE ANILLO


Cuando a un registro de desplazamiento de n bits se le aplica en su entrada la salida no negada
del último ‘flip-flop’, el sistema es capaz de operar por sí solo, repitiendo cíclicamente n combinacio-
nes de sus salidas; por lo que se le puede considerar como un contador.
Sin embargo, este sistema posee ciertas características que como contador lo diferencian de los
contadores vistos anteriormente. A diferencia de lo establecido por la relación (9-3), el número de
n
estados o módulo de un contador de anillo constituido por n ‘flip-flops’ es n en lugar de 2 ; por lo que
puede verse como un contador menos eficiente respecto a la relación entre número de estados y
n
cantidad de ‘flip-flops’. No obstante, hay que aclarar que el sistema sí posee en realidad los 2 esta-
dos, pero de ellos solamente n constituyen los estados válidos que caracterizan a la definición de
contador de anillo. Estos estados válidos corresponden a aquellas combinaciones de las salidas ca-
racterizadas por poseer un solo bit en 1 y que éste ocupe posiciones adyacentes en combinaciones
consecutivas; es decir, que las salidas correspondan a potencias de dos en orden sucesivo y decre-
ciente, incluyendo el cero.

En+1
En+2
1000...0
0100...0
E1 E2

E 2n-2
En+3
E3
En
0010...0
000...01 E4
E 2n-1 E 2n
0001...0
000...00 111...11

ESTADOS VÁLIDOS ESTADOS NO VÁLIDOS

Figura 9-62. Diagrama de flujo de estados típico de un contador de anillo de n bits.

En la Figura 9-62 se muestra el diagrama de flujo de estados de un contador de anillo de n bits, en


n
el cual se han separado los n estados válidos de los 2 -n estados no válidos, considerando que los n
primeros estados corresponden a los válidos. Se ha indicado además, el valor de los n bits de salida
correspondientes a los estados válidos y a dos de los estados no válidos; correspondiendo las combi-
naciones restantes al resto de los estados no válidos. En primer lugar, puede observarse que los es-
tados válidos forman un ciclo o anillo entre sí al igual que algunos de los estados no válidos, los cua-
les se han representado constituyendo un solo ciclo; aunque se pueden presentar situaciones en las
cuales exista más de un ciclo de estados no válidos. En segundo lugar, obsérvese que entre los esta-
dos no válidos figuran dos estados aislados que evolucionan a ellos mismos, lo que es típico de los
contadores de anillo; y corresponden a los estados en los que todos los bits de salida del contador
son 0 ó son 1.
En la Figura 9-63 se muestra el esquema de un contador de anillo de cuatro bits diseñado con FF-
JK, siendo conveniente destacar varios aspectos. En primer lugar, debido a que un FF-JK posee dos
entradas, la salida Q del último ‘flip-flop’ se aplica a la entrada J del primero; en tanto que la salida
negada del último se aplica a la entrada K del primero. En segundo lugar, se han utilizado las entra-
das asincrónicas SET y CLEAR de cada ‘flip-flop’ conectadas de forma tal que mediante la señal
CAPÍTULO 9 - CONTADORES Y REGISTROS 343

RESET se lleve el contador a uno de sus estados válidos. Esta consideración siempre es necesaria
tomarla en cuenta al diseñar un contador de este tipo, ya que de no hacerse puede ocurrir que al
energizar el sistema éste alcance un estado no válido, quedando así imposibilitado de alcanzar poste-
riormente alguno de los estados válidos. Por ello, se debe llevar al contador a cualquiera de sus esta-
dos válidos para garantizar que éste quede en el ciclo de operación correcto que lo caracteriza. Ob-
sérvese que en el esquema mostrado, mediante la señal RESET se lleva la salida del FF3 a 1 en tanto
que la salida de los demás se lleva a 0; pero igualmente es posible conectar las entradas SET y
CLEAR de los ‘flip-flops’ de forma tal que con la señal RESET se lleve al sistema a cualquier otro de los
estados válidos del mismo, para que con los sucesivos pulsos de ‘clock’ evolucione por el ciclo de
estados característico.

O3 O2 O1 O0

"0"
CLR SET SET SET
J3 Q3 J2 Q2 J1 Q1 J0 Q0
CLK

K3 Q3 K2 Q2 K1 Q1 K0 Q0
SET CLR CLR CLR

RESET

Figura 9-63. Esquema de un contador de anillo de 4 bits.

En otro orden de ideas, obsérvese que un contador de anillo también puede diseñarse con FF-D,
por ejemplo, en cuyo caso sólo se conectará la salida Q del último ‘flip-flop’ con la entrada del prime-
ro.
En la Figura 9-64 se muestra el diagrama de tiempo correspondiente al contador de anillo mostra-
do en la Figura 9-63. En él puede observarse que en cualquier instante solamente una de las salidas
toma el valor 1 durante un período de la señal de ‘clock’; y que las salidas de los cuatro estados (n)
de cada ciclo completo se corresponden con las salidas de los estados del ciclo de estados válidos
indicado en la Figura 9-62, siendo todas ellas potencias de 2.

CLOCK

RESET

O3

O2

O1

O0

Figura 9-64. Diagrama de tiempo de un contador de anillo de 4 bits.


344 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

Es característico de este tipo de contadores, que cada una de sus salidas sea un pulso de dura-
ción TC segundos, que aparece en el tiempo siguiendo el orden de las diferentes salidas del contador,
aparentando como una escalera decreciente.
Cabe observar también que para determinar el diagrama de tiempo, y por ende el funcionamiento
de un contador de anillo, se debe tomar en cuenta el tiempo de respuesta de cada ‘flip-flop’ al mo-
mento de considerar las entradas de cada uno de ellos; para así determinar el nivel que tomarán las
salidas con cada flanco del ‘clock’. Es decir, al momento de producirse el flanco de la señal de ‘clock’,
cada ‘flip-flop’ estará viendo en su entrada el nivel de la salida que tenía el ‘flip-flop’ anterior antes de
ocurrir el flanco del pulso de ‘clock’; y es en base a este nivel que se determinará el cambio o no de
su salida. Con esta consideración en mente, el lector puede comprobar que si todos los ‘flip-flops’
poseen sus salidas en 1 ó en 0, éstas no cambiarán de valor con sucesivos pulsos de ‘clock’, que-
dando el sistema en cualquiera de esos estados, tal como se indicó en la Figura 9-62. De igual modo,
puede comprobar que para el contador de cuatro bits, existen tres ciclos o secuencias de estados no
válidos, además de los dos estados mencionados.
En la Figura 9-65(a) se muestra el ciclo de estados válidos del contador de anillo considerado y
una tabla con la secuencia de las salidas para estos estados; mientras que en la Figura 9-65(b) se
muestran los estados no válidos y las secuencias respectivas. Al lado de cada estado se han coloca-
do las salidas asociadas con él.

O3 O2 O1 O0 1000 0100
E8 E4
1 0 0 0
0 1 0 0
0 0 1 0
E1 E2
0 0 0 1
0001 0010

Figura 9-65(a). Secuencia y salidas de los estados válidos del contador de anillo.

0111 1011 1100 0110


1010 0101
E7 E11 E12 E6
E10 E5

E14 E13 E9 E3
1110 1101 1001 0011

Figura 9-65(b). Secuencias de estados no válidos del contador de anillo.

Nótese que el circuito correspondiente al esquema mostrado en la Figura 9-63 es capaz de reali-
zar tres secuencias diferentes de cuatro estados cada una, desplazando siempre hacia la derecha el
valor de cada uno de los bits; sin embargo, solamente la secuencia en la que sólo un bit toma el nivel
1 se considera como la secuencia correcta de un contador de anillo.

9.3.3.2 CONTADOR JOHNSON


Al igual que el contador de anillo, el llamado contador Johnson constituye también una modifica-
ción de un registro de desplazamiento. Dicha modificación también consiste en llevar la salida del
último ‘flip-flop’ a la entrada del primero, pero en lugar de aplicarse la salida Q del último ‘flip-flop’ a la
entrada J del primero, se conecta la salida negada de dicho ‘flip-flop’. De este modo, resulta un siste-
ma que funciona cíclicamente a través de 2 n estados diferentes; por lo que resulta ser más eficiente
si se compara con el contador de anillo, por tener el doble de estados válidos y quedar así solamente
CAPÍTULO 9 - CONTADORES Y REGISTROS 345

2 2n estados no utilizados.


n

n
Por existir estados no válidos entre los 2 estados posibles, se requiere también en este caso to-
mar las precauciones pertinentes para asegurar que el sistema alcance uno de sus estados válidos,
utilizando para ello las entradas SET y CLEAR de los ‘flip-flops’.
En la Figura 9-66 se muestra el esquema de un contador Johnson de cuatro bits diseñado con FF-
JK, con las entradas SET y CLEAR conectadas de forma tal que mediante la activación de la señal
RESET alcance un estado de la secuencia o ciclo de los 2 n estados válidos; el cual se muestra en la
Figura 9-67 junto con la secuencia de salidas correspondiente.

O3 O2 O1 O0

"0"
SET SET SET SET
J3 Q3 J2 Q2 J1 Q1 J0 Q0
CLOCK

K3 Q3 K2 Q2 K1 Q1 K0 Q0
CLR CLR CLR CLR

RESET

Figura 9-66. Esquema de un contador Johnson de 4 bits.

Obsérvese que el contador Johnson, a diferencia del contador de anillo, posee como estados vá-
lidos aquéllos que corresponden a todas las salidas en 0 y en 1.

O3 O2 O1 O0
0 0 0 0
0000 1000 1100 1110
1 0 0 0
1 1 0 0 E0 E8 E12 E14
1 1 1 0
1 1 1 1
E1 E3 E7 E15
0 1 1 1
0001 0011 0111 1111
0 0 1 1
0 0 0 1

Figura 9-67. Secuencia y salidas de los estados válidos.

En la Figura 9-68 se muestra la secuencia de los estados no válidos, en la cual puede permanecer
el sistema indefinidamente si por algún motivo alcanza uno de los estados pertenecientes a dicha
secuencia.
A partir del análisis del esquema del contador Johnson de 4 bits mostrado en la Figura 9-66, se
puede obtener el diagrama de tiempo de sus salidas que se muestra en la Figura 9-69; en el que no
se han indicado los retardos de los ‘flip-flops’. Sin embargo, para la construcción del diagrama se
hicieron las mismas consideraciones mencionadas en el caso del contador de anillo en lo que se re-
fiere al nivel de las salidas a considerar en el momento de ocurrencia del flanco de la señal de ‘clock’.
346 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

0010 1001 0100 1010

E2 E9 E4 E10

E5 E11 E6 E13
0101 1011 0110 1101

Figura 9-68. Secuencia de estados no válidos de un contador Johnson de 4 bits.

CLOCK

RESET

O3

O2

O1

O0

Figura 9-69. Diagrama de tiempo de un contador Johnson de 4 bits.

Por otro lado, cabe mencionar que es posible modificar el circuito de un contador Johnson para
conseguir que de la secuencia de estados no válidos pueda evolucionar por sí mismo a la secuencia
válida. Así, en lugar de aplicar directamente a la entrada J del primer ‘flip-flop’ la salida negada del
último, se aplica la salida de una compuerta lógica a cuyas entradas se conectan las salidas negadas
del último y penúltimo ‘flip-flop’. Aun cuando dependiendo del estado no válido en que se encuentre el
contador, tendrán que transcurrir varios pulsos de ‘clock’ antes de que alcance de nuevo la secuencia
válida, esta modificación presenta la ventaja de permitirle al contador alcanzar la secuencia correcta
en forma autónoma si por algún motivo evolucionara a uno de los estados no válidos; como bien pu-
diera ser debido a ruido momentáneo en una o varias de las señales de entrada.
En lo que a la función lógica o tipo de la compuerta lógica se refiere, ésta puede corresponder a
cualquiera de las funciones lógicas definidas; ya que ello sólo influirá en el estado de la secuencia
incorrecta desde el cual cambiará a la secuencia válida. Como puede observarse, de los ocho esta-
dos indicados en la Figura 9-68, sólo cuatro de ellos se caracterizan por corresponder sus tres bits
más significantes a dos 1’s o dos 0’s consecutivos; de modo que estos estados son los únicos desde
los cuales podrá cambiar a la secuencia válida con el próximo pulso de ‘clock’. Por lo tanto, se requie-
re que la función lógica aplicada a los bits B1 y B0 dé como resultado el valor del bit más significante
correspondiente al estado válido.
En la Tabla 9-1 se muestran los cuatro estados con la característica antes mencionada, el valor
requerido para el bit B3 (entrada J del FF3) y las funciones lógicas que al aplicarlas a las salidas Q1 y
Q0 negadas resultan apropiadas para lograrlo.
Como puede observarse, cualquier función lógica permite lograr el resultado requerido, incluso pa-
ra cada par de estados existe más de una función que satisface la condición. En cada caso, para
cada una de las funciones lo que variará es el estado desde el cual el sistema cambiará a la otra se-
cuencia. En la Figura 9-70 se muestra el esquema del mismo contador Johnson de cuatro bits con la
CAPÍTULO 9 - CONTADORES Y REGISTROS 347

modificación en la realimentación realizada, utilizando la función XNOR.

VALOR DE
ESTADO B3 Q1 Q0 AND NAND OR NOR XOR XNOR
REQUERIDO
0010 0 01 √ √ √
1001 1 10 √ √ √
1101 1 10 √ √ √
0110 0 01 √ √ √

Tabla 9-1. Tabla con los estados y funciones lógicas apropiadas.

O3 O2 O1 O0

"0"
SET SET SET SET
J3 Q3 J2 Q2 J1 Q1 J0 Q0
CLOCK

K3 Q3 K2 Q2 K1 Q1 K0 Q0
CLR CLR CLR CLR

RESET

Figura 9-70. Esquema de un contador Johnson de 4 bits modificado.

En la Figura 9-71 se muestran los dos ciclos o secuencias de estados correspondientes al conta-
dor Johnson modificado y la vinculación entre ellos.

1101 0110 0000 1000

E13 E6 E0 E8

1010 1011 0001 1100

E10 E11 E1 E12


ESTADOS NO
ESTADOS VÁLIDOS
VÁLIDOS

E4 E5 E3 E14
0100 0101 0011 1110
E9 E2 E7 E15
1001 0010 0111 1111

Figura 9-71. Secuencias de estados del contador Johnson de 4 bits modificado.

Hasta el momento, la discusión se ha realizado considerando un contador Johnson de cuatro bits,


348 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

en el cual se utilizan las dos últimas salidas para aplicarlas a cualquiera que sea la compuerta lógica
elegida; pero en general, para un contador de n bits se debe utilizar las últimas K salidas, donde K es
el entero inmediato superior dado por la relación (9-10):
N
K (9-10)
3
siendo N = número de ‘flip-flops’ del contador.
Como el lector habrá podido observar en los diferentes tópicos tratados en este capítulo, tanto los
contadores como los registros son todos en esencia autómatas que operan con ‘clock’, aun cuando
debido a su funcionamiento y características específicas se les identifique con un nombre diferente.
Pero de hecho, aunque en muchos casos el diseño de un contador resulta más directo y sencillo que
el de los autómatas presentados en el capítulo anterior; como se vio anteriormente en los diferentes
ejemplos, en principio, siempre se está aplicando el mismo procedimiento de diseño empleado en
general para los autómatas llamados sincrónicos. Asimismo, en lo que al análisis se refiere, igual-
mente se puede aplicar a cualquier contador el procedimiento presentado en el Capítulo 8.
La excepción la constituyen los llamados contadores asincrónicos, ya que al no ser aplicada la se-
ñal de ‘clock’ a todas las etapas del mismo, éstos difieren del concepto y del modelo presentado para
los autómatas sincrónicos. Más bien su topología corresponde a varios autómatas de operación por
‘clock’ conectados en cadena, donde cada uno de ellos si se considera aisladamente, corresponde a
un autómata con una sola variable de estado al estar constituido por un ‘flip-flop’.

9.4 BIBLIOGRAFÍA

1. Robert L. Morris and John R Miller, IC Applications Staff of Texas Instruments Incorporated – “De-
signing with TTL Integrated Circuits”, McGraw Hill Inc., International Student Edition, 1971.
2. “MOS DATABOOK”, National Semiconductor Corporation, Santa Clara, California, 1980.
3. Herbert Taub – “Circuitos Digitales y Microprocesadores”, McGraw Hill Inc., 1983.
4. C. E. Strangio - “Electrónica Digital”, Interamericana, 1984.
5. John F. Wakerly – “Diseño Digital Principios y Práctica”, Prentice-Hall Inc., 1992.
6. John P. Hayes – “Introducción al Diseño Lógico Digital”, Addison-Wesley, 1996.
7. Ronald J. Tocci – “Sistemas Digitales Principios y Aplicaciones”, 6ª edición, Prentice-Hall Inc.,
1996.
8. Victor P. Nelson, H. Troy Nagle, Bill D. Carroll & J. David Irwin – “Análisis y Diseño de Circuitos
Lógicos Digitales”, Prentice-Hall Inc., 1996.
9. Thomas L. Floyd – “Fundamentos de Sistemas Digitales”, 6ª edición, Prentice-Hall Inc., 1997.
10. Ronald J. Tocci & Neal S. Widmer – “Digital Systems Principles and Applications”, 7ª edición,
Prentice-Hall Inc., 1998.

9.5 PROBLEMAS PROPUESTOS


9-1 Diseñe y determine el esquema de un contador binario sincrónico módulo 7 cuya cuenta corresponda a
los números pares y que en el momento de arranque lo haga en su cuenta más alta. El sistema deberá
ser diseñado con el menor número de ‘flip-flops’ JK que operen con el flanco de alza del ‘clock’.
El número 0 no debe estar incluido en la cuenta del contador.

9-2 Repita el problema 9-1, pero de modo que no se requiera un combinacional para las salidas.

9-3 Diseñe un contador que cuente en forma ascendente desde 0 hasta el número binario equivalente al
número 6 en base 10; y luego disminuya su cuenta de dos en dos hasta llegar de nuevo a 0 y continuar
el ciclo. El contador debe poseer una salida adicional (Z’) que, para efectos de control, debe producir un
nivel lógico alto cada vez que la cuenta sea 0.
CAPÍTULO 9 - CONTADORES Y REGISTROS 349

Base el diseño en ‘flip-flops’ tipo SR que se activen con el flanco de bajada de la señal de ‘clock’.

9-4 Para un estacionamiento con capacidad para seis (6) automóviles, se desea diseñar el sistema lógico
que llevando la cuenta de los automóviles que entran y salen, controle el encendido de las señales lu-
minosas HAY PUESTO y LLENO, las cuales se activan mediante un nivel lógico alto.
Tanto en la entrada como en la salida, existe un dispositivo que genera un pulso de 0,75 segundos de
duración cada vez que pasa un vehículo. Suponga que estos pulsos nunca se superponen en el tiempo.
La señal de ‘clock’ disponible posee una frecuencia de 1 Hz y un ciclo se trabajo de 50 %.
Determine el esquema del sistema basado en ‘flip-flops’ JK que se activen con el flanco de subida del
‘clock’; y el diagrama de flujo de estados respectivo.

9-5 Diseñe un contador binario módulo 4 con estado preestablecido cuyas salidas correspondan al código
Gray, de modo que cuando la entrada L = 1 la data sea cargada en sus salidas. Realice el diseño para
implantación tipo ‘carry’ paralelo. Considere que la carga de la data se realiza en forma sincronizada con
la señal de ‘clock’.

9-6 Diseñe un contador binario módulo 4 que en sus salidas cuente en forma sucesiva y creciente las po-
tencias de 2 si su entrada X = 0, comenzando con exponente 1; y las potencias de 3 si X = 1, comen-
zando con exponente 0.
Diseñe el sistema con el mínimo número de ‘flip-flops’ tipo T y las compuertas necesarias; de modo tal
que cuando X cambie de valor, las salidas también lo hagan sin esperar la ocurrencia de un pulso en la
señal de ‘clock’.

9-7 Diseñe un contador binario natural asincrónico módulo 7 que inicie su cuenta en 0. Considere para el di-
seño ‘flip-flops’ tipo JK no ideales, cuyas entradas PRESET y CLEAR se activen con 1.

9-8 Diseñe un contador binario natural asincrónico módulo 5, tal que sus salidas en los diferentes estados
correspondan en decimal a los números 3 – 4 – 5 – 6 – 7. Considere para el diseño ‘flip-flops’ tipo JK
ideales, que se activen con el flanco de bajada del ‘clock’ y cuyas entradas PRESET y CLEAR se acti-
ven con 1 en forma asincrónica.
El contador debe corresponder al sistema mínimo y no debe tener codificador para sus salidas. Cons-
truya el diagrama de tiempo de las señales de interés involucradas.

9-9 Repita el problema 9-8, pero sin utilizar compuertas lógicas.

9-10 El sistema cuyo esquema se muestra en la Figura 9-72 debe operar de modo tal que T0 = 18 TCLK, para
lo cual se requiere diseñar el divisor x N apropiado. Suponga que en la entrada RESET/PRESET ocurre
un pulso cuando se aplica energía al sistema, que los ‘flip-flops’ actúan con el flanco de subida del
‘clock’ y que poseen tiempos de puesta a cero diferentes. Construya un diagrama de tiempo de las se-
ñales involucradas.

“0”
RESET / SET SET SET DIV.
PRESET J1 Q1 J2 Q2 J3 Q3
POR “N” O0

K1 Q1 K2 Q2 K3 Q3
CLR CLR CLR

CLOCK “0”

Figura 9-72. Esquema del sistema. Problema 9-10.

9-11 Tome en cuenta las mismas consideraciones del problema 9-10 para el caso en que T0 = 27 TCLK; y con-
sidere el esquema mostrado en la Figura 9-73.

9-12 Diseñe y construya el esquema del circuito correspondiente al bloque ‘?’ mostrado en la Figura 9-74,
para que el conjunto opere de modo que T0 = 15 T1. Los ‘flip-flops’ indicados se activan con el flanco de
subida de la señal S1, cuyo ciclo de trabajo es de 50 %. Construya el diagrama de tiempo de todas las
señales involucradas. Base la solución en un contador asincrónico.
350 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

“0”
RESET / SET SET SET DIV
PRESET J1 Q1 J2 Q2 J3 Q3
POR “N” O0

K1 Q1 K2 Q2 K3 Q3
CLR CLR CLR

CLOCK “0”

Figura 9-73. Esquema del sistema. Problema 9-11.

J Q J Q
S1 “?” S0

K Q K Q
“1”

Figura 9-74. Esquema del sistema. Problema 9-12.

9-13 Repita el problema 9-12, basando la solución en un sistema cuyo esquema general corresponde al mos-
trado en la Figura 9-43.

9-14 En cierto sistema digital se dispone únicamente de una señal lógica periódica con ciclo de trabajo de
20 % y período de 10 s. Por otro lado, se requiere generar una señal lógica periódica a ser empleada
para otro fin con período de 0,05 ms y el doble ciclo de trabajo de la anterior. Diseñe el mínimo sistema
que permita obtener la señal con estas características, a partir de la señal disponible.
a) Disponiendo de ‘flip-flops’ JK activados con el flanco de bajada del ‘clock’ y la entrada CLEAR ne-
gada.
b) Si los ‘flip-flops’ fueran activados con el flanco de subida del ‘clock’, qué características (período y
ciclo de trabajo) tendría la señal que se obtendría con el mismo circuito anterior.
Construya el diagrama de tiempo correspondiente a cada caso.

9-15 Diseñe un sistema digital de acuerdo con el modelo Moore, de 3 bits de salida, basado en ‘flip-flops’ tipo
JK y cuyo comportamiento corresponda al de un contador de anillo; de modo que:
a) Las salidas no correspondan a las variables de estado del sistema.
b) Las salidas correspondan a las variables de estado.

“0”
SET SET
S0
JA QA JB QB X JC QC
S1

KA QA KB QB “1” KC QC
CLR CLR

RESET

Figura 9-75. Esquema del sistema. Problema 9-16.


CAPÍTULO 9 - CONTADORES Y REGISTROS 351

9-16 Cierto sistema digital genera la señal lógica S1, cuyo período es de 10 s y su ciclo de trabajo de 10 %,
la cual se aplica al sistema mostrado en la Figura 9-75. Este sistema debe producir en su salida una se-
ñal S0 con frecuencia 2,5 kHz y ciclo de trabajo de 50 %.
a) Diseñe el bloque [ X ] de tal modo que cumpla los requerimientos exigidos, utilizando ‘flip-flops’ que
se activen con flanco de bajada y demás componentes que considere necesarios. Construya el dia-
grama de tiempo correspondiente.
b) ¿El ciclo de trabajo de la señal S0 depende de la forma como se diseñe el bloque [ X ]?

9-17 El esquema mostrado en la Figura 9-76 corresponde a un contador, del cual se desea determinar:
a) La secuencia de la cuenta a partir del diagrama de tiempo de las señales CLK, Q 2, Q1, Q0 y J2.
b) El módulo del contador.
c) Si arranca en la secuencia correcta al aplicar un pulso en la entrada RESET.

O0 O1 O2

“0”

SET SET SET


J0 Q0 J1 Q1 J2 Q2
CLOCK

K0 Q0 K1 Q1 K2 Q2
CLR CLR CLR
“1”

RESET

Figura 9-76. Esquema del sistema. Problema 9-17.

9-18 Repita el problema 9-17, considerando el esquema correspondiente a la Figura 9-77.

O0 O1 O2

“0”

SET SET SET


J0 Q0 J1 Q1 J2 Q2
CLOCK

K0 Q0 K1 Q1 K2 Q2
CLR CLR CLR
“1”

RESET

Figura 9-77. Esquema del sistema. Problema 9-18.

9-19 Disponiendo solamente de una señal con frecuencia de 1 Hz que se utilizará como ‘clock’, diseñe un sis-
tema que permita obtener en sus salidas un pulso cada minuto y cada hora. Utilice solamente contado-
res módulo 12 y módulo 5. La salida de los contadores módulo 12 puede tener cualquier ciclo de trabajo,
pero la de los contadores módulo 5 sólo ciclo de trabajo de 20 %.
352 INTRODUCCIÓN A LOS SISTEMAS DIGITALES

También podría gustarte