Vous êtes sur la page 1sur 11

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

log6 Copyright

2000-2011 LHERBAUDIERE AVERTISSEMENT


5 pages l'impression

version initiale 2000 dernire mise jour 08 dcembre 2010

Registres et compteurs (logique 6/9)


gnralits registre dcalage registre universel compteurs compteur asynchrone modulo diffrent de 2n exploitation des compteurs compteur synchrone ralisation d'un dcompteur compteur johnson ou en anneau procdure de chargement
une collection d'icnes pour visiter tout le site

la mise bout bout des bascules

le plus complexe

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

1 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

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

2 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

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

3 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

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

H2 1 1 0 0 1 1 0 0

H1 1 0 1 0 1 0 1 0

horloge 1 1 0 0 1 0 1 0

ETsrie 0 0 0 0 srie srie srie srie

ET A A A A A 0 0 0 0

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

4 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

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

N 0 1 2 3 4 5 6 7 8

C 0 0 0 0 1 1 1 1 0

B 0 0 1 1 0 0 1 1 0

A 0 1 0 1 0 1 0 1 0

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!

5 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

compteur modulo diffrent de 2n


Exemple compteur par 5 : 2 < 5 < 2 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.
2 3

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 courte vis vis de la priode d'horloge. = 10ns et = 20ns soit un total de 30ns. Il importe que cette dure soit

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.

6 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

D 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1

C 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 (3) (2) (1)

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 :

7 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

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 0 1 2 3 4 5

A 0 1 0 1 0 1

B 0 0 1 1 1 1

C 0 0 0 0 1 1

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 0 1 2 3

A 0 1 0 1

B 0 0 1 1

C 0 0 0 0

JA 1 x 1 x

KA x 1 x 1

JB 0 1 x x

KB x x 0 0

JC 0 0 0 1

KC x x x x

8 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

4 5

0 1

1 1

1 1

1 x

x 1

x x

0 1

x x

0 1

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 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 0 1 2 3 4 5

Q3 0 0 0 0 1 1

Q2 0 0 1 1 0 0

Q1 0 1 0 1 0 1

Q3 1 1 1 1 0 0

Q2 1 1 0 0 1 1

Q1 1 0 1 0 1 0 7 6 5 4 3 2

9 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

6 7

1 1

1 1

0 1

0 0

0 0

1 0

1 0

compteur Johnson ou en anneau


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

A 0 1 2 3 4 5 0 1 1 1 0 0

B 0 0 1 1 1 0

C 0 0 0 1 1 1

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

B 0 0 1 1 1

C 1 0 0 1 1

D 0 1 0 0 1

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.

10 sur 11

27/12/2011 22:49

registres et compteurs

http://michel.hubin.pagesperso-orange.fr/physique/logique/chap_log6.htm

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.

FreeCompteur Live

11 sur 11

27/12/2011 22:49

Vous aimerez peut-être aussi