Vous êtes sur la page 1sur 10

Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS

Chap-III: Compteurs

CIRCUITS LOGIQUES

SEQUENTIELS
Compteurs

TRABELSI Hichem

Attention !

Ce produit pédagogique numérisé est la propriété exclusive de


l'UVT. Il est strictement interdit de la reproduire à des fins
commerciales. Seul le téléchargement ou impression pour un
usage personnel (1 copie par utilisateur) est permis.

1 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-III : Compteurs

COMPTEURS

Objectif du chapitre
Le présent chapitre étudie et décrit le fonctionnement des compteurs asynchrones réalisés à
partir de bascules qui ne changent pas d'état au même moment, puisqu'elles n'ont pas le même
signal d'horloge. Ce chapitre est enchainé par l'étude des compteurs synchrones réalisés à partir
de bascules synchronisées avec le même signal d'horloge. Des exemples de compteurs
asynchrones et synchrones en circuits intégrés commercialisés sont étudiés pour donner au
chapitre un intérêt pratique. A la fin de ce chapitre, l'étudiant sera en mesure de faire la
différence entre un compteur asynchrone et synchrone et d'analyser et de synthétiser n'importe
quel compteur.

Compteurs asynchrones
Un compteur asynchrone est constitué de plusieurs bascules en cascade. La première bascule
reçoit le signal d’horloge CLK, la deuxième reçoit comme signal d’horloge le signal de sortie
de la précédente et ainsi de suite. D’une manière générale, le signal d’horloge d’une bascule de
rang i n’est autre que le signal de sortie de la bascule de rang i-1.

Compteur asynchrone à cycle complet (modulo 2 N )


Un exemple de compteur pouvant être réalisé de manière asynchrone est celui du compteur
binaire qui compte de 0 jusqu’à 15.
Soient QD, QC QB et QA les sorties des bascules utilisées pour réaliser un tel compteur. Le
tableau ci-dessous montre l’évolution des différents états des bascules de ce compteur après
chaque impulsion d’horloge. D’après la séquence de comptage à réaliser, on note que :
- La bascule de sortie QA doit changer sur chaque front de l'horloge.
- La bascule de sortie QB doit changer à chaque fois que la sortie QA de la bascule précédente
passe de 1 à 0 (front )
- La bascule de sortie QC doit changer à chaque fois que la sortie QB de la bascule précédente
passe de 1 à 0 (front )
- La bascule de sortie QD doit changer à chaque fois que la sortie QC de la bascule précédente
passe de 1 à 0 (front )
A la 15ème impulsion, les bascules du compteur sont à l’état 1111. A la 16ème impulsion
d’horloge le compteur revient à son état initial, on dit que le compteur est recyclé.

2 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-III : Compteurs

Nombre d’impulsions QD QC QB QA
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
10 1 0 1 0
11 1 0 1 1
12 1 1 0 0
13 1 1 0 1
14 1 1 1 0
15 1 1 1 1
16 recyclage 0 0 0 0

Etats de sortie du compteur asynchrone à 4 bits

D’après le tableau, le compteur possède 16 états distincts (0000 à 1111), on dit que c’est un
compteur MODULO-16.

Le MODULO est donc le nombre d’états occupés par le compteur pendant un cycle complet
avant son recyclage à l’état initial. En général le modulo d’un compteur est donné par
l’expression suivante : MODULO = 2 N avec N est le nombre de bascules formant le compteur.

L’applet donne le schéma interne du compteur binaire asynchrone Modulo-16, réalisé à partir de
quatre bascules JK actives sur front descendant.

L’applet donne le chronogramme du compteur asynchrone Modulo-16.

Les signaux logiques qui traverse les bascules qui constituent le compteur subissent un
retard caractérisé par le temps de propagation tpd. A cause de ce retard, la sortie de la première
bascule ne réagit qu’après une durée tpd à partir du front descendant du signal d’horloge, quant à
la sortie de la deuxième bascule, elle ne réagit qu’après une durée 2.tpd, et ainsi de suite.
Autrement dit, les retards de propagation introduits par les bascules s’additionnent, de sorte que
la 4ième bascule ne change d’état qu’après une durée 4.tpd après l’arrivée du front déclencheur ;
c’est la durée de stabilisation du compteur.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

