Академический Документы
Профессиональный Документы
Культура Документы
16
Un contador es un sistema secuencial conceptualmente muy simple: con cada pulso que
recibe pasa de un estado al siguiente (cuenta el nmero de pulsos). Un contador mdulo n
presenta n estados (de 0 a n-1) y su evolucin es circular: pasa de cada estado i al
siguiente i+1 y del ltimo n-1 al primero de ellos 0; su grafo de estados es un anillo, con
una sola transicin para cada estado (que le lleva al estado siguiente i+1).
A pesar de la sencillez de este comportamiento funcional, los contadores son
extraordinariamente tiles en el diseo de sistemas digitales de medida y de control. Por
ello, aunque su construccin puede realizarse aplicando la metodologa general de diseo
de los sistemas secuenciales sncronos (desarrollada en el captulo anterior), se dedica el
presente captulo al diseo y conexin de contadores.
El biestable tipo T, que cambia de estado (conmuta) con cada pulso que recibe si su
entrada T se encuentra a 1, resulta muy apropiado para la construccin de contadores. El
diseo de contadores sncronos con biestables tipo T consiste en establecer, en forma de
funciones booleanas, las situaciones en que cada biestable debe conmutar.
Es sencillo transferir a biestables D el diseo efectuado con los biestables T: basta una
transformacin booleana equivalente a una operacin "o-exclusiva" entre la funcin que
activa la entrada T y la salida Q del biestable.
Otro aspecto de inters es la conexin de contadores para conformar otros ms grandes,
as como la posibilidad de respetar la codificacin BCD para mantener la estructura de
nuestros nmeros decimales (base 10).
El prximo captulo se dedica a las aplicaciones de los contadores: contaje y control de
nmero de objetos o de sucesos; divisin de frecuencias; medida y multiplexado de tiempos;
medida y control de frecuencias; y el siguiente (captulo 18) trata de la modulacin de
anchura de pulsos, tcnica que tambin aprovecha muy eficazmente a los contadores.
La gran utilidad de los contadores se traduce en la disponibilidad de una amplia
variedad de los mismos, entre los que se cuentan los contadores descendentes (que
descuentan) y los contadores bidireccionales.
Electrnica D igital
n = 2m
2
m-1
<n<2
contador completo
m
contador parcial.
123
16. Contadores
D = T.Q + T.Q = T Q
FF
T'
Q
Q
Ck
FF
D
Q
Q
Ck
T0
T1
T2
T3
=
=
=
=
1
q0
q1.q 0
q 2.q1.q 0
124
Electrnica D igital
Contador mdulo 16
siguiente estado n
10
estado inicial
n-1
q3 .q 0
Con lo cual, las condiciones de activacin de las entradas T son las siguientes:
T0 = 1
T1 = q 0 . (q3.q 0 ) = q 3.q 0
T2 = q1.q 0
T3 = q 2.q1.q 0 + q3 .q 0
125
16. Contadores
Conexin de contadores sncronos
T0 = E
max
Q9
10
Q8
Q7
max
E
Electrnica D igital
En el caso del contador mdulo 10 (dcada) las expresiones resultantes sern las
siguientes (borrado prioritario: se borra aunque la habilitacin sea nula E = 0):
T0 = E.B + B.q 0
T1 = E.B.q 3.q 0 + B.q1
T2 = E.B.q1.q 0 + B.q 2
T3 = E.B.q 2 .q1.q 0 + E.B.q3 .q0 + B.q 3 = E.B.q 2 .q1.q0 + E.q 3.q 0 + B.q3
mx = E.q 3.q 0 .
Contar pulsos y dividir frecuencias
Contar pulsos puede parecer algo muy simple pero, en la prctica, tiene muchas
aplicaciones. Los contadores son sumamente tiles en la realizacin de sistemas digitales,
siendo el ncleo bsico de muchos de ellos, como es el caso de relojes, temporizadores,
frecuencmetros, dispositivos de sincronizacin, y de un amplio nmero de sistemas de
control y de medida. Pocos son los sistemas digitales en los que no se encuentren
presentes diversos contadores, realizando operaciones variadas.
T1 = E.q 3.q 0
T2 = E.q 1.q0
T3 = E.q 2 .q1.q0 + E.q 3.q 0
mx = E.q3.q 0
Q11 Q10
126
Q6
Q5
10
Q4
Q3
max
E
Q2
Q1
10
Q0
E
pulsos
Contar pulsos permite contar objetos o contar sucesos y como resultado del contaje
conocer el nmero de piezas producidas, el nmero de personas en un recinto, el nmero
de automviles que circulan por una carretera, el nmero de unidades de tiempo
transcurridas (relojes y cronmetros), Contar permite tambin controlar el nmero de
objetos a incluir en un recipiente, el nmero de unidades de tiempo de un proceso
(temporizadores), el nmero de marcas a recorrer (posicionamiento lineal o angular),
Asimismo, contar pulsos en una unidad de tiempo equivale a medir la frecuencia de
la seal y, con ella, la velocidad de motores (revoluciones por minuto), la velocidad de
bicicletas y automviles, el valor de una variable codificada en frecuencia,
Adems, los contadores permiten configurar controles de tipo todo/nada en que cada
perodo de tiempo resulta dividido en dos intervalos activo/inactivo. El resultado de este
control on/off es una modulacin de la anchura de pulsos (captulo 18) con aplicaciones
en control de potencia, conversin nmero-tensin (conversores digital-analgicos),
conversores tensin-tiempo y tensin-nmero (analgico-digitales), control de amplitud
de seales (potencimetros digitales),...
Un componente bsico de los procesadores en los sistemas digitales que actan bajo
programa (computadores, microprocesadores, etc.) es el contador central o contador de
programa, que seala la direccin de la instruccin a ejecutar y, una vez ejecutada la
misma, pasa a la siguiente instruccin. Este contador ha de disponer de la posibilidad de
carga paralelo a fin de poder efectuar saltos en el programa para atender a instrucciones
condicionales, a subrutinas y a interrupciones.
127
16. Contadores
128
Electrnica D igital
CK
Q0
Q1
Q2
Q3
10 11
10 11 1
10
CK
El estado 0 (cero) viene identificado por la operacin "y" extendida a las negadas de
todas las salidas del contador, mientras que la situacin contraria (no cero) corresponde a
la operacin "o" aplicada a todas las salidas:
z = q m -1 + q m - 2 + ... + q 2 + q1 + q 0
Si el biestable qi no tiene valor 1 en el estado n-1 ser preciso evitar que conmute a
partir del estado 0:
Q0
Q1
Q2
Q3
z = q 3.q 2 .q1.q 0
z = q 3 + q 2 + q1 + q0
T0 = E
T1 = E.q 0 .z = E.q0 .(q 3 + q 2 + q1)
T2 = E.q1.q 0 .z = E.q1.q 0 .(q3 + q 2 )
T3 = E.q 2 .q1.q 0
129
16. Contadores
130
Electrnica D igital
Dada la utilidad que los contadores ofrecen para la realizacin de sistemas digitales
existe una amplia disponibilidad de tipos diferenciados dentro de las familias lgicas
integradas; algunos de ellos con prestaciones complejas como veremos a continuacin.
Q3
mx/mn
Q2
Q1
10
Q0
Dcada
habilitacin
control
CK
T0 = E
T0 = E
T1 = E.q 3.q 0
T2 = E.q 1.q0
T2 = E.q1.q 0 .(q 3 + q 2 )
T3 = E.q 2 .q1.q 0
mx = E.q 3.q 0
T0 = E
T1 = C.E.q 3.q 0 + C.E.q 0 .(q3 + q 2 + q1)
T2 = C.E.q 1.q0 + C.E.q1.q0 .(q 3 + q 2 )
T3 = C.E.(q 2 .q1.q0 + q 3.q 0 ) + C.E.q2 .q1.q 0
131
16. Contadores
-
y el sistema de multiplexado necesario para la salida de las cifras del primer registro y
para la programacin del contador y del segundo registro; la velocidad de muestreo se
fija mediante un condensador exterior y 6 lneas individuales indican cul de las cifras
BCD se encuentra activa en cada momento.
Salidas
BCD
Salidas
7 seg.
Ceros
no sign.
n de
cifra
Multiplexor
Barrido 6 cifras
Registro
Comparador
Inhibicin
Borrado
Bidireccion.
Pulsos
Electrnica D igital
Decodificador
BCD -> 7 segmentos
Habilitacin
132
frec.
barrido
D'
T
Contador 6 Dcadas
Registro
Entradas
Contador
Demultiplexor
Arrastre
(mx)
Cero
(mn)
Entradas
Registro
Por tanto, una forma sencilla de disear contadores con biestables tipo D, consiste en
construir las funciones Ti correspondientes al diseo con biestables T y, a partir de ellas,
aplicar la anterior transformacin a biestables D:
D i = qi . Ti + q i . Ti .
Por ejemplo, sea un contador mdulo 12:
CK
D' = q . T + q . T
Habilit.
Carga paral.
Demultiplexor
FF
D
ltimo estado
n-1
11
siguiente estado
12
estado inicial
T0 = E
T1 = E.q 0
T2 = E.q 1.q0 .(q 3.q1.q 0 ) = E.q 3.q1.q 0
q 3.q1 .q0
133
16. Contadores
134
Electrnica D igital
D0 = E.q 0 + E.q 0
D 0 = B.E.q 0 + B.E.q 0
10
q .q
3 0
25
26
q .q .q
5 2 0
ltimo estado
siguiente estado
estado inicial
T0 = E
T1 = E.q 0 + E.q 2 .q1
T2 = E.q 1.q0 + E.q 2 .q1 = E.q1.(q 2 + q 0 )
q2 .q1
135
16. Contadores
T0 = E
--------------------------------------
T4 = E.q3 .q 0
Electrnica D igital
Contador bidireccional
136
T0 = E
D 0 = E.q 0 + E.q 0
T1 = E.q 0 .(q 3 + q 2 + q1 )
T2 = E.q1.q 0 .(q 3 + q 2 )
T3 = E.q 2 .q1.q 0
D 0 = E.q 0 + E.q 0
137
16. Contadores
El reloj central de un sistema secuencial sncrono es la nica seal que acta por
flancos; cualquier otra seal debe actuar por niveles booleanos 0 y 1. En tal sentido,
cuando se desea contar pulsos diferentes a los propios de la seal de reloj, ha de
transformarse el correspondiente flanco de los mismos (generalmente el de bajada, con el
cual finaliza el pulso) en un pequeo pulso coincidente con una unidad de tiempo del
reloj central y habilitar con dicho pulso el contaje del contador sncrono, cuyo reloj
seguir siendo el propio del sistema secuencial global.
El esquema necesario para detectar un flanco de bajada de un pulso cualesquiera (de
mayor duracin que la unidad de tiempo del reloj central) y transformar dicho flanco en
un nivel activo 1, cuya duracin coincida con una unidad de tiempo, es simple: dos
biestables sucesivos, formando un reducido registro de desplazamiento, que detecten la
secuencia 10 (en una bajada el valor anterior del pulso ser 1 y el siguiente valor del
pulso ser 0). [Vase este mismo diseo realizado como ejercicio en 14.2.3, pgina 86.]
0
entrada
de
pulsos
Q
D
CK
1
E
D
Q
u. de t.
Q
CK
Contador scrono
con entrada de habilitacin
CK
CK
138
Electrnica D igital
Ondas de temporizacin
Las seal que se obtiene en la salida mx de un contador mdulo n, alimentado con
la frecuencia de reloj CK del sistema digital correspondiente, es una onda que se repite
cada n pulsos de reloj (frecuencia = fCK / n) y cuyo intervalo en valor 1 coincide con una
unidad de tiempo del reloj CK.
Por ejemplo, en el caso de un contador mdulo 11, dicha seal, con amplitud en 1 de
una unidad de tiempo de reloj, dividir la frecuencia del reloj por 11:
1
10 11
10 11 1
10 11
reloj
mx
Este tipo de formas de onda pueden ser utilizadas como seales de temporizacin en
los sistemas sncronos: su actuacin solamente se har presente durante un pulso de reloj
y podr servir para condicionar transiciones de forma que se realicen despus de haber
transcurrido el intervalo de tiempo correspondiente a su perodo.
Asimismo, si deseamos temporizar en forma sncrona con alguna seal (bien sea una
entrada al circuito digital o una seal intermedia generada por el mismo) deber
configurarse una onda de temporizacin en forma anloga: intervalo activo igual a una
unidad de tiempo de reloj. Lo cual puede hacerse mediante un detector de flancos como el
detallado en la pgina anterior.
As, por ejemplo, en sistemas de control de la potencia suele interesar temporizar con
la seal de cruce por cero de la red, la cual se repite cada 10 ms (dos veces por perodo,
frecuencia de 50 Hz). Dicha seal puede obtenerse comparando la seal de la red
(reducida mediante un transformador), rectificada en doble onda, con una referencia baja;
posteriormente habr que utilizar un detector de flancos para que la seal resultante acte
una sola vez (est activa durante un solo pulso de reloj).
Dividiendo la anterior seal por 100 se tiene un perodo de 1 segundo; la salida mx
del contador mdulo 100 que produce tal divisin de frecuencia presenta un tiempo en
1 de una sola unidad de tiempo de reloj, de forma que puede ser utilizada como onda de
temporizacin.