Вы находитесь на странице: 1из 113

Gnralits

Il s'agit maintenant d'examiner des dispositifs traitant plusieurs informations la fois et comportant pour
ce faire :

un groupe de bascules alimentes par une horloge

un rseau combinatoire d'entre qui labore les commandes d'excitation des bascules

un rseau de sortie donnant l'tat des bascules

Le fonctionnement va se traduire par un tableau de vrit o figurent


en entre

les tats antrieurs des bascules

les informations d'entre

les commandes d'entre

les commandes de sortie

l'horloge

en sortie

les tats futurs des bascules

les tats des sorties du registre

Trois fonctions sont ralises par le registre

mmorisation d'une information place en entre et recopie

comptage et dcomptage : le registre contient la valeur n puis affiche n+1 (ou n-1)

dcalage : l'tat des bascules glisse d'un rang dans un sens ou l'autre

La constitution d'un registre fait appel aux bascules fonctionnement par front (RS, D ou JK), jamais
des bascules niveau. Dans tous les cas les horloges sont communes et les sorties d'une bascule sont
connectes aux entres suivantes. Les diffrences essentielles vont se situer au niveau des entres et
des sorties d'un registre.

exemple de registre dcalage

Soit un registre constitu de 4 bascules D front montant, supposons un tat initial des sorties Q de
chaque bascule tel que sur la figure. On dit que l'ensemble constitue un registre de contenu 1011.
Supposons maintenant que l'on prsente un niveau 1 sur l'entre, puis que l'on applique une impulsion
sur C.
Sur le front montant, chaque bascule va recopier sa sortie l'information prsente son entre juste
avant le front montant. On ralise ainsi un dcalage vers la droite.
Rappelons qu'en base 2 un dcalage vers la droite reprsente une division par 2, tandis qu'un
dcalage vers la gauche correspond une multiplication par deux.
Dans le cas prsent, on a un registre chargement et lecture srie. C'est le plus simple, mais le plus lent.
Il prsente en outre l'inconvnient de perdre son contenu si on veut le lire, aussi pour remdier ce
dfaut a-t-on imagin des modes de chargement parallle et des modes de lecture parallle plus rapide
et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut mme avoir les 4
possibilits sur un mme registre avec en outre une possibilit de dcalage aussi bien gauche qu'
droite.
Illustrons ce principe avec un registre base de JK

Notons que l'entre parallle est prioritaire, le dcalage ne peut se faire que si T = 0, si T = 1 on a la
possibilit de chargement parallle.

registre universel
L'exemple type de registre universel 4 bits est le 7495 qui est conu autour de bascules RS

Si MC = 1 horloge = H2 validation des ET parallles


si MC = 0 horloge = H1 validation des entres srie
tableau de vrit de la commande d'horloge

MC

H2

H1

horloge

ETsrie

ET A

srie

srie

srie

srie

Remarque : le changement du sens de dcalage rsulte du cblage extrieur. On connecte A au lieu


de D et vice et versa, de mme B la place de C.

compteurs
Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions
entres et l'tat de sortie correspondant. Ils sont constitus partir de bascules, un compteur n bits
peut compter jusqu' 2n-1 avant que le cycle de comptage ne recommence. On distinguera 2 grandes
familles, les compteurs synchrones dans lesquels toutes les bascules sont contrles par le mme signal
d'horloge et les asynchrones dont seule la premire bascule reoit sur son entre clock le signal
compter.

Les caractristiques gnrales d'un compteur :

commande d'horloge synchrone ou asynchrone

capacit de comptage

vitesse de comptage

comptage ou dcomptage

possibilit de prslection (chargement possible d'un nombre donn avant le dmarrage du


compteur).

compteur asynchrone
Prenons l'exemple d'un compteur par 8 = 23. Ecrivons d'abord le tableau des configurations possibles

Ainsi qu'on le voit la colonne A change d'tat chaque ligne, la colonne B change d'tat chaque fois
que A passe de 1 0, la colonne C change d'tat chaque fois que la colonne B passe de 1 0
Ainsi nous pourrons utiliser 3 bascules ABC telles que A change d'tat chaque pas, B change d'tat sur
les transitions ngatives de A et C change d'tat sur les transitions ngatives de B. Donc A sera monte
en diviseur par 2 et recevra sur son entre d'horloge les impulsions compter. Pour B qui doit commuter
sur les transisitons ngatives de A il y a 2 choix possibles selon qu'il s'agit d'une bascule commande sur
front montant (liaison avec Q de A) ou descendant (liaison avec Q). Il en est de mme pour C. Ainsi si l'on
prend des JK front descendant le logigramme sera le suivant

Tous les J et les K sont au +5V (1 logique) afin d'assurer le basculement chaque front d'horloge.
Notons le chronogramme

Un dcalage de entre le front descendant et le rsultat en sortie induit un dcalage de n aprs la


nime bascule. Le problme c'est qu'il peut arriver que n >priode d'horloge. D'autre part on trouvera du
temps n sur les sorties du compteur des tats transitoires non significatifs (il ne faut donc pas lire,
c'est dire utiliser le contenu du compteur pendant ce temps). Ainsi si l'on regarde le contenu du
compteur juste aprs la quatrime impulsion d'horloge on va lire pour CBA 011 puis 010 et enfin 000
avant 100, c'est dire 3, puis 2, puis 0 en dcimal avant d'avoir 4!

compteur modulo diffrent de 2n


Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur
par 8 vu prcdemment un circuit qui lorsque n = 5 ramnera le compteur 0. Pour cela nous utiliserons
les entres asynchrones CLEAR (RAZ) ou PRESET.
action sur RAZ
On ajoute un dcodeur qui lorsque n = 5 force les entres R.

En pratique si cette solution est lgante il faut voir ses difficults de mise en oeuvre. On sait que la
configuration 101 n'apparaitra qu'au bout d'un temps 3 aprs le front descendant de l'horloge d'entre.
Le dcodeur met lui aussi un certain temps ragir ( ). Ensuite la remise zro s'effectue en un
temps pour une bascule. Donc pendant + on aura 101 d'affich. Dans l'exemple choisi SN7472 et
SN7442 = 10ns et = 20ns soit un total de 30ns. Il importe que cette dure soit courte vis vis de la
priode d'horloge.
Par ailleurs, nous pouvons avoir, c'est frquent, des temps de basculement lgrement diffrents pour A
et C. La documentation de Texas Instruments indique un maxi de 40ns et un mini de 20ns. Supposons
que pour A ce soit 40ns et 20ns pour C. Quand la configuration 101 apparait, aprs un temps a les
bascules sont forces 0. C revient 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns
le dcodeur ragit et la ligne 5 n'est plus active. La bascule A simultanment termine son basculement en
40ns, or cet instant prcis la bascule B n'est plus force 0, elle voit un front descendant sur son
entre d'horloge et ...bascule. Le rsultat est loquent on affiche maintenant 010 au lieu de 000.
Pour viter cet inconvnient, il est donc ncessaire de mettre une cellule retard qui maintient l'ordre
RAZ un temps suffisant (> 40ns) entre le dcodeur et les entres R des bascules.
action sur PRESET
On va modifier imprativement l'tat non plus aprs le cinquime coup mais au quatrime en agissant sur

les bascules qui sont alors 0 en les forant 1. L'intrt est que a ne risque pas de provoquer de
basculement non souhait puisqu'il n'y a alors pas de front descendant. Alors au cinquime coup toutes
les bascules seront normalement remises 0. Donc on relie la sortie 4 du dcodeur aux entres S des
bascules. L'inconvnient c'est que le comptage n'est plus en binaire pur puisque le 4 au lieu de 100
devient 111
Suppression d'un cycle 1 tat quelconque
La troisime solution consiste sauter des cycles. C'est intressant dans le cas d'un compteur de modulo
lev, 10 par exemple. Un compteur par 10 est ralis avec 4 bascules, il faut supprimer 6 tats. Cela
peut-tre ralis de diverses manires :

soit on agit 6 fois sur A

soit on agit 3 fois sur B qui bascule 1 fois sur 2

soit on agit 1 fois sur C et 1 fois sur B, etc...

Prenons l'exemple d'action uniquement sur B. On peut placer cette action n'importe o dans le cycle
(c'est un problme juste de connexion sur le dcodeur) et on agit soit sur le clear soit sur le preset.

(1)

(2)

(3)

Juste aprs l'tat reprr en jaune par (1) on va forcer B 0. Le passage de 1 0 va entrainer la
transition de C et l'on va se retrouver l'tat 0100 (en vert). A la ligne repre (2) on fait un preset et on
passe alors directement 1010, la mme chose en (3) conduit 1110 au lieu de 1100. Ce qui fait qu'au
dixime coup d'horloge on se retrouvera 0000.

exploitation des compteurs


Deux cas se prsentent

Ou l'on fait un comptage, arrte le compteur, puis exploite le rsultat avec tout le temps devant
soi. C'est par ex le cas de certains frquencemtres. Dans ce cas la vitesse de comptage peut
tre leve, la limitation tant celle de la premire bascule. Mais la lecture du rsultat s'effectuant
sur un temps suffisamment long on vitera les problmes avec les tats transitoires.

Ou l'on affiche tous les rsultats aprs chaque nouvelle impulsion. Dans ce cas, il est ncessaire
de procder un chantillonnage dcal. Il faut alors 2 horloges distinctes, dcales d'au moins
nq si le compteur comporte n tages afin d'viter le dcodage d'tats transitoires. La
configuration d'exploitation est alors la suivante :

Par rapport au cas prcdent on peut noter la rduction de vitesse de comptage puisqu'il faut
imprativement que la priode d'horloge soit > n , alors que dans le premier cas elle devait simplement
tre > .
On utilise gnralement pour H2 le mme signal que pour H1 mais retard de n ce qui n'est pas
forcment vident car n'est pas toujours le mme d'une bascule l'autre et donc pour chaque
compteur il faudra ajuster la cellule retard. Aussi on prfre utiliser un dcodeur command par le front
montant de l'horloge (si c'est le front descendant qui agit sur le compteur, et vice versa).

compteur synchrone
Soit construire un compteur synchrone modulo 6 dcrivant le cycle suivant et utilisant des JK

Attention ce cycle n'est pas binaire : on peut dduire du tableau les tats que doivent prendre chaque
instant les entres J et K pour que le compteur dcrive le cycle dsir. Ainsi par ex, lorsque Q A = QB =
QC = 0 pour qu'au top suivant QA passe 1 il faut JA =1 et KA indiffrent, pour que QB reste 0 il faut JB = 0
et KB indiffrent, etc. On aboutit alors au tableau suivant :

JA

KA

JB

KB

JC

KC

En utilisant le diagramme de Karnaugh on va dterminer les quations et donc la circuiterie raliser. On


note les 1 de la sortie ABC, ainsi la premire ligne pour N = 0 donne ABC=1 et dans le tableau on note la
valeur correspondante de JA soit 1 ici. Sur le diagramme de Karnaugh on a figur en rouge dans les
cases correspondantes les diffrentes valeurs de N, ainsi la case en haut droite correspond N = 1

Dans ce cas prcis il n'y a que des 1 ou des cases indiffrentes dans le diagramme donc J A = 1, on
trouvera la mme chose pour KA. Par contre le diagramme pour JB contient un 0 dans la case 0, on ne
pourra donc avoir que 4 cases remplies de 1 contigus

......
Donc JB = QA et KB = QAQC. De mme on trouvera JC = QAQB et KC = QAQB ou QA au choix. On prendra par
exemple pour KC la simplification la moins performante soit QAQB parce que c'est la mme chose pour JC.
D'o la ralisation avec deux portes ET. Mais l'autre solution implique les deux mmes portes ET et n'est
gure plus complexe raliser.

ralisation d'un dcompteur


Il suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les sorties
complmentaires Q. En effet

Q3

Q2

Q1

Q3

Q2

Q1

compteur Johnson ou en anneau


C'est un registre dcalage dont les sorties sont reboucles sur les entres inverses. capacit 2n (et non
2n).

Le problme principal est qu' la mise sous tension on n'a pas forcment 000. Il convient donc de forcer
le compteur ce que l'on va faire en rajoutant une porte ET qui va relier la sortie et l'entre de la dernire
bascule selon le schma ci-dessous, le reste tant inchang. Examinons le cas d'un compteur quatre
bascules

Ainsi qu'on le voit dans le tableau les deux premires valeurs sont errones (par construction) mais
ensuite ds le troisime coup le fonctionnement est correct.

procdure de chargement d'un compteur


asynchrone, c'est dire chargement non synchronis par l'horloge

Pour charger le compteur en asynchrone avec une valeur quelconque il suffit de mettre cette valeur en
a,b,c et de faire p = 0. Ainsi si l'on veut A = 1, B = 0, C = 0 on fait a = 1, b = 0, c = 0, p = 0. Alors sur
l'entre de remise "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis l'entre de remise
1 et donc A est forc 1, etc.
synchrone, c'est dire chargement synchronis par l'horloge
Il est aussi possible de faire des systmes chargement synchrone qui affectent alors directement les
entres J et K de chaque bascule. On reprsente le principe pour un seul tage sachant que c'est la
mme chose pour tous.

si L = 0 fonctionnement normal JA = KA = 1
si L = 1 chargement synchrone. JA = a, KA = a, mais seulement pendant le temps d'horloge
Notons que pour la bascule suivante chaque porte ET possde une troisime entre relie Q A et non
double comme ici sur l'horloge, il en est videmment de mme des bascules suivantes.

