Vous êtes sur la page 1sur 23

O.

IKHOUANE – Cours d’Automatismes – GIM 1

CHAPITRE 5

LA FONCTION COMPTAGE

La plupart des équipements numériques utilisent des compteurs. Un compteur est un


ensemble de bascules interconnectées par des portes logiques qui sert à compter les impulsions
arrivant sur son entrée Horloge. Le comptage peut s’effectuer dans différents codes : binaire pur,
BCD, Gray, etc. Hormis cette fonction principale, le compteur peut aussi être utilisé pour la division
de fréquence, les opérations de séquencement et les opérations arithmétiques.

1 – INTRODUCTION

1.1 – Définitions

Définition 1 : un compteur est un circuit séquentiel comportant n bascules décrivant au rythme


d'une horloge un cycle de comptage régulier ou quelconque d'un maximum de 2n combinaisons.

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

Figure 5.1 – Séquence de comptage modulo 8


1.2 – Classification des compteurs

Les compteurs peuvent être classés en fonction de 3 caractéristiques :


 le type de basculement du compteur,
 le sens du comptage,
 le mode de comptage.
1.2.1 – Classification selon le type de basculement
Elle permet de différencier les compteurs asynchrones des compteurs synchrones.

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

Figure 5.2 – Compteurs modulo 2

Chronogramme

CK

1 1 1
Q
0 0 0

Figure 5.3 – Chronogramme de fonctionnement d’un compteur modulo 2


Sur le chronogramme, on constate que la fréquence du signal sortant de Q est la moitié de
la fréquence du signal d’horloge. On dit que la bascule fonctionne en diviseur par 2.

2.2 – Compteur asynchrone modulo 2 n

Un compteur asynchrone est constitué de n bascules J-K ou D fonctionnant en diviseur


par 2. Le signal d'horloge n'est reçu que par le premier étage (bascule LSB : Least Significant
Bit). Pour chacune des autres bascules, le signal d'horloge est fourni par une sortie de la
bascule de rang immédiatement inférieur.
Le comptage s’effectue en binaire pur et on pourra compter de 0 à 2n – 1 :
 si n = 2, on compte de 0 à 3,
 si n = 3, on compte de 0 à 7,
 si n= 4, on compte de 0 à 15, etc.
2.2.1 – Application : comptage modulo 8
On a besoin pour cela de 3 bascules JK ou D. Le montage avec bascules JK est donné ci-
dessous.

3
5V

Q0 Q1 Q2
J J J

CK H H H

K Q K Q K Q

Figure 5.4 – Compteur asynchrone modulo 8 avec bascules JK


Supposons les trois bascules à zéro à l'instant t = 0. Nous avons vu que pour une bascule
JK la sortie change d'état au moment du front efficace de l’horloge (ici front descendant).
L'évolution temporelle des trois sorties Q0, Q1 et Q2 est représentée sur le chronogramme ci-
dessous. La sortie Q0 bascule sur chaque front descendant du signal d'horloge. La sortie Q1
change d'état à chaque transition 1 → 0 de la sortie Q0. De même le basculement de la sortie Q2
est déclenché par une transition 1 → 0 de la sortie Q1.

CK

Q0

Q1

Q2

000 001 010 011 100 101 110 111 000 001 010

Figure 5.5 – Chronogramme de fonctionnement d’un compteur modulo 8


A partir de ce chronogramme nous pouvons écrire la liste des états successifs des trois
sorties, donc la table de comptage.

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

Figure 5.6 – Table de comptage modulo 8

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

&

Figure 5.7 – Compteur asynchrone modulo 10


Dès que la sortie de la porte NAND passe à 0, les bascules sont forcées à 0 : le compteur
se remet à compter à partir de 0.
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
 1 0 1 0 10

Figure 5.8 – Table de vérité du compteur asynchrone modulo 10


5
C’est la combinaison 1010 qui remet à 0 le compteur. L’idéal serait que cette RAZ soit
instantanée. Malheureusement la porte NAND à un temps de propagation non nul (une dizaine de
ns). Donc, la combinaison 1010 existe, même si elle ne dure pas longtemps. Cet état indésirable
se nomme aussi « glitch » et peut provoquer des aléas de fonctionnement dès lors que l’on
décode chaque combinaison du compteur.
2.2.3 – Décompteur asynchrone
Pour réaliser un décompteur asynchrone, la méthode est la même. Il suffira simplement de
piloter chaque entrée horloge des bascules au moyen de la sortie complémentée de la bascule
précédente.

