125
Généralités Il s'agit maintenant d'examiner des dispositifs traitant plusieurs informations à la fois et comportant pour ce faire : un groupe de bascules alimentées par une horloge un réseau combinatoire d'entrée qui élabore les commandes d'excitation des bascules un réseau de sortie donnant l'état des bascules Le fonctionnement va se traduire par un tableau de vérité où figurent en entrée les états antérieurs des bascules les informations d'entrée les commandes d'entrée les commandes de sortie l'horloge en sortie les états futurs des bascules les états des sorties du registre Trois fonctions sont réalisées par le registre mémorisation d'une information placée en entrée et recopiée

Atc

  • Upload
    khalid

  • View
    3

  • Download
    0

Embed Size (px)

DESCRIPTION

ILS CONTIENT PLUSIEURS DOCUMENT DE LA PARTIE ADC

Citation preview

Page 1: Atc

GénéralitésIl s'agit maintenant d'examiner des dispositifs traitant plusieurs informations à la fois et comportant pour ce faire :

un groupe de bascules alimentées par une horloge un réseau combinatoire d'entrée qui élabore les commandes d'excitation des bascules un réseau de sortie donnant l'état des bascules

Le fonctionnement va se traduire par un tableau de vérité où figurent 

en entrée

les états antérieurs des bascules les informations d'entrée les commandes d'entrée les commandes de sortie l'horloge

en sortie

les états futurs des bascules les états des sorties du registre

Trois fonctions sont réalisées par le registre

mémorisation d'une information placée en entrée et recopiée comptage et décomptage : le registre contient la valeur n puis affiche n+1 (ou n-1) décalage : 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

Page 2: Atc

connectées aux entrées suivantes. Les différences essentielles vont se situer au niveau des entrées et des sorties d'un registre.

exemple de registre à décalage

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 présente un niveau 1 sur l'entrée, puis que l'on applique une impulsion sur C.

Sur le front montant, chaque bascule va recopier à sa sortie l'information présente à son entrée juste avant le front montant. On réalise ainsi un décalage vers la droite.

 Rappelons qu'en base 2 un décalage vers la droite représente une division par 2, tandis qu'un décalage vers la gauche correspond à une multiplication par deux.

Dans le cas présent, on a un registre à chargement et lecture série. C'est le plus simple, mais le plus lent. Il présente en outre l'inconvénient de perdre son contenu si on veut le lire, aussi pour remédier à ce défaut a-t-on imaginé des modes de chargement parallèle et des modes de lecture parallèle plus rapide et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut même avoir les 4 possibilités sur un même registre avec en outre une possibilité de décalage aussi bien à gauche qu'à droite.

Illustrons ce principe avec un registre à base de JK

Page 3: Atc

Notons que l'entrée parallèle est prioritaire, le décalage ne peut se faire que si T = 0, si T = 1 on a la possibilité de chargement parallèle.

registre universelL'exemple type de registre universel à 4 bits est le 7495 qui est conçu autour de bascules RS

Si MC = 1 horloge = H2 validation des ET parallèles

si MC = 0 horloge = H1 validation des entrées série

tableau de vérité de la commande d'horloge

Page 4: Atc

MC H2 H1 horloge ETsérie ET A

1 1 1 1 0 A

1 1 0 1 0 A

1 0 1 0 0 A

1 0 0 0 0 A

0 1 1 1 série 0

0 1 0 0 série 0

0 0 1 1 série 0

0 0 0 0 série 0

 Remarque : le changement du sens de décalage résulte du câblage extérieur. On connecte A au lieu de D et vice et versa, de même B à la place de C.

compteursIl s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions entrées et l'état de sortie correspondant. Ils sont constitués à 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 contrôlées par le même signal d'horloge et les asynchrones dont seule la première bascule reçoit sur son entrée clock le signal à compter.

Les caractéristiques générales d'un compteur :

commande d'horloge synchrone ou asynchrone capacité de comptage vitesse de comptage comptage ou décomptage possibilité de présélection (chargement possible d'un nombre donné avant le démarrage du

compteur).

Page 5: Atc

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

N C B A

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 0 0 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 négatives de A et C change d'état sur les transitions négatives de B. Donc A sera montée en diviseur par 2 et recevra sur son entrée d'horloge les impulsions à compter. Pour B qui doit commuter sur les transisitons négatives 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 même 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

Page 6: Atc

Un décalage de   entre le front descendant et le résultat en sortie induit un décalage de n  après la nième bascule. Le problème c'est qu'il peut arriver que n >période 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 après la quatrième 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 décimal avant d'avoir 4!

compteur modulo différent de 2n

Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur par 8 vu précédemment un circuit qui lorsque n = 5 ramènera le compteur à 0. Pour cela nous utiliserons les entrées asynchrones CLEAR (RAZ) ou PRESET.

action sur RAZ

On ajoute un décodeur qui lorsque n = 5 force les entrées R.

En pratique si cette solution est élégante il faut voir ses difficultés de mise en oeuvre. On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3  après le front descendant de l'horloge d'entrée.

Le décodeur met lui aussi un certain temps à réagir ( ). Ensuite la remise à zéro 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 durée soit courte vis à vis de la période d'horloge.

Par ailleurs, nous pouvons avoir, c'est fréquent, des temps de basculement légèrement différents pour A

Page 7: Atc

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, après un temps a les bascules sont forcées à 0. C revient à 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le décodeur réagit et la ligne 5 n'est plus active. La bascule A simultanément termine son basculement en 40ns, or à cet instant précis la bascule B n'est plus forcée à 0, elle voit un front descendant sur son entrée d'horloge et ...bascule. Le résultat est éloquent on affiche maintenant 010 au lieu de 000.

Pour éviter cet inconvénient, il est donc nécessaire de mettre une cellule à retard qui maintient l'ordre RAZ un temps suffisant (> 40ns) entre le décodeur et les entrées R des bascules.

action sur PRESET

On va modifier impérativement l'état non plus après le cinquième coup mais au quatrième en agissant sur les bascules qui sont alors à 0 en les forçant à 1. L'intérêt est que ça ne risque pas de provoquer de basculement non souhaité puisqu'il n'y a alors pas de front descendant. Alors au cinquième coup toutes les bascules seront normalement remises à 0. Donc on relie la sortie 4 du décodeur aux entrées S des bascules. L'inconvénient 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 troisième solution consiste à sauter des cycles. C'est intéressant dans le cas d'un compteur de modulo élevé, 10 par exemple. Un compteur par 10 est réalisé avec 4 bascules, il faut supprimer 6 états. Cela peut-être réalisé de diverses manières :

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 problème juste de connexion sur le décodeur) et on agit soit sur le clear soit sur le preset.

D C B A  

0 0 0 0  

0 0 0 1  

0 0 1 0 (1)

0 0 1 1

0 1 0 0

0 1 0 1  

0 1 1 0  

0 1 1 1 (2)

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1 (3)

1 1 0 0

1 1 0 1

Page 8: Atc

1 1 1 0

1 1 1 1  

Juste après l'état repréré 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 repérée (2) on fait un preset et on passe alors directement à 1010, la même chose en (3) conduit à 1110 au lieu de 1100. Ce qui fait qu'au dixième coup d'horloge on se retrouvera à 0000.

exploitation des compteursDeux cas se présentent

Ou l'on fait un comptage, arrête le compteur, puis exploite le résultat avec tout le temps devant soi. C'est par ex le cas de certains fréquencemètres. Dans ce cas la vitesse de comptage peut être élevée, la limitation étant celle de la première bascule. Mais la lecture du résultat s'effectuant sur un temps suffisamment long on évitera les problèmes avec les états transitoires.

Ou l'on affiche tous les résultats après chaque nouvelle impulsion. Dans ce cas, il est nécessaire de procéder à un échantillonnage décalé. Il faut alors 2 horloges distinctes, décalées d'au moins nq si le compteur comporte n étages afin d'éviter le décodage d'états transitoires. La configuration d'exploitation est alors la suivante :

Par rapport au cas précédent on peut noter la réduction de vitesse de comptage puisqu'il faut impérativement que la période d'horloge soit > n , alors que dans le premier cas elle devait simplement

Page 9: Atc

être >  .

On utilise généralement pour H2 le même signal que pour H1 mais retardé de n  ce qui n'est pas forcément évident car   n'est pas toujours le même d'une bascule à l'autre et donc pour chaque compteur il faudra ajuster la cellule à retard. Aussi on préfère utiliser un décodeur commandé par le front montant de l'horloge (si c'est le front descendant qui agit sur le compteur, et vice versa).

compteur synchroneSoit à construire un compteur synchrone modulo 6 décrivant le cycle suivant et utilisant des JK

N A B C

0 0 0 0

1 1 0 0

2 0 1 0

3 1 1 0

4 0 1 1

5 1 1 1

Attention ce cycle n'est pas binaire : on peut déduire du tableau les états que doivent prendre à chaque instant les entrées J et K pour que le compteur décrive le cycle désiré. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe à 1 il faut JA =1 et KA indifférent, pour que QB reste à 0 il faut JB = 0 et KB indifférent, etc. On aboutit alors au tableau suivant :

N A B C JA KA JB KB JC KC

0 0 0 0 1 x 0 x 0 x

1 1 0 0 x 1 1 x 0 x

2 0 1 0 1 x x 0 0 x

3 1 1 0 x 1 x 0 1 x

4 0 1 1 1 x x 0 x 0

5 1 1 1 x 1 x 1 x 1

En utilisant le diagramme de Karnaugh on va déterminer les équations et donc la circuiterie à réaliser. On

Page 10: Atc

note les 1 de la sortie ABC, ainsi la première 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 différentes valeurs de N, ainsi la case en haut à droite correspond à N = 1

Dans ce cas précis il n'y a que des 1 ou des cases indifférentes dans le diagramme donc JA = 1, on trouvera la même 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 même 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 même chose pour JC. D'où la réalisation avec deux portes ET. Mais l'autre solution implique les deux mêmes portes ET et n'est guère plus complexe à réaliser.

réalisation d'un décompteurIl suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les sorties complémentaires Q. En effet

N Q3 Q2 Q1 Q3 Q2 Q1  

0 0 0 0 1 1 1 7

1 0 0 1 1 1 0 6

2 0 1 0 1 0 1 5

3 0 1 1 1 0 0 4

Page 11: Atc

4 1 0 0 0 1 1 3

5 1 0 1 0 1 0 2

6 1 1 0 0 0 1 1

7 1 1 1 0 0 0 0

compteur Johnson ou en anneauC'est un registre à décalage dont les sorties sont rebouclées sur les entrées inverses. capacité 2n (et non 2n).

  A B C

0 0 0 0

1 1 0 0

2 1 1 0

3 1 1 1

4 0 1 1

5 0 0 1