3 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-III : Compteurs

QA
tpd

QB 2tpd

QC 3tpd

QD 4tpd

Chronogramme réel d’un compteur asynchrone à 4 bits

L’addition des retards de propagation introduits par les bascules du compteur asynchrone
limite la fréquence maxmale du signal d’horloge surtout pour des cycles de comptage assez
long. En effet, pour un bon fonctionnement du compteur asynchrone, la période du signal
d’horloge doit être supérieure au retard de propagation total du compteur :
TCLK > N.tpd avec N :le nombre de bascules du compteur.
En terme de fréquence :

1
FCLK < = FMAX
N .t pd

Compteur asynchrone à cycle incomplet (modulo X <2N)


Un compteur peut avoir un MODULO inférieur à 2 N , valeur maximale qu’on peut obtenir avec
un compteur à N bascules.
Pour réaliser un compteur MODULO X, il faut suivre les étapes suivantes:
• Trouver le nombre de bascules N nécessaires pour la synthèse du compteur MODULO-X
grâce à la relation : 2N-1 < X ≤ 2N.
si X = 2N, les étapes suivantes sont inutiles.
• Ecrire en binaire le nombre X.
• Relier à l’entrée d’une porte NON ET les sorties des bascules qui sont à 1, quand le
compteur est à l’état X.
• Connecter la sortie de la porte NON ET aux entrées RAZ de toutes les bascules du compteur.
Remarque : Si les entrées de remise à zéro des bascules sont actives à l’état haut, on utilise une
porte ET à la place de la porte NON ET.

APPLICATION :
Réalisons un compteur asynchrone MODULO-12.
• 23 < 12 <24 ⇒ N = 4.
• X=1100 alors QD=1, QC=1, QB=0, QA=0
• Les sorties QD et QC qui sont à 1, doivent être reliées à une porte NAND à deux entrées et
dont la sortie est appliquée à toutes les entrées de remise à zéro des bascules du compteur.
Le schéma du compteur MODULO-12 asynchrone est donc donné par l’applet

Application du compteur : diviseur de fréquence

4 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-III : Compteurs

A part la fonction de comptage, on utilise souvent un compteur pour diviser un signal de


fréquence élevée de façon à obtenir un signal de plus faible fréquence.
L’applet montre comment un compteur MODULO-8 est utilisé en tant que diviseur de
fréquence.

Décompteur asynchrone
Tous les compteurs étudiés jusqu’à présent comptent progressivement à partir de zéro, ce sont
tous des compteurs progressifs "comptage up ". Il est simple de réaliser des décompteurs
asynchrones, c’est à dire qui partent d’un nombre maximal pour arriver à zéro "comptage
down ". Pour réaliser un décompteur, il suffit de connecter chaque sortie complémentée d’une
bascule à l’entrée CLK de la bascule suivante. L’applet montre le schéma d’un décompteur
Modulo-8 réalisé à partir de trois bascules JK.

Remarque : Pour réaliser un compteur asynchrone actif sur un front montant du signal
d’horloge, la sortie inversée de la bascule de rang i doit être reliée à l’entrée d’horloge de la
bascule de rang i+1. L’applet montre le schéma d’un compteur Modulo-16 actif sur un front
montant réalisé à partir de trois bascules JK.

Compteurs asynchrones en circuits intégrés


Il y a une grande diversité des compteurs asynchrones disponibles en circuits intégrés. A titre
d’exemple, on peut citer les compteurs asynchrones 7490, 7492 et 7493 très souvent utilisés.

Compteurs synchrones
On a vu précédemment que l’association en cascade de bascules dans un compteur asynchrone
entraînait des retards de propagation. Ces retards limitent la fréquence maximale d’utilisation.
On contourne cette limitation en utilisant des compteurs synchrones ou parallèles, dans lesquels
toutes les bascules sont simultanément commandées par le même signal d’horloge.

Synthèse d’un compteur synchrone

Synthèse à partir de bascules JK


Nous allons montrer la méthode de synthèse d’un compteur synchrone à partir de bascules JK.
Rappelons la table de vérité de cette bascule.

J K Qt+1
0 0 Qt
0 1 0
1 0 1
1 1 Qt

