Vous êtes sur la page 1sur 33

Chap.

6 : Compteurs
On a vu au chapitre prcdent qu'il est possible d'interconnecter des bascules pour effectuer des oprations de comptage . De tels groupements de bascules forment un compteur. Le nombre de bascules utilises et la faon de les interconnecter dterminent le nombre d'tats (appel le modulo) et la squence dcrite par les sorties (ordre dans lequel le compteur occupera ces tats dans chaque cycle complet). On classe les compteurs en deux grandes catgories, selon le type de dclenchement utilis : les compteurs asynchrones (le terme asynchrone fait rfrence des vnements qui ne possdent aucune relation temporelle fixe l'un par rapport l'autre et qui ne se produisent pas simultanment), aussi appels compteurs propagation, dans lesquels seule la premire bascule reoit le signal d'horloge dont on veut compter les impulsions (chacune des suivantes est chacune dclenche par les sorties de la bascule qui la prcde) ; les bascules ne changent donc pas d'tat exactement au mme instant ; les compteurs synchrones, dans lesquels l'entre d'horloge est connecte toutes les bascules, ce qui permet de les dclencher simultanment. Pour chacune des catgories, les compteurs sont classs selon leur type de squence (binaire naturel, binaire rflchi, DCB, ), le nombre d'tats (modulo) ou le nombre de bascules qu'ils comportent.

1. Compteurs asynchrones ( propagation)

Fig.1 : Compteur asynchrone ( propagation) de quatre bits. La figure 1 reproduit le compteur de 4 bits dj tudi au chapitre 5 (bascules). Rappelons les points suivants concernant son fonctionnement : 1. Les impulsions d'horloge sont appliques la borne CLK de la bascule A. Celle-ci commute (passe dans l'tat oppos) chaque fois qu'arrive un front descendant (transition niveau HAUT niveau BAS). Pour toutes les bascules, J=K= 1. 2. La sortie normale de la bascule A fait office de signal d'horloge pour la bascule B, de sorte que cette dernire commute chaque fois que le signal provenant de A passe de 1 0. De la mme manire, C commute quand la sortie B passe de 1 0, et D commute quand C passe de 1 0. 3. Le tableau de la figure 1 montre la suite des tats binaires pris par les bascules aprs chaque impulsion d'horloge. Si on imagine que les sorties des bascules D, C, B et A reprsentent un nombre binaire, D tant le bit de poids le plus fort et A le bit de poids le plus faible et que le compteur est initialement 0, la suite des nombres produite par ces bascules va de 0000 1111. 4. Aprs la 15me impulsion d'horloge, les bascules du compteur sont dans l'tat 1111. Quand la 16me impulsion atteint la borne CLK de la bascule A, la sortie A passe de 1 0, ce qui fait commuter la bascule B dont la sortie passe aussi de 1 0, et ainsi de suite de 2