Le problème principal est qu'à la mise sous tension on n'a pas forcément 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'entrée de la dernière bascule selon le schéma ci-dessous, le reste étant inchangé. Examinons le cas d'un compteur à quatre bascules

A B C D

0 0 1 0

1 0 0 1

1 1 0 0

1 1 1 0

1 1 1 1

Ainsi qu'on le voit dans le tableau les deux premières valeurs sont erronées (par construction) mais ensuite dès le troisième coup le fonctionnement est correct.

Page 12: Atc

procédure de chargement d'un compteurasynchrone, 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'entrée de remise à "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis à l'entrée 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 systèmes à chargement synchrone qui affectent alors directement les entrées J et K de chaque bascule. On représente le principe pour un seul étage sachant que c'est la même chose pour tous.

Page 13: Atc

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 possède une troisième entrée reliée à QA et non doublée comme ici sur l'horloge, il en est évidemment de même des bascules suivantes.

un groupe de bascules alimentées par une horloge un réseau combinatoire d'entrée qui élabore les commandes d'excitation des

bascules un réseau de sortie donnant l'état des bascules

Page 14: Atc

Le fonctionnement va se traduire par un tableau de vérité où figurent 

en entrée

les états antérieurs des bascules les informations d'entrée les commandes d'entrée les commandes de sortie l'horloge

en sortie

les états futurs des bascules les états des sorties du registre

Trois fonctions sont réalisées par le registre

mémorisation d'une information placée en entrée et recopiée comptage et décomptage : le registre contient la valeur n puis affiche n+1 (ou n-

1) décalage : 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 connectées aux entrées suivantes. Les différences essentielles vont se situer au niveau des entrées et des sorties d'un registre.

Page 15: Atc

exemple de registre à décalage

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 présente un niveau 1 sur l'entrée, puis que l'on applique une impulsion sur C.

Sur le front montant, chaque bascule va recopier à sa sortie l'information présente à son entrée juste avant le front montant. On réalise ainsi un décalage vers la droite.

 Rappelons qu'en base 2 un décalage vers la droite représente une division par 2, tandis qu'un décalage vers la gauche correspond à une multiplication par deux.

Dans le cas présent, on a un registre à chargement et lecture série. C'est le plus simple, mais le plus lent. Il présente en outre l'inconvénient de perdre son contenu si on veut le lire, aussi pour remédier à ce défaut a-t-on imaginé des modes de chargement parallèle et des modes de lecture parallèle plus rapide et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut même avoir les 4 possibilités sur un même registre avec en outre une possibilité de décalage aussi bien à gauche qu'à droite.

Illustrons ce principe avec un registre à base de JK

Page 16: Atc

Notons que l'entrée parallèle est prioritaire, le décalage ne peut se faire que si T = 0, si T = 1 on a la possibilité de chargement parallèle.

registre universel

L'exemple type de registre universel à 4 bits est le 7495 qui est conçu autour de bascules RS

Page 17: Atc

Si MC = 1 horloge = H2 validation des ET parallèles

si MC = 0 horloge = H1 validation des entrées série

tableau de vérité de la commande d'horloge

MC H2 H1 horloge ETsérie ET A

1 1 1 1 0 A

1 1 0 1 0 A

1 0 1 0 0 A

1 0 0 0 0 A

0 1 1 1 série 0

0 1 0 0 série 0

Page 18: Atc

0 0 1 1 série 0

0 0 0 0 série 0

 Remarque : le changement du sens de décalage résulte du câblage extérieur. On connecte A au lieu de D et vice et versa, de même B à la place de C.

compteurs

Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions entrées et l'état de sortie correspondant. Ils sont constitués à 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 contrôlées par le même signal d'horloge et les asynchrones dont seule la première bascule reçoit sur son entrée clock le signal à compter.

Les caractéristiques générales d'un compteur :

commande d'horloge synchrone ou asynchrone capacité de comptage vitesse de comptage comptage ou décomptage possibilité de présélection (chargement possible d'un nombre donné avant le

démarrage du compteur).

compteur asynchrone

Page 19: Atc

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

N C B A

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 0 0 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 négatives de A et C change d'état sur les transitions négatives de B. Donc A sera montée en diviseur par 2 et recevra sur son entrée d'horloge les impulsions à compter. Pour B qui doit commuter sur les transisitons négatives 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 même 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

Page 20: Atc

Un décalage de   entre le front descendant et le résultat en sortie induit un décalage de n  après la nième bascule. Le problème c'est qu'il peut arriver que n >période 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 après la quatrième 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 décimal avant d'avoir 4!

compteur modulo différent de 2n

Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur par 8 vu précédemment un circuit qui lorsque n = 5 ramènera le compteur à 0. Pour cela nous utiliserons les entrées asynchrones CLEAR (RAZ) ou PRESET.

action sur RAZ

On ajoute un décodeur qui lorsque n = 5 force les entrées R.

En pratique si cette solution est élégante il faut voir ses difficultés de mise en oeuvre. On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3  après le front descendant de l'horloge d'entrée. Le décodeur met lui aussi un certain temps à réagir (

Page 21: Atc

). Ensuite la remise à zéro 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 durée soit courte vis à vis de la période d'horloge.

Par ailleurs, nous pouvons avoir, c'est fréquent, des temps de basculement légèrement différents 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, après un temps a les bascules sont forcées à 0. C revient à 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le décodeur réagit et la ligne 5 n'est plus active. La bascule A simultanément termine son basculement en 40ns, or à cet instant précis la bascule B n'est plus forcée à 0, elle voit un front descendant sur son entrée d'horloge et ...bascule. Le résultat est éloquent on affiche maintenant 010 au lieu de 000.

Pour éviter cet inconvénient, il est donc nécessaire de mettre une cellule à retard qui maintient l'ordre RAZ un temps suffisant (> 40ns) entre le décodeur et les entrées R des bascules.

action sur PRESET

On va modifier impérativement l'état non plus après le cinquième coup mais au quatrième en agissant sur les bascules qui sont alors à 0 en les forçant à 1. L'intérêt est que ça ne risque pas de provoquer de basculement non souhaité puisqu'il n'y a alors pas de front descendant. Alors au cinquième coup toutes les bascules seront normalement remises à 0. Donc on relie la sortie 4 du décodeur aux entrées S des bascules. L'inconvénient 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 troisième solution consiste à sauter des cycles. C'est intéressant dans le cas d'un compteur de modulo élevé, 10 par exemple. Un compteur par 10 est réalisé avec 4 bascules, il faut supprimer 6 états. Cela peut-être réalisé de diverses manières :

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 problème juste de connexion sur le décodeur) et on agit soit sur le clear soit sur le preset.

D C B A  

0 0 0 0  

Page 22: Atc

0 0 0 1  

0 0 1 0 (1)

0 0 1 1

0 1 0 0

0 1 0 1  

0 1 1 0  

0 1 1 1 (2)

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1 (3)

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1  

Juste après l'état repréré 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 repérée (2) on fait un preset et on passe alors directement à 1010, la même chose en (3) conduit à 1110 au lieu de 1100. Ce qui fait qu'au dixième coup d'horloge on se retrouvera à 0000.

exploitation des compteurs

Deux cas se présentent

Ou l'on fait un comptage, arrête le compteur, puis exploite le résultat avec tout le temps devant soi. C'est par ex le cas de certains fréquencemètres. Dans ce cas la vitesse de comptage peut être élevée, la limitation étant celle de la première

Page 23: Atc

bascule. Mais la lecture du résultat s'effectuant sur un temps suffisamment long on évitera les problèmes avec les états transitoires.

Ou l'on affiche tous les résultats après chaque nouvelle impulsion. Dans ce cas, il est nécessaire de procéder à un échantillonnage décalé. Il faut alors 2 horloges distinctes, décalées d'au moins nq si le compteur comporte n étages afin d'éviter le décodage d'états transitoires. La configuration d'exploitation est alors la suivante :

Par rapport au cas précédent on peut noter la réduction de vitesse de comptage puisqu'il faut impérativement que la période d'horloge soit > n , alors que dans le premier cas elle devait simplement être >  .

On utilise généralement pour H2 le même signal que pour H1 mais retardé de n  ce qui n'est pas forcément évident car   n'est pas toujours le même d'une bascule à l'autre et donc pour chaque compteur il faudra ajuster la cellule à retard. Aussi on préfère utiliser un décodeur 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 décrivant le cycle suivant et utilisant des JK

N A B C

Page 24: Atc

0 0 0 0

1 1 0 0

2 0 1 0

3 1 1 0

4 0 1 1

5 1 1 1

Attention ce cycle n'est pas binaire : on peut déduire du tableau les états que doivent prendre à chaque instant les entrées J et K pour que le compteur décrive le cycle désiré. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe à 1 il faut JA =1 et KA indifférent, pour que QB reste à 0 il faut JB = 0 et KB indifférent, etc. On aboutit alors au tableau suivant :

N A B C JA KA JB KB JC KC

0 0 0 0 1 x 0 x 0 x

1 1 0 0 x 1 1 x 0 x

2 0 1 0 1 x x 0 0 x

3 1 1 0 x 1 x 0 1 x

4 0 1 1 1 x x 0 x 0

5 1 1 1 x 1 x 1 x 1

En utilisant le diagramme de Karnaugh on va déterminer les équations et donc la circuiterie à réaliser. On note les 1 de la sortie ABC, ainsi la première 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 différentes valeurs de N, ainsi la case en haut à droite correspond à N = 1

Dans ce cas précis il n'y a que des 1 ou des cases indifférentes dans le diagramme donc JA = 1, on trouvera la même 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

Page 25: Atc

......

Donc JB = QA et KB = QAQC. De même 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 même chose pour JC. D'où la réalisation avec deux portes ET. Mais l'autre solution implique les deux mêmes portes ET et n'est guère plus complexe à réaliser.

réalisation d'un décompteur

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

N Q3 Q2 Q1 Q3 Q2 Q1  

0 0 0 0 1 1 1 7

1 0 0 1 1 1 0 6

2 0 1 0 1 0 1 5

3 0 1 1 1 0 0 4

4 1 0 0 0 1 1 3

5 1 0 1 0 1 0 2

6 1 1 0 0 0 1 1

7 1 1 1 0 0 0 0

compteur Johnson ou en anneau

Page 26: Atc

C'est un registre à décalage dont les sorties sont rebouclées sur les entrées inverses. capacité 2n (et non 2n).

  A B C

0 0 0 0

1 1 0 0

2 1 1 0

3 1 1 1

4 0 1 1

5 0 0 1

Le problème principal est qu'à la mise sous tension on n'a pas forcément 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'entrée de la dernière bascule selon le schéma ci-dessous, le reste étant inchangé. Examinons le cas d'un compteur à quatre bascules

A B C D

0 0 1 0

1 0 0 1

1 1 0 0

1 1 1 0

1 1 1 1

Ainsi qu'on le voit dans le tableau les deux premières valeurs sont erronées (par construction) mais ensuite dès le troisième coup le fonctionnement est correct.