un groupe de bascules alimentes par une horloge

un rseau combinatoire d'entre qui labore les commandes d'excitation des


bascules

un rseau de sortie donnant l'tat des bascules

Le fonctionnement va se traduire par un tableau de vrit o figurent


en entre

les tats antrieurs des bascules

les informations d'entre

les commandes d'entre

les commandes de sortie

l'horloge

en sortie

les tats futurs des bascules

les tats des sorties du registre

Trois fonctions sont ralises par le registre

mmorisation d'une information place en entre et recopie

comptage et dcomptage : le registre contient la valeur n puis affiche n+1 (ou n1)

dcalage : l'tat des bascules glisse d'un rang dans un sens ou l'autre

La constitution d'un registre fait appel aux bascules fonctionnement par front (RS, D
ou JK), jamais des bascules niveau. Dans tous les cas les horloges sont communes
et les sorties d'une bascule sont connectes aux entres suivantes. Les diffrences
essentielles vont se situer au niveau des entres et des sorties d'un registre.

exemple de registre dcalage

Soit un registre constitu de 4 bascules D front montant, supposons un tat initial des
sorties Q de chaque bascule tel que sur la figure. On dit que l'ensemble constitue un
registre de contenu 1011. Supposons maintenant que l'on prsente un niveau 1 sur
l'entre, puis que l'on applique une impulsion sur C.
Sur le front montant, chaque bascule va recopier sa sortie l'information prsente son
entre juste avant le front montant. On ralise ainsi un dcalage vers la droite.
Rappelons qu'en base 2 un dcalage vers la droite reprsente une division par 2,
tandis qu'un dcalage vers la gauche correspond une multiplication par deux.
Dans le cas prsent, on a un registre chargement et lecture srie. C'est le plus simple,
mais le plus lent. Il prsente en outre l'inconvnient de perdre son contenu si on veut le
lire, aussi pour remdier ce dfaut a-t-on imagin des modes de chargement parallle
et des modes de lecture parallle plus rapide et non destructeurs de l'information.
Toutes les combinaisons sont possibles, on peut mme avoir les 4 possibilits sur un
mme registre avec en outre une possibilit de dcalage aussi bien gauche qu'
droite.
Illustrons ce principe avec un registre base de JK

Notons que l'entre parallle est prioritaire, le dcalage ne peut se faire que si T = 0, si
T = 1 on a la possibilit de chargement parallle.

registre universel
L'exemple type de registre universel 4 bits est le 7495 qui est conu autour de
bascules RS

Si MC = 1 horloge = H2 validation des ET parallles


si MC = 0 horloge = H1 validation des entres srie
tableau de vrit de la commande d'horloge
MC

H2

H1

horloge

ETsrie

ET A

srie

srie

srie

srie

Remarque : le changement du sens de dcalage rsulte du cblage extrieur. On


connecte A au lieu de D et vice et versa, de mme B la place de C.

compteurs
Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le
nombre d'impulsions entres et l'tat de sortie correspondant. Ils sont constitus partir
de bascules, un compteur n bits peut compter jusqu' 2 n-1 avant que le cycle de
comptage ne recommence. On distinguera 2 grandes familles, les compteurs
synchrones dans lesquels toutes les bascules sont contrles par le mme signal
d'horloge et les asynchrones dont seule la premire bascule reoit sur son entre clock
le signal compter.

Les caractristiques gnrales d'un compteur :

commande d'horloge synchrone ou asynchrone

capacit de comptage

vitesse de comptage

comptage ou dcomptage

possibilit de prslection (chargement possible d'un nombre donn avant le


dmarrage du compteur).

compteur asynchrone
Prenons l'exemple d'un compteur par 8 = 23. Ecrivons d'abord le tableau des
configurations possibles
N

Ainsi qu'on le voit la colonne A change d'tat chaque ligne, la colonne B change d'tat
chaque fois que A passe de 1 0, la colonne C change d'tat chaque fois que la
colonne B passe de 1 0
Ainsi nous pourrons utiliser 3 bascules ABC telles que A change d'tat chaque pas, B
change d'tat sur les transitions ngatives de A et C change d'tat sur les transitions
ngatives de B. Donc A sera monte en diviseur par 2 et recevra sur son entre
d'horloge les impulsions compter. Pour B qui doit commuter sur les transisitons
ngatives de A il y a 2 choix possibles selon qu'il s'agit d'une bascule commande sur
front montant (liaison avec Q de A) ou descendant (liaison avec Q). Il en est de mme
pour C. Ainsi si l'on prend des JK front descendant le logigramme sera le suivant

Tous les J et les K sont au +5V (1 logique) afin d'assurer le basculement chaque front
d'horloge.

Notons le chronogramme

Un dcalage de entre le front descendant et le rsultat en sortie induit un dcalage de


n aprs la nime bascule. Le problme c'est qu'il peut arriver que n >priode d'horloge.
D'autre part on trouvera du temps n sur les sorties du compteur des tats
transitoires non significatifs (il ne faut donc pas lire, c'est dire utiliser le contenu du
compteur pendant ce temps). Ainsi si l'on regarde le contenu du compteur juste aprs la
quatrime impulsion d'horloge on va lire pour CBA 011 puis 010 et enfin 000 avant 100,
c'est dire 3, puis 2, puis 0 en dcimal avant d'avoir 4!

compteur modulo diffrent de 2n


Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va
ajouter au compteur par 8 vu prcdemment un circuit qui lorsque n = 5 ramnera le
compteur 0. Pour cela nous utiliserons les entres asynchrones CLEAR (RAZ) ou
PRESET.
action sur RAZ
On ajoute un dcodeur qui lorsque n = 5 force les entres R.

En pratique si cette solution est lgante il faut voir ses difficults de mise en oeuvre.

On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3 aprs le front
descendant de l'horloge d'entre. Le dcodeur met lui aussi un certain temps ragir (
). Ensuite la remise zro s'effectue en un temps pour une bascule. Donc
pendant + on aura 101 d'affich. Dans l'exemple choisi SN7472 et SN7442 = 10ns
et = 20ns soit un total de 30ns. Il importe que cette dure soit courte vis vis de la
priode d'horloge.
Par ailleurs, nous pouvons avoir, c'est frquent, des temps de basculement lgrement
diffrents pour A et C. La documentation de Texas Instruments indique un maxi de 40ns
et un mini de 20ns. Supposons que pour A ce soit 40ns et 20ns pour C. Quand la
configuration 101 apparait, aprs un temps a les bascules sont forces 0. C revient
0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le dcodeur ragit et
la ligne 5 n'est plus active. La bascule A simultanment termine son basculement en
40ns, or cet instant prcis la bascule B n'est plus force 0, elle voit un front
descendant sur son entre d'horloge et ...bascule. Le rsultat est loquent on affiche
maintenant 010 au lieu de 000.
Pour viter cet inconvnient, il est donc ncessaire de mettre une cellule retard qui
maintient l'ordre RAZ un temps suffisant (> 40ns) entre le dcodeur et les entres R des
bascules.
action sur PRESET
On va modifier imprativement l'tat non plus aprs le cinquime coup mais au
quatrime en agissant sur les bascules qui sont alors 0 en les forant 1. L'intrt est
que a ne risque pas de provoquer de basculement non souhait puisqu'il n'y a alors
pas de front descendant. Alors au cinquime coup toutes les bascules seront
normalement remises 0. Donc on relie la sortie 4 du dcodeur aux entres S des
bascules. L'inconvnient c'est que le comptage n'est plus en binaire pur puisque le 4 au
lieu de 100 devient 111
Suppression d'un cycle 1 tat quelconque
La troisime solution consiste sauter des cycles. C'est intressant dans le cas d'un
compteur de modulo lev, 10 par exemple. Un compteur par 10 est ralis avec 4
bascules, il faut supprimer 6 tats. Cela peut-tre ralis de diverses manires :

soit on agit 6 fois sur A

soit on agit 3 fois sur B qui bascule 1 fois sur 2

soit on agit 1 fois sur C et 1 fois sur B, etc...

Prenons l'exemple d'action uniquement sur B. On peut placer cette action n'importe o
dans le cycle (c'est un problme juste de connexion sur le dcodeur) et on agit soit sur

le clear soit sur le preset.

(1)

(2)

(3)

Juste aprs l'tat reprr en jaune par (1) on va forcer B 0. Le passage de 1 0 va


entrainer la transition de C et l'on va se retrouver l'tat 0100 (en vert). A la ligne
repre (2) on fait un preset et on passe alors directement 1010, la mme chose en
(3) conduit 1110 au lieu de 1100. Ce qui fait qu'au dixime coup d'horloge on se
retrouvera 0000.

exploitation des compteurs


Deux cas se prsentent

Ou l'on fait un comptage, arrte le compteur, puis exploite le rsultat avec tout le
temps devant soi. C'est par ex le cas de certains frquencemtres. Dans ce cas
la vitesse de comptage peut tre leve, la limitation tant celle de la premire
bascule. Mais la lecture du rsultat s'effectuant sur un temps suffisamment long
on vitera les problmes avec les tats transitoires.

Ou l'on affiche tous les rsultats aprs chaque nouvelle impulsion. Dans ce cas,
il est ncessaire de procder un chantillonnage dcal. Il faut alors 2 horloges
distinctes, dcales d'au moins nq si le compteur comporte n tages afin d'viter
le dcodage d'tats transitoires. La configuration d'exploitation est alors la
suivante :

Par rapport au cas prcdent on peut noter la rduction de vitesse de comptage


puisqu'il faut imprativement que la priode d'horloge soit > n , alors que dans le
premier cas elle devait simplement tre > .
On utilise gnralement pour H2 le mme signal que pour H1 mais retard de n ce qui
n'est pas forcment vident car n'est pas toujours le mme d'une bascule l'autre et
donc pour chaque compteur il faudra ajuster la cellule retard. Aussi on prfre utiliser
un dcodeur command par le front montant de l'horloge (si c'est le front descendant
qui agit sur le compteur, et vice versa).

compteur synchrone
Soit construire un compteur synchrone modulo 6 dcrivant le cycle suivant et utilisant
des JK
N

Attention ce cycle n'est pas binaire : on peut dduire du tableau les tats que doivent
prendre chaque instant les entres J et K pour que le compteur dcrive le cycle
dsir. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe 1 il faut
JA =1 et KA indiffrent, pour que QB reste 0 il faut JB = 0 et KB indiffrent, etc. On aboutit
alors au tableau suivant :
N

JA

KA

JB

KB

JC

KC

En utilisant le diagramme de Karnaugh on va dterminer les quations et donc la


circuiterie raliser. On note les 1 de la sortie ABC, ainsi la premire ligne pour N = 0
donne ABC=1 et dans le tableau on note la valeur correspondante de J A soit 1 ici. Sur
le diagramme de Karnaugh on a figur en rouge dans les cases correspondantes les
diffrentes valeurs de N, ainsi la case en haut droite correspond N = 1

Dans ce cas prcis il n'y a que des 1 ou des cases indiffrentes dans le diagramme
donc JA = 1, on trouvera la mme chose pour KA. Par contre le diagramme pour
JB contient un 0 dans la case 0, on ne pourra donc avoir que 4 cases remplies de 1
contigus

......
Donc JB = QA et KB = QAQC. De mme on trouvera JC = QAQB et KC = QAQB ou QA au
choix. On prendra par exemple pour KC la simplification la moins performante soit
QAQB parce que c'est la mme chose pour JC. D'o la ralisation avec deux portes ET.
Mais l'autre solution implique les deux mmes portes ET et n'est gure plus complexe
raliser.

ralisation d'un dcompteur


Il suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les
sorties complmentaires Q. En effet
N

Q3

Q2

Q1

Q3

Q2

Q1

compteur Johnson ou en anneau


C'est un registre dcalage dont les sorties sont reboucles sur les entres inverses.
capacit 2n (et non 2n).

Le problme principal est qu' la mise sous tension on n'a pas forcment 000. Il
convient donc de forcer le compteur ce que l'on va faire en rajoutant une porte ET qui
va relier la sortie et l'entre de la dernire bascule selon le schma ci-dessous, le reste
tant inchang. Examinons le cas d'un compteur quatre bascules
A

Ainsi qu'on le voit dans le tableau les deux premires valeurs sont errones (par
construction) mais ensuite ds le troisime coup le fonctionnement est correct.

procdure de chargement d'un compteur


asynchrone, c'est dire chargement non synchronis par l'horloge

Pour charger le compteur en asynchrone avec une valeur quelconque il suffit de mettre
cette valeur en a,b,c et de faire p = 0. Ainsi si l'on veut A = 1, B = 0, C = 0 on fait a = 1, b
= 0, c = 0, p = 0. Alors sur l'entre de remise "0" de A il y a un 1 tandis que via
l'inverseur un 0 est transmis l'entre de remise 1 et donc A est forc 1, etc.
synchrone, c'est dire chargement synchronis par l'horloge
Il est aussi possible de faire des systmes chargement synchrone qui affectent alors
directement les entres J et K de chaque bascule. On reprsente le principe pour un
seul tage sachant que c'est la mme chose pour tous.

si L = 0 fonctionnement normal JA = KA = 1
si L = 1 chargement synchrone. JA = a, KA = a, mais seulement pendant le temps
d'horloge
Notons que pour la bascule suivante chaque porte ET possde une troisime entre
relie QA et non double comme ici sur l'horloge, il en est videmment de mme des
bascules suivantes.