Table de vérité de la bascule JK

On peut représenter cette table de vérité d’une façon inversée, c’est à dire trouver pour
chaque transition possible de l’état Qt à l’état Qt+1 les valeurs nécessaires des entrées J et K,
c’est la table d’excitation de la bascule JK.
Qt Qt+1 J K
0 0 0 X
0 1 1 X

5 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-III : Compteurs

1 0 X 1
1 1 X 0
X: état indifférent.

Table d’excitation de la bascule JK

La synthèse d’un compteur synchrone consiste à calculer chaque entrée des bascules
constituant le compteur afin de conditionner leurs évolutions lors de la prochaine impulsion
d’horloge.
A l’instant t, les sorties des bascules du compteur sont à l’état Qt, quelles sont les valeurs à
appliquer aux entrées Ji et Ki pour qu’à l’impulsion d’horloge suivante (instant t+1) les sorties
prennent les valeurs Qt+1 imposées par le cycle de comptage désiré ?
Effectuons à titre d’exemple la synthèse d’un compteur synchrone MODULO-16. La table
d’excitation permet la détermination des entrées Ji et Ki, à appliquer pour obtenir les sorties
désirées du compteur, connaissant les sorties avant l’impulsion d’horloge. Le tableau ci-dessous
résume les différents cas possibles.

Etats présents Etats futurs Entrées


QD QC QB QA Q’D Q’C Q’B Q'A JD KD JC KC JB KB JA KA
0 0 0 0 0 0 0 1 0 X 0 X 0 X 1 X
0 0 0 1 0 0 1 0 0 X 0 X 1 X X 1
0 0 1 0 0 0 1 1 0 X 0 X X 0 1 X
0 0 1 1 0 1 0 0 0 X 1 X X 1 X 1
0 1 0 0 0 1 0 1 0 X X 0 0 X 1 X
0 1 0 1 0 1 1 0 0 X X 0 1 X X 1
0 1 1 0 0 1 1 1 0 X X 0 X 0 1 X
0 1 1 1 1 0 0 0 1 X X 1 X 1 X 1
1 0 0 0 1 0 0 1 X 0 0 X 0 X 1 X
1 0 0 1 1 0 1 0 X 0 0 X 1 X X 1
1 0 1 0 1 0 1 1 X 0 0 X X 0 1 X
1 0 1 1 1 1 0 0 X 0 1 X X 1 X 1
1 1 0 0 1 1 0 1 X 0 X 0 0 X 1 X
1 1 0 1 1 1 1 0 X 0 X 0 1 X X 1
1 1 1 0 1 1 1 1 X 0 X 0 X 0 1 X
1 1 1 1 0 0 0 0 X 1 X 1 X 1 X 1

Table de vérité d’un compteur synchrone MODULO-16

Cherchons l’expression booléenne de chaque entrée Ji et Ki en utilisant le diagramme de


Karnaugh. On remarque que Ji peut être prise égale à Ki.

Q B .Q A Q B .Q A QB .Q A QB .Q A QD .QC X X X 0

0 0 0 0 QD .Q C 0 0 1 0
Q D .Q C
0 0 1 0
Q D .QC JC = KC = QA.QB
QD .QC X X X X

QD .Q C X X X X

QB .Q A
JD = KD = QA.QB.QC Q B .Q A Q B .Q A QB .Q A

Q D .Q C 0 1 X X

QB .Q A Q D .QC 0 1 X X
Q B .Q A Q B .Q A QB .Q A
0 0 0 QD .QC 0 1 X X
Q D .Q C 1
QD .Q C 0 1 X X
Q D .QC X X X X

JB = KB = QA

6 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-III : Compteurs

QD .QC 1 X X 1

QD .Q C 1 X X 1
Q B .Q A Q B .Q A QB .Q A QB .Q A
1 X X 1
JA = KA = 1
Q D .Q C

Q D .QC 1 X X 1

Le compteur synchrone ainsi synthétisé est donné par l’applet.

Jusqu’ici nous avons étudié un compteur qui parcourt toutes les valeurs du cycle de 0 à 2N-1,
avec passage à 0 après la valeur 2N-1. Si on a besoin d’un compteur à cycle incomplet, on peut
concevoir ce compteur selon la même méthode décrite précédemment.