suite de sorte que le compteur affichera 0000 l'issue du rgime transitoire. Autrement dit, le compteur a parcouru un cycle entier (0000 1111) et est revenu son tat initial; on dit que le compteur est recycl et qu'il recommence le cycle de dnombrement des impulsions qui arrivent. On constate donc que les quatre bascules ne changent pas d'tat toutes en mme temps la transition du signal d'horloge . Seule la bascule A commute quand arrivent les impulsions d'horloge. La bascule B doit attendre que la sortie A passe de 1 0 pour tre dclenche; la bascule C doit attendre la raction de la sortie B, et ainsi de suite. Il s'tablit donc un retard entre la rponse de chaque bascule . Dans les bascules modernes, ce retard est gnralement trs faible (de l'ordre de 10 40 ns) ; quoiqu'il en soit, il y a des cas o cela peut tre gnant: cause de son type de fonctionnement, on dsigne souvent ce circuit sous le nom de compteur propagation. Dans la suite de ce cours, nous emploierons indistinctement les expressions compteur asynchrone et compteur propagation .

Exemple
Le compteur de la figure 1 est l'tat 0000 quand commencent arriver les impulsions d'horloge. Quelque temps aprs, on arrte les impulsions d'horloge et on lit l'tat 0011 sur les diffrentes sorties du compteur. Dites combien d'impulsions ont t dlivres au compteur. Solution La rponse qui vient immdiatement est 3, puisque 0011 est l'quivalent binaire de 3. Toutefois, compte tenu de l'nonc de cette question, il est impossible de dire si le compteur a t recycl ou non, c'est dire qu'il peut y avoir eu 19 impulsions, les 16 premires ramenant le compteur 0000 et les trois suivantes l'amenant dans l'tat 0011, comme il peut y en avoir eu 35 (deux cycles plus 3 impulsions), ou 51, ou...

MODULO
Le compteur de la figure 1 possde 16 tats distincts (0000 1111), on dit alors que c'est un compteur propagation MODULO-16 ; le modulo est toujours gal au nombre d'tats occups par le compteur pendant un cycle complet avant son recyclage l'tat initial. Le modulo est port une valeur plus leve simplement en ajoutant des bascules au compteur. Donc:

MODULO = 2N

(7-1)

o N est le nombre de bascules raccordes comme dans le montage de la figure 7-1.

Division de la frquence
Au chapitre 5, nous avons vu que chaque bascule d'un compteur lmentaire donnait en sortie une forme d'onde dont la frquence est la moiti de la frquence du signal d'horloge. titre d'illustration, supposons que la frquence du signal d'horloge de la figure 1 soit 16 kHz. Les formes d'ondes correspondantes sont reproduites la figure 2. La forme d'onde la sortie A est une onde carre de 8 kHz, celle la sortie B une onde de 4 kHz, celle la sortie de C une onde de 2 kHz et celle la sortie D une onde de 1 kHz. Notons que le signal prlev la sortie D a une frquence gale la frquence initiale divise par 16. En rgle gnrale, la sortie de la dernire bascule d'un compteur est une onde dont la frquence est celle du signal d'horloge d'entre divise par le MODULO du compteur .

Fig. 2 : Formes d'ondes illustrant la division par deux de la frquence occasionne par chaque bascule.

Exemple : horloge numrique


La premire tape de la construction d'une horloge numrique est le prlvement d'un signal de 60 Hz du secteur et l'introduction de ce dernier dans un circuit conformateur d'impulsions pour obtenir une onde carre comme celle de la figure 3. Cette onde carre de 60 Hz est ensuite dlivre un compteur MODULO-60, qui divise la frquence initiale exactement par 60 pour produire un signal de 1 Hz. Ce dernier est alors appliqu aux bornes d'entre d'une srie de compteurs qui relvent les secondes, les minutes, les heures. Dites combien il faut de bascules pour construire le compteur MODULO-60.

Fig. 3 Solution Il n'existe pas de nombre entier tel que 2 lev sa puissance donne 60. Le rsultat le plus proche est 26 = 64. Mais un compteur comportant six bascules divise par 64, ce qui, de toute vidence, n'est pas ce qu'on cherche. Il semble bien qu'il n'y ait pas moyen de rsoudre notre problme en utilisant un compteur comme celui de la figure 1. Ce n'est que partiellement vrai ; nous verrons dans la section suivante comment il est possible de modifier le compteur binaire de base pour obtenir le MODULO que l'on veut et, ainsi, ne plus tre limit aux seules valeurs 2N.

2. Compteurs modulo < 2N


Les compteurs propagation lmentaires comme ceux de la figure 1 ne peuvent avoir de MODULO diffrents de 2N, o N est le nombre de bascules. Cette valeur est en ralit le MODULO maximal que l'on peut raliser avec N bascules. Il est possible de modifier ce compteur lmentaire pour obtenir des MODULO infrieurs 2N en permettant au compteur de sauter certaines sections de la suite des nombres binaires. L'une des mthodes les plus courantes pour parvenir ceci est illustre la figure 4 montrant un compteur propagation de 3 bits.

Fig. 4 : Compteur MODULO-6 obtenu en ramenant 0 un compteur MODULO-8 quand le contenu du registre atteint six (110). Si la sortie de la porte NON-ET n'tait pas applique aux entre RAZ des bascules, on aurait un compteur binaire MODULO-8 qui affiche la suite des nombres de 000 111. La porte NON-ET perturbe cette suite de la manire suivante : 1. La sortie de la porte NON-ET est connecte aux entres RAZ de chaque bascule. Tant que cette sortie reste 1, le compteur n'est pas affect. Lorsqu'elle devient 0, toutes les bascules sont ramenes 0 et le compteur se remet immdiatement compter partir de l'tat 000. 2. Les entres de la porte NON-ET sont les sorties des bascules B et C de sorte que la sortie de cette porte passe 0 lorsque B = C = 1. Cette condition survient quand le compteur passe de l'tat 101 l'tat 110 ( la sixime impulsion). Le niveau BAS de la porte NON-ET place immdiatement (gnralement en quelques nanosecondes) le 5

compteur l'tat 000. Ds que les bascules ont t mises 0, la sortie de la porte revient 1, puisque la condition B = C = 1 n'existe plus. 3. La suite des nombres est donc :

Bien que le compteur passe par l'tat 110, c'est peine pour quelques nanosecondes avant son recyclage 000. On peut donc dire que ce compteur va de 000 (zro) 101 (cinq) puis est recycl 000. Il saute les tats 110 jusqu' 111 de sorte qu'il n'affiche que six tats diffrents; c'est donc un compteur MODULO-6. On peut remarquer que la forme d'onde de la sortie B comporte une impulsion transitoire provoque par l'apparition momentane de l'tat 110 avant la remise zro du compteur. Ce transitoire est trs troit et n'a aucun effet visible sur les lampes tmoins ou les afficheurs numriques. Toutefois, il peut provoquer des difficults si la sortie de B sert piloter d'autres circuits du compteur. La frquence de C gale un sixime de la frquence d'entre; autrement dit, le compteur MODULO-6 divise la frquence du signal d'entre par six. La forme d'onde du signal de C n'est pas une onde carre symtrique (ayant un rapport cyclique de 50 pour cent) du fait que le niveau HAUT n'est prsent que pendant deux impulsions tandis que le niveau BAS est prsent pendant quatre impulsions.

Graphe des tats (ou graphe de fluence) du compteur de la figure 4


La figure 5 nous montre comment les bascules C, B et A changent d'tats mesure qu'arrivent les impulsions sur l'entre CLK de la bascule A. Rappelons que chaque cercle du graphe correspond un des tats possibles du compteur, et que les flches figurent une transition d'un tat l'autre l'instant d'une impulsion d'horloge.

Fig. 5 : Graphe des tats du compteur MODULO-6 de la figure 4. Si on suppose que le nombre initial est 000, le graphe illustre le passage normal d'un tat l'autre jusqu'au nombre 101. l'instant du signal d'horloge suivant, le compteur passe temporairement dans l'tat 110 avant de se mettre dans l'tat stable 000. Les lignes en tiretes indiquent la nature temporaire de l'tat 110. Comme nous l'avons dj dit, la dure de l'tat temporaire est tellement courte que, pratiquement, on peut considrer que le compteur passe directement de l'tat 101 000 (flche pleine). Notons que l'tat 111 n'est jamais ralis, mme temporairement.

Changement du MODULO
Le modulo du compteur de la figure 4 est 6, et cela est conditionn par les entres qu'on a choisies pour la porte NON-ET. II est possible de changer ce MODULO en changeant les entres. Par exemple, en utilisant une porte NON-ET trois entres, et en appliquant cellesci les sorties A, B et C, le compteur dnombre les tats jusqu' la condition 111, rendu ce point il revient immdiatement l'tat 000. Donc si on ne tient pas compte de l'tat momentan 111, le compteur parcourt les tats 000 110 avant d'tre recycl 000; c'est donc un compteur MODULO-7 (sept tats).

Marche suivre gnrale


Pour construire un compteur qui dbute l'tat 0 et a un MODULO X : 1. Trouvez le plus petit nombre de bascules tel que 2 N X et raccordez ces bascules de manire construire un compteur. Si 2N = X, les tapes 2 et 3 sont inutiles. 2. Connectez la sortie d'une porte NON-ET aux entres asynchrones RAZ de toutes les bascules. 7

3. Dterminez quelles bascules sont l'tat 1 quand le nombre est X; raccordez alors les sorties normales des bascules ainsi dtermines aux entres de la porte NON-ET.

Fig. 6 : a) Compteur propagation MODULO-14; b) Compteur propagation MODULO10 ( dcade).

Compteurs dcade / Compteurs DCB