un groupe de bascules alimentes par une horloge

un rseau combinatoire d'entre qui labore les commandes d'excitation des


bascules

un rseau de sortie donnant l'tat des bascules

Le fonctionnement va se traduire par un tableau de vrit o figurent


en entre

les tats antrieurs des bascules

les informations d'entre

les commandes d'entre

les commandes de sortie

l'horloge

en sortie

les tats futurs des bascules

les tats des sorties du registre

Trois fonctions sont ralises par le registre

mmorisation d'une information place en entre et recopie

comptage et dcomptage : le registre contient la valeur n puis affiche n+1 (ou n1)

dcalage : l'tat des bascules glisse d'un rang dans un sens ou l'autre

La constitution d'un registre fait appel aux bascules fonctionnement par front (RS, D
ou JK), jamais des bascules niveau. Dans tous les cas les horloges sont communes
et les sorties d'une bascule sont connectes aux entres suivantes. Les diffrences
essentielles vont se situer au niveau des entres et des sorties d'un registre.

exemple de registre dcalage

Soit un registre constitu de 4 bascules D front montant, supposons un tat initial des
sorties Q de chaque bascule tel que sur la figure. On dit que l'ensemble constitue un
registre de contenu 1011. Supposons maintenant que l'on prsente un niveau 1 sur
l'entre, puis que l'on applique une impulsion sur C.
Sur le front montant, chaque bascule va recopier sa sortie l'information prsente son
entre juste avant le front montant. On ralise ainsi un dcalage vers la droite.
Rappelons qu'en base 2 un dcalage vers la droite reprsente une division par 2,
tandis qu'un dcalage vers la gauche correspond une multiplication par deux.
Dans le cas prsent, on a un registre chargement et lecture srie. C'est le plus simple,
mais le plus lent. Il prsente en outre l'inconvnient de perdre son contenu si on veut le
lire, aussi pour remdier ce dfaut a-t-on imagin des modes de chargement parallle
et des modes de lecture parallle plus rapide et non destructeurs de l'information.
Toutes les combinaisons sont possibles, on peut mme avoir les 4 possibilits sur un
mme registre avec en outre une possibilit de dcalage aussi bien gauche qu'
droite.

Illustrons ce principe avec un registre base de JK

Notons que l'entre parallle est prioritaire, le dcalage ne peut se faire que si T = 0, si
T = 1 on a la possibilit de chargement parallle.

registre universel
L'exemple type de registre universel 4 bits est le 7495 qui est conu autour de
bascules RS

Si MC = 1 horloge = H2 validation des ET parallles


si MC = 0 horloge = H1 validation des entres srie
tableau de vrit de la commande d'horloge
MC

H2

H1

horloge

ETsrie

ET A

srie

srie

srie

srie

Remarque : le changement du sens de dcalage rsulte du cblage extrieur. On


connecte A au lieu de D et vice et versa, de mme B la place de C.

compteurs
Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le
nombre d'impulsions entres et l'tat de sortie correspondant. Ils sont constitus partir
de bascules, un compteur n bits peut compter jusqu' 2 n-1 avant que le cycle de
comptage ne recommence. On distinguera 2 grandes familles, les compteurs
synchrones dans lesquels toutes les bascules sont contrles par le mme signal
d'horloge et les asynchrones dont seule la premire bascule reoit sur son entre clock
le signal compter.

Les caractristiques gnrales d'un compteur :

commande d'horloge synchrone ou asynchrone

capacit de comptage

vitesse de comptage

comptage ou dcomptage

possibilit de prslection (chargement possible d'un nombre donn avant le


dmarrage du compteur).

compteur asynchrone
Prenons l'exemple d'un compteur par 8 = 23. Ecrivons d'abord le tableau des
configurations possibles
N

Ainsi qu'on le voit la colonne A change d'tat chaque ligne, la colonne B change d'tat
chaque fois que A passe de 1 0, la colonne C change d'tat chaque fois que la
colonne B passe de 1 0
Ainsi nous pourrons utiliser 3 bascules ABC telles que A change d'tat chaque pas, B
change d'tat sur les transitions ngatives de A et C change d'tat sur les transitions
ngatives de B. Donc A sera monte en diviseur par 2 et recevra sur son entre
d'horloge les impulsions compter. Pour B qui doit commuter sur les transisitons
ngatives de A il y a 2 choix possibles selon qu'il s'agit d'une bascule commande sur
front montant (liaison avec Q de A) ou descendant (liaison avec Q). Il en est de mme
pour C. Ainsi si l'on prend des JK front descendant le logigramme sera le suivant

Tous les J et les K sont au +5V (1 logique) afin d'assurer le basculement chaque front
d'horloge.

Notons le chronogramme

Un dcalage de entre le front descendant et le rsultat en sortie induit un dcalage de


n aprs la nime bascule. Le problme c'est qu'il peut arriver que n >priode d'horloge.
D'autre part on trouvera du temps n sur les sorties du compteur des tats
transitoires non significatifs (il ne faut donc pas lire, c'est dire utiliser le contenu du
compteur pendant ce temps). Ainsi si l'on regarde le contenu du compteur juste aprs la
quatrime impulsion d'horloge on va lire pour CBA 011 puis 010 et enfin 000 avant 100,
c'est dire 3, puis 2, puis 0 en dcimal avant d'avoir 4!

compteur modulo diffrent de 2n


Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va
ajouter au compteur par 8 vu prcdemment un circuit qui lorsque n = 5 ramnera le
compteur 0. Pour cela nous utiliserons les entres asynchrones CLEAR (RAZ) ou
PRESET.
action sur RAZ
On ajoute un dcodeur qui lorsque n = 5 force les entres R.

En pratique si cette solution est lgante il faut voir ses difficults de mise en oeuvre.

On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3 aprs le front
descendant de l'horloge d'entre. Le dcodeur met lui aussi un certain temps ragir (
). Ensuite la remise zro s'effectue en un temps pour une bascule. Donc
pendant + on aura 101 d'affich. Dans l'exemple choisi SN7472 et SN7442 = 10ns
et = 20ns soit un total de 30ns. Il importe que cette dure soit courte vis vis de la
priode d'horloge.
Par ailleurs, nous pouvons avoir, c'est frquent, des temps de basculement lgrement
diffrents pour A et C. La documentation de Texas Instruments indique un maxi de 40ns
et un mini de 20ns. Supposons que pour A ce soit 40ns et 20ns pour C. Quand la
configuration 101 apparait, aprs un temps a les bascules sont forces 0. C revient
0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le dcodeur ragit et
la ligne 5 n'est plus active. La bascule A simultanment termine son basculement en
40ns, or cet instant prcis la bascule B n'est plus force 0, elle voit un front
descendant sur son entre d'horloge et ...bascule. Le rsultat est loquent on affiche
maintenant 010 au lieu de 000.
Pour viter cet inconvnient, il est donc ncessaire de mettre une cellule retard qui
maintient l'ordre RAZ un temps suffisant (> 40ns) entre le dcodeur et les entres R des
bascules.
action sur PRESET
On va modifier imprativement l'tat non plus aprs le cinquime coup mais au
quatrime en agissant sur les bascules qui sont alors 0 en les forant 1. L'intrt est
que a ne risque pas de provoquer de basculement non souhait puisqu'il n'y a alors
pas de front descendant. Alors au cinquime coup toutes les bascules seront
normalement remises 0. Donc on relie la sortie 4 du dcodeur aux entres S des
bascules. L'inconvnient c'est que le comptage n'est plus en binaire pur puisque le 4 au
lieu de 100 devient 111
Suppression d'un cycle 1 tat quelconque
La troisime solution consiste sauter des cycles. C'est intressant dans le cas d'un
compteur de modulo lev, 10 par exemple. Un compteur par 10 est ralis avec 4
bascules, il faut supprimer 6 tats. Cela peut-tre ralis de diverses manires :

soit on agit 6 fois sur A

soit on agit 3 fois sur B qui bascule 1 fois sur 2

soit on agit 1 fois sur C et 1 fois sur B, etc...

Prenons l'exemple d'action uniquement sur B. On peut placer cette action n'importe o
dans le cycle (c'est un problme juste de connexion sur le dcodeur) et on agit soit sur

le clear soit sur le preset.

(1)

(2)

(3)

Juste aprs l'tat reprr en jaune par (1) on va forcer B 0. Le passage de 1 0 va


entrainer la transition de C et l'on va se retrouver l'tat 0100 (en vert). A la ligne
repre (2) on fait un preset et on passe alors directement 1010, la mme chose en
(3) conduit 1110 au lieu de 1100. Ce qui fait qu'au dixime coup d'horloge on se
retrouvera 0000.

exploitation des compteurs


Deux cas se prsentent

Ou l'on fait un comptage, arrte le compteur, puis exploite le rsultat avec tout le
temps devant soi. C'est par ex le cas de certains frquencemtres. Dans ce cas
la vitesse de comptage peut tre leve, la limitation tant celle de la premire
bascule. Mais la lecture du rsultat s'effectuant sur un temps suffisamment long
on vitera les problmes avec les tats transitoires.

Ou l'on affiche tous les rsultats aprs chaque nouvelle impulsion. Dans ce cas,
il est ncessaire de procder un chantillonnage dcal. Il faut alors 2 horloges
distinctes, dcales d'au moins nq si le compteur comporte n tages afin d'viter
le dcodage d'tats transitoires. La configuration d'exploitation est alors la
suivante :

Par rapport au cas prcdent on peut noter la rduction de vitesse de comptage


puisqu'il faut imprativement que la priode d'horloge soit > n , alors que dans le
premier cas elle devait simplement tre > .
On utilise gnralement pour H2 le mme signal que pour H1 mais retard de n ce qui
n'est pas forcment vident car n'est pas toujours le mme d'une bascule l'autre et
donc pour chaque compteur il faudra ajuster la cellule retard. Aussi on prfre utiliser
un dcodeur command par le front montant de l'horloge (si c'est le front descendant
qui agit sur le compteur, et vice versa).

compteur synchrone
Soit construire un compteur synchrone modulo 6 dcrivant le cycle suivant et utilisant
des JK
N

Attention ce cycle n'est pas binaire : on peut dduire du tableau les tats que doivent
prendre chaque instant les entres J et K pour que le compteur dcrive le cycle
dsir. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe 1 il faut
JA =1 et KA indiffrent, pour que QB reste 0 il faut JB = 0 et KB indiffrent, etc. On aboutit
alors au tableau suivant :
N

JA

KA

JB

KB

JC

KC

En utilisant le diagramme de Karnaugh on va dterminer les quations et donc la


circuiterie raliser. On note les 1 de la sortie ABC, ainsi la premire ligne pour N = 0
donne ABC=1 et dans le tableau on note la valeur correspondante de J A soit 1 ici. Sur
le diagramme de Karnaugh on a figur en rouge dans les cases correspondantes les
diffrentes valeurs de N, ainsi la case en haut droite correspond N = 1

Dans ce cas prcis il n'y a que des 1 ou des cases indiffrentes dans le diagramme
donc JA = 1, on trouvera la mme chose pour KA. Par contre le diagramme pour
JB contient un 0 dans la case 0, on ne pourra donc avoir que 4 cases remplies de 1
contigus

......
Donc JB = QA et KB = QAQC. De mme on trouvera JC = QAQB et KC = QAQB ou QA au
choix. On prendra par exemple pour KC la simplification la moins performante soit
QAQB parce que c'est la mme chose pour JC. D'o la ralisation avec deux portes ET.
Mais l'autre solution implique les deux mmes portes ET et n'est gure plus complexe
raliser.

ralisation d'un dcompteur


Il suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les
sorties complmentaires Q. En effet
N

Q3

Q2

Q1

Q3

Q2

Q1

compteur Johnson ou en anneau


C'est un registre dcalage dont les sorties sont reboucles sur les entres inverses.
capacit 2n (et non 2n).

Le problme principal est qu' la mise sous tension on n'a pas forcment 000. Il
convient donc de forcer le compteur ce que l'on va faire en rajoutant une porte ET qui
va relier la sortie et l'entre de la dernire bascule selon le schma ci-dessous, le reste
tant inchang. Examinons le cas d'un compteur quatre bascules
A

Ainsi qu'on le voit dans le tableau les deux premires valeurs sont errones (par
construction) mais ensuite ds le troisime coup le fonctionnement est correct.

procdure de chargement d'un compteur


asynchrone, c'est dire chargement non synchronis par l'horloge

Pour charger le compteur en asynchrone avec une valeur quelconque il suffit de mettre
cette valeur en a,b,c et de faire p = 0. Ainsi si l'on veut A = 1, B = 0, C = 0 on fait a = 1, b
= 0, c = 0, p = 0. Alors sur l'entre de remise "0" de A il y a un 1 tandis que via
l'inverseur un 0 est transmis l'entre de remise 1 et donc A est forc 1, etc.
synchrone, c'est dire chargement synchronis par l'horloge
Il est aussi possible de faire des systmes chargement synchrone qui affectent alors
directement les entres J et K de chaque bascule. On reprsente le principe pour un
seul tage sachant que c'est la mme chose pour tous.

si L = 0 fonctionnement normal JA = KA = 1
si L = 1 chargement synchrone. JA = a, KA = a, mais seulement pendant le temps
d'horloge
Notons que pour la bascule suivante chaque porte ET possde une troisime entre
relie QA et non double comme ici sur l'horloge, il en est videmment de mme des
bascules suivantes.

un groupe de bascules alimentes par une horloge