5V

Q0 Q1 Q2
J J J

CK H H H

K Q K Q K Q

Figure 5.9 – Schéma d’un décompteur asynchrone modulo 8


Le chronogramme de fonctionnement est donné ci-dessous.

CK

Q0

Q0

Q1

Q1

Q2

000 111 110 101 100 011 010 001 000 111 110

Figure 5.10 – Chronogramme de fonctionnement d’un décompteur asynchrone modulo 8

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

Figure 5.11 – Table de vérité d’un décompteur asynchrone modulo 8


2.2.4 – Inconvénients des compteurs asynchrones

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

0111 0110 0100 0000 1000

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.

Transition Symbole Q(t) Q(t+1) J K


Enclenchement E 0 1 1 X
Déclenchement D 1 0 X 1
Maintien à 0 M0 0 0 0 X
Maintien à 1 M1 1 1 X 0

Figure 5.13 – Table de transition de la bascule JK

Transition Symbole Q(t) Q(t+1) D


Enclenchement E 0 1 1
Déclenchement D 1 0 0
Maintien à 0 M0 0 0 0
Maintien à 1 M1 1 1 1

Figure 5.14 – Table de transition de la bascule D


8
3.1.2 – Synthèse d’un compteur synchrone à cycle complet

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.

A – Exemple 1 : compteur synchrone modulo 8 avec bascules JK


1) Table d’excitation
La table d’excitation permet de visualiser l’état du compteur avant et après chaque front
efficace d’horloge. Connaissant l’évolution de l’état de chaque bascule Qi, il sera donc possible de
déterminer ce que l’on doit faire :
 type d’évolution,
 entrées Ji et Ki à appliquer selon la table de transition ci-dessus.
On peut déterminer tout d’abord la table d’excitation générale, puis la table d’excitation de
chaque bascule Qi.

CK Q2(t) Q1(t) Q0(t) Q2(t+1) Q1(t+1) Q0(t+1)


 0 0 0 0 0 1
 0 0 1 0 1 0
 0 1 0 0 1 1
 0 1 1 1 0 0
 1 0 0 1 0 1
 1 0 1 1 1 0
 1 1 0 1 1 1
 1 1 1 0 0 0

Figure 5.15 – Table d’excitation générale du compteur modulo 8


2) Bascule Q0
On extrait de la table ci-dessus les informations utiles, on observe chaque transition (E, D,
M0, M1) et on code les valeurs J et K correspondantes à l’aide de la table de transition.

Q2(t) Q1(t) Q0(t) Q0(t+1) Transition J0 K0


0 0 0 1 E 1 X
0 0 1 0 D X 1
0 1 0 1 E 1 X
0 1 1 0 D X 1
1 0 0 1 E 1 X
1 0 1 0 D X 1
1 1 0 1 E 1 X
1 1 1 0 D X 1

On détermine ensuite les équations logiques de J0 et K0 en fonction de Q2, Q1 et Q0 après


les avoir préalablement simplifiées.

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
 

On opère de la même manière pour les bascules Q1 et Q2.


3) Bascule Q1
Q2(t) Q1(t) Q0(t) Q1(t+1) Transition J1 K1
0 0 0 0 M0 0 X
0 0 1 1 E 1 X
0 1 0 1 M1 X 0
0 1 1 0 D X 1
1 0 0 0 M0 0 X
1 0 1 1 E 1 X
1 1 0 1 M1 X 0
1 1 1 0 D X 1

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

Figure 5.16 –Logigramme du compteur synchrone modulo 8


B – Exemple 2 : compteur synchrone modulo 8 avec bascules D
Le type de bascule n’influe pas sur la table générale d’excitation : c’est la même que celle
de l’exemple 1. Donc, on peut coder tout de suite les valeurs de D0, D1 et D2.
1) Bascule Q0
On extrait de la table ci-dessus les informations utiles, on observe chaque transition (E, D)
et on code la valeur D0 correspondantes.

Q2(t) Q1(t) Q0(t) Q0(t+1) Transition D0


0 0 0 1 E 1
0 0 1 0 D 0
0 1 0 1 E 1
0 1 1 0 D 0
1 0 0 1 E 1
1 0 1 0 D 0
1 1 0 1 E 1
1 1 1 0 D 0