A titre d’exemple réalisons un compteur synchrone MODULO-10. Pour voir la synthèse de ce


compteur cliquer ici.

Synthèse à partir de bascules D


On peut réaliser un compteur synchrone à partir de bascules D. Rappelons d’abord la table
d’excitation de cette bascule.

Qt Qt+1 D
0 0 0
0 1 1
1 0 0
1 1 1

Table d’excitation de la bascule D

D’après cette table d’excitation, on remarque que : D = Qt+1. Cette équation permet de
déterminer l’entrée Di, à appliquer pour obtenir les sorties désirées du compteur, connaissant
l’état des sorties avant l’impulsion d’horloge.
A titre d’exemple, effectuons la synthèse d’un compteur synchrone Modulo 8 partir de
bascules D.

Etats présents Etats futurs Entrées


Q2 Q1 Q0 Q’C Q’B Q'A D2 D1 D0
0 0 0 0 0 1 0 0 1
0 0 1 0 1 0 0 1 0
0 1 0 0 1 1 0 1 1
0 1 1 1 0 0 1 0 0
1 0 0 1 0 1 1 0 1
1 0 1 1 1 0 1 1 0
1 1 0 1 1 1 1 1 1
1 1 1 0 0 0 0 0 0

Table de vérité d’un compteur MODULO-8

En utilisant le diagramme de Karnaugh, cherchons l’expression logique simplifiée de chaque


entrée Di.
Q2 1 0 0 1
Q1.Q 0 Q1.Q0 Q1.Q0 Q1.Q 0 1 0 0 1
Q2

7 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-III : Compteurs
D0 = Q 0 Q2 0 1 0 1
Q2 0 1 0 1

Q1.Q 0 Q1.Q0 Q1.Q0 Q1.Q 0 D1 = .Q1.Q0 +Q1.Q0 =Q1 ⊕Q0

Q1.Q 0 Q1.Q0 Q1.Q0 Q1.Q 0


Q2 0 0 1 0
Q2 1 1 0 1

D2 = Q2.Q1+Q2.Q0 +Q2.Q1 .Q0


= Q2.(Q0 +Q1)+Q 2.Q1.Q0 = Q2 ⊕(Q1.Q0)

Le schéma interne du compteur Modulo 8 se déduit par l’applet.

Compteur/décompteur synchrone
Pour obtenir un compteur synchrone à séquence de comptage décroissante, appelé décompteur,
il suffit de relier les sorties complémentées des bascules aux entrées Ji, Ki des bascules
suivantes. Pour réaliser un compteur/décompteur parallèle, on utilise une commande de
sélection du sens de comptage permettant d’alimenter les entrées des bascules avec les sorties Qi
ou complémentées Qi selon que l’ordre donné au circuit est de compter "up counting" ou de
décompter "down counting".
Le compteur donné par l’applet est un compteur réversible Modulo-16 dit aussi
compteur/décompteur.

Compteurs synchrones en circuits intégrés


Le catalogue des circuits intégrés contient plusieurs types de compteurs synchrones. On résume
dans le tableau ci-dessous, les compteurs synchrones de la série 74 qui sont les plus utilisés.

Référence Type Chargement Réversible Mise en cascade


74190 B.C.D Asynchrone
74191 Hexadécimal Asynchrone Oui ou synchrone
74192 B.C.D Asynchrone
74193 Hexadécimal
74160 B.C.D Synchrone Non Synchrone
74161 Hexadécimal

Exemples de compteurs synchrone de la famille 74

Etudions le compteur synchrone 74190

Comparaison entre compteurs asynchrones et synchrones


Dans le cas d’un compteur synchrone, toutes les bascules changent d’état en même temps
c’est à dire quelles sont synchrones sur le front d’horloge. Ainsi, contrairement aux compteurs

204 TRABELSI Hichem


Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-III : Compteurs

asynchrones, les retards de propagation des bascules ne s’additionnent pas. Au contraire, le