Page 27: Atc

procédure 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'entrée de remise à "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis à l'entrée 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 systèmes à chargement synchrone qui affectent alors directement les entrées J et K de chaque bascule. On représente le principe pour un seul étage sachant que c'est la même 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

Page 28: Atc

d'horloge

Notons que pour la bascule suivante chaque porte ET possède une troisième entrée reliée à QA et non doublée comme ici sur l'horloge, il en est évidemment de même des bascules suivantes.

un groupe de bascules alimentées par une horloge un réseau combinatoire d'entrée qui élabore les commandes d'excitation des

bascules un réseau de sortie donnant l'état des bascules

Page 29: Atc

Le fonctionnement va se traduire par un tableau de vérité où figurent 

en entrée

les états antérieurs des bascules les informations d'entrée les commandes d'entrée les commandes de sortie l'horloge

en sortie

les états futurs des bascules les états des sorties du registre

Trois fonctions sont réalisées par le registre

mémorisation d'une information placée en entrée et recopiée comptage et décomptage : le registre contient la valeur n puis affiche n+1 (ou n-

1) décalage : 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 connectées aux entrées suivantes. Les différences essentielles vont se situer au niveau des entrées et des sorties d'un registre.

Page 30: Atc

exemple de registre à décalage

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 présente un niveau 1 sur l'entrée, puis que l'on applique une impulsion sur C.

Sur le front montant, chaque bascule va recopier à sa sortie l'information présente à son entrée juste avant le front montant. On réalise ainsi un décalage vers la droite.

 Rappelons qu'en base 2 un décalage vers la droite représente une division par 2, tandis qu'un décalage vers la gauche correspond à une multiplication par deux.

Dans le cas présent, on a un registre à chargement et lecture série. C'est le plus simple, mais le plus lent. Il présente en outre l'inconvénient de perdre son contenu si on veut le lire, aussi pour remédier à ce défaut a-t-on imaginé des modes de chargement parallèle et des modes de lecture parallèle plus rapide et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut même avoir les 4 possibilités sur un même registre avec en outre une possibilité de décalage aussi bien à gauche qu'à droite.

Illustrons ce principe avec un registre à base de JK

Page 31: Atc

Notons que l'entrée parallèle est prioritaire, le décalage ne peut se faire que si T = 0, si T = 1 on a la possibilité de chargement parallèle.

registre universel

L'exemple type de registre universel à 4 bits est le 7495 qui est conçu autour de bascules RS

Page 32: Atc

Si MC = 1 horloge = H2 validation des ET parallèles

si MC = 0 horloge = H1 validation des entrées série

tableau de vérité de la commande d'horloge

MC H2 H1 horloge ETsérie ET A

1 1 1 1 0 A

1 1 0 1 0 A

1 0 1 0 0 A

1 0 0 0 0 A

0 1 1 1 série 0

0 1 0 0 série 0

Page 33: Atc

0 0 1 1 série 0

0 0 0 0 série 0

 Remarque : le changement du sens de décalage résulte du câblage extérieur. On connecte A au lieu de D et vice et versa, de même B à la place de C.

compteurs

Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions entrées et l'état de sortie correspondant. Ils sont constitués à 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 contrôlées par le même signal d'horloge et les asynchrones dont seule la première bascule reçoit sur son entrée clock le signal à compter.

Les caractéristiques générales d'un compteur :

commande d'horloge synchrone ou asynchrone capacité de comptage vitesse de comptage comptage ou décomptage possibilité de présélection (chargement possible d'un nombre donné avant le

démarrage du compteur).

compteur asynchrone

Page 34: Atc

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

N C B A

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 0 0 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 négatives de A et C change d'état sur les transitions négatives de B. Donc A sera montée en diviseur par 2 et recevra sur son entrée d'horloge les impulsions à compter. Pour B qui doit commuter sur les transisitons négatives 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 même 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

Page 35: Atc

Un décalage de   entre le front descendant et le résultat en sortie induit un décalage de n  après la nième bascule. Le problème c'est qu'il peut arriver que n >période 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 après la quatrième 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 décimal avant d'avoir 4!

compteur modulo différent de 2n

Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur par 8 vu précédemment un circuit qui lorsque n = 5 ramènera le compteur à 0. Pour cela nous utiliserons les entrées asynchrones CLEAR (RAZ) ou PRESET.

action sur RAZ

On ajoute un décodeur qui lorsque n = 5 force les entrées R.

En pratique si cette solution est élégante il faut voir ses difficultés de mise en oeuvre. On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3  après le front descendant de l'horloge d'entrée. Le décodeur met lui aussi un certain temps à réagir (

Page 36: Atc

). Ensuite la remise à zéro 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 durée soit courte vis à vis de la période d'horloge.

Par ailleurs, nous pouvons avoir, c'est fréquent, des temps de basculement légèrement différents 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, après un temps a les bascules sont forcées à 0. C revient à 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le décodeur réagit et la ligne 5 n'est plus active. La bascule A simultanément termine son basculement en 40ns, or à cet instant précis la bascule B n'est plus forcée à 0, elle voit un front descendant sur son entrée d'horloge et ...bascule. Le résultat est éloquent on affiche maintenant 010 au lieu de 000.

Pour éviter cet inconvénient, il est donc nécessaire de mettre une cellule à retard qui maintient l'ordre RAZ un temps suffisant (> 40ns) entre le décodeur et les entrées R des bascules.

action sur PRESET

On va modifier impérativement l'état non plus après le cinquième coup mais au quatrième en agissant sur les bascules qui sont alors à 0 en les forçant à 1. L'intérêt est que ça ne risque pas de provoquer de basculement non souhaité puisqu'il n'y a alors pas de front descendant. Alors au cinquième coup toutes les bascules seront normalement remises à 0. Donc on relie la sortie 4 du décodeur aux entrées S des bascules. L'inconvénient 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 troisième solution consiste à sauter des cycles. C'est intéressant dans le cas d'un compteur de modulo élevé, 10 par exemple. Un compteur par 10 est réalisé avec 4 bascules, il faut supprimer 6 états. Cela peut-être réalisé de diverses manières :

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 problème juste de connexion sur le décodeur) et on agit soit sur le clear soit sur le preset.

D C B A  

0 0 0 0  

Page 37: Atc

0 0 0 1  

0 0 1 0 (1)

0 0 1 1

0 1 0 0

0 1 0 1  

0 1 1 0  

0 1 1 1 (2)

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1 (3)

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1  

Juste après l'état repréré 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 repérée (2) on fait un preset et on passe alors directement à 1010, la même chose en (3) conduit à 1110 au lieu de 1100. Ce qui fait qu'au dixième coup d'horloge on se retrouvera à 0000.

exploitation des compteurs

Deux cas se présentent

Ou l'on fait un comptage, arrête le compteur, puis exploite le résultat avec tout le temps devant soi. C'est par ex le cas de certains fréquencemètres. Dans ce cas la vitesse de comptage peut être élevée, la limitation étant celle de la première

Page 38: Atc

bascule. Mais la lecture du résultat s'effectuant sur un temps suffisamment long on évitera les problèmes avec les états transitoires.

Ou l'on affiche tous les résultats après chaque nouvelle impulsion. Dans ce cas, il est nécessaire de procéder à un échantillonnage décalé. Il faut alors 2 horloges distinctes, décalées d'au moins nq si le compteur comporte n étages afin d'éviter le décodage d'états transitoires. La configuration d'exploitation est alors la suivante :

Par rapport au cas précédent on peut noter la réduction de vitesse de comptage puisqu'il faut impérativement que la période d'horloge soit > n , alors que dans le premier cas elle devait simplement être >  .

On utilise généralement pour H2 le même signal que pour H1 mais retardé de n  ce qui n'est pas forcément évident car   n'est pas toujours le même d'une bascule à l'autre et donc pour chaque compteur il faudra ajuster la cellule à retard. Aussi on préfère utiliser un décodeur 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 décrivant le cycle suivant et utilisant des JK

N A B C

Page 39: Atc

0 0 0 0

1 1 0 0

2 0 1 0

3 1 1 0

4 0 1 1

5 1 1 1

Attention ce cycle n'est pas binaire : on peut déduire du tableau les états que doivent prendre à chaque instant les entrées J et K pour que le compteur décrive le cycle désiré. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe à 1 il faut JA =1 et KA indifférent, pour que QB reste à 0 il faut JB = 0 et KB indifférent, etc. On aboutit alors au tableau suivant :

N A B C JA KA JB KB JC KC

0 0 0 0 1 x 0 x 0 x

1 1 0 0 x 1 1 x 0 x

2 0 1 0 1 x x 0 0 x

3 1 1 0 x 1 x 0 1 x

4 0 1 1 1 x x 0 x 0

5 1 1 1 x 1 x 1 x 1

En utilisant le diagramme de Karnaugh on va déterminer les équations et donc la circuiterie à réaliser. On note les 1 de la sortie ABC, ainsi la première 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 différentes valeurs de N, ainsi la case en haut à droite correspond à N = 1

Dans ce cas précis il n'y a que des 1 ou des cases indifférentes dans le diagramme donc JA = 1, on trouvera la même 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

Page 40: Atc

......

Donc JB = QA et KB = QAQC. De même 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 même chose pour JC. D'où la réalisation avec deux portes ET. Mais l'autre solution implique les deux mêmes portes ET et n'est guère plus complexe à réaliser.

réalisation d'un décompteur

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

N Q3 Q2 Q1 Q3 Q2 Q1  

0 0 0 0 1 1 1 7

1 0 0 1 1 1 0 6

2 0 1 0 1 0 1 5

3 0 1 1 1 0 0 4

4 1 0 0 0 1 1 3

5 1 0 1 0 1 0 2

6 1 1 0 0 0 1 1

7 1 1 1 0 0 0 0

compteur Johnson ou en anneau

Page 41: Atc

C'est un registre à décalage dont les sorties sont rebouclées sur les entrées inverses. capacité 2n (et non 2n).

  A B C

0 0 0 0

1 1 0 0

2 1 1 0

3 1 1 1

4 0 1 1

5 0 0 1

Le problème principal est qu'à la mise sous tension on n'a pas forcément 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'entrée de la dernière bascule selon le schéma ci-dessous, le reste étant inchangé. Examinons le cas d'un compteur à quatre bascules

A B C D

0 0 1 0

1 0 0 1

1 1 0 0

1 1 1 0

1 1 1 1

Ainsi qu'on le voit dans le tableau les deux premières valeurs sont erronées (par construction) mais ensuite dès le troisième coup le fonctionnement est correct.

Page 42: Atc

procédure 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'entrée de remise à "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis à l'entrée 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 systèmes à chargement synchrone qui affectent alors directement les entrées J et K de chaque bascule. On représente le principe pour un seul étage sachant que c'est la même 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

Page 43: Atc