un rseau combinatoire d'entre qui labore les commandes d'excitation des


bascules

un rseau de sortie donnant l'tat des bascules

Le fonctionnement va se traduire par un tableau de vrit o figurent


en entre

les tats antrieurs des bascules

les informations d'entre

les commandes d'entre

les commandes de sortie

l'horloge

en sortie

les tats futurs des bascules

les tats des sorties du registre

Trois fonctions sont ralises par le registre

mmorisation d'une information place en entre et recopie

comptage et dcomptage : le registre contient la valeur n puis affiche n+1 (ou n1)

dcalage : l'tat des bascules glisse d'un rang dans un sens ou l'autre

La constitution d'un registre fait appel aux bascules fonctionnement par front (RS, D
ou JK), jamais des bascules niveau. Dans tous les cas les horloges sont communes
et les sorties d'une bascule sont connectes aux entres suivantes. Les diffrences
essentielles vont se situer au niveau des entres et des sorties d'un registre.

exemple de registre dcalage

Soit un registre constitu de 4 bascules D front montant, supposons un tat initial des
sorties Q de chaque bascule tel que sur la figure. On dit que l'ensemble constitue un
registre de contenu 1011. Supposons maintenant que l'on prsente un niveau 1 sur
l'entre, puis que l'on applique une impulsion sur C.
Sur le front montant, chaque bascule va recopier sa sortie l'information prsente son
entre juste avant le front montant. On ralise ainsi un dcalage vers la droite.
Rappelons qu'en base 2 un dcalage vers la droite reprsente une division par 2,
tandis qu'un dcalage vers la gauche correspond une multiplication par deux.
Dans le cas prsent, on a un registre chargement et lecture srie. C'est le plus simple,
mais le plus lent. Il prsente en outre l'inconvnient de perdre son contenu si on veut le
lire, aussi pour remdier ce dfaut a-t-on imagin des modes de chargement parallle
et des modes de lecture parallle plus rapide et non destructeurs de l'information.
Toutes les combinaisons sont possibles, on peut mme avoir les 4 possibilits sur un
mme registre avec en outre une possibilit de dcalage aussi bien gauche qu'
droite.
Illustrons ce principe avec un registre base de JK

Notons que l'entre parallle est prioritaire, le dcalage ne peut se faire que si T = 0, si
T = 1 on a la possibilit de chargement parallle.

registre universel
L'exemple type de registre universel 4 bits est le 7495 qui est conu autour de
bascules RS

Si MC = 1 horloge = H2 validation des ET parallles


si MC = 0 horloge = H1 validation des entres srie
tableau de vrit de la commande d'horloge
MC

H2

H1

horloge

ETsrie

ET A

srie

srie

srie

srie

Remarque : le changement du sens de dcalage rsulte du cblage extrieur. On


connecte A au lieu de D et vice et versa, de mme B la place de C.

compteurs
Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le
nombre d'impulsions entres et l'tat de sortie correspondant. Ils sont constitus partir
de bascules, un compteur n bits peut compter jusqu' 2 n-1 avant que le cycle de
comptage ne recommence. On distinguera 2 grandes familles, les compteurs
synchrones dans lesquels toutes les bascules sont contrles par le mme signal
d'horloge et les asynchrones dont seule la premire bascule reoit sur son entre clock
le signal compter.

Les caractristiques gnrales d'un compteur :

commande d'horloge synchrone ou asynchrone

capacit de comptage

vitesse de comptage

comptage ou dcomptage

possibilit de prslection (chargement possible d'un nombre donn avant le


dmarrage du compteur).

compteur asynchrone
Prenons l'exemple d'un compteur par 8 = 23. Ecrivons d'abord le tableau des
configurations possibles
N

Ainsi qu'on le voit la colonne A change d'tat chaque ligne, la colonne B change d'tat
chaque fois que A passe de 1 0, la colonne C change d'tat chaque fois que la
colonne B passe de 1 0
Ainsi nous pourrons utiliser 3 bascules ABC telles que A change d'tat chaque pas, B
change d'tat sur les transitions ngatives de A et C change d'tat sur les transitions
ngatives de B. Donc A sera monte en diviseur par 2 et recevra sur son entre
d'horloge les impulsions compter. Pour B qui doit commuter sur les transisitons
ngatives de A il y a 2 choix possibles selon qu'il s'agit d'une bascule commande sur
front montant (liaison avec Q de A) ou descendant (liaison avec Q). Il en est de mme
pour C. Ainsi si l'on prend des JK front descendant le logigramme sera le suivant

Tous les J et les K sont au +5V (1 logique) afin d'assurer le basculement chaque front
d'horloge.

Notons le chronogramme

Un dcalage de entre le front descendant et le rsultat en sortie induit un dcalage de


n aprs la nime bascule. Le problme c'est qu'il peut arriver que n >priode d'horloge.
D'autre part on trouvera du temps n sur les sorties du compteur des tats
transitoires non significatifs (il ne faut donc pas lire, c'est dire utiliser le contenu du
compteur pendant ce temps). Ainsi si l'on regarde le contenu du compteur juste aprs la
quatrime impulsion d'horloge on va lire pour CBA 011 puis 010 et enfin 000 avant 100,
c'est dire 3, puis 2, puis 0 en dcimal avant d'avoir 4!

compteur modulo diffrent de 2n


Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va
ajouter au compteur par 8 vu prcdemment un circuit qui lorsque n = 5 ramnera le
compteur 0. Pour cela nous utiliserons les entres asynchrones CLEAR (RAZ) ou
PRESET.
action sur RAZ
On ajoute un dcodeur qui lorsque n = 5 force les entres R.

En pratique si cette solution est lgante il faut voir ses difficults de mise en oeuvre.

On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3 aprs le front
descendant de l'horloge d'entre. Le dcodeur met lui aussi un certain temps ragir (
). Ensuite la remise zro s'effectue en un temps pour une bascule. Donc
pendant + on aura 101 d'affich. Dans l'exemple choisi SN7472 et SN7442 = 10ns
et = 20ns soit un total de 30ns. Il importe que cette dure soit courte vis vis de la
priode d'horloge.
Par ailleurs, nous pouvons avoir, c'est frquent, des temps de basculement lgrement
diffrents pour A et C. La documentation de Texas Instruments indique un maxi de 40ns
et un mini de 20ns. Supposons que pour A ce soit 40ns et 20ns pour C. Quand la
configuration 101 apparait, aprs un temps a les bascules sont forces 0. C revient
0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le dcodeur ragit et
la ligne 5 n'est plus active. La bascule A simultanment termine son basculement en
40ns, or cet instant prcis la bascule B n'est plus force 0, elle voit un front
descendant sur son entre d'horloge et ...bascule. Le rsultat est loquent on affiche
maintenant 010 au lieu de 000.
Pour viter cet inconvnient, il est donc ncessaire de mettre une cellule retard qui
maintient l'ordre RAZ un temps suffisant (> 40ns) entre le dcodeur et les entres R des
bascules.
action sur PRESET
On va modifier imprativement l'tat non plus aprs le cinquime coup mais au
quatrime en agissant sur les bascules qui sont alors 0 en les forant 1. L'intrt est
que a ne risque pas de provoquer de basculement non souhait puisqu'il n'y a alors
pas de front descendant. Alors au cinquime coup toutes les bascules seront
normalement remises 0. Donc on relie la sortie 4 du dcodeur aux entres S des
bascules. L'inconvnient c'est que le comptage n'est plus en binaire pur puisque le 4 au
lieu de 100 devient 111
Suppression d'un cycle 1 tat quelconque
La troisime solution consiste sauter des cycles. C'est intressant dans le cas d'un
compteur de modulo lev, 10 par exemple. Un compteur par 10 est ralis avec 4
bascules, il faut supprimer 6 tats. Cela peut-tre ralis de diverses manires :

soit on agit 6 fois sur A

soit on agit 3 fois sur B qui bascule 1 fois sur 2

soit on agit 1 fois sur C et 1 fois sur B, etc...

Prenons l'exemple d'action uniquement sur B. On peut placer cette action n'importe o
dans le cycle (c'est un problme juste de connexion sur le dcodeur) et on agit soit sur

le clear soit sur le preset.

(1)

(2)

(3)

Juste aprs l'tat reprr en jaune par (1) on va forcer B 0. Le passage de 1 0 va


entrainer la transition de C et l'on va se retrouver l'tat 0100 (en vert). A la ligne
repre (2) on fait un preset et on passe alors directement 1010, la mme chose en
(3) conduit 1110 au lieu de 1100. Ce qui fait qu'au dixime coup d'horloge on se
retrouvera 0000.

exploitation des compteurs


Deux cas se prsentent

Ou l'on fait un comptage, arrte le compteur, puis exploite le rsultat avec tout le
temps devant soi. C'est par ex le cas de certains frquencemtres. Dans ce cas
la vitesse de comptage peut tre leve, la limitation tant celle de la premire
bascule. Mais la lecture du rsultat s'effectuant sur un temps suffisamment long
on vitera les problmes avec les tats transitoires.

Ou l'on affiche tous les rsultats aprs chaque nouvelle impulsion. Dans ce cas,
il est ncessaire de procder un chantillonnage dcal. Il faut alors 2 horloges
distinctes, dcales d'au moins nq si le compteur comporte n tages afin d'viter
le dcodage d'tats transitoires. La configuration d'exploitation est alors la
suivante :

Par rapport au cas prcdent on peut noter la rduction de vitesse de comptage


puisqu'il faut imprativement que la priode d'horloge soit > n , alors que dans le
premier cas elle devait simplement tre > .
On utilise gnralement pour H2 le mme signal que pour H1 mais retard de n ce qui
n'est pas forcment vident car n'est pas toujours le mme d'une bascule l'autre et
donc pour chaque compteur il faudra ajuster la cellule retard. Aussi on prfre utiliser
un dcodeur command par le front montant de l'horloge (si c'est le front descendant
qui agit sur le compteur, et vice versa).

compteur synchrone
Soit construire un compteur synchrone modulo 6 dcrivant le cycle suivant et utilisant
des JK
N

Attention ce cycle n'est pas binaire : on peut dduire du tableau les tats que doivent
prendre chaque instant les entres J et K pour que le compteur dcrive le cycle
dsir. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe 1 il faut
JA =1 et KA indiffrent, pour que QB reste 0 il faut JB = 0 et KB indiffrent, etc. On aboutit
alors au tableau suivant :
N

JA

KA

JB

KB

JC

KC

En utilisant le diagramme de Karnaugh on va dterminer les quations et donc la


circuiterie raliser. On note les 1 de la sortie ABC, ainsi la premire ligne pour N = 0
donne ABC=1 et dans le tableau on note la valeur correspondante de J A soit 1 ici. Sur
le diagramme de Karnaugh on a figur en rouge dans les cases correspondantes les
diffrentes valeurs de N, ainsi la case en haut droite correspond N = 1

Dans ce cas prcis il n'y a que des 1 ou des cases indiffrentes dans le diagramme
donc JA = 1, on trouvera la mme chose pour KA. Par contre le diagramme pour
JB contient un 0 dans la case 0, on ne pourra donc avoir que 4 cases remplies de 1
contigus

......
Donc JB = QA et KB = QAQC. De mme on trouvera JC = QAQB et KC = QAQB ou QA au
choix. On prendra par exemple pour KC la simplification la moins performante soit
QAQB parce que c'est la mme chose pour JC. D'o la ralisation avec deux portes ET.
Mais l'autre solution implique les deux mmes portes ET et n'est gure plus complexe
raliser.

ralisation d'un dcompteur


Il suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les
sorties complmentaires Q. En effet
N

Q3

Q2

Q1

Q3

Q2

Q1

compteur Johnson ou en anneau


C'est un registre dcalage dont les sorties sont reboucles sur les entres inverses.
capacit 2n (et non 2n).

Le problme principal est qu' la mise sous tension on n'a pas forcment 000. Il
convient donc de forcer le compteur ce que l'on va faire en rajoutant une porte ET qui
va relier la sortie et l'entre de la dernire bascule selon le schma ci-dessous, le reste
tant inchang. Examinons le cas d'un compteur quatre bascules
A

Ainsi qu'on le voit dans le tableau les deux premires valeurs sont errones (par
construction) mais ensuite ds le troisime coup le fonctionnement est correct.

procdure de chargement d'un compteur


asynchrone, c'est dire chargement non synchronis par l'horloge

Pour charger le compteur en asynchrone avec une valeur quelconque il suffit de mettre
cette valeur en a,b,c et de faire p = 0. Ainsi si l'on veut A = 1, B = 0, C = 0 on fait a = 1, b
= 0, c = 0, p = 0. Alors sur l'entre de remise "0" de A il y a un 1 tandis que via
l'inverseur un 0 est transmis l'entre de remise 1 et donc A est forc 1, etc.
synchrone, c'est dire chargement synchronis par l'horloge
Il est aussi possible de faire des systmes chargement synchrone qui affectent alors
directement les entres J et K de chaque bascule. On reprsente le principe pour un
seul tage sachant que c'est la mme chose pour tous.

si L = 0 fonctionnement normal JA = KA = 1
si L = 1 chargement synchrone. JA = a, KA = a, mais seulement pendant le temps
d'horloge
Notons que pour la bascule suivante chaque porte ET possde une troisime entre
relie QA et non double comme ici sur l'horloge, il en est videmment de mme des
bascules suivantes.
log6
Copyright

version initiale 2000

2000-2015 LHERBAUDIERE
AVERTISSEMENT