Le compteur MODULO-10 de la figure 6 est galement appel compteur dcade. En ralit, un compteur dcade est un compteur quelconque ayant dix tats distincts, quelle que soit la suite des tats qu'il prend. Le compteur dcade de la figure 6 b), qui dnombre les tats de 0000 (zro) 1001 (9), est aussi appel compteur DCB parce qu'il affiche seulement les dix reprsentions du code DCB, soit 0000, 0001, ..., 1000, et 1001. En rsum, tout compteur MODULO-10 est un compteur dcade, et tout compteur dcade qui dnombre en binaire de 0000 1001 est un compteur DCB .

Les compteurs dcade, particulirement de type DCB, sont utiliss abondamment dans toutes les situations o des impulsions ou bien des vnements doivent tre dnombrs et affichs de faon numrique. Un compteur dcade est souvent utilis pour diviser une frquence exactement par 10. Les impulsions d'entre sont appliques la bascule A et les impulsions de sortie sont
8

prleves la sortie de la bascule D. Ces dernires ont une frquence gale un dixime de la frquence d'entre.

3. Compteurs asynchrones en CI
II existe de nombreux compteurs intgrs asynchrones, autant en technologie TTL qu'en technologie CMOS. L'un d'eux est le botier TTL 7494 (74LS93...), de mme que son quivalent logique le 74293 (74LS293...).

