Compteurs asynchrones et synchrones
Compteurs asynchrones et synchrones
11. Définition
Un compteur est un circuit séquentiel constitué essentiellement par des bascules (D, JK)
reliées entre elles de manière à avoir sur les sorties des états logiques qui représentent le
nombre d'impulsions appliquées sur l'entrée d'horloge du compteur.
Qu’il soit asynchrone ou synchrone un compteur est défini par ses séquences ou état de comptage.
Un compteur ou décompteur modulo N de façon classique est un compteur qui compte de 0 à N-1 ou
qui décompte de N-1 à 0. Dans ce cas :
*Si N=2^n on dit le compteur ou décompteur est à cycle complet ou régulier
Page 1 sur 15
AOP ET FILTRES
21. Principe
Page 2 sur 15
AOP ET FILTRES
A B C D
1 J Q 1 J Q 1 J Q 1 J Q
H H H H H
1 K Q 1 K Q 1 K Q 1 K Q
Les compteurs asynchrones son obtenu par association de bascule J-K comme le montre la figure Fig. 3.7 Toutes les
bascules ont leurs entrées J et K forcées à 1, il en résulte qu'à chaque coup d'horloge, leurs sortie changent d'état. Pour
ce qui concerne l'horloge, la "première" bascule, celle dont la sortie constitue le LSB, reçoit l'horloge externe. Les
autres bascules, reçoivent chacune sur son entrée horloge, la sortie de la bascule (précédente) de poids juste inférieur.
Le chronogramme de la figure Fig. 3.8 montre l'évolution du compteur en fonction du temps (de l'horloge).
0 0 0 0 0 0 0 0
A 1 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
B 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
C 1 1 1 1 1 1 1 1
0 0 0 0 0 0 0 0 0 0
D 1 1 1 1 1 1 1 1
Décima0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1
Fig. 3.8 : Chronogramme d'un compteur asynchrone 4 bits (modulo 16)
état 0110=6 qui va exister pendant Tp. De la même façon, quand B passe à 0, C
en fait de même mais après un retard Tp, il en résulte
l'état transitoire 0100=4. Quand C passe à 0, D passe à 1 mais après Tp, il en résulte l'état transitoire 0000=0.
On remarque donc que pendant le changement d'état 7 → 8, le système en réalité passe par la
séquence suivante : 7 → 6 → 4 → 0 → 8 .
En général, ceci n'est pas très gênant car les états transitoires durent très peut de temps. Mais dans certains cas, on
est obligé d'utiliser d'autres compteurs qui ne présentent pas cet inconvénient.
Page 3 sur 15
AOP ET FILTRES
A B C D
1 1
J Q 1 1
J Q J Q J Q
H H H H H
1 1
K Q 1 1
K Q K Q K Q
A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0
0
B 0 1 1 0 0 1 1 0 1 1 0 0 1 1 0 0
C 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0
D 1 1 1 1 1 1 1 1
Décimal 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Fig. 3.11 : Chronogramme d'un décompteur asynchrone 4 bits (modulo 16)
Une deuxième méthode consiste à prendre les sorties du compteur sur les sorties inversées des bascules (Fig. 3.12 et
Fig. 3.13)
1 J Q 1 J Q 1 J Q 1 J Q
H H H H H
1 K Q 1 K Q 1 K Q 1 K Q
A B C D
Fig. 3.12 : Décompteur asynchrone 4 bits
Page 4 sur 15
AOP ET FILTRES
D C B A D C B A
0 0 0 0 0 1 1 1 1 15
1 0 0 0 1 1 1 1 0 14
2 0 0 1 0 1 1 0 1 13
3 0 0 1 1 1 1 0 0 12
4 0 1 0 0 1 0 1 1 11
5 0 1 0 1 1 0 1 0 10
6 0 1 1 0 1 0 0 1 9
7 0 1 1 1 1 0 0 0 8
8 1 0 0 0 0 1 1 1 7
9 1 0 0 1 0 1 1 0 6
10 1 0 1 0 0 1 0 1 5
11 1 0 1 1 0 1 0 0 4
12 1 1 0 0 0 0 1 1 3
13 1 1 0 1 0 0 1 0 2
14 1 1 1 0 0 0 0 1 1
15 1 1 1 1 0 0 0 0 0
Séquence de comptage et de décomptage.
3 "petits'" multiplexeurs 1 parmi 2. L'entrée de contrôle U/d permet de choisir le sens de comptage. U/D=1 ⇒ comptage
sortie Q de la bascule précédente selon si l'on désire fonctionner en compteur ou en décompteur. Ceci est réalisé grâce à
A B C D
1 j Q 1 j Q 1 j Q 1 j Q
H
1 k Q 1 k Q 1 k Q 1 k Q
U/D
Comptage incomplet
n
Jusqu'ici nous avons étudié des compteurs qui parcourent toutes les valeurs possibles de 0 à 2 -1 (nombre de bascules). Il
n
arrive qu'on ait besoin de compteurs à cycle incomplet, c.a.d. des compteurs modulo N avec N≠2 , qui comptent de 0 jusqu'à
N-1 et recommence à 0.
n
Pour le cas des compteur asynchrones, pour construire un compteur [N], (modulo N) avec N≠2 , on détecte l'état N, et
on s'en sert pour remettre le compteur à 0 d'une façon asynchrone : Le compteur est remis à 0 au moment où l'état N
essaye d'apparaître, donc celui ci est remplacé par 0. la figure Fig. 3.15 montre un compteur modulo 5 et un compteur
modulo 6.
Page 5 sur 15
AOP ET FILTRES
A B C D A B C D
H Compteur H Compteur
[5] [6]
C C
Compteurs modulo 5 et 6
Pour ce qui concerne les compteurs synchrones, le problème ne se pose pas, car la séquence de comptage est prise
en considération lors de la synthèse des compteurs.
A B C D A B C D A B C D A B C D
A B C D A B C D A B C D A B C D
Fig. 3.17 : Compteur des secondes (à gauche) suivi du compteur des minutes
Page 6 sur 15
AOP ET FILTRES
UTILISATION
Page 7 sur 15
AOP ET FILTRES
Les compteurs synchrones sont aussi réalisés à l'aide de bascule J-K. Mais à la différence des compteurs
asynchrones, ici toutes les bascules reçoivent la même horloge. Il en résulte qu'a chaque coup d'horloge toutes les
sorties changent en même temps, il n y a donc pas d'états transitoires.
D C B A JA KA JB KB JC KC JD KD
0 0 0 0 0 1 x 0 x 0 x 0 x
1 0 0 0 1 x 1 1 x 0 x 0 x
2 0 0 1 0 1 x x 0 0 x 0 x
3 0 0 1 1 x 1 x 1 1 x 0 x
4 0 1 0 0 1 x 0 x x 0 0 x
5 0 1 0 1 x 1 1 x x 0 0 x
6 0 1 1 0 1 x x 0 x 0 0 x
7 0 1 1 1 x 1 x 1 x 1 1 x
8 1 0 0 0 1 x 0 x 0 x x 0
9 1 0 0 1 x 1 1 x 0 x x 0
10 1 0 1 0 1 x x 0 0 x x 0
11 1 0 1 1 x 1 x 1 1 x x 0
12 1 1 0 0 1 x 0 x x 0 x 0
13 1 1 0 1 x 1 1 x x 0 x 0
14 1 1 1 0 1 x x 0 x 0 x 0
15 1 1 1 1 x 1 x 1 x 1 x 1
JA J J J
B C D
BA BA BA BA
DC 00 01 11 10 DC 00 01 11 10 DC 00 01 11 10 DC 00 01 11 10
00 1 x x 1 00 0 1 x x 00 0 0 1 0 00 0 0 0 0
01 1 x x 1 01 0 1 x x 01 x x x x 01 0 0 1 0
11 1 x x 1 11 0 1 x x 11 x x x x 11 x x x x
10 1 x x 1 10 0 1 x x 10 0 0 1 0 10 x x x x
J =1 J =A JC = AB JD = ABC
A B
Page 8 sur 15
AOP ET FILTRES
KA KB KC KD
BA BA BA BA
DC 00 01 11 10 DC 00 01 11 10 DC 00 01 11 10 DC 00 01 11 10
00 x 1 1 x 00 x x 1 0 00 x x x x 00 x x x x
01 x 1 1 x 01 x x 1 0 01 0 0 1 0 01 x x x x
11 x 1 1 x 11 x x 1 0 11 x x x x 11 0 0 1 0
10 x 1 1 x 10 x x 1 0 10 0 0 1 0 10 0 0 0 0
KA = 1 KB = A KC = AB KD = ABC
A B C B
1 J Q J Q J Q J Q
H H H H
1 K Q K Q K Q K Q
Généralisation
Compteur synchrone : Ja = Ka = 1
Jb = Kb = A
Jc = Kc = AB
Jd = Kd = ABC
Jn = Kn = Q0Q1Q2 …Qn-1
Décompteur synchrone : ja = ka = 1
jb = kb = A
jc = kc = A B
jd = kd = A B C
jn = kn = Q0Q1Q2
…Qn-1
A B C D
1 J Q J Q J Q J Q
H H H H
1 K Q K Q K Q K Q
H
Figure 3.1 : Décompteur Synchrone 4 bits
Page 9 sur 15
AOP ET FILTRES
A B C D
DIR
J Q J Q J Q J Q
M
1 H M H M H
H
K Q K Q K Q K Q
CLR
Figure 3.2 : Compteur Décompteur Synchrone
QA QB QC QD
DIR
J Q J Q J Q
1 H M H M H
K Q K Q K Q
C P C P C P
H
CLR
Page 10 sur 15
AOP ET FILTRES
J Q
M H
K Q
C P
A B C D
Figure 3.3 : Comteur Décompteur Synchrone avec chargement parallèle et RAZ
D C B A JA KA JB KB JC KC JD KD
0 0 0 0 0 1 x 0 x 0 x 0 x
1 0 0 0 1 x 1 1 x 0 x 0 x
2 0 0 1 0 1 x x 0 0 x 0 x
3 0 0 1 1 x 1 x 1 1 x 0 x
4 0 1 0 0 1 x 0 x x 0 0 x
5 0 1 0 1 x 1 1 x x 0 0 x
6 0 1 1 0 1 x x 0 x 0 0 x
7 0 1 1 1 x 1 x 1 x 1 1 x
8 1 0 0 0 1 x 0 x 0 x x 0
9 1 0 0 1 x 1 0 x 0 x x 1
Page 11 sur 15
AOP ET FILTRES
J
A J J J
B C D
BA BA BA BA
DC 00 01 11 10 DC 00 01 11 10 DC 00 01 11 10 DC 00 01 11 10
00 1 x x 1 00 0 1 x x 00 0 0 1 0 00 0 0 0 0
01 1 x x 1 01 0 1 x x 01 x x x x 01 0 0 1 0
11 x x x x 11 x x x x 11 x x x x 11 x x x x
10 1 x x x 10 0 0 x x 10 0 0 x x 10 x x x x
J =1 J = AD JC = AB JD = ABC
A B
KA KB KC KD
BA BA BA BA
DC 00 01 11 10 DC 00 01 11 10 DC 00 01 11 10 DC 00 01 11 10
00 x 1 1 x 00 x x 1 0 00 x x x x 00 x x x x
01 x 1 1 x 01 x x 1 0 01 0 0 1 0 01 x x x x
11 x x x x 11 x x x x 11 x x x x 11 x x x x
10 x 1 x x 10 x x x x 10 0 x x x 10 0 1 x x
KA = 1 KB = A KC = AB KD = A
A B C D
1 J Q J Q J Q J Q
H H H H
1 K Q K Q K Q K Q
H
La mise en cascade doit être SYNCHRONES, tous les compteurs doivent recevoir la même horloge.
Le problème est que de cette façon ils vont compter en parallèle et on aura pas le comptage désiré.
A BC D A BC D A BC D A BC D
Il faut qu’un compteur ne s’incrémente que lors du débordement du compteur précédent. On va rajouter à chaque
compteur une entrée de validation V et une sortie de retenue R
Page 12 sur 15
AOP ET FILTRES
La sortie de retenue R passe à 1 pour indiquer que le compteur est arrivé en fin de cycle.
Compteur 4 bits, N=15 R=1, N≠15 R=0
Compteur par 10, N=9 R=1, N≠9 R=0
A B C D
R
V
J Q J Q J Q J Q
H H H H
K Q K Q K Q K Q
H
A BC D A BC D A BC D A BC D
R R R
V CTR0 V CTR1 V CTR2 V CTR3
H H H H
Page 13 sur 15
AOP ET FILTRES
TD
Page 14 sur 15
AOP ET FILTRES
TD
Page 15 sur 15