d'horloge

Notons que pour la bascule suivante chaque porte ET possède une troisième entrée reliée à QA et non doublée comme ici sur l'horloge, il en est évidemment de même des bascules suivantes.

un groupe de bascules alimentées par une horloge un réseau combinatoire d'entrée qui élabore les commandes d'excitation des

bascules un réseau de sortie donnant l'état des bascules

Le fonctionnement va se traduire par un tableau de vérité où figurent 

en entrée

les états antérieurs des bascules les informations d'entrée les commandes d'entrée les commandes de sortie l'horloge

en sortie

les états futurs des bascules les états des sorties du registre

Trois fonctions sont réalisées par le registre

Page 44: Atc

mémorisation d'une information placée en entrée et recopiée comptage et décomptage : le registre contient la valeur n puis affiche n+1 (ou n-

1) décalage : 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 connectées aux entrées suivantes. Les différences essentielles vont se situer au niveau des entrées et des sorties d'un registre.

exemple de registre à décalage

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 présente un niveau 1 sur l'entrée, puis que l'on applique une impulsion sur C.

Sur le front montant, chaque bascule va recopier à sa sortie l'information présente à son entrée juste avant le front montant. On réalise ainsi un décalage vers la droite.

 Rappelons qu'en base 2 un décalage vers la droite représente une division par 2, tandis qu'un décalage vers la gauche correspond à une multiplication par deux.

Dans le cas présent, on a un registre à chargement et lecture série. C'est le plus simple, mais le plus lent. Il présente en outre l'inconvénient de perdre son contenu si on veut le lire, aussi pour remédier à ce défaut a-t-on imaginé des modes de chargement parallèle et des modes de lecture parallèle plus rapide et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut même avoir les 4 possibilités sur un même registre avec en outre une possibilité de décalage aussi bien à gauche qu'à droite.

Illustrons ce principe avec un registre à base de JK

Page 45: Atc

Notons que l'entrée parallèle est prioritaire, le décalage ne peut se faire que si T = 0, si T = 1 on a la possibilité de chargement parallèle.

registre universel

L'exemple type de registre universel à 4 bits est le 7495 qui est conçu autour de bascules RS

Page 46: Atc

Si MC = 1 horloge = H2 validation des ET parallèles

si MC = 0 horloge = H1 validation des entrées série

tableau de vérité de la commande d'horloge

MC H2 H1 horloge ETsérie ET A

1 1 1 1 0 A

1 1 0 1 0 A

1 0 1 0 0 A

1 0 0 0 0 A

0 1 1 1 série 0

0 1 0 0 série 0

Page 47: Atc

0 0 1 1 série 0

0 0 0 0 série 0

 Remarque : le changement du sens de décalage résulte du câblage extérieur. On connecte A au lieu de D et vice et versa, de même B à la place de C.

compteurs

Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions entrées et l'état de sortie correspondant. Ils sont constitués à 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 contrôlées par le même signal d'horloge et les asynchrones dont seule la première bascule reçoit sur son entrée clock le signal à compter.

Les caractéristiques générales d'un compteur :

commande d'horloge synchrone ou asynchrone capacité de comptage vitesse de comptage comptage ou décomptage possibilité de présélection (chargement possible d'un nombre donné avant le

démarrage du compteur).

compteur asynchrone

Page 48: Atc

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

N C B A

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 0 0 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 négatives de A et C change d'état sur les transitions négatives de B. Donc A sera montée en diviseur par 2 et recevra sur son entrée d'horloge les impulsions à compter. Pour B qui doit commuter sur les transisitons négatives 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 même 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

Page 49: Atc

Un décalage de   entre le front descendant et le résultat en sortie induit un décalage de n  après la nième bascule. Le problème c'est qu'il peut arriver que n >période 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 après la quatrième 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 décimal avant d'avoir 4!

compteur modulo différent de 2n

Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur par 8 vu précédemment un circuit qui lorsque n = 5 ramènera le compteur à 0. Pour cela nous utiliserons les entrées asynchrones CLEAR (RAZ) ou PRESET.

action sur RAZ

On ajoute un décodeur qui lorsque n = 5 force les entrées R.

En pratique si cette solution est élégante il faut voir ses difficultés de mise en oeuvre. On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3  après le front descendant de l'horloge d'entrée. Le décodeur met lui aussi un certain temps à réagir (

Page 50: Atc

). Ensuite la remise à zéro 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 durée soit courte vis à vis de la période d'horloge.

Par ailleurs, nous pouvons avoir, c'est fréquent, des temps de basculement légèrement différents 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, après un temps a les bascules sont forcées à 0. C revient à 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le décodeur réagit et la ligne 5 n'est plus active. La bascule A simultanément termine son basculement en 40ns, or à cet instant précis la bascule B n'est plus forcée à 0, elle voit un front descendant sur son entrée d'horloge et ...bascule. Le résultat est éloquent on affiche maintenant 010 au lieu de 000.

Pour éviter cet inconvénient, il est donc nécessaire de mettre une cellule à retard qui maintient l'ordre RAZ un temps suffisant (> 40ns) entre le décodeur et les entrées R des bascules.

action sur PRESET

On va modifier impérativement l'état non plus après le cinquième coup mais au quatrième en agissant sur les bascules qui sont alors à 0 en les forçant à 1. L'intérêt est que ça ne risque pas de provoquer de basculement non souhaité puisqu'il n'y a alors pas de front descendant. Alors au cinquième coup toutes les bascules seront normalement remises à 0. Donc on relie la sortie 4 du décodeur aux entrées S des bascules. L'inconvénient 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 troisième solution consiste à sauter des cycles. C'est intéressant dans le cas d'un compteur de modulo élevé, 10 par exemple. Un compteur par 10 est réalisé avec 4 bascules, il faut supprimer 6 états. Cela peut-être réalisé de diverses manières :

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 problème juste de connexion sur le décodeur) et on agit soit sur le clear soit sur le preset.

D C B A  

0 0 0 0  

Page 51: Atc

0 0 0 1  

0 0 1 0 (1)

0 0 1 1

0 1 0 0

0 1 0 1  

0 1 1 0  

0 1 1 1 (2)

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1 (3)

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1  

Juste après l'état repréré 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 repérée (2) on fait un preset et on passe alors directement à 1010, la même chose en (3) conduit à 1110 au lieu de 1100. Ce qui fait qu'au dixième coup d'horloge on se retrouvera à 0000.

exploitation des compteurs

Deux cas se présentent

Ou l'on fait un comptage, arrête le compteur, puis exploite le résultat avec tout le temps devant soi. C'est par ex le cas de certains fréquencemètres. Dans ce cas la vitesse de comptage peut être élevée, la limitation étant celle de la première

Page 52: Atc

bascule. Mais la lecture du résultat s'effectuant sur un temps suffisamment long on évitera les problèmes avec les états transitoires.

Ou l'on affiche tous les résultats après chaque nouvelle impulsion. Dans ce cas, il est nécessaire de procéder à un échantillonnage décalé. Il faut alors 2 horloges distinctes, décalées d'au moins nq si le compteur comporte n étages afin d'éviter le décodage d'états transitoires. La configuration d'exploitation est alors la suivante :

Par rapport au cas précédent on peut noter la réduction de vitesse de comptage puisqu'il faut impérativement que la période d'horloge soit > n , alors que dans le premier cas elle devait simplement être >  .

On utilise généralement pour H2 le même signal que pour H1 mais retardé de n  ce qui n'est pas forcément évident car   n'est pas toujours le même d'une bascule à l'autre et donc pour chaque compteur il faudra ajuster la cellule à retard. Aussi on préfère utiliser un décodeur 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 décrivant le cycle suivant et utilisant des JK

N A B C

Page 53: Atc

0 0 0 0

1 1 0 0

2 0 1 0

3 1 1 0

4 0 1 1

5 1 1 1

Attention ce cycle n'est pas binaire : on peut déduire du tableau les états que doivent prendre à chaque instant les entrées J et K pour que le compteur décrive le cycle désiré. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe à 1 il faut JA =1 et KA indifférent, pour que QB reste à 0 il faut JB = 0 et KB indifférent, etc. On aboutit alors au tableau suivant :

N A B C JA KA JB KB JC KC

0 0 0 0 1 x 0 x 0 x

1 1 0 0 x 1 1 x 0 x

2 0 1 0 1 x x 0 0 x

3 1 1 0 x 1 x 0 1 x

4 0 1 1 1 x x 0 x 0

5 1 1 1 x 1 x 1 x 1

En utilisant le diagramme de Karnaugh on va déterminer les équations et donc la circuiterie à réaliser. On note les 1 de la sortie ABC, ainsi la première 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 différentes valeurs de N, ainsi la case en haut à droite correspond à N = 1

Dans ce cas précis il n'y a que des 1 ou des cases indifférentes dans le diagramme donc JA = 1, on trouvera la même 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

Page 54: Atc

......

Donc JB = QA et KB = QAQC. De même 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 même chose pour JC. D'où la réalisation avec deux portes ET. Mais l'autre solution implique les deux mêmes portes ET et n'est guère plus complexe à réaliser.

réalisation d'un décompteur

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

N Q3 Q2 Q1 Q3 Q2 Q1  

0 0 0 0 1 1 1 7

1 0 0 1 1 1 0 6

2 0 1 0 1 0 1 5

3 0 1 1 1 0 0 4

4 1 0 0 0 1 1 3

5 1 0 1 0 1 0 2

6 1 1 0 0 0 1 1

7 1 1 1 0 0 0 0

compteur Johnson ou en anneau

Page 55: Atc

C'est un registre à décalage dont les sorties sont rebouclées sur les entrées inverses. capacité 2n (et non 2n).

  A B C

0 0 0 0

1 1 0 0

2 1 1 0

3 1 1 1

4 0 1 1

5 0 0 1

Le problème principal est qu'à la mise sous tension on n'a pas forcément 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'entrée de la dernière bascule selon le schéma ci-dessous, le reste étant inchangé. Examinons le cas d'un compteur à quatre bascules

A B C D

0 0 1 0

1 0 0 1

1 1 0 0

1 1 1 0

1 1 1 1

Ainsi qu'on le voit dans le tableau les deux premières valeurs sont erronées (par construction) mais ensuite dès le troisième coup le fonctionnement est correct.

Page 56: Atc

procédure 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'entrée de remise à "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis à l'entrée 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 systèmes à chargement synchrone qui affectent alors directement les entrées J et K de chaque bascule. On représente le principe pour un seul étage sachant que c'est la même 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

Page 57: Atc

d'horloge

Notons que pour la bascule suivante chaque porte ET possède une troisième entrée reliée à QA et non doublée comme ici sur l'horloge, il en est évidemment de même des bascules suivantes.

log6Copyright

© 2000-2015 LHERBAUDIERE

5 pages à l'impression

version initiale 2000

AVERTISSEMENTdernière mise à jour