Fig. 8 : a) Le schma logique du compteur asynchrone intgr 7493 ou 74293; b) symbole simplifi. La figure 8 a) montre le schma logique du 74293, tel qu'on peut le voir dans la fiche technique TTL du fabricant. Nous pouvons relever les points suivants : Le 74293 contient quatre bascules J-K dont les sorties sont Q 0, Q1, Q2 et Q3 o Q0 est le rang de poids faible et Q3 est le rang de poids fort. Les bascules sont couples, le rang de poids faible tant gauche. On procde ainsi pour respecter la convention qui veut que le signal d'entre arrive gauche. On a dessin jusqu' prsent les bascules avec le rang de poids faible droite de faon avoir l'ordre des bascules dans le mme ordre que les bits d'un nombre binaire. Nous continuerons de les placer ainsi. Chaque bascule dispose d'une entre CP (signal d'horloge), autre dsignation pour l'entre CLK. Les entres d'horloge de Q0 et Q1 sont libelles respectivement CP0 et CP 1 . Les barres d'inversion sur ces entres signalent des entres actives sur leur front descendant. Chaque bascule possde une entre asynchrone de REMISE ZRO C D active au niveau bas. Ces entres sont toutes raccordes la sortie d'un porte NON-ET deux 9

entres, MR1 et MR2 ; ces deux entres sont des bornes de remise zro principale (Master Reset). Les bascules Q1 Q2 et Q3 sont dj connectes comme un compteur propagation de 3 bits. La bascule Q0 n'est raccorde rien par l'intrieur. Cela permet l'utilisateur de relier Q0 Q1 pour former un compteur de 4 bits, ou de laisser Q0 isole.

Exemple : compteur MODULO-10 l'aide du C.I 74293.


Pour raliser un compteur MODULO-10, il faut quatre bascules, et on doit connecter Q 0 CP 1 . Il faut que le compteur soit recycl 0000 lorsqu'il tente de passer au nombre 1010 (10). Donc les sorties Q3 et Q1 doivent tre connectes aux entres initialisation principale; lorsque l'arrive du nombre 1010 met 1 ces deux entres, la sortie de la porte NON-ET remet immdiatement le compteur 0000.

Fig. 10 : 74293 cbl en compteur modulo-10

10

Compteur asynchrone modulo-60

Fig. 12 Combinaison de deux puces 74293 qui divise la frquence par 60. Dans le circuit ci-dessus, la division de la frquence par 60 se fait en deux tapes. Le compteur 74293 de droite est cbl pour raliser un compteur MODULO-10, de sorte que la frquence du signal de sortie Q3 est fentre/10. Ce signal est dlivr l'entre CP 1 du second compteur 7493 qui, lui, est cbl pour constituer un compteur MODULO-6 (Q 0 est inutilise). Donc la sortie Q3 du second compteur a une frquence de : fsortie = (fentre/10)/6 = fentre/60 On voit donc comment il est possible de mettre en cascade des compteurs pour obtenir un MODULO gal au produit des MODULO individuels . C'est une solution trs utile lorsqu'il s'agit de diviser la frquence par un grand nombre.

Symbole IEEE/ANSI pour le compteur 74293


La figure 13 reproduit le symbole IEEE/ANSI du 74293.

Fig. 13 : Symbole IEEE/ANSI du CI 74293. On discerne dans ce symbole trois blocs distincts. Le bloc suprieur (avec les renfoncements) s'appelle le bloc de contrle commun. Le libell " CTR " dsigne ce circuit intgr comme tant un compteur. Le bloc de contrle commun sert dans un CI chaque fois qu'une ou plusieurs entres sont communes tous les circuits se trouvant dans la puce. Pour le 74293, les entres MR, et MR2 sont communes toutes les bascules du compteur. 11

Les bornes MR1 et MR2 sont illustres comme des entres vraies au niveau HAUT combines l'intrieur dans une porte ET (ce quindique le symbole & ). signifie que les deux entres MR1 et MR2 doivent tre leur valeur vraie pour mettre zro le compteur. Le libell CT = 0 nous informe que l'action des entres MR est de ramener le nombre dans le compteur zro. Le bloc du milieu est appel DIV2 pour signifier qu'il s'agit d'un compteur MODULO2, en ralit une simple bascule. Le bloc du bas est libell DIV8 ce qui correspond un compteur MODULO 8. Les signaux d'horloge de ces blocs nous apprennent qu'ils sont actifs pendant leurs fronts descendants. Le signe + la suite de chaque entre signifie qu' chaque front descendant de l'horloge le compteur est incrment de 1. Autrement dit, le compteur progresse chaque front descendant. Un signe - aurait dsign un dcompteur.

Compteurs asynchrones CMOS


La famille CMOS regroupe de nombreux compteurs asynchrones. La plupart d'entre eux possdent une version quivalente dans la technologie TTL. Il se trouve, toutefois, des compteurs intgrs CMOS qui n'ont pas leur contrepartie TTL. L'un de ceux-ci est la puce 74HC4024 dont le symbole logique est reproduit la figure 14. Il s'agit d'un compteur de 7 bits possdant une entre asynchrone de remise zro principale. Les sept bascules sont agences en interne pour constituer un compteur propagation MODULO 128. L'entre MR est vraie au niveau HAUT ; elle sert remettre zro toutes les bascules. Le libell CTR DIV 128 dsigne un compteur MODULO-128.

Fig.14 : Symbole logique du compteur propagation CMOS 74HC4024. Un autre compteur propagation qui n'a pas d'quivalent en technologie TTL est le 74HC4040, un compteur 12 bits possdant une seule entre principale de remise zro. Le signal d'horloge de ce compteur est une entre de type Schmitt ; donc avec ce compteur, mme des signaux d'horloge variation lente ne donnent pas lieu un comptage erratique.

12

4. Dcompteurs asynchrones
Tous les compteurs tudis jusqu' prsent comptaient progressivement partir de zro ; c'taient donc des compteurs progressifs. II est relativement facile de construire des dcompteurs asynchrones ( propagation) dont les tats rgressent, c'est--dire qui partent d'un nombre maximal pour arriver jusqu' zro. Examinons la suite des nombres inverses pour un dcompteur de 3 bits :

A, B et C reprsentent les tats de sortie des bascules mesure que le compteur descend. On peut voir que la bascule A (poids faible) change d'tat (commute) chaque ligne de cette suite, comme dans le cas du compteur progressif. La bascule B commute chaque fois que A passe de 0 1 ; C commute chaque fois que B passe de 0 1. Ainsi, dans un dcompteur, chaque bascule, sauf la premire, passe l'tat oppos quand la bascule qui la prcde effectue la transition de 0 1. Si les bascules du compteur changent d'tats lorsque passe un front descendant du signal d'horloge, il faut placer un inverseur avant chaque entre CLK. Il est toutefois possible d'arriver au mme rsultat en pilotant chaque entre CLK des bascules au moyen de la sortie complmente de la bascule qui prcde. C'est ce que montre la figure 15 dans le cas d'un dcompteur MODULO-8. Les impulsions d'entre sont appliques la bascule A; la sortie .A est ramene l'entre CLK de la bascule B; la sortie B est ramene l'entre CLK de la bascule C. L'examen des formes d'ondes de A, B et C montre que B commute lorsque A passe de 0 1 (donc A passe de 1 0) et que C commute quand B passe de 0 1. De cette manire, on obtient une suite de nombres rgressive sur les sorties C, B et A. Le graphe des tats illustre cette squence. Les dcompteurs ne sont pas aussi rpandus que les compteurs. On les utilise principalement pour indiquer l'arrive d'un nombre fix d'impulsions d'entre. Dans de telles situations, le dcompteur est prrgl avec le nombre recherch et la valeur qu'il mmorise dcrot mesure qu'arrivent les impulsions. Lorsque le compteur arrive l'tat zro, une porte logique dcle cette condition ce qui indique que le nombre d'impulsions lances est gal au nombre inscrit dans le compteur.

13

Fig. 15 : dcompteur MODULO-8

5. Retard de asynchrones

propagation

dans

les

compteurs

Les compteurs propagation sont les types de compteurs binaires les plus simples, puisque ce sont eux qui exigent le moins de composants pour raliser une certaine opration de comptage. Ils ont cependant un inconvnient majeur d au principe fondamental de leur fonctionnement. Chaque bascule est dclenche par la transition de la sortie de la bascule qui la prcde. cause du retard de propagation (t Pd) introduit par chaque bascule, la deuxime bascule ne ragit que t Pd units de temps aprs que la premire a reu une impulsion d'entre ; la troisime bascule ne ragit que 2 x t Pd units de temps aprs l'arrive de l'impulsion d'horloge, et ainsi de suite. Autrement dit, les retards de propagation introduits par les bascules s'additionnent de sorte que la N ime bascule ne change d'tat que N.tPd units de temps aprs l'arrive de l'impulsion d'horloge . On peut voir une illustration de ceci la figure 16, montrant les formes d'ondes d'un compteur propagation de 3 bits.
14

Fig.16 : formes d'ondes d'un compteur propagation de 3 bits illustrant la consquence des retards de propagation des bascules pour deux frquences d'entre diffrentes. Le premier groupe de formes d'ondes, celui de la figure 16 a), reprsente une situation dans laquelle une impulsion d'entre arrive toutes les 1000 ns (priode de lhorloge T = 1000 ns) ; on prsume que le retard de propagation de chaque bascule est 50 ns (t Pd = 50 ns) La sortie de la bascule A commute 50 ns aprs le front descendant de l'impulsion d'entre. De mme, B commute 50 ns aprs que la sortie A a pass de 1 0, et C commute 50 ns aprs que la sortie B a pass de 1 0. Au total, quand arrive la quatrime impulsion d'entre, la sortie C passe au niveau HAUT aprs un retard de 150 ns. Dans cette situation, le compteur fonctionne convenablement puisque les bascules passent ventuellement aux bons tats qui reprsentent le nombre binaire. Les formes d'ondes de la figure 16 b) montre ce qui arrive si les impulsions d'entre sont dlivres au rythme d'une toutes les 100 ns. De nouveau, chaque sortie de bascule ragit 50 ns aprs la transition 1 - 0 du signal appliqu l'entre. Lorsque survient le front descendant de la quatrime impulsion d'entre; la sortie C ne passera pas au niveau HAUT avant 150 ns, exactement au mme moment o la sortie A passera au niveau HAUT en rponse la cinquime impulsion d'entre. En d'autres mots, la condition C = 1, B = A = 0 (nombre 100) ne survient jamais parce que la 15

frquence d'entre est trop leve. Pour que le compteur fonctionne convenablement, il faut que les priodes des signaux d'entre soient beaucoup plus grandes que le retard de propagation total du compteur , c'est--dire que :

Thorloge N . tPd
o N =nombre de bascules. En termes de frquence, on dit que la frquence maximale utilisable est :