5 pages l'impression

dernire mise jour


18 mars 2013

cliquez sur le mot avertissement pour connaitre une info essentielle avant de lire ce module et
n'hsitez pas cliquer en bas de page sur l'icone sommaire du site a vous ouvrira d'autres
perspectives

Registres et compteurs (logique 6/9)


gnralits

la mise bout bout

registre dcalage

des bascules

registre universel
compteurs
compteur asynchrone
modulo diffrent de 2n
exploitation des compteurs
compteur synchrone
ralisation d'un dcompteur
compteur johnson ou en anneau

le plus complexe

procdure de chargement
une collection d'icnes
pour visiter tout le site

Gnralits
Il s'agit maintenant d'examiner des dispositifs traitant plusieurs informations la fois et comportant pour
ce faire :

un groupe de bascules alimentes par une horloge

un rseau combinatoire d'entre qui labore les commandes d'excitation des bascules

un rseau de sortie donnant l'tat des bascules

Le fonctionnement va se traduire par un tableau de vrit o figurent


en entre

les tats antrieurs des bascules

les informations d'entre

les commandes d'entre

les commandes de sortie

l'horloge

en sortie

les tats futurs des bascules

les tats des sorties du registre

Trois fonctions sont ralises par le registre

mmorisation d'une information place en entre et recopie

comptage et dcomptage : le registre contient la valeur n puis affiche n+1 (ou n-1)

dcalage : l'tat des bascules glisse d'un rang dans un sens ou l'autre

La constitution d'un registre fait appel aux bascules fonctionnement par front (RS, D ou JK), jamais
des bascules niveau. Dans tous les cas les horloges sont communes et les sorties d'une bascule sont
connectes aux entres suivantes. Les diffrences essentielles vont se situer au niveau des entres et
des sorties d'un registre.

exemple de registre dcalage

Soit un registre constitu de 4 bascules D front montant, supposons un tat initial des sorties Q de
chaque bascule tel que sur la figure. On dit que l'ensemble constitue un registre de contenu 1011.
Supposons maintenant que l'on prsente un niveau 1 sur l'entre, puis que l'on applique une impulsion
sur C.
Sur le front montant, chaque bascule va recopier sa sortie l'information prsente son entre juste
avant le front montant. On ralise ainsi un dcalage vers la droite.
Rappelons qu'en base 2 un dcalage vers la droite reprsente une division par 2, tandis qu'un
dcalage vers la gauche correspond une multiplication par deux.
Dans le cas prsent, on a un registre chargement et lecture srie. C'est le plus simple, mais le plus lent.
Il prsente en outre l'inconvnient de perdre son contenu si on veut le lire, aussi pour remdier ce
dfaut a-t-on imagin des modes de chargement parallle et des modes de lecture parallle plus rapide
et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut mme avoir les 4
possibilits sur un mme registre avec en outre une possibilit de dcalage aussi bien gauche qu'
droite.
Illustrons ce principe avec un registre base de JK

Notons que l'entre parallle est prioritaire, le dcalage ne peut se faire que si T = 0, si T = 1 on a la
possibilit de chargement parallle.

registre universel
L'exemple type de registre universel 4 bits est le 7495 qui est conu autour de bascules RS

Si MC = 1 horloge = H2 validation des ET parallles


si MC = 0 horloge = H1 validation des entres srie
tableau de vrit de la commande d'horloge

MC

H2

H1

horloge

ETsrie

ET A

srie

srie

srie

srie

Remarque : le changement du sens de dcalage rsulte du cblage extrieur. On connecte A au lieu


de D et vice et versa, de mme B la place de C.

compteurs
Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions
entres et l'tat de sortie correspondant. Ils sont constitus partir de bascules, un compteur n bits
peut compter jusqu' 2n-1 avant que le cycle de comptage ne recommence. On distinguera 2 grandes
familles, les compteurs synchrones dans lesquels toutes les bascules sont contrles par le mme signal
d'horloge et les asynchrones dont seule la premire bascule reoit sur son entre clock le signal
compter.

Les caractristiques gnrales d'un compteur :

commande d'horloge synchrone ou asynchrone

capacit de comptage

vitesse de comptage

comptage ou dcomptage

possibilit de prslection (chargement possible d'un nombre donn avant le dmarrage du


compteur).

compteur asynchrone
Prenons l'exemple d'un compteur par 8 = 23. Ecrivons d'abord le tableau des configurations possibles

Ainsi qu'on le voit la colonne A change d'tat chaque ligne, la colonne B change d'tat chaque fois
que A passe de 1 0, la colonne C change d'tat chaque fois que la colonne B passe de 1 0
Ainsi nous pourrons utiliser 3 bascules ABC telles que A change d'tat chaque pas, B change d'tat sur
les transitions ngatives de A et C change d'tat sur les transitions ngatives de B. Donc A sera monte
en diviseur par 2 et recevra sur son entre d'horloge les impulsions compter. Pour B qui doit commuter
sur les transisitons ngatives de A il y a 2 choix possibles selon qu'il s'agit d'une bascule commande sur
front montant (liaison avec Q de A) ou descendant (liaison avec Q). Il en est de mme pour C. Ainsi si l'on
prend des JK front descendant le logigramme sera le suivant

Tous les J et les K sont au +5V (1 logique) afin d'assurer le basculement chaque front d'horloge.
Notons le chronogramme

Un dcalage de entre le front descendant et le rsultat en sortie induit un dcalage de n aprs la


nime bascule. Le problme c'est qu'il peut arriver que n >priode d'horloge. D'autre part on trouvera du
temps n sur les sorties du compteur des tats transitoires non significatifs (il ne faut donc pas lire,
c'est dire utiliser le contenu du compteur pendant ce temps). Ainsi si l'on regarde le contenu du
compteur juste aprs la quatrime impulsion d'horloge on va lire pour CBA 011 puis 010 et enfin 000
avant 100, c'est dire 3, puis 2, puis 0 en dcimal avant d'avoir 4!

compteur modulo diffrent de 2n


Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur
par 8 vu prcdemment un circuit qui lorsque n = 5 ramnera le compteur 0. Pour cela nous utiliserons
les entres asynchrones CLEAR (RAZ) ou PRESET.
action sur RAZ
On ajoute un dcodeur qui lorsque n = 5 force les entres R.

En pratique si cette solution est lgante il faut voir ses difficults de mise en oeuvre. On sait que la
configuration 101 n'apparaitra qu'au bout d'un temps 3 aprs le front descendant de l'horloge d'entre.
Le dcodeur met lui aussi un certain temps ragir ( ). Ensuite la remise zro s'effectue en un
temps pour une bascule. Donc pendant + on aura 101 d'affich. Dans l'exemple choisi SN7472 et
SN7442 = 10ns et = 20ns soit un total de 30ns. Il importe que cette dure soit courte vis vis de la
priode d'horloge.
Par ailleurs, nous pouvons avoir, c'est frquent, des temps de basculement lgrement diffrents pour A
et C. La documentation de Texas Instruments indique un maxi de 40ns et un mini de 20ns. Supposons
que pour A ce soit 40ns et 20ns pour C. Quand la configuration 101 apparait, aprs un temps a les
bascules sont forces 0. C revient 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns
le dcodeur ragit et la ligne 5 n'est plus active. La bascule A simultanment termine son basculement en
40ns, or cet instant prcis la bascule B n'est plus force 0, elle voit un front descendant sur son
entre d'horloge et ...bascule. Le rsultat est loquent on affiche maintenant 010 au lieu de 000.
Pour viter cet inconvnient, il est donc ncessaire de mettre une cellule retard qui maintient l'ordre
RAZ un temps suffisant (> 40ns) entre le dcodeur et les entres R des bascules.
action sur PRESET
On va modifier imprativement l'tat non plus aprs le cinquime coup mais au quatrime en agissant sur

les bascules qui sont alors 0 en les forant 1. L'intrt est que a ne risque pas de provoquer de
basculement non souhait puisqu'il n'y a alors pas de front descendant. Alors au cinquime coup toutes
les bascules seront normalement remises 0. Donc on relie la sortie 4 du dcodeur aux entres S des
bascules. L'inconvnient c'est que le comptage n'est plus en binaire pur puisque le 4 au lieu de 100
devient 111
Suppression d'un cycle 1 tat quelconque
La troisime solution consiste sauter des cycles. C'est intressant dans le cas d'un compteur de modulo
lev, 10 par exemple. Un compteur par 10 est ralis avec 4 bascules, il faut supprimer 6 tats. Cela
peut-tre ralis de diverses manires :

soit on agit 6 fois sur A

soit on agit 3 fois sur B qui bascule 1 fois sur 2

soit on agit 1 fois sur C et 1 fois sur B, etc...

Prenons l'exemple d'action uniquement sur B. On peut placer cette action n'importe o dans le cycle
(c'est un problme juste de connexion sur le dcodeur) et on agit soit sur le clear soit sur le preset.

(1)

(2)

(3)

Juste aprs l'tat reprr en jaune par (1) on va forcer B 0. Le passage de 1 0 va entrainer la
transition de C et l'on va se retrouver l'tat 0100 (en vert). A la ligne repre (2) on fait un preset et on
passe alors directement 1010, la mme chose en (3) conduit 1110 au lieu de 1100. Ce qui fait qu'au
dixime coup d'horloge on se retrouvera 0000.

exploitation des compteurs


Deux cas se prsentent

Ou l'on fait un comptage, arrte le compteur, puis exploite le rsultat avec tout le temps devant
soi. C'est par ex le cas de certains frquencemtres. Dans ce cas la vitesse de comptage peut
tre leve, la limitation tant celle de la premire bascule. Mais la lecture du rsultat s'effectuant
sur un temps suffisamment long on vitera les problmes avec les tats transitoires.

Ou l'on affiche tous les rsultats aprs chaque nouvelle impulsion. Dans ce cas, il est ncessaire
de procder un chantillonnage dcal. Il faut alors 2 horloges distinctes, dcales d'au moins
nq si le compteur comporte n tages afin d'viter le dcodage d'tats transitoires. La
configuration d'exploitation est alors la suivante :

Par rapport au cas prcdent on peut noter la rduction de vitesse de comptage puisqu'il faut
imprativement que la priode d'horloge soit > n , alors que dans le premier cas elle devait simplement
tre > .
On utilise gnralement pour H2 le mme signal que pour H1 mais retard de n ce qui n'est pas
forcment vident car n'est pas toujours le mme d'une bascule l'autre et donc pour chaque
compteur il faudra ajuster la cellule retard. Aussi on prfre utiliser un dcodeur command par le front
montant de l'horloge (si c'est le front descendant qui agit sur le compteur, et vice versa).

compteur synchrone
Soit construire un compteur synchrone modulo 6 dcrivant le cycle suivant et utilisant des JK

Attention ce cycle n'est pas binaire : on peut dduire du tableau les tats que doivent prendre chaque
instant les entres J et K pour que le compteur dcrive le cycle dsir. Ainsi par ex, lorsque Q A = QB =
QC = 0 pour qu'au top suivant QA passe 1 il faut JA =1 et KA indiffrent, pour que QB reste 0 il faut JB = 0
et KB indiffrent, etc. On aboutit alors au tableau suivant :

JA

KA

JB

KB

JC

KC

En utilisant le diagramme de Karnaugh on va dterminer les quations et donc la circuiterie raliser. On


note les 1 de la sortie ABC, ainsi la premire ligne pour N = 0 donne ABC=1 et dans le tableau on note la
valeur correspondante de JA soit 1 ici. Sur le diagramme de Karnaugh on a figur en rouge dans les
cases correspondantes les diffrentes valeurs de N, ainsi la case en haut droite correspond N = 1

Dans ce cas prcis il n'y a que des 1 ou des cases indiffrentes dans le diagramme donc J A = 1, on
trouvera la mme chose pour KA. Par contre le diagramme pour JB contient un 0 dans la case 0, on ne
pourra donc avoir que 4 cases remplies de 1 contigus

......
Donc JB = QA et KB = QAQC. De mme on trouvera JC = QAQB et KC = QAQB ou QA au choix. On prendra par
exemple pour KC la simplification la moins performante soit QAQB parce que c'est la mme chose pour JC.
D'o la ralisation avec deux portes ET. Mais l'autre solution implique les deux mmes portes ET et n'est
gure plus complexe raliser.

ralisation d'un dcompteur


Il suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les sorties
complmentaires Q. En effet

Q3

Q2

Q1

Q3

Q2

Q1

compteur Johnson ou en anneau


C'est un registre dcalage dont les sorties sont reboucles sur les entres inverses. capacit 2n (et non
2n).

Le problme principal est qu' la mise sous tension on n'a pas forcment 000. Il convient donc de forcer
le compteur ce que l'on va faire en rajoutant une porte ET qui va relier la sortie et l'entre de la dernire
bascule selon le schma ci-dessous, le reste tant inchang. Examinons le cas d'un compteur quatre
bascules

Ainsi qu'on le voit dans le tableau les deux premires valeurs sont errones (par construction) mais
ensuite ds le troisime coup le fonctionnement est correct.

procdure de chargement d'un compteur


asynchrone, c'est dire chargement non synchronis par l'horloge

