Cours d’Informatique Industrielle Compteurs & Registres
COMPTEURS ET REGISTRES
I. Introduction
1. La fonction comptage
Un compteur est un dispositif séquentiel qui présente à tout instant sur ses sorties un code
correspondant au nombre d’impulsions détectées sur l’entrée de comptage. A chaque nouvelle
impulsion, ce code est incrémenté d’une unité.
Un compteur est donc une mémoire : après chaque impulsion de comptage, l’état des sorties
est accessible et stable jusqu’à l’arrivée de la prochaine impulsion. Le compteur est caractérisé
par son code de sortie et par sa capacité maximale de comptage M.
Lorsque sa capacité de comptage est atteinte, l’impulsion de comptage suivante réinitialise le
contenu du compteur (CT=content). D’où l’appellation de « compteur modulo M ».
On peut donc considérer ce système comme une machine à états en anneau, n’ayant qu’une
liaison entre chaque état stable. A chacun de ces états, on associe une combinaison des sorties
(code).
Si le compteur possède n lignes de sorties (2n combinaisons), il possède une capacité de
comptage M telle que : 𝐌 ≤ 𝟐𝐧 .
Le dispositif est appelé décompteur si le code présent sur les sorties est décrémenté à chaque
impulsion.
Exemple de cycle de comptage (compteur modulo 10)
Nbre d’impulsion 0 1 2 3 4 5 6 7 8 9 10 11 ….
Contenu « CT » 0 1 2 3 4 5 6 7 8 9 0 1 …
Exemple de cycle de décomptage (décompteur modulo 10)
Nbre d’impulsion 0 1 2 3 4 5 6 7 8 9 10 11 ….
Contenu « CT » 0 9 8 7 6 5 4 3 2 1 0 9 …
Remarque : on constate qu’un compteur « modulo M » peut compter de 0 à M-1.
1
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
2. Fonctionnement asynchrones et synchrones des compteurs/décompteurs
Les compteurs sont réalisés à partir de bascules « à contrôle par front » (D ou JK). Ainsi, pour
réaliser un compteur modulo M, il faut n bascules (𝟐𝐧−𝟏 ≤ 𝐌 ≤ 𝟐𝐧 ), les sorties des n bascules
constituant les n sorties du compteur.
Les compteurs ont un fonctionnement soit asynchrone, soit synchrone :
− Le fonctionnement est synchrone si le signal de comptage est appliqué simultanément sur
toutes les entrées de contrôle des bascules ; l’évolution de l’ensemble des sorties est alors
synchronisée sur l’horloge :
− Le fonctionnement est asynchrone si le signal de comptage est appliqué seulement sur la
bascule de poids le plus faible (LSB) et que l’entrée de comptage des bascules de rangs
supérieurs provient de la sortie de la bascule de rang immédiatement inférieur. Les étages
ne basculent pas en synchronisme avec l’impulsion d’horloge mais après les transitions des
étages qui les commandent.
3. Symbolisation
Le contenu d’un compteur est le plus couramment codé dans un code standard (binaire ou
BCD), mais d’autres codes présentant des particularités intéressantes peuvent être utilisés (code
Gray).
Si la capacité de comptage M du compteur est une puissance de 2 (M=2n), alors le compteur
est dit « à cycle complet », sinon il est « à cycle incomplet » (M<2n) et un certain nombre
d’états des sorties ne sont pas utilisés.
2
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
Le chiffre « m » indique le nombre de bits du codage du contenu CT (ex : n=4 pour un compteur
modulo 16).
La ligne « CT=0 » est une ligne de remise à zéro du contenu du compteur.
Le nombre « n » indique le modulo du diviseur de fréquence (ex : div 10).
II. Compteurs/Décompteurs Asynchrones
1. Compteur asynchrone binaire modulo N à cycle complet
Prenons l’exemple d’un compteur binaire modulo 8, il comprend 3 lignes de sorties Q[2..0]. Ce
compteur sera réalisé à partir de 3 bascules D ou JK.
− Si le compteur est constitué de bascules contrôlées par front montant, c’est la sortie 𝑸
̅ qui
doit piloter l’entrée de contrôle de la bascule suivante :
− Si au contraire les bascules sont à front descendant, c’est la sortie 𝑸 qui pilotera l’entrée
de contrôle de la bascule suivante :
La variable Q0 change d’état sur le front descendant l’horloge, la variable Q1 change d’état
sur le front descendant de la variable Q0, de même variable Q2 change d’état sur le front
descendant de Q1.
✓ Chronogramme
3
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
✓ Séquence des états
La séquence des états du compteur représente la séquence binaire ascendante illustrée
au tableau ci-dessous.
Nombre
Binaire Décimal
d’impulsion
Etape initial (0) 0 0 0 0
1 0 0 1 1
2 0 1 0 2
3 0 1 1 3
4 1 0 0 4
5 1 0 1 5
6 1 1 0 6
7 1 1 1 7
Réinitialisation (8) 0 0 0 0
9 0 0 1 1
Remarque : ce type de compteur est utilisé en diviseur de fréquence ; un compteur à 10
étages divisera la fréquence par 210 soit 1024.
2. Décompteur asynchrone binaire à cycle complet
Reprenons l’exemple précédent pour un décompteur binaire modulo 8.
Par le raisonnement précédent, on retrouve des bascules internes câblées en diviseur par 2. Par
contre, la variable Qi change d’état sur le front montant de la variable Qi-1. On conclut :
− Si le compteur est constitué de bascules contrôlées par front montant, c’est la sortie 𝐐 qui
piloter l’entrée de contrôle de la bascule suivante.
− Si au contraire les bascules sont à front descendant, c’est la sortie 𝐐
̅ qui pilotera l’entrée
de contrôle de la bascule suivante.
✓ Chronogramme
4
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
✓ Séquence des états
Nombre
Binaire Décimal
d’impulsion
Etape initial (0) 0 0 0 0
1 1 1 1 7
2 1 1 0 6
3 1 0 1 5
4 1 0 0 4
5 0 1 1 3
6 0 1 0 2
7 0 0 1 1
Réinitialisation (8) 0 0 0 0
9 1 1 1 7
3. Compteurs asynchrones à cycle incomplet
On peut avoir besoins des comptages inferieurs à 2n ; pour ce faire on force la mise à zéro du
compteur avec les entrées de forçage ̅̅̅̅̅̅ ̅̅̅̅̅̅̅̅).
𝐑𝐀𝐙 (𝐂𝐥𝐞𝐚𝐫
Exemple : soit à réaliser un compteur modulo 6
Pour obtenir la séquence tronquée, il faut forcer le recyclage du compteur avant que ce dernier
n’ait occupé tous les états distincts possibles. Une des façons de provoquer le recyclage du
compteur après le compte 5 (101) est de décoder (101) avec une porte NON-ET et de connecter
sa sortie aux entrées RAZ des bascules.
La séquence des états du compteur représente la séquence binaire ascendante illustrée
au tableau ci-dessous.
5
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
Nombre
Binaire Décimal
d’impulsion
Etape initial (0) 0 0 0 0
1 0 0 1 1
2 0 1 0 2
3 0 1 1 3
4 1 0 0 4
5 1 0 1 5
Réinitialisation (6) 1 1 0 0
III. Compteurs/Décompteurs synchrones
1. Principe de synthèse
On emploie des bascules de type « synchrone à contrôle par front » D ou JK. Le signal
d’horloge est appliqué simultanément sur les entrées de comptage de chaque bascule. C’est la
« table de transition » de la bascule employée qui permettra de résoudre le problème. On
associe à la table de vérité du circuit une table de vérité prépositionnement des données d’entrée
Di ou Ji et Ki, de chaque bascule pour chaque état du compteur (voir exemple ci-dessous).
2. Synthèse d’un compteur synchrone modulo N codé en Binaire
Considérons la réalisation d’un compteur modulo 8 (qui compte de 0 à 7) réalisé à partir de 3
bascules D à contrôle par front.
Rappelons que la table de transition pour une bascule D est :
Etablissons tout d’abord la table de vérité de notre compteur (l’équation de transition de la
bascule D est Dn=Qn+1)
Etat présent Etat suivant Données d’entrée
CTn Q2n Q1n Q0n CTn+1 Q2n+1 Q1n+1 Q0n+1 D2n D1n D0n
0 0 0 0 1 0 0 1 0 0 1
1 0 0 1 2 0 1 0 0 1 0
2 0 1 0 3 0 1 1 0 1 1
3 0 1 1 4 1 0 0 1 0 0
4 1 0 0 5 1 0 1 1 0 1
5 1 0 1 6 1 1 0 1 1 0
6 1 1 0 7 1 1 1 1 1 1
7 1 1 1 0 0 0 0 0 0 0
On peut alors établir les tables de Karnaugh de chacune des sorties et avoir leurs équations :
6
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
̅𝟎
𝐃𝟎 = 𝐐 ̅ 0 Q1 + Q 0 Q
D1 = Q ̅ 1 = 𝐐𝟎 ⨁𝐐𝟏
̅ 0 Q2 + Q
D3 = Q ̅ 1 Q 2 + Q 0 Q1 Q
̅ 2 = (Q
̅0 + Q
̅ 1 )Q 2 + Q 0 Q1 Q
̅2
= ̅̅̅̅̅̅̅ ̅2
Q 0 Q1 Q 2 + Q 0 Q1 Q
𝐃𝟑 = 𝐐𝟎 𝐐𝟏 ⨁𝐐𝟐
La réalisation du compteur est la suivante :
Considérons la réalisation d’un compteur modulo 8 (qui compte de 0 à 7) réalisé à partir de 3
bascules JK à contrôle par front.
La table de transition d’une bascule JK est :
Etablissons la table de vérité de notre compteur à base des bascules JK.
Etat présent Etat suivant Données d’entrée
CTn Q2n Q1n Q0n CTn+1 Q2n+1 Q1n+1 Q0n+1 J2n K2n J1n K1n J0n K0n
0 0 0 0 1 0 0 1 0 X 0 X 1 X
1 0 0 1 2 0 1 0 0 X 1 X X 1
2 0 1 0 3 0 1 1 0 X X 0 1 X
3 0 1 1 4 1 0 0 1 X X 1 X 1
4 1 0 0 5 1 0 1 X 0 0 X 1 X
5 1 0 1 6 1 1 0 X 0 1 X X 1
6 1 1 0 7 1 1 1 X 0 X 0 1 X
7 1 1 1 0 0 0 0 X 1 X 1 X 1
7
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
Les tables de Karnaugh de chacune des sorties et leurs équations :
𝐉𝟎 = 𝐊 𝟎 = 𝟏
𝐉𝟏 = 𝐊 𝟏 = 𝐐𝟎
𝐉 𝟐 = 𝐊 𝟐 = 𝐐𝟎 𝐐 𝟏
La réalisation du compteur est la suivante :
3. Réalisation d’un compteur à cycle incomplet avec un compteur intégré
Pour éviter une initialisation intempestive, il est préférable que le rebouclage du circuit
combinatoire se fasse sur une entrée synchrone du compteur.
𝐂𝐨𝐦𝐩𝐭𝐞𝐮𝐫 𝐝𝐞 𝟎 à 𝐍 < 𝟐𝐧−𝟏 𝐂𝐨𝐦𝐩𝐭𝐞𝐮𝐫 𝐝𝐞 𝐌 à 𝐍 < 𝟐𝐧−𝟏
8
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
4. Compteur synchrone 4 bits : 74xx161
L’élément 74HC161 est un exemple de CI contenant un compteur binaire synchrone de 4 bits.
Son symbole logique est illustré à la figue ci-dessous.
Lorsqu’un niveau BAS est applique à l’entrée ̅̅̅̅̅̅
INIT (LOAD), le compteur adoptera l’état
déterminé par les entrées de données lors de la prochaine impulsion du signal d’horloge. On
peut donc amorcer la séquence du compteur avec n’importe quel nombre binaire de 4 bits.
Le 74LS161 possède aussi une entrée de remise à zéro de niveau valide BAS ̅̅̅̅̅̅
RAZ (CLEAR)
qui réinitialise les quatre bascules du compteur de façon synchrone. Le CI comporte également
deux entrées de validation VAL1 (EnT) et VAL2 (EnP) qui doivent être au niveau HAUT pour
que le compteur amorce sa séquence d’états binaires.
Le compteur s’arrête aussitôt qu’une de ces entrées est au niveau BAS. La sortie de comptage
RCO passe à l’état HAUT lorsque le compteur atteint le compte final de 15 (CF=15). Le tableau
suivant nous donne le principe de fonctionnement du compteur.
En x : Enable
RCO : (Ripple Carry Out)
9
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
Examinons le chronogramme du compteur initialisé à 12 (1100) et qui avance jusqu’au
compteur final de 15 (1111), voir figure ci-dessous.
5. Compteur décade réversible : 74xx190
Un compteur réversible peut exécuter une séquence d’états particulière dans une direction ou
dans l’autre. Le compteur réversible parfois appelé compteur bidirectionnel, peut produire
n’importe quelle séquence d’état spécifique.
La figure ci-dessous illustre le diagramme logique de CI 74LS190 qui contient un compteur
synchrone réversible.
La direction de la séquence est déterminée par le niveau appliqué sur l’entrée
décomptage/comptage (𝐃/𝐂̅).
10
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
La sortie Max/Min produit une impulsion de niveau HAUT lorsque le compteur final de 9
(1001) est atteint en mode de COMPTAGE, ou lorsque le compte final de (0000) est atteint en
mode DECOMPTAGE. Les sorties Max/Min ; RCO et l’entrée CVAL permettent la mise en
cascade des compteurs.
Le chronogramme ci-dessous illustre le CI 74LS190 initialisé à 7 (0111).
11
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
6. Compteurs mis en cascade avec des séquences longées :
Le modulo total (ou le facteur de division) d’un montage en cascade des compteurs est égal au
produit des modulos individuels des compteurs. On parle alors de montage en cascade de
modulo maximal.
Il arrive souvent qu’une application nécessite un modulo total inférieur au modulo maximal.
La figure ci-dessus comprend 4 compteurs (un total de 16 bits) soit un modulo maximal de 216
= 65 536.
Supposons qu’une certaine application nécessite un compteur produisant un facteur de division
de 40 000 (modulo – 40 000). La différence entre 65 536 et 40 000 est de 25 536 c’est-à-dire
le nombre d’états qui doivent être supprimés de la séquence de modulo maximal.
La technique à utiliser est d’initialiser le compteur mis en cascade à 25 536 (63C0 en
hexadécimal) chaque fois qu’il se recycle. De cette façon on obtient un comptage de 25 536 à
65 535 pour chaque cycle complet qui contient 40 000 états. Chaque fois que le compteur atteint
le compte final de 65 535 soit %1111111111111111 la sortie RCO passe au niveau HAUT.
IV. Registres
Les bascules permettent la mémorisation d’une information binaire sur un seul bit. Si l’on
associe plusieurs bascules en parallèle, on réalise un registre qui permet alors de stocker un mot.
La capacité des registres est limitée à un mot quelques bits (4 à 8 bits) mais ils possèdent un
temps d’accès très court.
On distingue deux types de registres : les registres « tampons » (association parallèle) et les
registres « à décalage » (association série). Certains circuits dit « universels » permettent de
choisir soit l’un, soit l’autre.
1. Les registres tampon
Un tel registre est simplement constitué d’un groupe de bascules commandées par un seul et
même signal d’horloge : le transfert en sortie de l’information présentée en parallèle sur les
entrées s’effectue en synchronisme avec un front de ce signal d’horloge.
12
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)
Cours d’Informatique Industrielle Compteurs & Registres
2. Les registres à décalage
En plus de la fonction mémoire, un tel registre remplit la fonction « décalage bit à bit » de
l’information qu’il contient.
L’entrée de l’information s’effectue sous forme parallèle ou série, la sortie de l’information
s’effectue sous forme parallèle ou série.
Exemple de réalisation de registre
Les constructeurs proposent des registres à décalage (« shift registers ») à 4 ou 8 bits.
Le CI 74xx194 est un registre universel
13
ISA/Mali-Génie Electrique Informatique Industrielle Semestre 2 (GEII/S2)