fmax = 1 / (N . tPd)
Par exemple, supposons qu'on construise un compteur propagation de 4 bits avec des bascules J-K 74LS112. Les retards de propagation entre CLK et Q pour la 74LS112 sont t PLH = 16 ns et tPHL = 24 ns. Pour calculer fmax, nous retiendrons l'hypothse la plus pessimiste ; c'est--dire que nous utiliserons tpd = tPHL = 24 ns, ce qui donne : fmax = 1 / (4 x 24 ns) = 10,4 MHz A mesure qu'augmente le nombre de bits d'un compteur, le retard de propagation total augmente et fmax diminue. Par exemple, un compteur propagation constitu de six bascules 74LS112 aura comme frquence maximale fmax = 1 / (6 x 24 ns) = 6,9 MHz On voit donc que les compteurs asynchrones ne sont pas d'une grande utilit aux trs hautes frquences, particulirement lorsqu'ils ont un grand nombre de bits. Un autre problme li au retard de propagation dans les compteurs asynchrones survient lorsque les sorties du compteur sont dcodes. En dpit de ces problmes, la simplicit des compteurs asynchrones les destine tout particulirement aux applications dans lesquelles la frquence limite n'est pas un lment critique.

16

6. Compteurs synchrones (parallles)


Les problmes causs par les compteurs propagation sont imputables aux retards de propagation de bascules montes en cascade ; autrement dit, dans ces derniers compteurs les bascules ne changent pas d'tat simultanment avec les impulsions d'entre. On contourne cette limitation en utilisant des compteurs parallles ou synchrones dans lesquels toutes les bascules sont dclenches simultanment (en parallle) par les impulsions d'horloge d'entre. tant donn que les impulsions d'horloge sont appliques toutes les bascules, il doit y avoir un certain mcanisme qui indique quand une impulsion d'horloge doit faire commuter une bascule ou la laisser dans le mme tat. On ralise un tel mcanisme en utilisant les entres J et K des bascules ; on peut voir un exemple de ceci la figure 17 pour un compteur parallle MODULO-16 4 bits.

Fig. 17 : chaque bascule est commande par le FD du signal d'entre, d'o le dclenchement simultan de toutes les bascules.

17

Si on compare le montage de ce compteur parallle avec celui de son quivalent asynchrone de la figure 1, on peut relever les diffrences suivantes : Les entres CLK de toutes les bascules sont raccordes ensemble afin que le signal d'horloge arrive simultanment sur toutes les bascules. Seule la bascule A, le rang de poids faible, a ses entres J et K en permanence au niveau HAUT. Les entres J, K des autres bascules sont pilotes par une certaine combinaison des sorties des bascules. Le compteur parallle ncessite plus d'lments de circuit que le compteur asynchrone.

Fonctionnement du circuit
Les entres J et K des bascules sont raccordes de faon ce que les bascules qui doivent commuter sur un certain FD aient J = K = 1 quand ce FD survient.
Examinons la mise en pratique de ce principe pour chacune des bascules en nous aidant de la suite des nombres illustre la figure 17 b). La suite des nombres compts nous fait voir que la bascule A doit changer d'tat chaque front descendant. C'est pour cette raison que ses entres J et K sont toujours gardes 1 afin que cette bascule commute chaque front descendant du signal d'horloge. La suite des nombres compts nous fait voir que la bascule B doit changer d'tat chacun des FD survenant quand A = 1. Ce fonctionnement est obtenu en raccordant la sortie de A aux entres J et K de la bascule B, de sotte que J = K = 1 tant que A = 1. La bascule C doit changer d'tat chacun des FD survenant quand A = B = 1. Ce fonctionnement est ralis grce au raccordement du signal A.B sur les entres J et K de la bascule C. En suivant la mme analyse, on constate que la bascule D doit commuter chaque FD qui survient quand A = B = C = 1. On s'assure que cela se produit en raccordant le signal A.B.C sur les entres J et K de la bascule D.

Supriorit des compteurs parallles sur les compteurs asynchrones


Dans un compteur parallle, toutes les bascules changent d'tats en mme temps; c'est--dire qu'elles sont synchronises sur les FD des signaux de l'horloge. Ainsi, contrairement aux compteurs asynchrones, les retards de propagation des bascules ne se combinent pas pour accrotre le retard total. Au contraire, le temps de rponse total d'un compteur parallle comme celui de la figure 17 est gal au retard d'une seule bascule plus le temps que les nouveaux niveaux logiques prennent pour franchir une seule porte ET et arrivent sur les entres J et K. Donc : retard total = t Pd d'une bascule + tPd d'une porte ET Ceci montre qu'un compteur parallle peut fonctionner des frquences de loin suprieures celles d'un compteur asynchrone comptant le mme nombre de bascules. videmment, le compteur synchrone demande plus d'lments de circuit que le compteur asynchrone. Un autre atout important concerne la solution de dcodage, sujet que nous aborderons dans une section ultrieure.

18

CI rels
On retrouve plusieurs compteurs parallles intgrs aussi bien dans la famille TTL que dans la famille CMOS. Certains des dispositifs les plus courants sont : 74LS160 / 162, 74HC160/ 162 ; compteurs dcade asynchrones 74LS161 / 163, 74HC161 / 163 ; compteurs MODULO-16 parallles

7. Dcompteurs et compteurs rversibles parallles


On a vu qu'on peut facilement transformer un compteur propagation en un dcompteur en utilisant les sorties complmentes de chaque bascule pour piloter la bascule suivante du compteur. De la mme manire on peut construire un dcompteur parallle; il suffit d'utiliser les sorties complmentes des bascules pour alimenter les entres J-K suivantes. Par exemple, le compteur parallle de la figure 17 peut tre transform en un dcompteur en connectant les sorties ., et au lieu des sorties A, B et C sur la porte NON-ET, respectivement. Pour raliser un compteur/ dcompteur parallle (voir figure 18) on utilise les entres COMPTAGE ET DCOMPTAGE pour dterminer si on alimentera les entres J et K de la bascule suivante avec les sorties normales ou complmentes de la bascule. Le compteur de la figure 18 est un compteur rversible MODULO-8 (dit galement compteur-dcompteur) qui dnombre les tats de 000 jusqu' 111 lorsque l'entre de commande COMPTAGE est 1 et qui dnombre rgressivement les tats 111 jusqu' 000 lorsque l'entre de commande DECOMPTAGE est 1.

Fig. 18 : Compteur/ dcompteur parallle MODULO-8 Une valeur logique 1 sur la ligne COMPTAGE et une valeur logique 0 sur la ligne DCOMPTAGE valident les portes ET 1 et 2 et invalident les portes ET 3 et 4. Ainsi les sorties A et B sont raccordes aux entres J et K des bascules suivantes, de sorte que le compteur dnombre progressivement les impulsions introduites. L'action inverse se produit quand COMPTAGE = 0 et DCOMPTAGE = 1.