Pour charger le compteur en asynchrone avec une valeur quelconque il suffit de mettre cette valeur en
a,b,c et de faire p = 0. Ainsi si l'on veut A = 1, B = 0, C = 0 on fait a = 1, b = 0, c = 0, p = 0. Alors sur
l'entre de remise "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis l'entre de remise
1 et donc A est forc 1, etc.
synchrone, c'est dire chargement synchronis par l'horloge
Il est aussi possible de faire des systmes chargement synchrone qui affectent alors directement les
entres J et K de chaque bascule. On reprsente le principe pour un seul tage sachant que c'est la
mme chose pour tous.

si L = 0 fonctionnement normal JA = KA = 1
si L = 1 chargement synchrone. JA = a, KA = a, mais seulement pendant le temps d'horloge
Notons que pour la bascule suivante chaque porte ET possde une troisime entre relie Q A et non
double comme ici sur l'horloge, il en est videmment de mme des bascules suivantes.

un groupe de bascules alimentes par une horloge

un rseau combinatoire d'entre qui labore les commandes d'excitation des


bascules

un rseau de sortie donnant l'tat des bascules

Le fonctionnement va se traduire par un tableau de vrit o figurent

en entre

les tats antrieurs des bascules

les informations d'entre

les commandes d'entre

les commandes de sortie

l'horloge

en sortie

les tats futurs des bascules

les tats des sorties du registre

Trois fonctions sont ralises par le registre

mmorisation d'une information place en entre et recopie

comptage et dcomptage : le registre contient la valeur n puis affiche n+1 (ou n1)

dcalage : l'tat des bascules glisse d'un rang dans un sens ou l'autre

La constitution d'un registre fait appel aux bascules fonctionnement par front (RS, D
ou JK), jamais des bascules niveau. Dans tous les cas les horloges sont communes
et les sorties d'une bascule sont connectes aux entres suivantes. Les diffrences
essentielles vont se situer au niveau des entres et des sorties d'un registre.

exemple de registre dcalage

Soit un registre constitu de 4 bascules D front montant, supposons un tat initial des
sorties Q de chaque bascule tel que sur la figure. On dit que l'ensemble constitue un
registre de contenu 1011. Supposons maintenant que l'on prsente un niveau 1 sur
l'entre, puis que l'on applique une impulsion sur C.
Sur le front montant, chaque bascule va recopier sa sortie l'information prsente son
entre juste avant le front montant. On ralise ainsi un dcalage vers la droite.
Rappelons qu'en base 2 un dcalage vers la droite reprsente une division par 2,
tandis qu'un dcalage vers la gauche correspond une multiplication par deux.
Dans le cas prsent, on a un registre chargement et lecture srie. C'est le plus simple,
mais le plus lent. Il prsente en outre l'inconvnient de perdre son contenu si on veut le
lire, aussi pour remdier ce dfaut a-t-on imagin des modes de chargement parallle
et des modes de lecture parallle plus rapide et non destructeurs de l'information.
Toutes les combinaisons sont possibles, on peut mme avoir les 4 possibilits sur un
mme registre avec en outre une possibilit de dcalage aussi bien gauche qu'
droite.
Illustrons ce principe avec un registre base de JK

Notons que l'entre parallle est prioritaire, le dcalage ne peut se faire que si T = 0, si
T = 1 on a la possibilit de chargement parallle.

registre universel

L'exemple type de registre universel 4 bits est le 7495 qui est conu autour de
bascules RS

Si MC = 1 horloge = H2 validation des ET parallles


si MC = 0 horloge = H1 validation des entres srie
tableau de vrit de la commande d'horloge
MC

H2

H1

horloge

ETsrie

ET A

srie

srie

srie

srie

Remarque : le changement du sens de dcalage rsulte du cblage extrieur. On


connecte A au lieu de D et vice et versa, de mme B la place de C.

compteurs
Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le
nombre d'impulsions entres et l'tat de sortie correspondant. Ils sont constitus partir
de bascules, un compteur n bits peut compter jusqu' 2 n-1 avant que le cycle de
comptage ne recommence. On distinguera 2 grandes familles, les compteurs
synchrones dans lesquels toutes les bascules sont contrles par le mme signal
d'horloge et les asynchrones dont seule la premire bascule reoit sur son entre clock
le signal compter.

Les caractristiques gnrales d'un compteur :

commande d'horloge synchrone ou asynchrone

capacit de comptage

vitesse de comptage

comptage ou dcomptage

possibilit de prslection (chargement possible d'un nombre donn avant le


dmarrage du compteur).

compteur asynchrone
Prenons l'exemple d'un compteur par 8 = 23. Ecrivons d'abord le tableau des
configurations possibles
N

Ainsi qu'on le voit la colonne A change d'tat chaque ligne, la colonne B change d'tat
chaque fois que A passe de 1 0, la colonne C change d'tat chaque fois que la
colonne B passe de 1 0
Ainsi nous pourrons utiliser 3 bascules ABC telles que A change d'tat chaque pas, B
change d'tat sur les transitions ngatives de A et C change d'tat sur les transitions
ngatives de B. Donc A sera monte en diviseur par 2 et recevra sur son entre
d'horloge les impulsions compter. Pour B qui doit commuter sur les transisitons
ngatives de A il y a 2 choix possibles selon qu'il s'agit d'une bascule commande sur
front montant (liaison avec Q de A) ou descendant (liaison avec Q). Il en est de mme
pour C. Ainsi si l'on prend des JK front descendant le logigramme sera le suivant

Tous les J et les K sont au +5V (1 logique) afin d'assurer le basculement chaque front
d'horloge.

Notons le chronogramme

Un dcalage de entre le front descendant et le rsultat en sortie induit un dcalage de


n aprs la nime bascule. Le problme c'est qu'il peut arriver que n >priode d'horloge.
D'autre part on trouvera du temps n sur les sorties du compteur des tats
transitoires non significatifs (il ne faut donc pas lire, c'est dire utiliser le contenu du
compteur pendant ce temps). Ainsi si l'on regarde le contenu du compteur juste aprs la
quatrime impulsion d'horloge on va lire pour CBA 011 puis 010 et enfin 000 avant 100,
c'est dire 3, puis 2, puis 0 en dcimal avant d'avoir 4!

compteur modulo diffrent de 2n


Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va
ajouter au compteur par 8 vu prcdemment un circuit qui lorsque n = 5 ramnera le
compteur 0. Pour cela nous utiliserons les entres asynchrones CLEAR (RAZ) ou
PRESET.
action sur RAZ
On ajoute un dcodeur qui lorsque n = 5 force les entres R.

En pratique si cette solution est lgante il faut voir ses difficults de mise en oeuvre.

On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3 aprs le front
descendant de l'horloge d'entre. Le dcodeur met lui aussi un certain temps ragir (
). Ensuite la remise zro s'effectue en un temps pour une bascule. Donc
pendant + on aura 101 d'affich. Dans l'exemple choisi SN7472 et SN7442 = 10ns
et = 20ns soit un total de 30ns. Il importe que cette dure soit courte vis vis de la
priode d'horloge.
Par ailleurs, nous pouvons avoir, c'est frquent, des temps de basculement lgrement
diffrents pour A et C. La documentation de Texas Instruments indique un maxi de 40ns
et un mini de 20ns. Supposons que pour A ce soit 40ns et 20ns pour C. Quand la
configuration 101 apparait, aprs un temps a les bascules sont forces 0. C revient
0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le dcodeur ragit et
la ligne 5 n'est plus active. La bascule A simultanment termine son basculement en
40ns, or cet instant prcis la bascule B n'est plus force 0, elle voit un front
descendant sur son entre d'horloge et ...bascule. Le rsultat est loquent on affiche
maintenant 010 au lieu de 000.
Pour viter cet inconvnient, il est donc ncessaire de mettre une cellule retard qui
maintient l'ordre RAZ un temps suffisant (> 40ns) entre le dcodeur et les entres R des
bascules.
action sur PRESET
On va modifier imprativement l'tat non plus aprs le cinquime coup mais au
quatrime en agissant sur les bascules qui sont alors 0 en les forant 1. L'intrt est
que a ne risque pas de provoquer de basculement non souhait puisqu'il n'y a alors
pas de front descendant. Alors au cinquime coup toutes les bascules seront
normalement remises 0. Donc on relie la sortie 4 du dcodeur aux entres S des
bascules. L'inconvnient c'est que le comptage n'est plus en binaire pur puisque le 4 au
lieu de 100 devient 111
Suppression d'un cycle 1 tat quelconque
La troisime solution consiste sauter des cycles. C'est intressant dans le cas d'un
compteur de modulo lev, 10 par exemple. Un compteur par 10 est ralis avec 4
bascules, il faut supprimer 6 tats. Cela peut-tre ralis de diverses manires :

soit on agit 6 fois sur A

soit on agit 3 fois sur B qui bascule 1 fois sur 2

soit on agit 1 fois sur C et 1 fois sur B, etc...

Prenons l'exemple d'action uniquement sur B. On peut placer cette action n'importe o
dans le cycle (c'est un problme juste de connexion sur le dcodeur) et on agit soit sur

le clear soit sur le preset.

(1)

(2)

(3)

Juste aprs l'tat reprr en jaune par (1) on va forcer B 0. Le passage de 1 0 va


entrainer la transition de C et l'on va se retrouver l'tat 0100 (en vert). A la ligne
repre (2) on fait un preset et on passe alors directement 1010, la mme chose en
(3) conduit 1110 au lieu de 1100. Ce qui fait qu'au dixime coup d'horloge on se
retrouvera 0000.

exploitation des compteurs


Deux cas se prsentent

Ou l'on fait un comptage, arrte le compteur, puis exploite le rsultat avec tout le
temps devant soi. C'est par ex le cas de certains frquencemtres. Dans ce cas
la vitesse de comptage peut tre leve, la limitation tant celle de la premire
bascule. Mais la lecture du rsultat s'effectuant sur un temps suffisamment long
on vitera les problmes avec les tats transitoires.

Ou l'on affiche tous les rsultats aprs chaque nouvelle impulsion. Dans ce cas,
il est ncessaire de procder un chantillonnage dcal. Il faut alors 2 horloges
distinctes, dcales d'au moins nq si le compteur comporte n tages afin d'viter
le dcodage d'tats transitoires. La configuration d'exploitation est alors la
suivante :

Par rapport au cas prcdent on peut noter la rduction de vitesse de comptage


puisqu'il faut imprativement que la priode d'horloge soit > n , alors que dans le
premier cas elle devait simplement tre > .
On utilise gnralement pour H2 le mme signal que pour H1 mais retard de n ce qui
n'est pas forcment vident car n'est pas toujours le mme d'une bascule l'autre et
donc pour chaque compteur il faudra ajuster la cellule retard. Aussi on prfre utiliser
un dcodeur command par le front montant de l'horloge (si c'est le front descendant
qui agit sur le compteur, et vice versa).

compteur synchrone
Soit construire un compteur synchrone modulo 6 dcrivant le cycle suivant et utilisant
des JK
N

Attention ce cycle n'est pas binaire : on peut dduire du tableau les tats que doivent
prendre chaque instant les entres J et K pour que le compteur dcrive le cycle
dsir. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe 1 il faut
JA =1 et KA indiffrent, pour que QB reste 0 il faut JB = 0 et KB indiffrent, etc. On aboutit
alors au tableau suivant :
N

JA

KA

JB

KB

JC

KC

En utilisant le diagramme de Karnaugh on va dterminer les quations et donc la


circuiterie raliser. On note les 1 de la sortie ABC, ainsi la premire ligne pour N = 0
donne ABC=1 et dans le tableau on note la valeur correspondante de J A soit 1 ici. Sur
le diagramme de Karnaugh on a figur en rouge dans les cases correspondantes les
diffrentes valeurs de N, ainsi la case en haut droite correspond N = 1

Dans ce cas prcis il n'y a que des 1 ou des cases indiffrentes dans le diagramme
donc JA = 1, on trouvera la mme chose pour KA. Par contre le diagramme pour
JB contient un 0 dans la case 0, on ne pourra donc avoir que 4 cases remplies de 1
contigus

......
Donc JB = QA et KB = QAQC. De mme on trouvera JC = QAQB et KC = QAQB ou QA au
choix. On prendra par exemple pour KC la simplification la moins performante soit
QAQB parce que c'est la mme chose pour JC. D'o la ralisation avec deux portes ET.
Mais l'autre solution implique les deux mmes portes ET et n'est gure plus complexe
raliser.

ralisation d'un dcompteur


Il suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les
sorties complmentaires Q. En effet
N

Q3

Q2

Q1

Q3

Q2

Q1

compteur Johnson ou en anneau


C'est un registre dcalage dont les sorties sont reboucles sur les entres inverses.
capacit 2n (et non 2n).

Le problme principal est qu' la mise sous tension on n'a pas forcment 000. Il
convient donc de forcer le compteur ce que l'on va faire en rajoutant une porte ET qui
va relier la sortie et l'entre de la dernire bascule selon le schma ci-dessous, le reste
tant inchang. Examinons le cas d'un compteur quatre bascules
A

Ainsi qu'on le voit dans le tableau les deux premires valeurs sont errones (par
construction) mais ensuite ds le troisime coup le fonctionnement est correct.

procdure de chargement d'un compteur


asynchrone, c'est dire chargement non synchronis par l'horloge

Pour charger le compteur en asynchrone avec une valeur quelconque il suffit de mettre
cette valeur en a,b,c et de faire p = 0. Ainsi si l'on veut A = 1, B = 0, C = 0 on fait a = 1, b
= 0, c = 0, p = 0. Alors sur l'entre de remise "0" de A il y a un 1 tandis que via
l'inverseur un 0 est transmis l'entre de remise 1 et donc A est forc 1, etc.
synchrone, c'est dire chargement synchronis par l'horloge
Il est aussi possible de faire des systmes chargement synchrone qui affectent alors
directement les entres J et K de chaque bascule. On reprsente le principe pour un
seul tage sachant que c'est la mme chose pour tous.

