Académique Documents
Professionnel Documents
Culture Documents
CHAPITRE 5
LA FONCTION COMPTAGE
1 – INTRODUCTION
1.1 – Définitions
1
7
3
Par exemple si le compteur contient 3 bascules, on pourra compter de 0 à .
Définition 2 : la combinaison de sortie d'un compteur est appelé état du compteur.
Pour un compteur à 3 bascules, la séquence des états est la suivante : 000, 001, 010, 011,
100, 101, 110, 111.
Définition 3 : le nombre d'états possibles d'un compteur est appelé modulo. On dit encore que
c’est la capacité du compteur.
Un compteur modulo N passe successivement par N états. Un compteur binaire naturel
compte de 0 à N – 1. Le graphe suivant présente les différents états parcourus par un
compteur modulo 8.
000
111 001
110 010
101 011
100
a) Compteur synchrone
Dans un compteur synchrone, toutes les entrées d’horloges des bascules sont reliées à la
même entrée d’horloge et commutent en même temps.
b) Compteur asynchrone
Dans un compteur asynchrone, les bascules n’ont pas la même entrée horloge et
commutent indépendamment l’une de l’autre.
1.2.2 - – Classification selon le sens de comptage
Elle permet de différencier :
les compteurs (évolution croissante de l’état dans le temps),
les décompteurs (évolution décroissante de l’état dans le temps).
Certains d’entre eux peuvent assurer les deux fonctions : on les appelle compteurs
réversibles.
1.2.3 – Classification selon le mode de comptage
Elle permet de différencier :
les compteurs à cycle complet,
les compteurs à cycle incomplet.
Exemples :
Un compteur 4 bits qui compte de 0 à 15 en binaire naturel est un compteur à cycle
complet, car sa valeur de sortie utilise toutes les combinaisons possibles de ses
sorties.
Un compteur 4 bits qui compte de 0 à 9 seulement (on l’appelle aussi compteur BCD)
est un compteur à cycle incomplet, car les 16 combinaisons de ses 4 sorties ne sont
pas toutes utilisées.
Un compteur 6 bits qui décompte de 53 à 12 est un décompteur à cycle incomplet.
2 – COMPTEURS ASYNCHRONES
2.1 – Compteur modulo 2
C’est le compteur le plus simple puisqu’il ne fait qu’un bit, mais il sera à la base de la
réalisation de tous les autres. On peut le réaliser avec une bascule JK ou une bascule D Edge
2
Triggered (uniquement, pas de D-latch) selon le schéma suivant. Les deux bascules sont montées
en diviseur par 2 :
les entrées J et K sont câblées à l’état 1, donc la bascule change d’état sur chaque
front efficace d’horloge,
Q
l’entrée D reçoit , donc prend en compte l’état complémenté de la sortie Q sur
chaque front efficace d’horloge.
5V
J Q D Q
CK H
CK T Q
K Q
Chronogramme
CK
1 1 1
Q
0 0 0
3
5V
Q0 Q1 Q2
J J J
CK H H H
K Q K Q K Q
CK
Q0
Q1
Q2
000 001 010 011 100 101 110 111 000 001 010
CK Q2 Q1 Q0 Décimal
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
Nous avons réalisé un compteur s'incrémentant d'une unité à chaque impulsion d'horloge,
avec un cycle de huit valeurs de 0 à 7 (modulo 8). Nous constatons également que les sorties Q0,
4
Q1 et Q2 fournissent des signaux périodiques de fréquences respectivement 2, 4 et 8 fois plus
faibles. La division de fréquence est une des applications des compteurs.
2.2.2 – Compteur à cycle incomplet
On peut souhaiter compter jusqu'à un nombre N qui ne soit pas une puissance de 2, par
exemple 7 ou 12 dans le système décimal. Pour cela on va utiliser un compteur de n bascules, tel
N
2
n
que . Ensuite, comme le cycle n’est pas une puissance de 2, la seule solution est d’agir sur
l’entrée « Clear » de chaque bascule lorsque la combinaison correspondant au modulo du
compteur se produit sur les sorties de celui-ci.
Exemple : compteur modulo 10
Nous voulons que l'entrée Clear soit à 0 lorsque le compteur atteint (10)10 = (1010)2. Pour
cela nous pouvons écrire l'expression logique :
Cl Q3 .Q2 .Q1.Q0
En fait, dans ce cas particulier, nous pouvons simplifier cette relation logique en ne tenant
compte que des sorties à 1 dans l'expression binaire de N. En effet il ne peut y avoir ambiguïté :
toute combinaison contenant les mêmes sorties à 1 et au moins une autre à 1 correspond à un
nombre plus grand que N et ne peut être rencontrée dans la séquence décrite par le compteur.
Pour un compteur modulo 10 nous pouvons donc utiliser Cl Q 3 .Q1 , ce qui nous conduit au
schéma ci-dessous (réalisation avec des bascules D.
Q0 Q1 Q2 Q3
D Q D Q D Q D Q
CK T Q T Q T Q T Q
Cl Cl Cl Cl
&
5V
Q0 Q1 Q2
J J J
CK H H H
K Q K Q K Q
CK
Q0
Q0
Q1
Q1
Q2
000 111 110 101 100 011 010 001 000 111 110
6
CK Q2 Q1 Q0 Décimal
1 1 1 7
1 1 0 6
1 0 1 5
1 0 0 4
0 1 1 3
0 1 0 2
0 0 1 1
0 0 0 0
Les compteurs et décompteurs asynchrones ont la particularité d’être très simples à mettre
en œuvre, qu’ils soient à cycle complet ou à cycle incomplet. Par contre ils ont aussi des
inconvénients comme nous allons le voir.
Nous en avons eu un premier aperçu lors du comptage incomplet avec le phénomène de
glitch : la logique combinatoire nécessaire pour fabriquer le signal Clear propage un état transitoire
qui peut générer des dysfonctionnements si les sorties du compteur sont utilisées. D’une manière
générale, il n’y a pas de méthode fiable pour réaliser des cycles incomplets ou d’autres
énumérations que le code binaire naturel.
Le second inconvénient majeur est lié au temps de propagation tp des bascules lorsqu’elles
passent de 0 à 1 ou de 1 à 0 (25 ns pour le tpLH et 40 ns pour le tpHL). Comme les bascules ne
commutent pas sur le même signal d’horloge, les retards s’additionnent : à la nième bascule, on a
tr
n
.
tp
un retard . Ceci a pour conséquence de provoquer également des états transitoires qui
peuvent être indésirables. Supposons un temps de réponse tp identique pour toutes les bascules.
Considérons la chronologie du passage d'un compteur asynchrone 4 bits de 0111 à 1000. Celle-ci
est présentée sur la figure 5.12.
C LK
Q0
tp
Q1
tp
Q2
tp
tp
Q3
Figure 5.12 – Effet des temps de propagation des bascules dans un comptage asynchrone
7
Nous constatons que, au lieu de passer directement de 0111 à 1000, le compteur passe
successivement par les états 0111, 0110, 0100, 0000 et enfin 1000. Ceci est un inconvénient
rédhibitoire chaque fois que la sortie du compteur est exploitée par des organes rapides.
Dernier inconvénient : c’est une utilisation du compteur limitée en fréquence, à cause de
l’accumulation des retards des bascules. Plus le nombre de bits est élevé, puisque le nombre de
bascules augmente, plus les retards s’accumulent, plus la fréquence d’utilisation diminue. La
fréquence maximum de fonctionnement Fmax d’un compteur modulo N, constitué de n bascules de
temps de propagation tp peut être établie comme suit :
Délai de propagation du compteur : tr = n.tp
donc période minimum de l’horloge : tH = tr,
1 1
soit Fréquence max de l’horloge) : Fmax
TH nt p
Ces inconvénients font qu’on préfère utiliser le plus souvent des compteurs synchrones.
3 – COMPTEURS SYNCHRONES
Dans un compteur synchrone, toutes les bascules (JK ou D) sont déclenchées par le même
signal d’horloge. Ceci évite le problème du retard de propagation et de ce fait les états indésirables
ont des durées limitées au temps de propagation d’une bascule. Il n’y a qu’une seule méthode
pour réaliser tous les types de compteurs, qu’ils soient à cycle complet, incomplet ou à
énumération quelconque.
Donc, le champ d’application des compteurs synchrones est beaucoup plus large que celui
des compteurs asynchrones. Par contre, leur complexité est supérieure à celle des compteurs
asynchrones.
3.1 – Synthèse des compteurs synchrone
3.1.1 – Table de transition des bascules JK et D
Tout couple Q(t), Q(t+1) est appelé transition d’une bascule bistable. Il existe quatre
transitions possibles que l’on peut représenter par une table des transitions. La table des
transitions de la bascule JK ou de la bascule D exprime les valeurs qu’il faut conférer à J, K ou D
pour assurer les quatre transitions possibles.
N
2
n
On désire compter de 0 à N – 1, avec . On aura donc besoin de n bascules. La
synthèse peut s’effectuer avec des bascules JK ou D. Nous explicitons dans les 2 exemples ci-
dessous la méthode pour chacun des 2 types de bascule.
9
Q 1Q 0 Q 1Q 0
Q2 00 01 11 10 Q2 00 01 11 10
0 1 X X 1 0 X 1 1 X
1 1 X X 1 1 X 1 1 X
J0
1
0
Q 1Q 0 Q 1Q 0
Q2 00 01 11 10 Q2 00 01 11 10
0 0 1 X X 0 X X 1 0
0 X X X X 1 0
1 1 1
J1
Q
0
4) Bascule Q2
Q2(t) Q1(t) Q0(t) Q2(t+1) Transition J2 K2
0 0 0 0 M0 0 X
0 0 1 0 M0 0 X
0 1 0 0 M0 0 X
0 1 1 1 E 1 X
1 0 0 1 M1 X 0
1 0 1 1 M1 X 0
1 1 0 1 M1 X 0
1 1 1 0 D X 1
Q 1Q 0
Q2 00 01 11 10
0 0 0 1 0
1 X X X X
J2
Q
.
Q
1
10
Q 1Q 0
Q2 00 01 11 10
0 X X X X
1 0 0 1 0
Q
.
Q
2
0
5) Logigramme
5V &
Q0 Q1 Q2
J J J
CK
H H H
K Q K Q K Q
11
Q 1Q 0
Q2 00 01 11 10
0 1 0 0 1
1 1 0 0 1
Q
0
0
On opère de la même manière pour les bascules Q1 et Q2.
2) Bascule Q1
Q2(t) Q1(t) Q0(t) Q1(t+1) Transition D1
0 0 0 0 M0 0
0 0 1 1 E 1
0 1 0 1 M1 1
0 1 1 0 D 0
1 0 0 0 M0 0
1 0 1 1 E 1
1 1 0 1 M1 1
1 1 1 0 D 0
Q 1Q 0
Q2 00 01 11 10
0 0 1 0 1
1 0 1 0 1
D
Q
1
3) Bascule Q2
Q2(t) Q1(t) Q0(t) Q2(t+1) Transition D2
0 0 0 0 M0 0
0 0 1 0 M0 0
0 1 0 0 M0 0
0 1 1 1 E 1
1 0 0 1 M1 1
1 0 1 1 M1 1
1 1 0 1 M1 1
1 1 1 0 D 0
Q 1Q 0
Q2 00 01 11 10
0 0 0 1 0
1 1 1 0 1
12
Remarque : les équations logiques des entrées D sont plus compliquées que celles des entrées J
et K. Ce sera le cas le plus souvent, et c’est donc plus difficile à mettre en œuvre. On privilégiera
donc les bascules JK.
N
2
n
On désire compter de 0 à N – 1, avec . On aura donc toujours besoin de n bascules. La
synthèse peut s’effectuer comme précédemment avec des bascules JK ou D.
Application : compteur synchrone modulo 10
CK Q3 Q2 Q1 Q0 Décimal
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
Pour gagner du temps, on va coder directement les excitations de chaque bascule dans
une table de Karnaugh où toutes les cases utiles sont repérées par leur équivalent décimal. Pour
les 6 combinaisons n’étant pas utilisées, leur contenu est indifférent (X).
13
Q 1Q 0
Q
Q3 2 00 01 11 10
00
0 1 3 2
01
4 5 7 6
11 X X X X
10 X X
8 9
2) Bascule Q0
Q 1Q 0 Q 1Q 0
00 01 11 10 Q 3Q 2 00 01 11 10
Q 3Q 2
00 1 X X 1 00 X 1 1 X
0 1 3 2 0 1 3 2
01 1 X X 1 01 X 1 1 X
4 5 7 6 4 5 7 6
11 X X X
11 X X X X
X
10 1 X X
10 X 1 X X
X 8 9
K
8 9
J0
3) Bascule Q1
14
Q 1Q 0 Q 1Q 0
Q 3Q 2 00 01 11 10 Q 3Q 2 00 01 11 10
00 0 1 X X 00 X X 1 0
0 1 3 2 0 1 3 2
01 0 1 X X 01 X X 1 0
4 5 7 6 4 5 7 6
11 X X X X 11 X X X X
X X
10 0 0 X X 10 X X
8 9 8 9
J1
Q
J1
Q
.
Q
0
3
4) Bascule Q2
Q 1Q 0 Q 1Q 0
Q
Q3 2 00 01 11 10 Q
Q3 2 00 01 11 10
00 0 0 1 0 00 X X X X
0 1 3 2 0 1 3 2
01 X X X X 01 0 0 1 0
4 5 7 6 4 5 7 6
11 X X X X 11 X X X X
10 0 0 X X 10 X X X X
8 9 8 9
J2
Q
.
Q
Q
.
Q
1
15
5) Bascule Q3
Q 1Q 0
00 01 11 10 Q 1Q 0
Q
Q3 2 00 01 11 10
Q 3Q 2
00 0 0 0 0 00 X X X X
0 1 3 2
0 1 3 2
01 0 0 1 0 X
4 5 7 6
01 X X X
4 5 7 6
11 X X X X 11 X X X X
10 X X 9 X X
8 10 0 8 1 9 X X
J3
Q
.
Q
.
Q
Q
2
3
0
6) Logigramme
5V &
&
&
J Q0 J Q1 J Q2 J Q3
CK
H H H H
K Q K Q K Q K Q
16
1) Table d’excitation du compteur :
Q 1Q 0 Q 1Q 0
Q2 00 01 11 10 Q2 00 01 11 10
0 0 X X 1 0 X 0 1 X
0 1 3 2 0 1 3 2
1 X X X 0 1 X 0 X X
5 6 5 6
K
Q
J0
Q
.
Q
2
3) Bascule Q1
Dec Q2(t) Q1(t) Q0(t) Q1t+1) Transition J0 K0
5 1 0 1 0 M0 0 X
1 0 0 1 1 E 1 X
3 0 1 1 1 M1 X 0
6 1 1 0 0 D X 1
0 0 0 0 1 E 1 X
2 0 1 0 0 D X 1
Q 1Q 0 Q 1Q 0
Q2 00 01 11 10 Q2 00 01 11 10
0 1 1 X X X 0 X X 0 1
0 1 3 2 0 1 3 2
1 X 0 X X 1 X X X 1
5 6 5 6
J1
Q
2
17
4) Bascule Q2
Dec Q2(t) Q1(t) Q0(t) Q2+1) Transition J0 K0
5 1 0 1 0 D X 1
1 0 0 1 0 M0 0 X
3 0 1 1 1 E 1 X
6 1 1 0 0 D X 1
0 0 0 0 0 M0 0 X
2 0 1 0 1 E 1 X
Q 1Q 0 Q 1Q 0
Q2 00 01 11 10 Q2 00 01 11 10
0 0 0 1 1 0 X0 X X X
0 1 3 2 1 3 2
1 X X X X 1 X 1 X 1
5 6 5 6
J2
1
1
2
5) Logigramme
5V
& Q1 Q2
J0 Q0 J1 J2
CK H H H
K0 Q0 K1 Q1 K2 Q2
4 – COMPTEURS REVERSIBLES
4.1 – Compteur-décompteur asynchrone
Q
i
1
Pour réaliser un décompteur il faut que le changement d'état d'une bascule intervienne
lorsque la bascule de rang immédiatement inférieur passe de l'état 0 à 1. Pour cela il
Q
Qi
1
18
Pour réaliser un compteur-décompteur, il faut associer ces deux possibilités et pouvoir
choisir : on compte ou on décompte, mais on ne peut pas faire les 2. Pour cela, on utilise une ligne
de commande X qui permet de sélectionner le mode de comptage :
si X = 1 ⇒ compteur,
si X = 0 ⇒ décompteur.
Donc, l’équation de l’entrée horloge de la bascule de rang i sera la suivante :
Hi
X
.
Q
X
.
Qi
X
Q
i
1
i
1
X
.
Q
X
.
Qi
i
1
1
réaliser directement avec 2 portes ET et une porte OU, car la
fonction OU exclusif complémenté n’existe pas en circuits intégrés,
utiliser un multiplexeur 21 en se rappelant que le multiplexeur peut être utilisé pour
réaliser des fonctions logiques (voir chapitre 3 paragraphe 3.2.3 B).
X Mux
a
E0
Y
E1
t
a
g
e
E
i
1
i
X
J Q Mux
J Q
a
CK H H
E0
Y
K Q E1 K Q
5V
Q
.
Q
.1
Q
i
i
1
19
CK Q2(t) Q1(t) Q0(t) Q2(t+1) Q1(t+1) Q0(t+1)
1 1 1 1 1 0
1 1 0 1 0 1
1 0 1 1 0 0
1 0 0 0 1 1
0 1 1 0 1 0
0 1 0 0 0 1
0 0 1 0 0 0
0 0 0 1 1 1
Q 1Q 0 Q 1Q 0
Q2 00 01 11 10 Q2 00 01 11 10
0 1 X X 1 0 X 1 1 X
1 1 X X 1 1 X 1 1 X
J0
1
0
3) Bascule Q1
Q2(t) Q1(t) Q0(t) Q1(t+1) Transition J1 K1
1 1 1 1 M1 X 0
1 1 0 0 D X 1
1 0 1 0 M0 0 X
1 0 0 1 E 1 X
0 1 1 1 M1 X 0
0 1 0 0 D X 1
0 0 1 0 M0 0 X
0 0 0 1 E 1 X
Q 1Q 0
Q2 00 01 11 10
0 1 0 X X
1 1 0 X X
J1
Q
0
20
Q 1Q 0
Q2 00 01 11 10
0 X X 0 1
1 X X 0 1
Q
1
0
4) Bascule Q2
Q2(t) Q1(t) Q0(t) Q2(t+1) Transition J2 K2
1 1 1 1 M1 X 0
1 1 0 1 M1 X 0
1 0 1 1 M1 X 0
1 0 0 0 D X 1
0 1 1 0 M0 0 X
0 1 0 0 M0 0 X
0 0 1 0 M0 0 X
0 0 0 1 E 1 X
Q 1Q 0 Q 1Q 0
Q2 00 01 11 10 Q2 00 01 11 10
0 1 0 0 0 0 X X X X
1 X X X X 1 1 0 0 0
J2
Q
.1
Q
Q
.1
Q
0
0
5) Logigramme
5V
J Q0 J Q1 J Q2
CK
H H H
K Q0 K Q1 K Q2
&
Q
.0
Q
.
.
.
.
Qi
i
.
.
.
Ji
K
X
.
Q
.0
Q
.1
Qi
X
.
Q
.
Q
.1
Q
i
i
1
21
X
.
.
.
Q
.
Q
.1
Q
.
.
.
Q
.
Q
.1
Q
0
i
2
i
1
&
J Q Mux J Q
a
H H
E0
Y
K Q E1 K Q
.
.
.
&
Q
.0
Q
.1
Qi
.
.
.
Q
.0
Q
.1
Qi
2
1
CK
Il existe de nombreux compteurs en technologie TTL. Parmi les plus populaires on trouve :
1. La famille 7490 la plus ancienne avec :
7490 – Compteur BCD ou Décade (diviseur par 2 et diviseur par 5 séparés)
7492 – Compteur modulo 12 (diviseur par 2 et diviseur par 6 séparés)
7493 – Compteur modulo 16 (diviseur par 2 et diviseur par 8 séparés)
2. La famille des compteurs pré-réglables 74160 (74161, 74162, 74163)
l’état initial du compteur est réglable à l’aide des entrées de chargement (preset),
l’entrée validation permet de verrouiller le compteur,
la RAZ synchrone est indépendante de l’horloge,
sur une RAZ asynchrone, 0000 est obtenu au coup d’horloge suivant l’instant où
l’entrée Clear est porté à l’état actif 0.
3. La famille des compteurs réversibles pré-réglables 74190 (74191, 74192, 74193)
22
entrées chargement et clear communes pour les 190 et 191,
entrées chargement et clear indépendantes pour les 192 et 193.
6 – CONCLUSION
23