CI rels
Les CI 74LS190 et 74HC190 sont des exemples des nombreux compteurs/ dcompteurs intgrs. Ces derniers sont des compteurs/ dcompteurs dcade. 19

8. Compteurs prrglables
Plusieurs compteurs raliss en circuits intgrs sont prrglables, cest dire qu'il est possible d'installer dans le compteur, en tout temps, un nombre de dpart ; on peut installer ce nombre soit de faon asynchrone (indpendamment du signal d'horloge) ou de faon synchrone (au moment de la transition vraie du signal d'horloge). L'action de prrglage est aussi appele chargement du compteur.

Fig. 19 : compteur parallle prrglable 3 bits La figure 19 montre un compteur parallle prrglable de 3 bits. Les entres J, K et CLK sont cbles pour constituer un compteur parallle. On utilise les entres RAU et RAZ pour le prrgler de faon asynchrone. On peut installer dans le compteur n'importe quel nombre de dpart, et cela tout moment, en procdant comme suit : 1. Appliquer la valeur du nombre de dpart recherch aux entres de donnes parallles, P2, P1 et P0. 2. Amener momentanment 0 la borne CHARGEMENT PARALLLE, PL . Cette procdure ralisera le transfert asynchrone des niveaux sur P 2 P1 et P0, respectivement dans les bascules Q2, Q1 et Q0 .Ce transfert parallle survient indpendamment des entres J, K et CLK. L'effet de l'entre CLK demeure neutralis tant que PL est au niveau BAS, soit dans son tat vrai, tant donn que chaque bascule a une de ses entres asynchrones actives quand PL = 0. Au moment o PL revient au niveau HAUT, les bascules peuvent alors ragir aux entres CLK et le comptage peut reprendre en commenant par le nombre qui a t charg dans le compteur. Par exemple, supposons que P2 = 1, P1 = 0 et P0 = 1. Tant que PL est au niveau HAUT, les entres de la donne parallle sont sans action. Si des impulsions d'horloge surviennent, le compteur dnombre normalement la suite de ses tats. Supposons maintenant que PL passe momentanment au niveau BAS au moment o la valeur 010 se trouve dans le compteur (c.--d. Q2 = 0, Q1 = 1 et Q0 = 0). Ce niveau BAS sur PL induit un niveau BAS sur l'entre RAZ de Q1 20

et sur les entres RAU de Q2 et Q0, de sorte que le compteur passe dans l'tat 101, quelle que soit la valeur du signal sur la borne d'horloge CLK. Et le compteur garde l'tat 101 tant que PL reste dsactiv (c.--d. ne revient pas au niveau HAUT); lorsqu'il y revient, le compteur reprend son dnombrement chaque signal d'horloge, mais en partant de 101. Le prrglage asynchrone est une solution employe dans nombre de compteurs intgrs, comme les 74190, 74191, 74192 et 74193 TTL et dans leurs quivalents CMOS, les 74HC 190, 74HC 191, 74HC192 et 74HC 193 .

Prrglage synchrone
Un grand nombre de compteurs parallles intgrs ont recours au prrglage synchrone l'instant du front actif du signal qui commande galement le comptage. Le niveau logique appliqu l'entre PL dtermine si le front actif rgle une valeur initiale le compteur, ou bien s'il commande une action de comptage normale. Parmi les exemples de puces compteurs disposant d'un prrglage synchrone, mentionnons: les TTL 74160, 74161, 74162 et 74163 et leurs quivalents CMOS, les botiers 74HC 160, 74HC 161, 74HC162 et 74HC 163.

21

9. Dcodage d'un compteur


Souvent les compteurs numriques sont utiliss dans des applications o le nombre reprsent par les tats des bascules doit tre connu ou affich. Dans de nombreuses applications les compteurs servent commander le cadencement ou l'ordonnancement automatique d'oprations sans l'intervention de l'homme, ce qui ncessite un dcodage des tats du compteur . Par exemple, l'opration d'un systme particulier est dclenche lorsqu'un compteur atteint l'tat 101100 (4410). On peut recourir un circuit logique pour dcoder ou dtecter ce nombre particulier et lancer lopration.

Utilisation de portes ET pour dcoder un compteur MODULO-8

Dcodage des signaux transitoires


Nous avons analys les effets sur les compteurs asynchrones des retards de propagation introduits par les bascules. Nous avons alors vu que l'addition des retards de propagation a pour effet essentiel de limiter la rponse en frquence des compteurs propagation. Les retards entre les transitions associes aux bascules peuvent aussi occasionner des problmes lorsqu'on veut 22

dcoder un compteur propagation : signaux transitoires ou dcrochements la sortie de certaines des portes de dcodage. On illustre ceci la figure ci-dessous pour le cas d'un compteur propagation MODULO-4.

Fig. 29 : Formes d'ondes des bascules et des portes de dcodage d'un compteur propagation MODULO-4 sur lesquelles on voit des transitoires dans les sorties X 0 et X2. Les formes d'ondes apparaissant aux sorties des bascules et des portes de dcodage sont illustres sur cette figure. Les transitoires que l'on observe dans les formes d'ondes de dcodage X 0 et X2 sont dus au retard entre les formes d'ondes A et B. X0 est la sortie de la porte ET qui dcode le nombre 00. La condition 00 se produit aussi momentanment lorsque le compteur passe de 01 10, comme on peut le voir sur les formes d'ondes. Il en est ainsi parce que B ne peut changer d'tat avant que A passe au niveau BAS. Ce passage momentan l'tat 00 ne dure que quelques nanosecondes (suivant le t Pd de la bascule B); cependant, cette condition peut tre dcode si la rponse de la porte est suffisamment rapide, d'o le dcrochement observ la sortie Xo. Une situation tout fait analogue produit un transitoire la sortie X 2. X2 est la sortie de dcodage de la condition 10, et cette condition se produit momentanment quand le compteur passe de l'tat 11 l'tat 00 au moment de la quatrime impulsion d'horloge, comme on peut le voir sur les formes d'ondes. De nouveau, la cause de ceci est le retard de la rponse de la bascule B aprs le passage de la bascule A au niveau 0. 23

