CIRCUITOS CONTADORES CONTADORES
CONTADORES Un contador es un arreglo de Flip Flops que progresa de estado en estado en respuesta a un suceso, donde un suceso puede ser un ciclo de la señal de reloj. El contador cuenta el número de sucesos. Características 1.-Un número máximo de conteo (módulo del contador) 2.-Cuenta ascendente o descendente 3.-Operación síncrona o asíncrona 4.-Autónomos o de autodetención
Análisis y diseño de circuitos contadores
6.1. Introducción 6.2. Contadores asíncronos 6.3. Contadores síncronos
6.1. Introducción Un c o n t a d o r se puede considerar como un circuito que cuenta y recuerda el número de impulsos que se le aplican a través de una entrada externa de reloj. Consta normalmente de una cadena de biestables en cuyas n salidas se lee un número binario puro que indica la cuenta realizada hasta el momento. Por tanto, para conseguir un contador que cuente hasta m números distintos, necesitamos una cantidad n de biestables tal que 2 n m.
6.1. Introducción Los contadores pueden clasificarse de las siguientes formas: · Según la forma en que conmutan los biestables: síncronos (todos los biestables conmutan a la vez) o asíncronos (el reloj no es común y los biestables conmutan uno tras otro). · Según el sentido de la cuenta, los hay ascendentes, descendentes y UP-DOWN (ascendentes o descendentes en función de una entrada de control).
6.2. Contadores asíncronos Los contadores asíncronos se basan en una cadena de biestables conectados cada cual de forma que con cada pulso de reloj conmuten al estado contrario al que tenían (como biestables T con la entrada T=1). La cadena se establece conectando la salida de un biestable con la entrada de reloj del siguiente.
6.2. Contadores asíncronos A. Contador asíncrono ascendente con biestables J-K Como ejemplo se muestra un contador asíncrono ascendente binario de 4 bits construido mediante biestables J-K Master-Slave activos con flancos de bajada y con ambas entradas fijadas a 1 (J=K=1). Q0 J Reloj “1”
Clear
Q
J
Clk K
Q1 Q
J
Clk Q
“1”
K
Q2 Q
J
Clk Q
“1”
K
Q3 Q
Clk Q
“1”
K
Q
Este circuito cuenta de forma ascendente desde el número 0 hasta el 15, y vuelta a 0.
6.2. Contadores asíncronos A. Contador asíncrono ascendente con biestables J-K Un cronograma del circuito supuestos inicialmente a 0 los biestables (habiendo activado Cl=0) es el siguiente:
f f/2 f/4 f/8 f/16 Los contadores se pueden usar como divisores de frecuencia , ya que por sus salidas obtenemos señales cuyas frecuencias mantienen una relación fija con respecto a la frecuencia de la señal de reloj.
6.2. Contadores asíncronos A. Contador asíncrono ascendente con biestables J-K La principal desventaja de los contadores asíncronos es su lentitud, ya que los biestables conmutan en serie y se suman los retardos de propagación. Por ejemplo, suponiendo en el contador anterior un tiempo de propagación de cada biestable de valor 25 nseg, el retardo total sería 100 nseg. y la frecuencia máxima de uso 10 MHz (1/100 nseg).
6.2. Contadores asíncronos B. Contador asíncrono descendente Para obtener un contador asíncrono descendente haremos lo siguiente:
En la misma cadena de biestables del contador ascendente, tomar las salidas de cuenta por las salidas Q de los biestables. Q Q Q 0
J Reloj “1”
Clear
1
Q
J
Clk K
Q
J
Clk Q
“1”
K
Q
J
Clk Q
Q3
2
“1”
K
Q
Clk Q
“1”
K
Q
6.2. Contadores asíncronos C. Contador de décadas o contador BCD El siguiente ejemplo es un contador asíncrono ascendente Módulo 10, llamado normalmente Contador de Décadas o Contador BCD, que cuenta de 0 a 9 y vuelta a 0. Q Q Q Q 0
J Reloj “1”
1
Q
J
Clk K Cl
2
Q
J
Clk Q
“1”
K
3
Q
J
Clk Cl
Q
“1”
K Cl
Q
Clk Q
“1”
K Cl
Q
6.2. Contadores asíncronos C. Contador de décadas o contador BCD Para su realización se ha partido de un contador ascendente asíncrono de módulo 16 y una puerta NAND de dos entradas que controla el instante en que las salidas de los biestables Q 1 y Q3 están a nivel alto (10102 = 1010). Cuando se da esta condición, se genera una puesta a cero del contador, ya que se ponen a nivel bajo las entradas Clear de todos los biestables.
6.3. Contadores síncronos Los contadores síncronos están formados por una cadena de biestables a los que se aplica una misma señal de reloj, que es la entrada externa de impulsos a contar, y cuyas entradas síncronas son activadas por un conjunto de circuitos combinacionales (puertas lógicas) de manera que el contador vaya pasando por los estados de cuenta deseados. El problema principal consiste en diseñar el circuito combinacional que active correctamente las entradas de los biestables en función de las salidas actuales de estos. Para ello el primer paso es construir la tabla de transición del contador en la que establecemos el orden de cuenta deseado.
6.3. Contadores síncronos A. Contador síncrono ascendente con biestables J-K Por ejemplo, si queremos diseñar un contador ascendente binario de 4 bits, su tabla de transición será: Estado actual (Q ) Próximo estado (Q ) t
t+1
QD
QC
QB
QA
QD
QC
QB
QA
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
0
0
1
1
0
1
0
0
0
1
0
0
0
1
0
1
0
1
0
1
0
1
1
0
0
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
0
6.3. Contadores síncronos A. Contador síncrono ascendente con biestables J-K La tabla de excitación del biestable J-K es la siguiente: Qt
Qt+1
J
K
0 0
0 1
0 1
X X
1
0
X
1
1
1
X
0
A partir de la tabla de excitación y la tabla de transición del contador podemos construir la tabla de verdad (tabla de excitación del contador) del circuito combinacional a diseñar.
6.3. Contadores síncronos A. Contador síncrono ascendente con biestables J-K La tabla de excitación tiene como entradas el estado actual de los biestables y como funciones de salida las entradas síncronas de dichos biestables. El valor de estas funciones para cada combinación de entrada se obtiene observando en la tabla de transición qué conmutación se produce en cada biestable y anotando los valores que deben tener sus entradas para que dicha conmutación se produzca.
6.3. Contadores síncronos A. Contador síncrono ascendente con biestables J-K Si construimos el contador con biestables J-K la tabla de verdad será la siguiente: Estado actual (Qt)
Próximo estado (Qt+1)
QD
QC
QB
QA
QD
QC
QB
QA
JD
K D
JC
K C
JB
K B
JA
K A
0
0
0
0
0
0
0
1
0
X
0
X
0
X
1
X
0
0
0
1
0
0
1
0
0
X
0
X
1
X
X
1
0
0
1
0
0
0
1
1
0
X
0
X
X
0
1
X
0
0
1
1
0
1
0
0
0
X
1
X
X
1
X
1
0
1
0
0
0
1
0
1
0
X
X
0
0
X
1
X
0
1
0
1
0
1
1
0
0
X
X
0
1
X
X
1
0
1
1
0
0
1
1
1
0
X
X
0
X
0
1
X
0
1
1
1
1
0
0
0
1
X
X
1
X
1
X
1
Entradas actuales
1
0
0
0
1
0
0
1
X
0
0
X
0
X
1
X
1
0
0
1
1
0
1
0
X
0
0
X
1
X
X
1
1
0
1
0
1
0
1
1
X
0
0
X
X
0
1
X
1
0
1
1
1
1
0
0
X
0
1
X
X
1
X
1
1
1
0
0
1
1
0
1
X
0
X
0
0
X
1
X
1
1
0
1
1
1
1
0
X
0
X
0
1
X
X
1
1
1
1
0
1
1
1
1
X
0
X
0
X
0
1
X
1
1
1
1
0
0
0
0
X
1
X
1
X
1
X
1
6.3. Contadores síncronos A. Contador síncrono ascendente con biestables J-K El paso final consiste en simplificar cada una de las funciones de la tabla y dibujar el circuito contador. JD = QCQBQ A
JC = QBQ A
JB = Q A
J A = 1
KD = QCQBQ A
KC = QBQ A
KB = Q A
K A = 1
QA
J
Q
Clk “1”
Reloj Clear
K
QB
J
Q
Clk Q
K
QC
J
Q
Clk Q
K
QD
J
Q
Clk Q
K
Q
CONTADORES
Otros aspectos a tener en cuenta:
Líneas de control de un contador: •
Enable o habilitador: para el conteo en el valor que este.
•
síncrono o asíncrono: lleva el conteo a cero. Reset
•
U p / D o w n : Determina si el conteo es ascendente o
•
descendente. síncrono o asíncrono: carga el conteo con un valor Load especifico.
Líneas de salida de un contador: •
V al o r d e l c o n t a d o r .
•
o desbordamiento: indica cuando el contador Overflow
alcanza el valor máximo.
Modulo del contador Un Flip Flop tiene 2 estados y un arreglo de n Flip Flops puede tener 2^n estados. El número de estados que cuenta el contador antes de volver a su estado inicial se denomina módulo o mod.
CONTADORES SÍNCRONOS Y ASÍNCRONOS
Contadores Asíncronos. Todos los FFs no están controlados por la misma señal de reloj.
Contadores Síncronos Todos los FFs están controlados por la misma señal de reloj.
Contador de anillo Contador síncrono generado a partir de un registro de desplazamiento conectado para desplazar cíclicamente a la derecha. Después de n ciclos el contador vuelve a su estado inicial.
Este contador es muy simple y es extremadamente fácil, pero utiliza los Flip Flops de una forma no muy optima.
Contador Asíncrono de módulo 2 n
Arreglo de n FF que permite dividir la frecuencia del reloj inicial en 2^n veces
Contador síncrono de módulo 2 n Un bit cambia cuando todos los bits menos significativos a este son simultáneamente 1.
Contador MOD X Procedimiento para construir un contador MOD X 1. Determinar el menor número n de FF tales que 2n >= X. Si 2n= X entonces el contador está listo. 2. Conecte una compuerta NAND a las entradas asíncronas CLR de todos los FF involucrados 3. Determine cuáles FF están en el estado ALTO en un conteo =X; luego conecte las salidas normales de estos FF a las entradas de la compuerta NAND.
Ejemplo: Contador MOD 10 Arreglo de 4 FF con la salida del segundo y cuarto FF a la entrada de una compuerta NAND.
Contador descendente X2X 1X 0 7 6 5 4 3 2 1 0
111 110 101 100 011 010 001 000
X0 cambia en cada ciclo de reloj X1 cambia cada vez que X0 pasa de bajo a alto X2 cambia cada vez que X1 pasa de bajo a alto Para construir un contador descendente basta con Conectar la salida negada del FFi al reloj del FFi+1 en un arreglo de FF JK
Contadores descendente
Preestablecimiento Para poder, por ej. en un contador MOD 16, comenzar a contar desde el número 8 es posible cargar el número 8 (0100) mediante una carga paralela incial. Para esto, se usan las entradas asíncronas de los FF (preset y clear). Cada entrada de la carga paralela se conecta a la puerta pre y clr del FF que le corresponda. Antes de llegar a dichas entradas, se conectan a una compuerta AND cuya otra entrada (para todas las compuertas AND) es una señal de habilitación de carga paralela (número a prestablecer).