On simplifie ensuite l’équation D0 en fonction de Q2, Q1 et Q0.

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

D 2  Q2 .Q1.Q 0  Q 2 .Q1  Q 2 .Q0

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.

3.2 – Synthèse d’un compteur synchrone à cycle incomplet

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

Le compteur binaire modulo 10 est aussi appelé compteur BCD.

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

Figure 5.16 – Table de vérité du compteur modulo 10


1) Table d’excitation

CK Q3(t) Q2(t) Q1(t) Q0(t) Q3(t+1) Q2(t+1) Q1(t+1) Q0(t+1)


 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 0 0 0 0

Figure 5.17 – Table d’excitation générale du compteur modulo 10

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

CK Q3(t) Q2(t) Q1(t) Q0(t) Q0(t+1) Transition J0 K0 Dec


 0 0 0 0 1 E 1 X 0
 0 0 0 1 0 D X 1 1
 0 0 1 0 1 E 1 X 2
 0 0 1 1 0 D X 1 3
 0 1 0 0 1 E 1 X 4
 0 1 0 1 0 D X 1 5
 0 1 1 0 1 E 1 X 6
 0 1 1 1 0 D X 1 7
 1 0 0 0 1 E 1 X 8
 1 0 0 1 0 D X 1 9

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

CK Q3(t) Q2(t) Q1(t) Q0(t) Q1(t+1) Transition J1 K1 Dec


 0 0 0 0 0 M0 0 X 0
 0 0 0 1 1 E 1 X 1
 0 0 1 0 1 M1 X 0 2
 0 0 1 1 0 D X 1 3
 0 1 0 0 0 M0 0 X 4
 0 1 0 1 1 E 1 X 5
 0 1 1 0 1 M1 X 0 6
 0 1 1 1 0 D X 1 7
 1 0 0 0 0 M0 0 X 8
 1 0 0 1 0 M0 0 X 9

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

CK Q3(t) Q2(t) Q1(t) Q0(t) Q2(t+1) Transition J2 K2 Dec


 0 0 0 0 0 M0 0 X 0
 0 0 0 1 0 M0 0 X 1
 0 0 1 0 0 M0 0 X 2
 0 0 1 1 1 E 1 X 3
 0 1 0 0 1 M1 X 0 4
 0 1 0 1 1 M1 X 0 5
 0 1 1 0 1 M1 X 0 6
 0 1 1 1 0 D X 1 7
 1 0 0 0 0 M0 0 X 8
 1 0 0 1 0 M0 0 X 9

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

CK Q3(t) Q2(t) Q1(t) Q0(t) Q3(t+1) Transition J3 K3 Dec


 0 0 0 0 0 M0 0 X 0
 0 0 0 1 0 M0 0 X 1
 0 0 1 0 0 M0 0 X 2
 0 0 1 1 0 M0 0 X 3
 0 1 0 0 0 M0 0 X 4
 0 1 0 1 0 M0 0 X 5
 0 1 1 0 0 M0 0 X 6
 0 1 1 1 1 E 1 X 7
 1 0 0 0 1 M1 X 0 8
 1 0 0 1 0 D X 1 9

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

Figure 5.18 – Logigramme du compteur modulo 10

3.3 – Synthèse d’un compteur synchrone à cycle quelconque

Nous travaillerons directement sur un exemple. On désire réaliser un compteur binaire


affichant le cycle suivant (équivalent décimal) : 5  1  3  6  0  2  5. Ce compteur
comporte 6 états, il faudra donc 3 bascules pour le réaliser.

16
1) Table d’excitation du compteur :

Dec Q2(t) Q1(t) Q0(t) Q2(t+1) Q1(t+1) Q0(t+1)


5 1 0 1 0 0 1
1 0 0 1 0 1 1
3 0 1 1 1 1 0
6 1 1 0 0 0 0
0 0 0 0 0 1 0
2 0 1 0 1 0 1
2) Bascule Q0
Dec Q2(t) Q1(t) Q0(t) Q0(t+1) Transition J0 K0
5 1 0 1 1 M1 X 0
1 0 0 1 1 M1 X 0
3 0 1 1 0 D X 1
6 1 1 0 0 M0 0 X
0 0 0 0 0 M0 0 X
2 0 1 0 1 E 1 X

On détermine ensuite les équations logiques de J0 et K0 en fonction de Q2, Q1 et Q0 après


les avoir préalablement simplifiées.

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