La situation, que nous venons de dcrire pour un compteur MODULO-4, est vraie pour n'importe quel compteur propagation. Ce genre de situation survient dans les compteurs propagation cause de leur principe de fonctionnement, c'est--dire celui de la raction en chane: chaque bascule dclenche la suivante et ainsi de suite. Les dcrochements observs aux sorties des dcodeurs peuvent tre ou non un problme, selon l'application que l'on fait du compteur. Quand on utilise le compteur pour compter des impulsions et afficher des rsultats, les dcrochements des sorties de dcodage ne portent pas consquence parce que leur dure est trs courte et que l'afficheur ne ragit pas leur prsence. Toutefois, quand le compteur sert commander d'autres circuits logiques, les dcrochements peuvent entraner un fonctionnement erron. On peut prdire quand dans la squence d'un compteur asynchrone survient un tat temporaire en parcourant tous les tats d'un compteur, une bascule la fois. Par exemple, examinons pas pas le processus rel, dans un compteur propagation, du passage de l'tat 011 (3) l'tat 100 (4) :

Notons l'apparition de deux tats temporaires : 010 et 000. Dans les cas o il est impossible de fonctionner avec les dcrochements des sorties de dcodage, on a recours deux solutions de base. La premire consiste utiliser un compteur parallle plutt qu'un compteur propagation. Rappelons que dans un compteur parallle les bascules sont toutes dclenches au mme moment par les impulsions d'horloge, de sorte que les conditions qui donnent naissance au dcrochement n'existent pas. Toutefois, mme dans un compteur parallle, il peut y avoir des dcrochements parce que les bascules n'ont pas toutes le mme tpd, particulirement lorsque certaines bascules alimentent une charge beaucoup plus leve que celle des autres .

"Strobage"
Une mthode beaucoup plus fiable pour liminer les dcrochements sur les sorties des dcodeurs est celle appele strobage. Dans cette technique on utilise un signal appel signal de strobage pour invalider les portes ET de dcodage (garder leurs sorties 0) jusqu' ce que toutes les bascules soient dans un tat stable aprs le front descendant du signal d'horloge. La figure 30 a) montre comment fonctionne cette technique : un signal de strobage est appliqu en entre chaque porte de dcodage. Les formes d'ondes illustres montrent que le signal de strobage passe au niveau BAS quand l'impulsion d'horloge passe au niveau HAUT. Tant que le signal de strobage est au niveau BAS, les sorties des portes de dcodage sont aussi gardes au niveau BAS. Le signal strobe passe au niveau HAUT un certain temps t D aprs que l'impulsion d'horloge a passe 0 en vue de valider les portes. t D est choisi de faon tre plus grand que le temps total que prend le compteur pour atteindre un tat stable; ce temps dpend donc videmment des retards introduits par les bascules et du nombre de bascules dans le compteur. Grce cette technique, il n'y aura aucun dcrochement sur les sorties des portes qui sont invalides pendant que les sorties des bascules sont instables. La mthode du strobage n'est pas retenue si un compteur sert seulement l'affichage, puisque les dcrochements apparaissant sur les sorties des portes sont trop troits pour perturber les afficheurs. On a recours un signal de strobage quand le compteur sert dans des 24

applications de commande (moteur par exemple), l o des dcrochements peuvent entraner un fonctionnement erron.

Fig. 30 : Utilisation d'un signal strobe pour liminer les dcrochements des portes de dcodage.

25

10. Compteurs DCB monts en cascade


Chaque fois qu'on doit compter les impulsions et afficher le rsultat en numration dcimale, on utilise des compteurs DCB. Un seul compteur DCB peut compter de 0 9 et ensuite tre recycl 0. Pour compter des valeurs dcimales plus grandes, on peut monter en cascade des compteurs DCB comme la figure 31. Le fonctionnement de ce montage est le suivant :

Fig. 39 : Compteurs DCB monts en cascades en vue de compter et d'afficher les nombres de 000 999. Un tel montage peut tre modifi pour reprsenter le nombre de chiffres dcimaux que lon veut en ajoutant de nouveaux tages. Il faut un compteur DCB par chiffre dcimal. titre d'information, mentionnons que les compteurs DCB de la figure 31 peuvent tre soit des puces 74293 cbles pour raliser des compteurs MODULO-10, ou des compteurs DCB intgrs comme le 7490 ou le 74192.

11. Analyse dun compteur synchrone


Le schma du compteur suivant reprsente bien, un compteur synchrone puisque toutes les entres de contrle des bascules sont attaques par le mme signal. Cherchons le code et le modulo de ce compteur.

Nous allons exposer successivement trois mthodes permettant d'effectuer cette analyse.

26

Mthode des transitions


On rappelle la table des transitions de la bascule JK : Qn 0 0 1 1 JA = KA = 1 JB = QA JC = QA.QB KB = QA.QC KC = QA Qn+1 0 1 0 1 J 0 1 X X K X X 1 0

A partir du logigramme, on crit les quations logiques des entres synchrones des bascules :

On dresse ensuite un tableau comportant tous les tats que peut prendre le compteur, soit ici les 8 combinaisons de QC, QB et QA. Puis l'aide des quations prcdentes on calcule les valeurs des J et K l'instant n. Ensuite la table des transitions de la bascule JK nous permettra de dterminer l'tat suivant de chaque bascule (aprs le front descendant de lhorloge dans notre cas) connaissant l'tat prsent et les niveaux des entres synchrones.

En considrant tous les tats de dpart de la colonne de gauche, on aura toutes les transitions possibles du compteur. En numrotant les tats par les. quivalents dcimaux de leur combinaison binaire on peut rendre compte de l'volution du compteur par le graphe de fluence suivant :

27

Le schma propos reprsente donc un compteur modulo 6. Les tats 4 et 5 ne font pas partie du cycle normal de comptage ; mais on peut s'y trouver la mise sous tension du compteur. Suivant l'utilisation du compteur, soit ce fait n'est pas gnant car on rejoint le cycle normal aprs deux impulsions au maximum, soit on effectue au dbut une remise zro du compteur en agissant sur les entres de remise zro asynchrone.

Mthode des fonctions de commutation


Cette mthode est un peu plus condense du point de vue prsentation mais ncessite quelques calculs. A partir de la formule gnrale, calculons la fonction de commutation de chaque bascule du compteur : XA = JA.A + KA.QA = 1 XB = JB.B + KB.QB = QAB + QA.QB.QC = QA (B+QC) XC = JCC + KCQC = QA.QB.C + QA.QC = QA. (QB+QC) On remplit le tableau suivant qui donne la valeur, de la fonction de commutation de chaque bascule pour chaque tat de dpart possible. On peut alors dduire l'tat suivant de chaque bascule qui est le mme si X = 0 ou qui commute si X = 1.