18 mars 2013

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

Registres et compteurs (logique 6/9)

généralités la mise bout à bout

registre à décalage des bascules

registre universel  

compteurs  

compteur asynchrone  

modulo différent de 2n le plus complexe

exploitation des compteurs  

compteur synchrone  

réalisation d'un décompteur  

compteur johnson ou en anneau  

procédure de chargement  

une collection d'icônes pour visiter tout le site

GénéralitésIl s'agit maintenant d'examiner des dispositifs traitant plusieurs informations à la fois et comportant pour ce faire :

un groupe de bascules alimentées par une horloge un réseau combinatoire d'entrée qui élabore les commandes d'excitation des bascules un réseau de sortie donnant l'état des bascules

Page 58: Atc

Le fonctionnement va se traduire par un tableau de vérité où figurent 

en entrée

les états antérieurs des bascules les informations d'entrée les commandes d'entrée les commandes de sortie l'horloge

en sortie

les états futurs des bascules les états des sorties du registre

Trois fonctions sont réalisées par le registre

mémorisation d'une information placée en entrée et recopiée comptage et décomptage : le registre contient la valeur n puis affiche n+1 (ou n-1) décalage : 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 connectées aux entrées suivantes. Les différences essentielles vont se situer au niveau des entrées et des sorties d'un registre.

exemple de registre à décalage

Page 59: Atc

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 présente un niveau 1 sur l'entrée, puis que l'on applique une impulsion sur C.

Sur le front montant, chaque bascule va recopier à sa sortie l'information présente à son entrée juste avant le front montant. On réalise ainsi un décalage vers la droite.

 Rappelons qu'en base 2 un décalage vers la droite représente une division par 2, tandis qu'un décalage vers la gauche correspond à une multiplication par deux.

Dans le cas présent, on a un registre à chargement et lecture série. C'est le plus simple, mais le plus lent. Il présente en outre l'inconvénient de perdre son contenu si on veut le lire, aussi pour remédier à ce défaut a-t-on imaginé des modes de chargement parallèle et des modes de lecture parallèle plus rapide et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut même avoir les 4 possibilités sur un même registre avec en outre une possibilité de décalage aussi bien à gauche qu'à droite.

Illustrons ce principe avec un registre à base de JK

Notons que l'entrée parallèle est prioritaire, le décalage ne peut se faire que si T = 0, si T = 1 on a la possibilité de chargement parallèle.

registre universel

Page 60: Atc

L'exemple type de registre universel à 4 bits est le 7495 qui est conçu autour de bascules RS

Si MC = 1 horloge = H2 validation des ET parallèles

si MC = 0 horloge = H1 validation des entrées série

tableau de vérité de la commande d'horloge

MC H2 H1 horloge ETsérie ET A

1 1 1 1 0 A

1 1 0 1 0 A

1 0 1 0 0 A

1 0 0 0 0 A

0 1 1 1 série 0

0 1 0 0 série 0

Page 61: Atc

0 0 1 1 série 0

0 0 0 0 série 0

 Remarque : le changement du sens de décalage résulte du câblage extérieur. On connecte A au lieu de D et vice et versa, de même B à la place de C.

compteursIl s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions entrées et l'état de sortie correspondant. Ils sont constitués à 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 contrôlées par le même signal d'horloge et les asynchrones dont seule la première bascule reçoit sur son entrée clock le signal à compter.

Les caractéristiques générales d'un compteur :

commande d'horloge synchrone ou asynchrone capacité de comptage vitesse de comptage comptage ou décomptage possibilité de présélection (chargement possible d'un nombre donné avant le démarrage du

compteur).

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

N C B A

Page 62: Atc

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 0 0 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 négatives de A et C change d'état sur les transitions négatives de B. Donc A sera montée en diviseur par 2 et recevra sur son entrée d'horloge les impulsions à compter. Pour B qui doit commuter sur les transisitons négatives 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 même 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 décalage de   entre le front descendant et le résultat en sortie induit un décalage de n  après la nième bascule. Le problème c'est qu'il peut arriver que n >période 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 après la quatrième 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 décimal avant d'avoir 4!

Page 63: Atc

compteur modulo différent de 2n

Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur par 8 vu précédemment un circuit qui lorsque n = 5 ramènera le compteur à 0. Pour cela nous utiliserons les entrées asynchrones CLEAR (RAZ) ou PRESET.

action sur RAZ

On ajoute un décodeur qui lorsque n = 5 force les entrées R.

En pratique si cette solution est élégante il faut voir ses difficultés de mise en oeuvre. On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3  après le front descendant de l'horloge d'entrée.

Le décodeur met lui aussi un certain temps à réagir ( ). Ensuite la remise à zéro 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 durée soit courte vis à vis de la période d'horloge.

Par ailleurs, nous pouvons avoir, c'est fréquent, des temps de basculement légèrement différents 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, après un temps a les bascules sont forcées à 0. C revient à 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le décodeur réagit et la ligne 5 n'est plus active. La bascule A simultanément termine son basculement en 40ns, or à cet instant précis la bascule B n'est plus forcée à 0, elle voit un front descendant sur son entrée d'horloge et ...bascule. Le résultat est éloquent on affiche maintenant 010 au lieu de 000.

Pour éviter cet inconvénient, il est donc nécessaire de mettre une cellule à retard qui maintient l'ordre RAZ un temps suffisant (> 40ns) entre le décodeur et les entrées R des bascules.

action sur PRESET

On va modifier impérativement l'état non plus après le cinquième coup mais au quatrième en agissant sur les bascules qui sont alors à 0 en les forçant à 1. L'intérêt est que ça ne risque pas de provoquer de basculement non souhaité puisqu'il n'y a alors pas de front descendant. Alors au cinquième coup toutes les bascules seront normalement remises à 0. Donc on relie la sortie 4 du décodeur aux entrées S des bascules. L'inconvénient 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 troisième solution consiste à sauter des cycles. C'est intéressant dans le cas d'un compteur de modulo

Page 64: Atc

élevé, 10 par exemple. Un compteur par 10 est réalisé avec 4 bascules, il faut supprimer 6 états. Cela peut-être réalisé de diverses manières :

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 problème juste de connexion sur le décodeur) et on agit soit sur le clear soit sur le preset.

D C B A  

0 0 0 0  

0 0 0 1  

0 0 1 0 (1)

0 0 1 1

0 1 0 0

0 1 0 1  

0 1 1 0  

0 1 1 1 (2)

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1 (3)

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1  

Juste après l'état repréré 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 repérée (2) on fait un preset et on passe alors directement à 1010, la même chose en (3) conduit à 1110 au lieu de 1100. Ce qui fait qu'au dixième coup d'horloge on se retrouvera à 0000.

Page 65: Atc

exploitation des compteursDeux cas se présentent

Ou l'on fait un comptage, arrête le compteur, puis exploite le résultat avec tout le temps devant soi. C'est par ex le cas de certains fréquencemètres. Dans ce cas la vitesse de comptage peut être élevée, la limitation étant celle de la première bascule. Mais la lecture du résultat s'effectuant sur un temps suffisamment long on évitera les problèmes avec les états transitoires.

Ou l'on affiche tous les résultats après chaque nouvelle impulsion. Dans ce cas, il est nécessaire de procéder à un échantillonnage décalé. Il faut alors 2 horloges distinctes, décalées d'au moins nq si le compteur comporte n étages afin d'éviter le décodage d'états transitoires. La configuration d'exploitation est alors la suivante :

Par rapport au cas précédent on peut noter la réduction de vitesse de comptage puisqu'il faut impérativement que la période d'horloge soit > n , alors que dans le premier cas elle devait simplement être >  .

On utilise généralement pour H2 le même signal que pour H1 mais retardé de n  ce qui n'est pas forcément évident car   n'est pas toujours le même d'une bascule à l'autre et donc pour chaque compteur il faudra ajuster la cellule à retard. Aussi on préfère utiliser un décodeur commandé par le front montant de l'horloge (si c'est le front descendant qui agit sur le compteur, et vice versa).

compteur synchrone

Page 66: Atc

Soit à construire un compteur synchrone modulo 6 décrivant le cycle suivant et utilisant des JK

N A B C

0 0 0 0

1 1 0 0

2 0 1 0

3 1 1 0

4 0 1 1

5 1 1 1

Attention ce cycle n'est pas binaire : on peut déduire du tableau les états que doivent prendre à chaque instant les entrées J et K pour que le compteur décrive le cycle désiré. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe à 1 il faut JA =1 et KA indifférent, pour que QB reste à 0 il faut JB = 0 et KB indifférent, etc. On aboutit alors au tableau suivant :

N A B C JA KA JB KB JC KC

0 0 0 0 1 x 0 x 0 x

1 1 0 0 x 1 1 x 0 x

2 0 1 0 1 x x 0 0 x

3 1 1 0 x 1 x 0 1 x

4 0 1 1 1 x x 0 x 0

5 1 1 1 x 1 x 1 x 1

En utilisant le diagramme de Karnaugh on va déterminer les équations et donc la circuiterie à réaliser. On note les 1 de la sortie ABC, ainsi la première 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 différentes valeurs de N, ainsi la case en haut à droite correspond à N = 1

Dans ce cas précis il n'y a que des 1 ou des cases indifférentes dans le diagramme donc JA = 1, on trouvera la même 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

Page 67: Atc

......

Donc JB = QA et KB = QAQC. De même 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 même chose pour JC. D'où la réalisation avec deux portes ET. Mais l'autre solution implique les deux mêmes portes ET et n'est guère plus complexe à réaliser.

réalisation d'un décompteurIl suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les sorties complémentaires Q. En effet

N Q3 Q2 Q1 Q3 Q2 Q1  

0 0 0 0 1 1 1 7

1 0 0 1 1 1 0 6

2 0 1 0 1 0 1 5

3 0 1 1 1 0 0 4

4 1 0 0 0 1 1 3

5 1 0 1 0 1 0 2

6 1 1 0 0 0 1 1

7 1 1 1 0 0 0 0

compteur Johnson ou en anneauC'est un registre à décalage dont les sorties sont rebouclées sur les entrées inverses. capacité 2n (et non 2n).

Page 68: Atc

  A B C

0 0 0 0

1 1 0 0

2 1 1 0

3 1 1 1

4 0 1 1

5 0 0 1

Le problème principal est qu'à la mise sous tension on n'a pas forcément 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'entrée de la dernière bascule selon le schéma ci-dessous, le reste étant inchangé. Examinons le cas d'un compteur à quatre bascules

A B C D

0 0 1 0

1 0 0 1

1 1 0 0

1 1 1 0

1 1 1 1

Ainsi qu'on le voit dans le tableau les deux premières valeurs sont erronées (par construction) mais ensuite dès le troisième coup le fonctionnement est correct.

procédure de chargement d'un compteur