temps de réponse total d’un compteur parallèle est égal au retard d’une seule bascule, plus le
temps de retard d’une seule porte ET (dans le cas ci-dessus).
Retard total = tpd (d’une bascule) + tpd (d’une porte ET)
Cette équation montre qu’un compteur parallèle peut fonctionner à des fréquences de loin
supérieures à celles d’un compteur asynchrone ayant le même nombre de bascules. C’est le
grand atout des compteurs parallèles. Le tableau ci-dessous donne une comparaison entre un
compteur asynchrone et synchrone.
Compteur asynchrone Compteur synchrone
Horloge commune non oui
Commutation des bascules en série en parallèle
Types de bascules edge-triggered edge-triggered
Equations ds entrées Simples complexes
Retard de propagation Important faible
Fréquence maximale d’utilisation inférieure au synchrone spérieure l’asynchrone

Application:
Déterminer fMAX pour un compteur synchrone Modulo-16, si le tpd de chaque bascule est de 50
ns et tpd de chaque porte ET est de 20 ns. Comparer cette fMAX à celle d’un compteur asynchrone
Modulo-16.
Réponse :
Thorloge > 50 + 20 = 70 ns, donc fMAX = 1/70 = 14,3 MHz
Un compteur asynchrone Modulo-16 utilise 4 bascules ayant tpd = 50 ns, donc fMAX =
1/(4.50ns) = 5 MHz.
On voit bien la différence des fréquences maximales entre un compteur synchrone et
asynchrone.

Compteurs circulaires
Un registre à décalage peut être utilisé pour réaliser un compteur circulaire, caractérisé par un
bouclage effectué entre la sortie et l’entrée du registre. Les compteurs circulaires les plus
courants sont : le compteur en anneau et le compteur de Johnson.

Compteur en anneau
Un compteur en anneau peut être réalisé à partir d’un registre à décalage constitué au moyen de
bascules D, dans lequel la sortie de la dernière bascule est reliée à l’entrée de la première
bascule, comme le montre l’applet.

Dans ce registre, il y a une seule bascule à l’état 1, toutes les autres sont à l’état 0.
Pour assurer la mise à 0 de toutes les bascules, sauf la première qui est mise à l’état 1, il faut
initialiser le compteur à l’aide des entrées de forçage. En effet, chaque bascule possède une
entrée RAZ , sauf la première qui est munie d’une entrée RAU , de sorte que si on envoie une
impulsion sur ces entrées asynchrones, toutes les bascules se mettent à 0 sauf la première à 1.
Cette impulsion s’appelle impulsion de positionnement initial, elle peut être appliquée à la mise
sous tension du compteur.
Compteur de Johnson
Le compteur de Johnson a la même structure que le compteur en anneau sauf que la boucle
s’effectue entre la sortie complémentée de la dernière bascule et l’entrée de la première bascule,
comme le montre l’applet.

9 TRABELSI Hichem
Université Virtuelle de Tunis CIRCUITS LOGIQUES SEQUENTIELS
_____________________________________________________________________________________________________________________________________________
Chap-III : Compteurs

Le tableau ci-dessous donne le cycle de comptage d’un compteur en anneau et d’un


compteur de Johnson, tous les deux MODULO-10.
On note que, pour réaliser un compteur en anneau MODULO-10, il faut 10 bascules, par
contre il faut seulement 5 (10/2) bascules pour le cas du compteur de Johnson. Cette propriété se
généralise dans le cas d’un MODULO-N quelconque.

Bien que le compteur en anneau utilise beaucoup de bascules, il présente un avantage


appréciable qui réside dans le fait qu’il peut être décodé sans avoir besoin de circuits de
décodage, puisqu’il y a une seule sortie à l’état haut. Quant au compteur de Johnson qui
nécessite plus de bascules pour sa conception que le compteur en anneau, on doit lui associer
des circuits de décodage.

Compteur en Compteur de
CLK anneau Johnson
Q9 Q8 Q7 Q6 Q5 Q4 Q3 Q2 Q1 Q0 Q4 Q3 Q2 Q1 Q0
Initialisation 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
1ere 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1
2ème 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1
3ème 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1
4ème 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1
5ème 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1
6ème 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0
7ème 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0
8ème 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0
9ème 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0
Recyclage 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0

Cycles de comptage des compteurs en anneau


et de Johnson MODULO-10

10 TRABELSI Hichem

Vous aimerez peut-être aussi