Figure 5.19 – Logigramme du compteur 5  1  3  6  0  2  5

4 – COMPTEURS REVERSIBLES
4.1 – Compteur-décompteur asynchrone

Rappels paragraphes 2.2.1 et 2.2.3 :


 On obtient un compteur en déclenchant chaque bascule lorsque celle de rang
immédiatement inférieur passe de l'état 1 à 0 :
Hi

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

suffit d'utiliser la sortie de chaque bascule pour déclencher la suivante :


Hi

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
      

Pour réaliser chaque fonction Hi, on a le choix entre 2 solutions :


Hi

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 21 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

L’équation de la sortie de ce multiplexeur s’écrit Y  X.E 0  X.E1 . On le réalise avec un


circuit 74LS157 (quadruple Mux 21). Il suffit ensuite de cascader les étages en fonction du
nombre de bascules du compteur (voir figure ci-dessous).
t
a
g
e

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

Figure 5.20 – Mise en cascade de 2 étages successifs d’un compteur réversible

4.2 – Compteur synchrone réversible

On va procéder comme précédemment en associant le comptage et le décomptage. Le


comptage synchrone a déjà été vu au paragraphe 3.1.2. Au niveau de l’étage de rang i, on a les
équations :
.
.
.
Ji
K

Q
.
Q
.1
Q
i

i
1

  

On s’occupe maintenant de la partie décomptage. On travaille sur 3 bits comme


précédemment et on extrapolera les équations sur n bits.
1) Table d’excitation
La table d’excitation permet de visualiser l’état du compteur avant et après chaque front

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

Figure 5.21 – Table d’excitation générale du décompteur synchrone modulo 8


2) Bascule Q0
Q2(t) Q1(t) Q0(t) Q0(t+1) Transition J0 K0
1 1 1 0 D X 1
1 1 0 1 E 1 X
1 0 1 0 D X 1
1 0 0 1 E 1 X
0 1 1 0 D X 1
0 1 0 1 E 1 X
0 0 1 0 D X 1
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 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
&

Figure 5.22 – Logigramme du compteur réversible modulo 8


Dans un décompteur, au niveau de l’étage de rang i, on a les équations :
Ji
K

Q
.0
Q
.
.
.
.
Qi
i

  

Si maintenant on associe comptage et décomptage, on pourra écrire que :


.
.
.

.
.
.
Ji
K

X
.
Q
.0
Q
.1
Qi

X
.
Q
.
Q
.1
Q
i

i
1

    

On en déduit le logigramme au niveau de l’étage de rang i.

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

5.23 – Mise en cascade de 2 étages successifs d’un compteur réversible modulo N

5 – COMPTEURS INTEGRES COMMERCIALISES

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)

Circuit Comptage Chargement RAZ


74160 Synchrone BCD Synchrone Asynchrone
74161 Synchrone binaire Synchrone Asynchrone
74162 Synchrone BCD Synchrone Synchrone
74163 Synchrone binaire Synchrone Synchrone

 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)

Circuit Comptage réversible Chargement RAZ


74190 Synchrone BCD Asynchrone Asynchrone
74191 Synchrone binaire Asynchrone Asynchrone
74192 Synchrone BCD Asynchrone Asynchrone
74193 Synchrone binaire Asynchrone Asynchrone

 l’état initial du compteur est réglable à l’aide des entrées de chargement,


 l’entrée validation permet de verrouiller le compteur,

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

On a vu que la méthode à employer pour concevoir un compteur dépend de la catégorie du


compteur. Si à première vue la réalisation d’un compteur asynchrone semble plus simple, il s’avère
que la méthode de conception des compteurs synchrones permet une plus grande souplesse dans
la réalisation de cycles évolués : ceci est dû au fait que les entrées des bascules constituant un
compteur synchrone sont configurables, ce qui n’est pas le cas avec un compteur asynchrone.
Au sein d’une catégorie de compteurs, on trouve également des différences dans la
démarche de conception selon la nature du cycle de comptage (modulo n ou 2n, cycle régulier ou
non, etc.).
D’une manière générale, le tableau ci-dessous donne les critères de choix les plus sûrs.

Choix Fréquence de travail faible Fréquence de travail élevée


Compteur exploité en fin de
Asynchrone Synchrone
comptage
Compteur exploité entre
Synchrone Synchrone
chaque impulsion d’horloge

23

Vous aimerez peut-être aussi