Page 69: Atc

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'entrée de remise à "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis à l'entrée 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 systèmes à chargement synchrone qui affectent alors directement les entrées J et K de chaque bascule. On représente le principe pour un seul étage sachant que c'est la même 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 possède une troisième entrée reliée à QA et non doublée comme ici sur l'horloge, il en est évidemment de même des bascules suivantes.

un groupe de bascules alimentées par une horloge un réseau combinatoire d'entrée qui élabore les commandes d'excitation des

bascules un réseau de sortie donnant l'état des bascules

Page 70: Atc

Le fonctionnement va se traduire par un tableau de vérité où figurent 

en entrée

les états antérieurs des bascules les informations d'entrée les commandes d'entrée les commandes de sortie l'horloge

en sortie

les états futurs des bascules les états des sorties du registre

Trois fonctions sont réalisées par le registre

mémorisation d'une information placée en entrée et recopiée comptage et décomptage : le registre contient la valeur n puis affiche n+1 (ou n-

1) décalage : 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 connectées aux entrées suivantes. Les différences essentielles vont se situer au niveau des entrées et des sorties d'un registre.

Page 71: Atc

exemple de registre à décalage

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 présente un niveau 1 sur l'entrée, puis que l'on applique une impulsion sur C.

Sur le front montant, chaque bascule va recopier à sa sortie l'information présente à son entrée juste avant le front montant. On réalise ainsi un décalage vers la droite.

 Rappelons qu'en base 2 un décalage vers la droite représente une division par 2, tandis qu'un décalage vers la gauche correspond à une multiplication par deux.

Dans le cas présent, on a un registre à chargement et lecture série. C'est le plus simple, mais le plus lent. Il présente en outre l'inconvénient de perdre son contenu si on veut le lire, aussi pour remédier à ce défaut a-t-on imaginé des modes de chargement parallèle et des modes de lecture parallèle plus rapide et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut même avoir les 4 possibilités sur un même registre avec en outre une possibilité de décalage aussi bien à gauche qu'à droite.

Illustrons ce principe avec un registre à base de JK

Page 72: Atc

Notons que l'entrée parallèle est prioritaire, le décalage ne peut se faire que si T = 0, si T = 1 on a la possibilité de chargement parallèle.

registre universel

L'exemple type de registre universel à 4 bits est le 7495 qui est conçu autour de bascules RS

Page 73: Atc

Si MC = 1 horloge = H2 validation des ET parallèles

si MC = 0 horloge = H1 validation des entrées série

tableau de vérité de la commande d'horloge

MC H2 H1 horloge ETsérie ET A

1 1 1 1 0 A

1 1 0 1 0 A

1 0 1 0 0 A

1 0 0 0 0 A

0 1 1 1 série 0

0 1 0 0 série 0

Page 74: Atc

0 0 1 1 série 0

0 0 0 0 série 0

 Remarque : le changement du sens de décalage résulte du câblage extérieur. On connecte A au lieu de D et vice et versa, de même B à la place de C.

compteurs

Il s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions entrées et l'état de sortie correspondant. Ils sont constitués à 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 contrôlées par le même signal d'horloge et les asynchrones dont seule la première bascule reçoit sur son entrée clock le signal à compter.

Les caractéristiques générales d'un compteur :

commande d'horloge synchrone ou asynchrone capacité de comptage vitesse de comptage comptage ou décomptage possibilité de présélection (chargement possible d'un nombre donné avant le

démarrage du compteur).

compteur asynchrone

Page 75: Atc

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

N C B A

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 0 0 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 négatives de A et C change d'état sur les transitions négatives de B. Donc A sera montée en diviseur par 2 et recevra sur son entrée d'horloge les impulsions à compter. Pour B qui doit commuter sur les transisitons négatives 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 même 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

Page 76: Atc

Un décalage de   entre le front descendant et le résultat en sortie induit un décalage de n  après la nième bascule. Le problème c'est qu'il peut arriver que n >période 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 après la quatrième 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 décimal avant d'avoir 4!

compteur modulo différent de 2n

Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur par 8 vu précédemment un circuit qui lorsque n = 5 ramènera le compteur à 0. Pour cela nous utiliserons les entrées asynchrones CLEAR (RAZ) ou PRESET.

action sur RAZ

On ajoute un décodeur qui lorsque n = 5 force les entrées R.

En pratique si cette solution est élégante il faut voir ses difficultés de mise en oeuvre. On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3  après le front descendant de l'horloge d'entrée. Le décodeur met lui aussi un certain temps à réagir (

Page 77: Atc

). Ensuite la remise à zéro 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 durée soit courte vis à vis de la période d'horloge.

Par ailleurs, nous pouvons avoir, c'est fréquent, des temps de basculement légèrement différents 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, après un temps a les bascules sont forcées à 0. C revient à 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le décodeur réagit et la ligne 5 n'est plus active. La bascule A simultanément termine son basculement en 40ns, or à cet instant précis la bascule B n'est plus forcée à 0, elle voit un front descendant sur son entrée d'horloge et ...bascule. Le résultat est éloquent on affiche maintenant 010 au lieu de 000.

Pour éviter cet inconvénient, il est donc nécessaire de mettre une cellule à retard qui maintient l'ordre RAZ un temps suffisant (> 40ns) entre le décodeur et les entrées R des bascules.

action sur PRESET

On va modifier impérativement l'état non plus après le cinquième coup mais au quatrième en agissant sur les bascules qui sont alors à 0 en les forçant à 1. L'intérêt est que ça ne risque pas de provoquer de basculement non souhaité puisqu'il n'y a alors pas de front descendant. Alors au cinquième coup toutes les bascules seront normalement remises à 0. Donc on relie la sortie 4 du décodeur aux entrées S des bascules. L'inconvénient 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 troisième solution consiste à sauter des cycles. C'est intéressant dans le cas d'un compteur de modulo élevé, 10 par exemple. Un compteur par 10 est réalisé avec 4 bascules, il faut supprimer 6 états. Cela peut-être réalisé de diverses manières :

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 problème juste de connexion sur le décodeur) et on agit soit sur le clear soit sur le preset.

D C B A  

0 0 0 0  

Page 78: Atc

0 0 0 1  

0 0 1 0 (1)

0 0 1 1

0 1 0 0

0 1 0 1  

0 1 1 0  

0 1 1 1 (2)

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1 (3)

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1  

Juste après l'état repréré 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 repérée (2) on fait un preset et on passe alors directement à 1010, la même chose en (3) conduit à 1110 au lieu de 1100. Ce qui fait qu'au dixième coup d'horloge on se retrouvera à 0000.

exploitation des compteurs

Deux cas se présentent

Ou l'on fait un comptage, arrête le compteur, puis exploite le résultat avec tout le temps devant soi. C'est par ex le cas de certains fréquencemètres. Dans ce cas la vitesse de comptage peut être élevée, la limitation étant celle de la première

Page 79: Atc

bascule. Mais la lecture du résultat s'effectuant sur un temps suffisamment long on évitera les problèmes avec les états transitoires.

Ou l'on affiche tous les résultats après chaque nouvelle impulsion. Dans ce cas, il est nécessaire de procéder à un échantillonnage décalé. Il faut alors 2 horloges distinctes, décalées d'au moins nq si le compteur comporte n étages afin d'éviter le décodage d'états transitoires. La configuration d'exploitation est alors la suivante :

Par rapport au cas précédent on peut noter la réduction de vitesse de comptage puisqu'il faut impérativement que la période d'horloge soit > n , alors que dans le premier cas elle devait simplement être >  .

On utilise généralement pour H2 le même signal que pour H1 mais retardé de n  ce qui n'est pas forcément évident car   n'est pas toujours le même d'une bascule à l'autre et donc pour chaque compteur il faudra ajuster la cellule à retard. Aussi on préfère utiliser un décodeur 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 décrivant le cycle suivant et utilisant des JK

N A B C

Page 80: Atc

0 0 0 0

1 1 0 0

2 0 1 0

3 1 1 0

4 0 1 1

5 1 1 1

Attention ce cycle n'est pas binaire : on peut déduire du tableau les états que doivent prendre à chaque instant les entrées J et K pour que le compteur décrive le cycle désiré. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe à 1 il faut JA =1 et KA indifférent, pour que QB reste à 0 il faut JB = 0 et KB indifférent, etc. On aboutit alors au tableau suivant :

N A B C JA KA JB KB JC KC

0 0 0 0 1 x 0 x 0 x

1 1 0 0 x 1 1 x 0 x

2 0 1 0 1 x x 0 0 x

3 1 1 0 x 1 x 0 1 x

4 0 1 1 1 x x 0 x 0

5 1 1 1 x 1 x 1 x 1

En utilisant le diagramme de Karnaugh on va déterminer les équations et donc la circuiterie à réaliser. On note les 1 de la sortie ABC, ainsi la première 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 différentes valeurs de N, ainsi la case en haut à droite correspond à N = 1

Dans ce cas précis il n'y a que des 1 ou des cases indifférentes dans le diagramme donc JA = 1, on trouvera la même 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

Page 81: Atc

......

Donc JB = QA et KB = QAQC. De même 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 même chose pour JC. D'où la réalisation avec deux portes ET. Mais l'autre solution implique les deux mêmes portes ET et n'est guère plus complexe à réaliser.

réalisation d'un décompteur

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

N Q3 Q2 Q1 Q3 Q2 Q1  

0 0 0 0 1 1 1 7

1 0 0 1 1 1 0 6

2 0 1 0 1 0 1 5

3 0 1 1 1 0 0 4

4 1 0 0 0 1 1 3

5 1 0 1 0 1 0 2

6 1 1 0 0 0 1 1

7 1 1 1 0 0 0 0

compteur Johnson ou en anneau

Page 82: Atc

C'est un registre à décalage dont les sorties sont rebouclées sur les entrées inverses. capacité 2n (et non 2n).

  A B C

0 0 0 0

1 1 0 0

2 1 1 0

3 1 1 1

4 0 1 1

5 0 0 1

Le problème principal est qu'à la mise sous tension on n'a pas forcément 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'entrée de la dernière bascule selon le schéma ci-dessous, le reste étant inchangé. Examinons le cas d'un compteur à quatre bascules

A B C D

0 0 1 0

1 0 0 1

1 1 0 0

1 1 1 0

1 1 1 1

Ainsi qu'on le voit dans le tableau les deux premières valeurs sont erronées (par construction) mais ensuite dès le troisième coup le fonctionnement est correct.

Page 83: Atc

procédure 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'entrée de remise à "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis à l'entrée 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 systèmes à chargement synchrone qui affectent alors directement les entrées J et K de chaque bascule. On représente le principe pour un seul étage sachant que c'est la même 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

Page 84: Atc

Notons que pour la bascule suivante chaque porte ET possède une troisième entrée reliée à QA et non doublée comme ici sur l'horloge, il en est évidemment de même des bascules suivantes.