Mthode des fonctions de sortie


Cette mthode est certainement la plus rapide. On calcule directement l'tat suivant partir de l'tat prcdent (aide de la fonction de sortie de la bascule dans laquelle on remplace les valeurs des entres synchrones par celles dues au montage. L'quation de sortie de la bascule JK est Qn+1=J.n+.Qn ; pour chaque bascule remplaons J et K par leur expression : QCn+1=QA.QB.C+A QC
QBn + 1 =Q A .Q B +Q A .QC .Q B

QAn+1 = A On peut alors remplir directement le tableau suivant :

28

12. Conception d'un compteur synchrone


On retrouve sous forme de circuits intgrs diffrents types de compteurs - asynchrones, synchrones et combins asynchrones/ synchrones. La majorit de ces dispositifs comptent la suite normale des nombres binaires, bien qu'il soit possible de modifier la squence de comptage en recourant des solutions comme celles mises en pratique pour les CI 74293 et 74193. Il se produit des cas o il nous faut un compteur dont la squence des tats ne correspond pas la suite normale des nombres binaires, comme 000, 010, 101, 001, 000,...

Principe de base
On utilisera ici des bascules JK mais la mme mthode peut tre tendue aux bascules D. Dans les compteurs synchrones, toutes les bascules sont dclenches par l'horloge au mme instant. Avant chaque impulsion d'horloge, chacune des entres J et K des bascules du compteur doit se trouve dans le niveau appropri qui assure le passage de chaque bascule dans le bon tat. Par exemple, considrons le cas suivant :

l'instant du signal d'horloge suivant, les entres J et K des bascules doivent se trouver aux bons niveaux pour que la bascule C passe de 1 0, que la bascule B passe de 0 1 et que la bascule A passe de 1 1 (aucun changement). Le processus de synthse d'un compteur synchrone se rsume alors la conception des circuits logiques qui dcodent les divers tats du compteur pour les dlivrer chacune des entres J et K. Les bornes d'entre de ce dcodeur concident avec les sorties d'une ou de plusieurs bascules.

Exemple : compteur binaire pur modulo 8


Mthode des transitions
Construisons le tableau suivant. La premire colonne contient toujours tous les tats de dpart possibles. La seconde contient les tats suivants pour obtenir le cycle dsir. Connaissant les transitions de la sortie, l'aide de la table de transition de la bascule on connat les valeurs 29

appliquer aux entres synchrones de la bascule (d'o les valeurs de J et K dans le tableau). Ensuite il suffit d'exprimer chaque J et K en fonction des tats linstant n.

A l'aide de tableaux de Karnaugh on trouve : J0 = K0 = l J1 = Kl = Q0 J2 = K2 = Q1.Q0 On peut alors tracer le schma suivant du compteur l'aide de bascules J K.

Mthode des fonctions de commutation


A partir des deux premires colonnes du tableau prcdent, on peut donner les valeurs de la fonction de commutation reportes dans la dernire colonne. A l'aide du tableau de Karnaugh, on va exprimer la fonction de commutation sous la forme X = K.Q n + J.n puis par identification on dduira J et K. Pour la premire bascule, on a X0 =1 = 0 + Q0 do J0 = K0 = 1 Pour la seconde dressons le tableau de Karnaugh :

X1 = Q0.1 + Q0.Q1 do J1 =K1 = Q0 De mme pour la troisime : 30

X2 = Q1.Q0.Q2 + Q1.Q0.2 do J2 = K2 = Q1.Q0

13. Chargement dun compteur synchrone


Charger un compteur consiste imposer une configuration de dpart (tat de chaque bascule) ce compteur. Parmi les applications on peut citer le changement de modulo d'un compteur en le faisant compter de N1 (valeur charge lors de la fin du cycle) 2 n ou la rupture de squence. Certains compteurs possdent de telles entres : n entres pour charger le compteur et une entre (gnralement note L = load) pour contrler l'instant de chargement. De tels compteurs sont appels compteurs programmables. Le chargement peut tre synchrone ou asynchrone bien que le compteur soit synchrone. Nous allons voir sur un exemple simple comment raliser ce chargement.

Chargement asynchrone d'un compteur modulo 4


Le chargement est asynchrone s'il intervient quelque soit l'tat de l'horloge. Supposons que l'on dispose d'un compteur constitu de deux bascules et que l'on veuille charger la valeur a dans la premire bascule et b dans la deuxime, ce chargement intervenant ds que l'entre de commande de chargement L prend la valeur 1. Ce chargement se fera en utilisant les entres de forage Clear et Preset que l'on supposera actives l'tat bas. Pour charger a dans la premire bascule, il faut appliquer quand L = 1 : On en dduit :
P = L +aL = L.a
C = L +aL = L +a = L.a

0 sur Pet 1 sur C si a= 1 1 sur Pet 0 sur C si a = 0

Quand L = 0, il faut avoir C = P = 1.

On obtient donc le schma suivant :

31

Chargement synchrone
Le chargement est synchrone s'il n'intervient qu'au front actif d'horloge suivant la commande de chargement. Le chargement synchrone s'obtiendra donc en modifiant les entres synchrones des bascules du compteur. Dans le cas de bascules JK et d'un signal de chargement L actif au niveau haut il faut avoir : pour la premire bascule : pas de modification quand L = 0 soit JA = KA = 1. mise zro si a = 0 et L = 1 soit JA = 0 et KA = 1 mise 1 si a = 1 et L = 1 soit JA = 1 et KA = 0. ce qui donne JA = + a et KA = + pour la deuxime bascule pas de modification quand L = 0 soit JB = KB = QAet comme prcdemment JA = 0 et KA = 1 si a = 0 et L = 1, JA = l et KA = O si a = l ct L = 1. cc qui donne JB = .QA + b.L et KB = .QA + .L Ces conditions conduisent au schma suivant :

32

14. Autres entres et sorties


Les compteurs intgrs disposent ventuellement d'entres et sorties supplmentaires : entres - Mise zro. - Mise 9 ou 15. - Blocage du comptage. sorties - dcodage de certaines valeurs qui permettent la mise en cascade de plusieurs compteurs. Cette sortie devient active lorsque le compteur arrive dans un tat particulier : 15 pour un compteur binaire 9 pour une dcade 0 pour un dcompteur.

33

Vous aimerez peut-être aussi