circuitos contadores - Universidad Santiago de Cali

Anuncio
GUIAS ÚNICAS DE LABORATORIO
CIRCUITOS CONTADORES
AUTOR: ALBERTO CUERVO
SANTIAGO DE CALI
UNIVERSIDAD SANTIAGO DE CALI
DEPARTAMENTO DE LABORATORIOS
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
CIRCUITOS CONTADORES
Introducción
El contador es un circuito específico de circuito secuencial, pudiendo ser
sincrónico o asincrónico.
El objetivo de esta práctica de laboratorio consiste en reforzar los conocimientos
del estudiante en el análisis y diseño de circuitos contadores, tanto sincrónicos
como asincrónicos, implementando y verificando los circuitos diseñados en el
Módulo DIGI BOARD2 disponible en el laboratorio de la Universidad Santiago de
Cali.
Contador Sincrónico
En un contador sincrónico, como en cualquier circuito secuencial sincrónico, los
pulsos de reloj alimentan simultáneamente las entradas de reloj de todos los
flip-flops que forman el contador, de forma tal que estos cambian de estado en
forma simultánea con la única diferencia en las desigualdades en las demoras de
cada uno de los flip-flops individuales.
Los pulsos de entrada se aplican a la entrada de reloj del contador,
incrementándose si es un contador que cuenta en sentido ascendente o
decrementándose en caso contrario con cada pulso aplicado a la entrada.
En la figura 1a se ha representado el esquema general de un circuito secuencial
sincrónico con 3 flip-flops JK en el cual se ha dividido el bloque de lógica
combinacional en dos: la lógica que produce las señales de salida y la lógica que
produce las funciones de excitación a los flip-flops. En b se ha representado un
caso específico de los contadores en que las señales de salida del circuito
secuencial son directamente las señales de salida de los flip-flops.
Así, en este último caso, si es un contador en el sistema binario, el estado 5 por
ejemplo será el estado 101, es decir que C=1, B=0 y A=1, etc.
En el caso b entonces únicamente será necesario encontrar las funciones de
excitación JK de cada flip-flop en función del estado presente (las salidas de los
flip-flops) y la señal de entrada.
Las señales o la señal de entrada al contador puede ser por ejemplo una señal
que le indique al contador que cuente en sentido ascendente o descendente.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
señal de
entrada
Lógica
combinacional
señales de
salida
C
B
A
señales de
salida
Lógica
combinacional
señal de
entrada
Lógica
combinacional
A
J
A
J
A´
K
A´
K
B
J
B
J
B´
K
B´
K
C
C´
C
J
K
C´
PULSOS
DE
ENTRADA
J
K
PULSOS
DE
ENTRADA
Figura 1. Circuito secuencial. a.- caso general y b.- las salidas de los flipflops son directamente las salidas del circuito secuencial.
En un contador, la señal de entrada puede no existir, obteniéndose el esquema
que se representa en la figura 2. En este caso, las entradas de excitación de los
flip-flops que determinan el estado siguiente dependerán únicamente del estado
presente, es decir, de las salidas de los flip-flops que forman el contador.
El primer circuito que se deberá diseñar corresponderá al esquema de la figura 2.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
señales
de salida
C
B
A
Lógica
Combinacional
A
A´
B
B´
J
K
J
K
C
J
C´
K
PULSOS DE
ENTRADA
Figura 2. Circuito secuencial de un contador
sin señal de entrada externa.
Planteamiento del primer circuito.
Diseñar un contador que cuente en binario en sentido ascendente de 0 a 5 con
flip-flops JK y compruebe el funcionamiento del mismo en el módulo DIGI
BOARD2 del laboratorio llevando las salidas del mismo a un display de 7
segmentos y aplicándole pulsos con el pulsador.
Solución.
Como el contador tiene 6 estados: 0, 1, 2….5, se necesitarán 3 flip-flops que se
denominarán C, B y A respectivamente.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
El primer paso será construir la tabla de estado presente y estado siguiente para
encontrar las funciones de excitación JK de cada flip-flop.
Esta tabla es muy simple y se muestra en la figura 3.
Estado
Estado
presente siguiente
CBA
CBA
000
001
001
010
010
011
011
100
100
101
101
000
110
xxx
111
xxx
JA
KA
JB
KB
JC
KC
1
x
1
x
1
x
x
x
x
1
x
1
x
1
x
x
0
1
x
x
0
0
x
x
x
x
0
1
x
x
x
x
0
0
0
1
x
x
x
x
x
x
x
x
0
1
x
x
Figura 3. Tabla de estado presente y estado siguiente.
Observe que los estados #6=110 y #7=111 son estados no usados, nunca ocurren,
por lo que no importa los estados siguientes de los mismos.
De la tabla de la figura 3 se pueden construir los mapas de Karnaugh que se
muestran en la figura 4 para obtener las funciones simplificadas de la J y la K de
cada uno de los flip-flops del contador.
Con estas funciones se puede implementar el circuito del contador que se
muestra en la figura 5, en el cual el pulsador se utiliza para aplicarle pulsos al
contador, y la salida de éste es llevada a un display de 7 segmentos para verificar
el número binario almacenado en el contador de acuerdo al número de pulsos
aplicado.
El diagrama de estados incluyendo los estados no usados 6 y 7 se muestra en la
figura 6.
Cuando el circuito tenga el número 6: CBA= 110, se tiene que:
• JA=KA=1, por tanto el flip-flop A cambia de 0 a 1
• KB=AC´=0, por lo que el flip-flop B se queda en el estado 1 y
• KC=A =0, por lo que el flip-flop C también se queda en el estado 1.
De acuerdo a lo anterior, el circuito pasa del 6 al 7 cuando se le aplique un
pulso.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
BA
00 01 11 10
C
BA
00 01 11 10
C
BA
00 01 11 10
C
0
1
x
x
1
0
x
1
1
x
0
0
1
x
x
1
1
x
x
x
1
x
1
x
x
1
0
0
x
x
JA=1
KA=1
BA
00 01 11 10
BA
00
BA
01 11 10
0
x
x
1
0
0
0
0
1
0
C
0
1
x
x
x
x
1
x
x
x
x
1
C
C
JB=AC´
KB= A ó AC´
00 01 11 10
x
x
x
x
0 1
x
x
JC=AB
KC=A
Figura 4. Mapas de Karnaugh
J
C
J
B
J
A
K
C´
K
B´
K
A´
display
pulsador
1
+5v.
pulsos de
entrada
1
2
4
8
Figura 5. Circuito del contador
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
Igualmente, si por alguna razón el circuito tuviese almacenado el número 7
(CBA=111),se tiene que:
• JA=KA=1, por lo que el flip-flop A cambiará de 1 a 0
• KB=AC´=0, por lo que el flip-flop B se queda en el estado 1 y
• KC=A=1, por lo que el flip-flop C cambiará de 1 a 0
De acuerdo a lo anterior el circuito pasará del 7 al 2 cuando se le aplique un
pulso.
5
estados
inválidos
0
6
secuencia
válida
4
1
7
3
2
Figura 6. Diagrama de estados
Este diagrama de estados representa un contador “autocomenzante”, pués
cuando se conecte la energía si el contador cae inicialmente en uno de los
estados no-usados o inválidos, a los pocos pulsos aplicados, máximo 2 en este
caso, cae en la secuencia válida y ya no sale de ésta.
Coloque con las entradas asincrónicas de los flip-flops los números 6 y 7 en el
contador y compruebe el estado siguiente de estos estados inválidos.
Contador Asincrónico
En un contador asincrónico a diferencia del contador anterior, los pulsos no se
aplican simultáneamente al reloj de todos los flip-flops.
Puesto que los flip-flops en el contador asincrónico no están bajo el mando de un
solo pulso de reloj, es más lento que el contador sincrónico, aunque el hardware
requerido es más simple.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
El más sencillo de todos los contadores asincrónicos es el contador binario, que
cuente en binario hasta 2n – 1 (n estados), donde n es el número de flip-flops
utilizado.
Monte el circuito que se muestra en la figura 7 el cual consiste en un contador
binario que cuenta de 0 (0000) a 15 (1111), por lo que tendrá 16 estados y 4 flipflos JK.
+5v.
H
Q3
J
Q2
J
Q1
J
Q0
J
Q3
K
Q2
K
Q1
K
Q0
K
flip-flop de
mayor orden
flip-flop de
menor orden
pulsos
de Q
entrada
1
2
4
pulsador
8
(a)
display
pulsos de entrada
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Q0
Q1
Q2
Q3
0001
0010
0011
0100
0101
0110
estado inicial: Q3Q2Q1Q0 = 0000
0111
1000
1001
1010
1011
1100
1101
1110
1111
(b)
Figura 7. Contador asincrónico binario (a) circuito (b) formas de onda
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
0000
Este contador se implementa como se muestra en la figura 7 colocándo en 1
lógico la J y la K de todos los flip-flops. Los pulsos de entrada se inyectan al reloj
del flip-flop de menor orden y la salida de cada flip-flop se conecta al reloj del
siguiente.
Como los flip-flops son de flanco negativo, debido a esta conexión el flip-flop Q0
cambiará de estado cuando ocurra un flanco negativo en los pulsos de entrada, el
flip-flop Q1 cambiará de estado cuando ocurra un flanco negativo en Q0, y así
sucesivamente.
Como se puede observar de las formas de onda de las salidas de los flip-flops, el
número binario almacenado en el contador corresponde al número de pulsos que
se hayan inyectado en su entrada.
Inyecte pulsos al contador con el pulsador y compruebe el número en el display.
Conecte la salida negada de cada flip-flop al reloj del siguiente y compruebe que
el contador se comporta como un contador binario que cuenta en sentido
descendente.
Circuitos integrados de contadores
Debido al gran número de aplicaciones que tienen los contadores, existe una gran
variedad de los mismos fabricados en forma de circuitos integrados.
En la figura 8 se muestra un ejemplo disponible en el módulo DIGI BOARD2 del
laboratorio. Consiste del circuito integrado 74LS193, el cual es un contador
binario de 4 bits que puede contar en ambos sentidos: ascendente y
descendente.
El sentido de conteo del circuito depende a la entrada donde se apliquen los
pulsos: Up o Down.
Igualmente tiene una entrada asincrónica CLR, la cual al activarse con un 1 borra
al contador y una entrada asincrónica LOAD´ la cual al activarse con un 0
almacena el número presente en sus entradas DCBA en el contador.
Tiene dos salida para conectar estos circuitos en cascada si se necesita
implementar un contador de un mayor número de bits: la salida de acarreo
(carry´) para el conteo creciente y la salida de préstamo (borrow´) para conteo
decreciente. Estas señales se muestran en la figura 9. En la misma se puede
observar que si el contador se encuentra contando en sentido ascendente, en el
pulso 16 pasa a 0 (0000).
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
entradas
9
5
4
14
11
CTRDIV16
10
D
C
Up
Down
1
B
Down
A
Carry
74LS193
CLR
Borrow
LOAD
QD
QC
7
QB
6
CLR
Up
15
12
13
QA
A
Carry
Borrow
C3
QA
3D
QB
B
entradas
3
2
LOAD
CT=0
2+ 1ct = 15
G1
1G2
2ct = 0
salidas
C
D
bit de mayor orden
salidas
(a)
QC
QD
(b)
CLR: entrada asincrónica de borrado, cuando se activa con un 1 se coloca al contador en 0000
Up: entrada de pulsos para conteo creciente, sensible al flanco positivo
Down: entrada de pulsos para conteo decreciente, sensible al flanco positivo
LOAD: entrada asincrónica que al activarse con un 0 se carga o almacena el número presente en las entradas
Carry: salida de acarreo, al alcanzar el nº 15 (1111) esta salida cambia a 0 cuando la entrada Up=0
Borrow: salida de préstamo, al alcanzar el nº 0 (0000) esta salida cambia a 0 cuando la entrada Down=0
Figura 8 Contador sincrónico binario (a) símbolo estándar, (b) símbolo de la IEEE
Sin embargo, la salida de acarreo se puede aplicar a la entrada Up de otro
circuito haciendo que el mismo pase a 0001, y así tendríamos un contador de 8
bits con el número 00010000 (#16) almacenado, etc.
1101
1110
14
1111
15
0000
16
número almacenado
pulsos aplicados
a la entrada Up
señal en la salida Carry
La salida Carry se activa con un 0
cuando tiene el número 15 y UP=0
Figura 9. Señales en el contador
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
Alteración del conteo.
La secuencia de conteo de un contador puede ser alterada para contar en una
base diferente.
Así por ejemplo, suponga que se desee obtener un contador decimal que cuente
del 0 al 9 y en el décimo pulso regrese al 0 con el circuito integrado anterior.
Este circuito se muestra en la figura 10 el cual debe ser montado en el
laboratorio y comprobado su funcionamiento.
CTRDIV16
pulsador
Q
CLR
Up
Down
CT=0
2+
G1
1-
G2
1ct=15
2ct=0
C3
LOAD
A
QA
1
B
QB
2
C
QC
4
D
QD
8
display
Figura 10. Contador decimal
En el contador binario CTRDIV16 de la figura 10, la entrada de LOAD´ es
alimentada por una compuerta NAND para que cuando ocurra el décimo pulso y
este contador pase a 1010 momentáneamente la entrada LOAD´ se haga 0 y se
cargue el número presente en su entrada (0000). De esta forma se obliga a este
contador a pasar del número 9 (1001) al 0 (0000).
Bibliografía
1. M. Morris Mano, “Lógica Digital y Diseño de Computadores”, Editorial
Dossat S.A., 1982
2. Víctor P Nelson, H. Troy Nagle, Bill D. Carroll y J. David Irwin, “Análisis y
Diseño de Circuitos Lógicos Digitales”, Prentice-Hall Hispanoamericana
S.A., 1996
3. J. F. Wakerly, “Digital Design Principles and Practices”, 2ª ed.,
Englewood Cliffs, NJ: Prentice-Hall, 1984.
DDEEPPAARRTTAAM
MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS
GGUUIIAASS DDEE CCIIRRCCUUIITTOOSS CCOONNTTAADDOORREESS
Descargar