Le fonctionnement va se traduire par un tableau de vérité où figurent 

en entrée

les états antérieurs des bascules les informations d'entrée les commandes d'entrée les commandes de sortie l'horloge

en sortie

les états futurs des bascules les états des sorties du registre

Trois fonctions sont réalisées par le registre

mémorisation d'une information placée en entrée et recopiée comptage et décomptage : le registre contient la valeur n puis affiche n+1 (ou n-1) décalage : 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 connectées aux entrées suivantes. Les différences essentielles vont se situer au niveau des entrées et des sorties d'un registre.

Page 85: Atc

exemple de registre à décalage

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 présente un niveau 1 sur l'entrée, puis que l'on applique une impulsion sur C.

Sur le front montant, chaque bascule va recopier à sa sortie l'information présente à son entrée juste avant le front montant. On réalise ainsi un décalage vers la droite.

 Rappelons qu'en base 2 un décalage vers la droite représente une division par 2, tandis qu'un décalage vers la gauche correspond à une multiplication par deux.

Dans le cas présent, on a un registre à chargement et lecture série. C'est le plus simple, mais le plus lent. Il présente en outre l'inconvénient de perdre son contenu si on veut le lire, aussi pour remédier à ce défaut a-t-on imaginé des modes de chargement parallèle et des modes de lecture parallèle plus rapide et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut même avoir les 4 possibilités sur un même registre avec en outre une possibilité de décalage aussi bien à gauche qu'à droite.

Illustrons ce principe avec un registre à base de JK

Notons que l'entrée parallèle est prioritaire, le décalage ne peut se faire que si T = 0, si T = 1 on a la possibilité de chargement parallèle.

Page 86: Atc

registre universelL'exemple type de registre universel à 4 bits est le 7495 qui est conçu autour de bascules RS

Si MC = 1 horloge = H2 validation des ET parallèles

si MC = 0 horloge = H1 validation des entrées série

tableau de vérité de la commande d'horloge

MC H2 H1 horloge ETsérie ET A

1 1 1 1 0 A

1 1 0 1 0 A

Page 87: Atc

1 0 1 0 0 A

1 0 0 0 0 A

0 1 1 1 série 0

0 1 0 0 série 0

0 0 1 1 série 0

0 0 0 0 série 0

 Remarque : le changement du sens de décalage résulte du câblage extérieur. On connecte A au lieu de D et vice et versa, de même B à la place de C.

compteursIl s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions entrées et l'état de sortie correspondant. Ils sont constitués à 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 contrôlées par le même signal d'horloge et les asynchrones dont seule la première bascule reçoit sur son entrée clock le signal à compter.

Les caractéristiques générales d'un compteur :

commande d'horloge synchrone ou asynchrone capacité de comptage vitesse de comptage comptage ou décomptage possibilité de présélection (chargement possible d'un nombre donné avant le démarrage du

compteur).

Page 88: Atc

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

N C B A

0 0 0 0

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 0 0 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 négatives de A et C change d'état sur les transitions négatives de B. Donc A sera montée en diviseur par 2 et recevra sur son entrée d'horloge les impulsions à compter. Pour B qui doit commuter sur les transisitons négatives 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 même 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 décalage de   entre le front descendant et le résultat en sortie induit un décalage de n  après la

Page 89: Atc

nième bascule. Le problème c'est qu'il peut arriver que n >période 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 après la quatrième 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 décimal avant d'avoir 4!

compteur modulo différent de 2n

Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur par 8 vu précédemment un circuit qui lorsque n = 5 ramènera le compteur à 0. Pour cela nous utiliserons les entrées asynchrones CLEAR (RAZ) ou PRESET.

action sur RAZ

On ajoute un décodeur qui lorsque n = 5 force les entrées R.

En pratique si cette solution est élégante il faut voir ses difficultés de mise en oeuvre. On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3  après le front descendant de l'horloge d'entrée.

Le décodeur met lui aussi un certain temps à réagir ( ). Ensuite la remise à zéro 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 durée soit courte vis à vis de la période d'horloge.

Par ailleurs, nous pouvons avoir, c'est fréquent, des temps de basculement légèrement différents 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, après un temps a les bascules sont forcées à 0. C revient à 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le décodeur réagit et la ligne 5 n'est plus active. La bascule A simultanément termine son basculement en 40ns, or à cet instant précis la bascule B n'est plus forcée à 0, elle voit un front descendant sur son entrée d'horloge et ...bascule. Le résultat est éloquent on affiche maintenant 010 au lieu de 000.

Pour éviter cet inconvénient, il est donc nécessaire de mettre une cellule à retard qui maintient l'ordre RAZ un temps suffisant (> 40ns) entre le décodeur et les entrées R des bascules.

action sur PRESET

On va modifier impérativement l'état non plus après le cinquième coup mais au quatrième en agissant sur les bascules qui sont alors à 0 en les forçant à 1. L'intérêt est que ça ne risque pas de provoquer de basculement non souhaité puisqu'il n'y a alors pas de front descendant. Alors au cinquième coup toutes

Page 90: Atc

les bascules seront normalement remises à 0. Donc on relie la sortie 4 du décodeur aux entrées S des bascules. L'inconvénient 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 troisième solution consiste à sauter des cycles. C'est intéressant dans le cas d'un compteur de modulo élevé, 10 par exemple. Un compteur par 10 est réalisé avec 4 bascules, il faut supprimer 6 états. Cela peut-être réalisé de diverses manières :

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 problème juste de connexion sur le décodeur) et on agit soit sur le clear soit sur le preset.

D C B A  

0 0 0 0  

0 0 0 1  

0 0 1 0 (1)

0 0 1 1

0 1 0 0

0 1 0 1  

0 1 1 0  

0 1 1 1 (2)

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1 (3)

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1  

Juste après l'état repréré 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 repérée (2) on fait un preset et on passe alors directement à 1010, la même chose en (3) conduit à 1110 au lieu de 1100. Ce qui fait qu'au dixième coup d'horloge on se retrouvera à 0000.

Page 91: Atc

exploitation des compteursDeux cas se présentent

Ou l'on fait un comptage, arrête le compteur, puis exploite le résultat avec tout le temps devant soi. C'est par ex le cas de certains fréquencemètres. Dans ce cas la vitesse de comptage peut être élevée, la limitation étant celle de la première bascule. Mais la lecture du résultat s'effectuant sur un temps suffisamment long on évitera les problèmes avec les états transitoires.

Ou l'on affiche tous les résultats après chaque nouvelle impulsion. Dans ce cas, il est nécessaire de procéder à un échantillonnage décalé. Il faut alors 2 horloges distinctes, décalées d'au moins nq si le compteur comporte n étages afin d'éviter le décodage d'états transitoires. La configuration d'exploitation est alors la suivante :

Par rapport au cas précédent on peut noter la réduction de vitesse de comptage puisqu'il faut impérativement que la période d'horloge soit > n , alors que dans le premier cas elle devait simplement être >  .

On utilise généralement pour H2 le même signal que pour H1 mais retardé de n  ce qui n'est pas forcément évident car   n'est pas toujours le même d'une bascule à l'autre et donc pour chaque compteur il faudra ajuster la cellule à retard. Aussi on préfère utiliser un décodeur commandé par le front montant de l'horloge (si c'est le front descendant qui agit sur le compteur, et vice versa).

Page 92: Atc

compteur synchroneSoit à construire un compteur synchrone modulo 6 décrivant le cycle suivant et utilisant des JK

N A B C

0 0 0 0

1 1 0 0

2 0 1 0

3 1 1 0

4 0 1 1

5 1 1 1

Attention ce cycle n'est pas binaire : on peut déduire du tableau les états que doivent prendre à chaque instant les entrées J et K pour que le compteur décrive le cycle désiré. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe à 1 il faut JA =1 et KA indifférent, pour que QB reste à 0 il faut JB = 0 et KB indifférent, etc. On aboutit alors au tableau suivant :

N A B C JA KA JB KB JC KC

0 0 0 0 1 x 0 x 0 x

1 1 0 0 x 1 1 x 0 x

2 0 1 0 1 x x 0 0 x

3 1 1 0 x 1 x 0 1 x

4 0 1 1 1 x x 0 x 0

5 1 1 1 x 1 x 1 x 1

En utilisant le diagramme de Karnaugh on va déterminer les équations et donc la circuiterie à réaliser. On note les 1 de la sortie ABC, ainsi la première 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 différentes valeurs de N, ainsi la case en haut à droite correspond à N = 1

Page 93: Atc

Dans ce cas précis il n'y a que des 1 ou des cases indifférentes dans le diagramme donc JA = 1, on trouvera la même 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 même 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 même chose pour JC. D'où la réalisation avec deux portes ET. Mais l'autre solution implique les deux mêmes portes ET et n'est guère plus complexe à réaliser.

réalisation d'un décompteurIl suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les sorties complémentaires Q. En effet

N Q3 Q2 Q1 Q3 Q2 Q1  

0 0 0 0 1 1 1 7

1 0 0 1 1 1 0 6

2 0 1 0 1 0 1 5

3 0 1 1 1 0 0 4

4 1 0 0 0 1 1 3

5 1 0 1 0 1 0 2

6 1 1 0 0 0 1 1

Page 94: Atc

7 1 1 1 0 0 0 0

compteur Johnson ou en anneauC'est un registre à décalage dont les sorties sont rebouclées sur les entrées inverses. capacité 2n (et non 2n).

  A B C

0 0 0 0

1 1 0 0

2 1 1 0

3 1 1 1

4 0 1 1

5 0 0 1

Le problème principal est qu'à la mise sous tension on n'a pas forcément 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'entrée de la dernière bascule selon le schéma ci-dessous, le reste étant inchangé. Examinons le cas d'un compteur à quatre bascules

A B C D

0 0 1 0

1 0 0 1

1 1 0 0

1 1 1 0

1 1 1 1

Ainsi qu'on le voit dans le tableau les deux premières valeurs sont erronées (par construction) mais ensuite dès le troisième coup le fonctionnement est correct.

Page 95: Atc

procédure de chargement d'un compteurasynchrone, 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'entrée de remise à "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis à l'entrée 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 systèmes à chargement synchrone qui affectent alors directement les entrées J et K de chaque bascule. On représente le principe pour un seul étage sachant que c'est la même chose pour tous.

Page 96: Atc

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 possède une troisième entrée reliée à QA et non doublée comme ici sur l'horloge, il en est évidemment de même des bascules suivantes.

Le fonctionnement va se traduire par un tableau de vérité où figurent 

en entrée

les états antérieurs des bascules les informations d'entrée les commandes d'entrée les commandes de sortie l'horloge

Page 97: Atc

en sortie

les états futurs des bascules les états des sorties du registre

Trois fonctions sont réalisées par le registre

mémorisation d'une information placée en entrée et recopiée comptage et décomptage : le registre contient la valeur n puis affiche n+1 (ou n-1) décalage : 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 connectées aux entrées suivantes. Les différences essentielles vont se situer au niveau des entrées et des sorties d'un registre.