si L = 0 fonctionnement normal JA = KA = 1
si L = 1 chargement synchrone. JA = a, KA = a, mais seulement pendant le temps
d'horloge
Notons que pour la bascule suivante chaque porte ET possde une troisime entre
relie QA et non double comme ici sur l'horloge, il en est videmment de mme des
bascules suivantes.

Le fonctionnement va se traduire par un tableau de vrit o figurent


en entre

les tats antrieurs des bascules

les informations d'entre

les commandes d'entre

les commandes de sortie

l'horloge

en sortie

les tats futurs des bascules

les tats des sorties du registre

Trois fonctions sont ralises par le registre

mmorisation d'une information place en entre et recopie

comptage et dcomptage : le registre contient la valeur n puis affiche n+1 (ou n-1)

dcalage : l'tat des bascules glisse d'un rang dans un sens ou l'autre

La constitution d'un registre fait appel aux bascules fonctionnement par front (RS, D ou JK), jamais
des bascules niveau. Dans tous les cas les horloges sont communes et les sorties d'une bascule sont
connectes aux entres suivantes. Les diffrences essentielles vont se situer au niveau des entres et
des sorties d'un registre.

exemple de registre dcalage

Soit un registre constitu de 4 bascules D front montant, supposons un tat initial des sorties Q de
chaque bascule tel que sur la figure. On dit que l'ensemble constitue un registre de contenu 1011.
Supposons maintenant que l'on prsente un niveau 1 sur l'entre, puis que l'on applique une impulsion
sur C.
Sur le front montant, chaque bascule va recopier sa sortie l'information prsente son entre juste
avant le front montant. On ralise ainsi un dcalage vers la droite.
Rappelons qu'en base 2 un dcalage vers la droite reprsente une division par 2, tandis qu'un
dcalage vers la gauche correspond une multiplication par deux.
Dans le cas prsent, on a un registre chargement et lecture srie. C'est le plus simple, mais le plus lent.
Il prsente en outre l'inconvnient de perdre son contenu si on veut le lire, aussi pour remdier ce
dfaut a-t-on imagin des modes de chargement parallle et des modes de lecture parallle plus rapide

et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut mme avoir les 4
possibilits sur un mme registre avec en outre une possibilit de dcalage aussi bien gauche qu'
droite.
Illustrons ce principe avec un registre base de JK

Notons que l'entre parallle est prioritaire, le dcalage ne peut se faire que si T = 0, si T = 1 on a la
possibilit de chargement parallle.

registre universel
L'exemple type de registre universel 4 bits est le 7495 qui est conu autour de bascules RS

Si MC = 1 horloge = H2 validation des ET parallles


si MC = 0 horloge = H1 validation des entres srie
tableau de vrit de la commande d'horloge

MC

H2

H1

horloge

ETsrie

ET A

srie

srie

srie

srie

Remarque : le changement du sens de dcalage rsulte du cblage extrieur. On connecte A au lieu


de D et vice et versa, de mme B la place de C.

compteurs
Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions
entres et l'tat de sortie correspondant. Ils sont constitus partir de bascules, un compteur n bits
peut compter jusqu' 2n-1 avant que le cycle de comptage ne recommence. On distinguera 2 grandes
familles, les compteurs synchrones dans lesquels toutes les bascules sont contrles par le mme signal
d'horloge et les asynchrones dont seule la premire bascule reoit sur son entre clock le signal
compter.

Les caractristiques gnrales d'un compteur :

commande d'horloge synchrone ou asynchrone

capacit de comptage

vitesse de comptage

comptage ou dcomptage

possibilit de prslection (chargement possible d'un nombre donn avant le dmarrage du


compteur).

compteur asynchrone
Prenons l'exemple d'un compteur par 8 = 23. Ecrivons d'abord le tableau des configurations possibles

Ainsi qu'on le voit la colonne A change d'tat chaque ligne, la colonne B change d'tat chaque fois
que A passe de 1 0, la colonne C change d'tat chaque fois que la colonne B passe de 1 0
Ainsi nous pourrons utiliser 3 bascules ABC telles que A change d'tat chaque pas, B change d'tat sur
les transitions ngatives de A et C change d'tat sur les transitions ngatives de B. Donc A sera monte
en diviseur par 2 et recevra sur son entre d'horloge les impulsions compter. Pour B qui doit commuter
sur les transisitons ngatives de A il y a 2 choix possibles selon qu'il s'agit d'une bascule commande sur
front montant (liaison avec Q de A) ou descendant (liaison avec Q). Il en est de mme pour C. Ainsi si l'on
prend des JK front descendant le logigramme sera le suivant

Tous les J et les K sont au +5V (1 logique) afin d'assurer le basculement chaque front d'horloge.
Notons le chronogramme

Un dcalage de entre le front descendant et le rsultat en sortie induit un dcalage de n aprs la


nime bascule. Le problme c'est qu'il peut arriver que n >priode d'horloge. D'autre part on trouvera du
temps n sur les sorties du compteur des tats transitoires non significatifs (il ne faut donc pas lire,
c'est dire utiliser le contenu du compteur pendant ce temps). Ainsi si l'on regarde le contenu du
compteur juste aprs la quatrime impulsion d'horloge on va lire pour CBA 011 puis 010 et enfin 000
avant 100, c'est dire 3, puis 2, puis 0 en dcimal avant d'avoir 4!

compteur modulo diffrent de 2n


Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur
par 8 vu prcdemment un circuit qui lorsque n = 5 ramnera le compteur 0. Pour cela nous utiliserons
les entres asynchrones CLEAR (RAZ) ou PRESET.
action sur RAZ
On ajoute un dcodeur qui lorsque n = 5 force les entres R.

En pratique si cette solution est lgante il faut voir ses difficults de mise en oeuvre. On sait que la
configuration 101 n'apparaitra qu'au bout d'un temps 3 aprs le front descendant de l'horloge d'entre.
Le dcodeur met lui aussi un certain temps ragir ( ). Ensuite la remise zro s'effectue en un
temps pour une bascule. Donc pendant + on aura 101 d'affich. Dans l'exemple choisi SN7472 et
SN7442 = 10ns et = 20ns soit un total de 30ns. Il importe que cette dure soit courte vis vis de la
priode d'horloge.
Par ailleurs, nous pouvons avoir, c'est frquent, des temps de basculement lgrement diffrents pour A
et C. La documentation de Texas Instruments indique un maxi de 40ns et un mini de 20ns. Supposons
que pour A ce soit 40ns et 20ns pour C. Quand la configuration 101 apparait, aprs un temps a les
bascules sont forces 0. C revient 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns
le dcodeur ragit et la ligne 5 n'est plus active. La bascule A simultanment termine son basculement en
40ns, or cet instant prcis la bascule B n'est plus force 0, elle voit un front descendant sur son
entre d'horloge et ...bascule. Le rsultat est loquent on affiche maintenant 010 au lieu de 000.
Pour viter cet inconvnient, il est donc ncessaire de mettre une cellule retard qui maintient l'ordre
RAZ un temps suffisant (> 40ns) entre le dcodeur et les entres R des bascules.
action sur PRESET
On va modifier imprativement l'tat non plus aprs le cinquime coup mais au quatrime en agissant sur

les bascules qui sont alors 0 en les forant 1. L'intrt est que a ne risque pas de provoquer de
basculement non souhait puisqu'il n'y a alors pas de front descendant. Alors au cinquime coup toutes
les bascules seront normalement remises 0. Donc on relie la sortie 4 du dcodeur aux entres S des
bascules. L'inconvnient c'est que le comptage n'est plus en binaire pur puisque le 4 au lieu de 100
devient 111
Suppression d'un cycle 1 tat quelconque
La troisime solution consiste sauter des cycles. C'est intressant dans le cas d'un compteur de modulo
lev, 10 par exemple. Un compteur par 10 est ralis avec 4 bascules, il faut supprimer 6 tats. Cela
peut-tre ralis de diverses manires :

soit on agit 6 fois sur A

soit on agit 3 fois sur B qui bascule 1 fois sur 2

soit on agit 1 fois sur C et 1 fois sur B, etc...

Prenons l'exemple d'action uniquement sur B. On peut placer cette action n'importe o dans le cycle
(c'est un problme juste de connexion sur le dcodeur) et on agit soit sur le clear soit sur le preset.

(1)

(2)

(3)

Juste aprs l'tat reprr en jaune par (1) on va forcer B 0. Le passage de 1 0 va entrainer la
transition de C et l'on va se retrouver l'tat 0100 (en vert). A la ligne repre (2) on fait un preset et on
passe alors directement 1010, la mme chose en (3) conduit 1110 au lieu de 1100. Ce qui fait qu'au
dixime coup d'horloge on se retrouvera 0000.

exploitation des compteurs


Deux cas se prsentent

Ou l'on fait un comptage, arrte le compteur, puis exploite le rsultat avec tout le temps devant
soi. C'est par ex le cas de certains frquencemtres. Dans ce cas la vitesse de comptage peut
tre leve, la limitation tant celle de la premire bascule. Mais la lecture du rsultat s'effectuant
sur un temps suffisamment long on vitera les problmes avec les tats transitoires.

Ou l'on affiche tous les rsultats aprs chaque nouvelle impulsion. Dans ce cas, il est ncessaire
de procder un chantillonnage dcal. Il faut alors 2 horloges distinctes, dcales d'au moins
nq si le compteur comporte n tages afin d'viter le dcodage d'tats transitoires. La
configuration d'exploitation est alors la suivante :

Par rapport au cas prcdent on peut noter la rduction de vitesse de comptage puisqu'il faut
imprativement que la priode d'horloge soit > n , alors que dans le premier cas elle devait simplement
tre > .
On utilise gnralement pour H2 le mme signal que pour H1 mais retard de n ce qui n'est pas
forcment vident car n'est pas toujours le mme d'une bascule l'autre et donc pour chaque
compteur il faudra ajuster la cellule retard. Aussi on prfre utiliser un dcodeur command par le front
montant de l'horloge (si c'est le front descendant qui agit sur le compteur, et vice versa).

compteur synchrone
Soit construire un compteur synchrone modulo 6 dcrivant le cycle suivant et utilisant des JK

Attention ce cycle n'est pas binaire : on peut dduire du tableau les tats que doivent prendre chaque
instant les entres J et K pour que le compteur dcrive le cycle dsir. Ainsi par ex, lorsque Q A = QB =
QC = 0 pour qu'au top suivant QA passe 1 il faut JA =1 et KA indiffrent, pour que QB reste 0 il faut JB = 0
et KB indiffrent, etc. On aboutit alors au tableau suivant :

JA

KA

JB

KB

JC

KC

En utilisant le diagramme de Karnaugh on va dterminer les quations et donc la circuiterie raliser. On


note les 1 de la sortie ABC, ainsi la premire ligne pour N = 0 donne ABC=1 et dans le tableau on note la
valeur correspondante de JA soit 1 ici. Sur le diagramme de Karnaugh on a figur en rouge dans les
cases correspondantes les diffrentes valeurs de N, ainsi la case en haut droite correspond N = 1

Dans ce cas prcis il n'y a que des 1 ou des cases indiffrentes dans le diagramme donc J A = 1, on
trouvera la mme chose pour KA. Par contre le diagramme pour JB contient un 0 dans la case 0, on ne
pourra donc avoir que 4 cases remplies de 1 contigus

......
Donc JB = QA et KB = QAQC. De mme on trouvera JC = QAQB et KC = QAQB ou QA au choix. On prendra par
exemple pour KC la simplification la moins performante soit QAQB parce que c'est la mme chose pour JC.
D'o la ralisation avec deux portes ET. Mais l'autre solution implique les deux mmes portes ET et n'est
gure plus complexe raliser.

ralisation d'un dcompteur


Il suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les sorties
complmentaires Q. En effet

Q3

Q2

Q1

Q3

Q2

Q1

compteur Johnson ou en anneau


C'est un registre dcalage dont les sorties sont reboucles sur les entres inverses. capacit 2n (et non
2n).

Le problme principal est qu' la mise sous tension on n'a pas forcment 000. Il convient donc de forcer
le compteur ce que l'on va faire en rajoutant une porte ET qui va relier la sortie et l'entre de la dernire
bascule selon le schma ci-dessous, le reste tant inchang. Examinons le cas d'un compteur quatre
bascules

Ainsi qu'on le voit dans le tableau les deux premires valeurs sont errones (par construction) mais
ensuite ds le troisime coup le fonctionnement est correct.

procdure de chargement d'un compteur


asynchrone, c'est dire chargement non synchronis par l'horloge

Pour charger le compteur en asynchrone avec une valeur quelconque il suffit de mettre cette valeur en
a,b,c et de faire p = 0. Ainsi si l'on veut A = 1, B = 0, C = 0 on fait a = 1, b = 0, c = 0, p = 0. Alors sur
l'entre de remise "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis l'entre de remise
1 et donc A est forc 1, etc.
synchrone, c'est dire chargement synchronis par l'horloge
Il est aussi possible de faire des systmes chargement synchrone qui affectent alors directement les
entres J et K de chaque bascule. On reprsente le principe pour un seul tage sachant que c'est la
mme chose pour tous.

