EIE 446 - SISTEMAS DIGITALES Tema 9: Contadores

Anuncio
EIE 446 - SISTEMAS DIGITALES
Tema 9: Contadores
Nombre del curso: “Sistemas Digitales”
Nombre del docente: Héctor Vargas
OBJETIVOS DE LA UNIDAD
● Describir la diferencia entre un contador asíncrono y uno síncrono.
● Analizar diagramas de tiempo de contadores.
● Analizar los circuitos contadores.
● Retardo de propagación en contadores.
● Establecer las diferencias entre un contador binario de 4 bits y un contador
de décadas.
● Analizar contadores de secuencias ascendentes/descendentes.
● Diseñar contadores síncronos que puedan tener cualquier secuencia de
estados especificada.
Contando en binario
● Como se sabe, la secuencia de conteo binario sigue un patrón familiar de 0s
y 1s como se describió en temas anteriores.
El próximo bit cambia
cada cuatro secuencias.
000
001
010
011
100
101
110
111
LSB cambia en cada
secuencia.
El próximo bit cambia
cada dos secuencias.
Contando en binario
● Un contador puede formar el mismo patrón de ceros y unos con niveles
lógicos. La primera etapa en un contador representa el bit menos
significativo LSB. Observe que las formas de onda siguen el mismo patrón de
onda de conteo en binario.
LSB
MSB
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
1
1
1
0
Contador asíncrono de tres bits
● En un contador asíncrono, el reloj se aplica solamente a la primera etapa.
Las etapas siguientes toman la señal de reloj desde la etapa previa.
● La figura muestra un contador asíncrono típico de tres bits. Usa flip-flops JK
en el modo de basculación.
HIGH
Q0
J0
CLK
C
K0
Q1
J1
C
Q0
K1
Q2
J2
C
Q1
K2
Las formas de onda se ven en la siguiente diapositiva…
Contador asíncrono de tres bits
1
CLK
2
3
4
5
6
7
8
Q0
0
1
0
1
0
1
0
1
0
Q1
0
0
1
1
0
0
1
1
0
Q2
0
0
0
0
1
1
1
1
0
Retardo de Propagación
● Los contadores asíncronos también son conocidos como contadores de
propagación debido a que no todas las etapas cambian juntas. Para ciertas
aplicaciones que requieren altas velocidades de conmutación de reloj, esto
es una desventaja.
Observe como los
retardos son
acumulativos ya que
cada etapa en el
contador se dispara
después de la etapa
previa.
CLK
1
2
3
4
Q0
Q1
Q2
Q0 está retardado por 1 retardo de propagación, Q2 por 2 retardos y Q3 por 3 retardos.
Contador de décadas asincrónico
Decodificando el 1010 (10)
CLR
HIGH
J0
CLK
C
K0
Q0
J1
Q1
J2
Q2
J3
C
C
C
K1
K2
K3
Q3
Las formas de onda se ven en la siguiente diapositiva…
Contador de décadas asincrónico
CLK
1
2
3
4
5
6
7
8
9
Q0
Q1
Glitch
Glitc
h
Q2
Q3
CLR
Glitch
Glitch
10
El contador asincrónico 74LS93A
● El contador 74LS93A tiene un flip-flop JK en modo basculación manejado por
el CLKA y tres flip-flops JK en modo basculación que conforman un contador
asincrónico manejado por el CLKB.
CLK B
(1)
J0
Todas las entradas
J y K están
conectadas
internamente a un
nivel lógico ALTO
CLK A
(14)
J1
C
K0
RO (1)
RO (2)
J2
J3
C
C
C
K1
K2
K3
(2)
(3)
(12)
Q0
(9)
Q1
(8)
Q2
(11)
Q3
Contadores sincrónicos
● En un contador sincrónico todos los flip-flops se disparan al mismo tiempo
con un pulso de reloj común. Los contadores sincrónicos no sufren la
desventaja de retardos de propagación acumulativos, pero generalmente
requieren más circuitería para controlar los cambios de estado.
Este contador sincrónico
binario de 3 bits tiene la
misma secuencia de conteo
que el contador asincrónico
binario mostrado en
anteriores diapositivas.
HIGH
Q0
J0
C
K0
Q0
J1
Q1
Q0Q1
J2
C
C
K1
K2
Q2
CLK
La siguiente diapositiva muestra como analizar este contador escribiendo las
ecuaciones lógicas para cada entrada. Observe las entradas a cada flip-flop…
Análisis de contadores sincrónicos
● Aquí se ilustra una técnica tabular para el análisis del contador anterior. Esto
se realiza configurando las salidas como se muestra en la tabla y luego,
escribiendo las ecuaciones lógicas para cada entrada.
1. Poner el contador en un estado
arbitrario; luego determinar las
entradas para este estado.
2. Usar las nuevas entradas para
determinar el próximo estado: Q2 y Q1
se engancharán y Q0 basculará.
3. Configurar el próximo
grupo de entradas desde
la salida presente.
Lógica para entradas
Salidas
Q2 Q1 Q0
J2 = Q0Q1
K2 = Q0Q1
0 0 0
0
0
0
0
1
1
0 0 1
0
0
1
1
1
1
0 1 0
J1 = Q0
K1 = Q0
J0 = 1
K0 = 1
4. Q2 enganchará de nuevo pero ambos Q1 y Q0 bascularán.
Continuar así, hasta completar la tabla. La próxima
diapositiva muestra la tabla completada…
Análisis de contadores sincrónicos
Lógica de entradas
Salidas
Q2 Q1 Q0
J2 = Q0Q1
0 0 0
0
0
0
0
1
1
0 0 1
0
0
1
1
1
1
0 1 0
0
0
0
0
1
1
0 1 1
1
1
1
1
1
1
1 0 0
0
0
0
0
1
1
1 0 1
0
0
1
1
1
1
1 1 0
0
0
0
0
1
1
1 1 1
1
1
1
1
1
1
0 0 0
K2 = Q0Q1 J1 = Q0
K1 = Q0
J0 = 1
K0 = 1
En estos puntos todos los estados han sido
contados y el contador está listo para reiniciar…
Contador binario sincrónico de 4 bits
G1
FF0
HIGH
CLK
J0
FF1
Q0
C
K0
Q1Q0
J1
FF2
Q1
C
Q0
El contador binario de 4 bits
tiene una puerta AND más
que el contador de 3 bits
descrito previamente. El
área sombreada muestra
cuando las salidas de la
puerta AND están en ALTO
causando que el próximo
flip-flop bascule.
K1
Q0
Q1
Q2
Q3
G2
J2
Q2
C
Q1
K2
Q2Q1Q0
FF3
J3
Q3
C
Q2
K3
Q3
Contador de década BCD
● Con alguna lógica adicional, un contador binario se puede convertir en un
contador de década sincrónico BCD. Después de alcanzar el conteo 1001, el
contador reinicia a 0000.
Esta puerta detecta 1001 y provoca que el flip-flop FF3 bascule hasta el
próximo pulso de reloj. El flip-flop FF0 bascula en todos los pulsos de
reloj. De esta manera, el conteo inicia en 0000.
Q3
Q0
HIGH
FF1
FF0
J0
Q0
C
K0
CLK
J1
Q1
C
Q0
K1
FF3
FF2
J2
Q2
C
Q1
K2
J3
Q3
C
Q2
K3
Q3
Q3
Contador de década BCD
● Forma de onda para el contador de década BCD.
1
CLK
2
3
4
5
6
7
8
9
10
Q0
0
1
0
1
0
1
0
1
0
1
0
Q1
0
0
1
1
0
0
1
1
0
0
0
Q2
0
0
0
0
1
1
1
1
0
0
0
Q3
0
0
0
0
0
0
0
0
1
1
0
Estas mismas formas de onda se pueden obtener con un contador asíncrono
en forma de CI, el 74LS90. Está disponible en una versión dual (74LS390),
que puede ser configurada en cascada. Es más lento que los contadores
sincrónicos (máx. frec. de conteo es 35 MHz), pero es más simple.
Un C.I. contador binario sincrónico de 4 bits
Entrada de datos
D0 D1 D2 D3
(3) (4) (5) (6)
CLR (1)
(9)
LOAD
(10)
ENT
(7)
ENP
(2)
CLK
CTR DIV 16
TC = 15
(15)
RCO
C
(14) (13) (12) (11)
Q0 Q1 Q2 Q3
Salida de datos
La forma de onda de ejemplo
están en la próxima diapositiva…
CLR
LOAD
D0
Datos de
entrada
D1
D2
D3
CLK
ENP
ENT
Q0
Datos de
salida
Q1
Q2
Q3
RCO
12
2
13 14
15
0
Conteo
Clear Preset
1
Inhibir
Contadores sincrónicos ascendentes/descendentes
● Un contador sincrónico ascendente/descendente es capaz de contar en
cualquier dirección dependiendo de una entrada de control.
UP
HIGH
FF0
J
FF1
Q0
0
UP/DOWN
Q0.UP
C
K0
J1
FF2
Q1
C
Q0
DOWN
K1
J2
Q2
C
Q1
K2
Q2
Q0.DOWN
CLK
Un ejemplo de formas de onda se encuentra en la próxima diapositiva…
Contadores sincrónicos ascendentes/descendentes
Q0
Q1
Q2
UP/DOWN
Count up
Count
down
Contadores sincrónicos
ascendentes/descendentes
D0 D1 D2 D3 Data inputs
74HC19
(4)
CTEN 0
(5)
D/U
(11)
LOAD (14)
CLK
(15) (1) (10) (9)
(12)
MAX/MIN
CTR DIV 10
(13)
C
RCO
(3) (2) (6) (7)
Q0 Q1 Q2 Q3 Data outputs
D0 D1 D2 D3 Data inputs
El C.I. 74HC191 tiene las mismas
entradas y salidas pero es un
contador binario sincrónico
ascendente/descendente.
74HC19
(4)
CTEN 1
(5)
D/U
(11)
LOAD (14)
CLK
(15) (1) (10) (9)
(12)
MAX/MIN
CTR DIV 16
(13)
C
RCO
(3) (2) (6) (7)
Q0 Q1 Q2 Q3 Data outputs
Diseño de contadores sincrónicos
● La mayoría de los requerimientos para contadores sincrónicos se pueden
obtener desde los C.I. vistos. En casos donde se necesite una secuencia de
conteo especial, es posible aplicar un proceso de diseño sistemático.
Los pasos de diseño se describen en detalle en el texto base. Primero, se
describe la secuencia deseada y se dibuja un diagrama de estados y una tabla
de transición (o de estados siguientes/salida). A continuación se ilustra una
secuencia en código gray que se encuentra en el texto base.
Diagrama de estados:
000
100
001
101
011
111
010
110
Tabla de estados siguiente:
Present State
Q2 Q1 Q0
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
Next State
Q2 Q1 Q0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
Diseño de contadores sincrónicos
Cada vez que se dispara un flip-flop,
las entradas J y K requeridas para esa
transición se mapean en un K-map.
Un ejemplo de
mapa para J0 es:
Q2Q1
Q0
0
1
00
1
X
01
0
X
11
1
X
10
0
X
J0 map
Q2Q1
Q2Q1
Output
Transitions
Q N+1
QN
0
0
1
1
0
1
0
1
Flip-Flop
Inputs
J
K
0
1
X
X
X
X
1
0
La lógica para cada entrada se lee y
se construye el circuito. La siguiente
diapositiva muestra el circuito para
el contador del código gray…
Diseño de contadores sincrónicos
FF0
J
FF1
Q0
0
C
K0
J1
FF2
Q1
C
Q0
K1
Q2
J
2
C
Q1
K2
Q2
CLK
El circuito se puede comprobar mediante simulación antes
de ser construido. La siguiente diapositiva muestra el
resultado de simulación en Multisim…
Diseño de contadores sincrónicos
Q0
Q1
Q2
Contadores en cascada
● Es un método para lograr contadores de módulo superior. Para contadores
síncronos encapsulados como C.I., el próximo contador está habilitado
solamente cuando se logra el final del conteo en la etapa previa.
HIGH
ƒin
Counter
1
CTEN
16
TC
Counter
2
CTEN
CTR DIV 16
CLK
fin
C
Q0 Q1 Q2 Q3
TC
CTR DIV 16
C
Q0 Q1 Q2 Q3
foutƒin
256
Decodificación en contadores
● Decodificación es la detección de un número binario y se puede hacer con
una puerta AND.
HIGH
J0
Q0
J1
C
K0
Q1
J2
C
Q0
Q0
K1
C
Q1
Q1
K2
CLK
1
Q2
1
LSB
1
MSB
Decoded 4
Q2Q1Q0
Q2
Q2
Decodificación parcial
● El contador de década previamente mostrado incorpora decodificación
parcial (mirando solamente el MSB y el LSB) para detectar 1001. Esto fue
posible porque esta es la primera ocurrencia de esta combinación en la
secuencia.
Detecta 1001 al mirar solamente dos bits
HIGH
FF1
FF0
J0
Q0
C
K0
CLK
J1
Q1
C
Q0
K1
FF3
FF2
J2
Q2
C
Q1
K2
J3
Q3
C
Q2
K3
Q3
Q3
Palabras claves de la UNIDAD
Asíncrono No ocurre al mismo tiempo.
Módulo El número de estados únicos a través del cual un
contador realizará la secuencia.
Síncrono Ocurre al mismo tiempo.
Conteo El estado final en una secuencia de contador.
terminal
Máquina Un sistema lógico que exhibe de estados o valores.
de estado
Cascada Conexión en secuencia de contadores con el fin de
incrementar las capacidades de los mismos.
BIBLIOGRAFÍA
Libro base: “Fundamentos de Sistemas Digitales”. Autor: Tomas L. Floyd.
Libro complemento: “Principios de Diseño Digital”. Autor: Daniel D. Gaski.
Descargar