exemple de registre à décalage

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 présente un niveau 1 sur l'entrée, puis que l'on applique une impulsion sur C.

Sur le front montant, chaque bascule va recopier à sa sortie l'information présente à son entrée juste avant le front montant. On réalise ainsi un décalage vers la droite.

 Rappelons qu'en base 2 un décalage vers la droite représente une division par 2, tandis qu'un décalage vers la gauche correspond à une multiplication par deux.

Dans le cas présent, on a un registre à chargement et lecture série. C'est le plus simple, mais le plus lent. Il présente en outre l'inconvénient de perdre son contenu si on veut le lire, aussi pour remédier à ce défaut a-t-on imaginé des modes de chargement parallèle et des modes de lecture parallèle plus rapide et non destructeurs de l'information. Toutes les combinaisons sont possibles, on peut même avoir les 4 possibilités sur un même registre avec en outre une possibilité de décalage aussi bien à gauche qu'à droite.

Illustrons ce principe avec un registre à base de JK

Page 98: Atc

Notons que l'entrée parallèle est prioritaire, le décalage ne peut se faire que si T = 0, si T = 1 on a la possibilité de chargement parallèle.

registre universelL'exemple type de registre universel à 4 bits est le 7495 qui est conçu autour de bascules RS

Page 99: Atc

Si MC = 1 horloge = H2 validation des ET parallèles

si MC = 0 horloge = H1 validation des entrées série

tableau de vérité de la commande d'horloge

MC H2 H1 horloge ETsérie ET A

1 1 1 1 0 A

1 1 0 1 0 A

1 0 1 0 0 A

1 0 0 0 0 A

0 1 1 1 série 0

0 1 0 0 série 0

0 0 1 1 série 0

Page 100: Atc

0 0 0 0 série 0

 Remarque : le changement du sens de décalage résulte du câblage extérieur. On connecte A au lieu de D et vice et versa, de même B à la place de C.

compteursIl s'agit de dispositifs dans lesquels existe une correspondance univoque entre le nombre d'impulsions entrées et l'état de sortie correspondant. Ils sont constitués à 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 contrôlées par le même signal d'horloge et les asynchrones dont seule la première bascule reçoit sur son entrée clock le signal à compter.

Les caractéristiques générales d'un compteur :

commande d'horloge synchrone ou asynchrone capacité de comptage vitesse de comptage comptage ou décomptage possibilité de présélection (chargement possible d'un nombre donné avant le démarrage du

compteur).

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

N C B A

0 0 0 0

Page 101: Atc

1 0 0 1

2 0 1 0

3 0 1 1

4 1 0 0

5 1 0 1

6 1 1 0

7 1 1 1

8 0 0 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 négatives de A et C change d'état sur les transitions négatives de B. Donc A sera montée en diviseur par 2 et recevra sur son entrée d'horloge les impulsions à compter. Pour B qui doit commuter sur les transisitons négatives 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 même 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 décalage de   entre le front descendant et le résultat en sortie induit un décalage de n  après la nième bascule. Le problème c'est qu'il peut arriver que n >période 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 après la quatrième 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 décimal avant d'avoir 4!

Page 102: Atc

compteur modulo différent de 2n

Exemple compteur par 5 : 22 < 5 < 23 il faudra donc trois bascules. En pratique on va ajouter au compteur par 8 vu précédemment un circuit qui lorsque n = 5 ramènera le compteur à 0. Pour cela nous utiliserons les entrées asynchrones CLEAR (RAZ) ou PRESET.

action sur RAZ

On ajoute un décodeur qui lorsque n = 5 force les entrées R.

En pratique si cette solution est élégante il faut voir ses difficultés de mise en oeuvre. On sait que la configuration 101 n'apparaitra qu'au bout d'un temps 3  après le front descendant de l'horloge d'entrée.

Le décodeur met lui aussi un certain temps à réagir ( ). Ensuite la remise à zéro 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 durée soit courte vis à vis de la période d'horloge.

Par ailleurs, nous pouvons avoir, c'est fréquent, des temps de basculement légèrement différents 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, après un temps a les bascules sont forcées à 0. C revient à 0 en 20ns et alors la configuration de sortie est 001, donc en 20ns le décodeur réagit et la ligne 5 n'est plus active. La bascule A simultanément termine son basculement en 40ns, or à cet instant précis la bascule B n'est plus forcée à 0, elle voit un front descendant sur son entrée d'horloge et ...bascule. Le résultat est éloquent on affiche maintenant 010 au lieu de 000.

Pour éviter cet inconvénient, il est donc nécessaire de mettre une cellule à retard qui maintient l'ordre RAZ un temps suffisant (> 40ns) entre le décodeur et les entrées R des bascules.

action sur PRESET

On va modifier impérativement l'état non plus après le cinquième coup mais au quatrième en agissant sur les bascules qui sont alors à 0 en les forçant à 1. L'intérêt est que ça ne risque pas de provoquer de basculement non souhaité puisqu'il n'y a alors pas de front descendant. Alors au cinquième coup toutes les bascules seront normalement remises à 0. Donc on relie la sortie 4 du décodeur aux entrées S des bascules. L'inconvénient 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 troisième solution consiste à sauter des cycles. C'est intéressant dans le cas d'un compteur de modulo

Page 103: Atc

élevé, 10 par exemple. Un compteur par 10 est réalisé avec 4 bascules, il faut supprimer 6 états. Cela peut-être réalisé de diverses manières :

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 problème juste de connexion sur le décodeur) et on agit soit sur le clear soit sur le preset.

D C B A  

0 0 0 0  

0 0 0 1  

0 0 1 0 (1)

0 0 1 1

0 1 0 0

0 1 0 1  

0 1 1 0  

0 1 1 1 (2)

1 0 0 0

1 0 0 1

1 0 1 0

1 0 1 1 (3)

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1  

Juste après l'état repréré 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 repérée (2) on fait un preset et on passe alors directement à 1010, la même chose en (3) conduit à 1110 au lieu de 1100. Ce qui fait qu'au dixième coup d'horloge on se retrouvera à 0000.

Page 104: Atc

exploitation des compteursDeux cas se présentent

Ou l'on fait un comptage, arrête le compteur, puis exploite le résultat avec tout le temps devant soi. C'est par ex le cas de certains fréquencemètres. Dans ce cas la vitesse de comptage peut être élevée, la limitation étant celle de la première bascule. Mais la lecture du résultat s'effectuant sur un temps suffisamment long on évitera les problèmes avec les états transitoires.

Ou l'on affiche tous les résultats après chaque nouvelle impulsion. Dans ce cas, il est nécessaire de procéder à un échantillonnage décalé. Il faut alors 2 horloges distinctes, décalées d'au moins nq si le compteur comporte n étages afin d'éviter le décodage d'états transitoires. La configuration d'exploitation est alors la suivante :

Par rapport au cas précédent on peut noter la réduction de vitesse de comptage puisqu'il faut impérativement que la période d'horloge soit > n , alors que dans le premier cas elle devait simplement être >  .

On utilise généralement pour H2 le même signal que pour H1 mais retardé de n  ce qui n'est pas forcément évident car   n'est pas toujours le même d'une bascule à l'autre et donc pour chaque compteur il faudra ajuster la cellule à retard. Aussi on préfère utiliser un décodeur commandé par le front montant de l'horloge (si c'est le front descendant qui agit sur le compteur, et vice versa).

compteur synchrone

Page 105: Atc

Soit à construire un compteur synchrone modulo 6 décrivant le cycle suivant et utilisant des JK

N A B C

0 0 0 0

1 1 0 0

2 0 1 0

3 1 1 0

4 0 1 1

5 1 1 1

Attention ce cycle n'est pas binaire : on peut déduire du tableau les états que doivent prendre à chaque instant les entrées J et K pour que le compteur décrive le cycle désiré. Ainsi par ex, lorsque QA = QB = QC = 0 pour qu'au top suivant QA passe à 1 il faut JA =1 et KA indifférent, pour que QB reste à 0 il faut JB = 0 et KB indifférent, etc. On aboutit alors au tableau suivant :

N A B C JA KA JB KB JC KC

0 0 0 0 1 x 0 x 0 x

1 1 0 0 x 1 1 x 0 x

2 0 1 0 1 x x 0 0 x

3 1 1 0 x 1 x 0 1 x

4 0 1 1 1 x x 0 x 0

5 1 1 1 x 1 x 1 x 1

En utilisant le diagramme de Karnaugh on va déterminer les équations et donc la circuiterie à réaliser. On note les 1 de la sortie ABC, ainsi la première 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 différentes valeurs de N, ainsi la case en haut à droite correspond à N = 1

Dans ce cas précis il n'y a que des 1 ou des cases indifférentes dans le diagramme donc JA = 1, on trouvera la même 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

Page 106: Atc

......

Donc JB = QA et KB = QAQC. De même 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 même chose pour JC. D'où la réalisation avec deux portes ET. Mais l'autre solution implique les deux mêmes portes ET et n'est guère plus complexe à réaliser.

réalisation d'un décompteurIl suffit en pratique de faire un compteur binaire et de sortir non sur les Q mais sur les sorties complémentaires Q. En effet

N Q3 Q2 Q1 Q3 Q2 Q1  

0 0 0 0 1 1 1 7

1 0 0 1 1 1 0 6

2 0 1 0 1 0 1 5

3 0 1 1 1 0 0 4

4 1 0 0 0 1 1 3

5 1 0 1 0 1 0 2

6 1 1 0 0 0 1 1

7 1 1 1 0 0 0 0

compteur Johnson ou en anneauC'est un registre à décalage dont les sorties sont rebouclées sur les entrées inverses. capacité 2n (et non 2n).

Page 107: Atc

  A B C

0 0 0 0

1 1 0 0

2 1 1 0

3 1 1 1

4 0 1 1

5 0 0 1

Le problème principal est qu'à la mise sous tension on n'a pas forcément 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'entrée de la dernière bascule selon le schéma ci-dessous, le reste étant inchangé. Examinons le cas d'un compteur à quatre bascules

A B C D

0 0 1 0

1 0 0 1

1 1 0 0

1 1 1 0

1 1 1 1

Ainsi qu'on le voit dans le tableau les deux premières valeurs sont erronées (par construction) mais ensuite dès le troisième coup le fonctionnement est correct.

procédure de chargement d'un compteur

Page 108: Atc

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'entrée de remise à "0" de A il y a un 1 tandis que via l'inverseur un 0 est transmis à l'entrée 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 systèmes à chargement synchrone qui affectent alors directement les entrées J et K de chaque bascule. On représente le principe pour un seul étage sachant que c'est la même 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 possède une troisième entrée reliée à QA et non doublée comme ici sur l'horloge, il en est évidemment de même des bascules suivantes.