si L = 0 fonctionnement normal JA = KA = 1
si L = 1 chargement synchrone. JA = a, KA = a, mais seulement pendant le temps d'horloge
Notons que pour la bascule suivante chaque porte ET possde une troisime entre relie Q A et non
double comme ici sur l'horloge, il en est videmment de mme des bascules suivantes.

Le fonctionnement va se traduire par un tableau de vrit o figurent


en entre

les tats antrieurs des bascules

les informations d'entre

les commandes d'entre

les commandes de sortie

l'horloge

en sortie

les tats futurs des bascules

les tats des sorties du registre

Trois fonctions sont ralises par le registre

mmorisation d'une information place en entre et recopie

comptage et dcomptage : le registre contient la valeur n puis affiche n+1 (ou n-1)

dcalage : l'tat des bascules glisse d'un rang dans un sens ou l'autre

La constitution d'un registre fait appel aux bascules fonctionnement par front (RS, D ou JK), jamais
des bascules niveau. Dans tous les cas les horloges sont communes et les sorties d'une bascule sont
connectes aux entres suivantes. Les diffrences essentielles vont se situer au niveau des entres et
des sorties d'un registre.

exemple de registre dcalage

Soit un registre constitu de 4 bascules D front montant, supposons un tat initial des sorties Q de
chaque bascule tel que sur la figure. On dit que l'ensemble constitue un registre de contenu 1011.
Supposons maintenant que l'on prsente un niveau 1 sur l'entre, puis que l'on applique une impulsion
sur C.
Sur le front montant, chaque bascule va recopier sa sortie l'information prsente son entre juste
avant le front montant. On ralise ainsi un dcalage vers la droite.
Rappelons qu'en base 2 un dcalage vers la droite reprsente une division par 2, tandis qu'un
dcalage vers la gauche correspond une multiplication par deux.
Dans le cas prsent, on a un registre chargement et lecture srie. C'est le plus simple, mais le plus lent.

Il prsente en outre l'inconvnient de perdre son contenu si on veut le lire, aussi pour remdier ce
dfaut a-t-on imagin des modes de chargement parallle et des modes de lecture parallle plus rapide
et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut mme avoir les 4
possibilits sur un mme registre avec en outre une possibilit de dcalage aussi bien gauche qu'
droite.
Illustrons ce principe avec un registre base de JK

Notons que l'entre parallle est prioritaire, le dcalage ne peut se faire que si T = 0, si T = 1 on a la
possibilit de chargement parallle.

registre universel
L'exemple type de registre universel 4 bits est le 7495 qui est conu autour de bascules RS

Si MC = 1 horloge = H2 validation des ET parallles


si MC = 0 horloge = H1 validation des entres srie
tableau de vrit de la commande d'horloge

MC

H2

H1

horloge

ETsrie

ET A

srie

srie

srie

srie

Remarque : le changement du sens de dcalage rsulte du cblage extrieur. On connecte A au lieu


de D et vice et versa, de mme B la place de C.

compteurs
Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions
entres et l'tat de sortie correspondant. Ils sont constitus partir de bascules, un compteur n bits
peut compter jusqu' 2n-1 avant que le cycle de comptage ne recommence. On distinguera 2 grandes
familles, les compteurs synchrones dans lesquels toutes les bascules sont contrles par le mme signal
d'horloge et les asynchrones dont seule la premire bascule reoit sur son entre clock le signal
compter.

Les caractristiques gnrales d'un compteur :

commande d'horloge synchrone ou asynchrone

capacit de comptage

vitesse de comptage

comptage ou dcomptage

possibilit de prslection (chargement possible d'un nombre donn avant le dmarrage du


compteur).

compteur asynchrone
Prenons l'exemple d'un compteur par 8 = 23. Ecrivons d'abord le tableau des configurations possibles

Ainsi qu'on le voit la colonne A change d'tat chaque ligne, la colonne B change d'tat chaque fois
que A passe de 1 0, la colonne C change d'tat chaque fois que la colonne B passe de 1 0
Ainsi nous pourrons utiliser 3 bascules ABC telles que A change d'tat chaque pas, B change d'tat sur
les transitions ngatives de A et C change d'tat sur les transitions ngatives de B. Donc A sera monte
en diviseur par 2 et recevra sur son entre d'horloge les impulsions compter. Pour B qui doit commuter
sur les transisitons ngatives de A il y a 2 choix possibles selon qu'il s'agit d'une bascule commande sur
front montant (liaison avec Q de A) ou descendant (liaison avec Q). Il en est de mme pour C. Ainsi si l'on
prend des JK front descendant le logigramme sera le suivant

Tous les J et les K sont au +5V (1 logique) afin d'assurer le basculement chaque front d'horloge.
Notons le chronogramme

Un dcalage de entre le front descendant et le rsultat en sortie induit un dcalage de n aprs la


nime bascule. Le problme c'est qu'il peut arriver que n >priode d'horloge. D'autre part on trouvera du
temps n sur les sorties du compteur des tats transitoires non significatifs (il ne faut donc pas lire,
c'est dire utiliser le contenu du compteur pendant ce temps). Ainsi si l'on regarde le contenu du
compteur juste aprs la quatrime impulsion d'horloge on va lire pour CBA 011 puis 010 et enfin 000
avant 100, c'est dire 3, puis 2, puis 0 en dcimal avant d'avoir 4!

compteur modulo diffrent de 2n


Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur
par 8 vu prcdemment un circuit qui lorsque n = 5 ramnera le compteur 0. Pour cela nous utiliserons
les entres asynchrones CLEAR (RAZ) ou PRESET.
action sur RAZ
On ajoute un dcodeur qui lorsque n = 5 force les entres R.

En pratique si cette solution est lgante il faut voir ses difficults de mise en oeuvre. On sait que la
configuration 101 n'apparaitra qu'au bout d'un temps 3 aprs le front descendant de l'horloge d'entre.
Le dcodeur met lui aussi un certain temps ragir ( ). Ensuite la remise zro s'effectue en un
temps pour une bascule. Donc pendant + on aura 101 d'affich. Dans l'exemple choisi SN7472 et
SN7442 = 10ns et = 20ns soit un total de 30ns. Il importe que cette dure soit courte vis vis de la
priode d'horloge.
Par ailleurs, nous pouvons avoir, c'est frquent, des temps de basculement lgrement diffrents pour A
et C. La documentation de Texas Instruments indique un maxi de 40ns et un mini de 20ns. Supposons
que pour A ce soit 40ns et 20ns pour C. Quand la configuration 101 apparait, aprs un temps a les
bascules sont forces 0. C revient 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns
le dcodeur ragit et la ligne 5 n'est plus active. La bascule A simultanment termine son basculement en
40ns, or cet instant prcis la bascule B n'est plus force 0, elle voit un front descendant sur son
entre d'horloge et ...bascule. Le rsultat est loquent on affiche maintenant 010 au lieu de 000.
Pour viter cet inconvnient, il est donc ncessaire de mettre une cellule retard qui maintient l'ordre
RAZ un temps suffisant (> 40ns) entre le dcodeur et les entres R des bascules.
action sur PRESET
On va modifier imprativement l'tat non plus aprs le cinquime coup mais au quatrime en agissant sur

les bascules qui sont alors 0 en les forant 1. L'intrt est que a ne risque pas de provoquer de
basculement non souhait puisqu'il n'y a alors pas de front descendant. Alors au cinquime coup toutes
les bascules seront normalement remises 0. Donc on relie la sortie 4 du dcodeur aux entres S des
bascules. L'inconvnient c'est que le comptage n'est plus en binaire pur puisque le 4 au lieu de 100
devient 111
Suppression d'un cycle 1 tat quelconque
La troisime solution consiste sauter des cycles. C'est intressant dans le cas d'un compteur de modulo
lev, 10 par exemple. Un compteur par 10 est ralis avec 4 bascules, il faut supprimer 6 tats. Cela
peut-tre ralis de diverses manires :

soit on agit 6 fois sur A

soit on agit 3 fois sur B qui bascule 1 fois sur 2

soit on agit 1 fois sur C et 1 fois sur B, etc...

Prenons l'exemple d'action uniquement sur B. On peut placer cette action n'importe o dans le cycle
(c'est un problme juste de connexion sur le dcodeur) et on agit soit sur le clear soit sur le preset.

(1)

(2)

(3)

Juste aprs l'tat reprr en jaune par (1) on va forcer B 0. Le passage de 1 0 va entrainer la
transition de C et l'on va se retrouver l'tat 0100 (en vert). A la ligne repre (2) on fait un preset et on
passe alors directement 1010, la mme chose en (3) conduit 1110 au lieu de 1100. Ce qui fait qu'au
dixime coup d'horloge on se retrouvera 0000.

exploitation des compteurs


Deux cas se prsentent

Ou l'on fait un comptage, arrte le compteur, puis exploite le rsultat avec tout le temps devant
soi. C'est par ex le cas de certains frquencemtres. Dans ce cas la vitesse de comptage peut
tre leve, la limitation tant celle de la premire bascule. Mais la lecture du rsultat s'effectuant
sur un temps suffisamment long on vitera les problmes avec les tats transitoires.

Ou l'on affiche tous les rsultats aprs chaque nouvelle impulsion. Dans ce cas, il est ncessaire
de procder un chantillonnage dcal. Il faut alors 2 horloges distinctes, dcales d'au moins
nq si le compteur comporte n tages afin d'viter le dcodage d'tats transitoires. La
configuration d'exploitation est alors la suivante :

Par rapport au cas prcdent on peut noter la rduction de vitesse de comptage puisqu'il faut
imprativement que la priode d'horloge soit > n , alors que dans le premier cas elle devait simplement
tre > .
On utilise gnralement pour H2 le mme signal que pour H1 mais retard de n ce qui n'est pas
forcment vident car n'est pas toujours le mme d'une bascule l'autre et donc pour chaque
compteur il faudra ajuster la cellule retard. Aussi on prfre utiliser un dcodeur command par le front
montant de l'horloge (si c'est le front descendant qui agit sur le compteur, et vice versa).

compteur synchrone
Soit construire un compteur synchrone modulo 6 dcrivant le cycle suivant et utilisant des JK

Attention ce cycle n'est pas binaire : on peut dduire du tableau les tats que doivent prendre chaque
instant les entres J et K pour que le compteur dcrive le cycle dsir. Ainsi par ex, lorsque Q A = QB =
QC = 0 pour qu'au top suivant QA passe 1 il faut JA =1 et KA indiffrent, pour que QB reste 0 il faut JB = 0
et KB indiffrent, etc. On aboutit alors au tableau suivant :

JA

KA

JB

KB

JC

KC

En utilisant le diagramme de Karnaugh on va dterminer les quations et donc la circuiterie raliser. On


note les 1 de la sortie ABC, ainsi la premire ligne pour N = 0 donne ABC=1 et dans le tableau on note la
valeur correspondante de JA soit 1 ici. Sur le diagramme de Karnaugh on a figur en rouge dans les
cases correspondantes les diffrentes valeurs de N, ainsi la case en haut droite correspond N = 1

Dans ce cas prcis il n'y a que des 1 ou des cases indiffrentes dans le diagramme donc J A = 1, on
trouvera la mme chose pour KA. Par contre le diagramme pour JB contient un 0 dans la case 0, on ne
pourra donc avoir que 4 cases remplies de 1 contigus

......
Donc JB = QA et KB = QAQC. De mme on trouvera JC = QAQB et KC = QAQB ou QA au choix. On prendra par
exemple pour KC la simplification la moins performante soit QAQB parce que c'est la mme chose pour JC.
D'o la ralisation avec deux portes ET. Mais l'autre solution implique les deux mmes portes ET et n'est
gure plus complexe raliser.

ralisation d'un dcompteur


Il suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les sorties
complmentaires Q. En effet

Q3

Q2

Q1

Q3

Q2

Q1

compteur Johnson ou en anneau


C'est un registre dcalage dont les sorties sont reboucles sur les entres inverses. capacit 2n (et non
2n).

Le problme principal est qu' la mise sous tension on n'a pas forcment 000. Il convient donc de forcer
le compteur ce que l'on va faire en rajoutant une porte ET qui va relier la sortie et l'entre de la dernire
bascule selon le schma ci-dessous, le reste tant inchang. Examinons le cas d'un compteur quatre
bascules

Ainsi qu'on le voit dans le tableau les deux premires valeurs sont errones (par construction) mais
ensuite ds le troisime coup le fonctionnement est correct.

procdure de chargement d'un compteur


asynchrone, c'est dire chargement non synchronis par l'horloge

Pour charger le compteur en asynchrone avec une valeur quelconque il suffit de mettre cette valeur en
a,b,c et de faire p = 0. Ainsi si l'on veut A = 1, B = 0, C = 0 on fait a = 1, b = 0, c = 0, p = 0. Alors sur
l'entre de remise "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis l'entre de remise
1 et donc A est forc 1, etc.
synchrone, c'est dire chargement synchronis par l'horloge
Il est aussi possible de faire des systmes chargement synchrone qui affectent alors directement les
entres J et K de chaque bascule. On reprsente le principe pour un seul tage sachant que c'est la
mme chose pour tous.

si L = 0 fonctionnement normal JA = KA = 1
si L = 1 chargement synchrone. JA = a, KA = a, mais seulement pendant le temps d'horloge
Notons que pour la bascule suivante chaque porte ET possde une troisime entre relie Q A et non
double comme ici sur l'horloge, il en est videmment de mme des bascules suivantes.

Вам также может понравиться