ISSLg - Cours d'électronique
Les compteurs binaires
Navigation> electronique/automatisme/codage/compteur

Pour plus de détail, voir Floyd - Systèmes numériques 9ème édition :
p426 : Chap8 : Compteurs

Le début de ces notes est tiré et adapté de : http://etronics.free.fr/dossiers/num/num13/compteur.htm 

Description du compteur binaire
Un compteur est un circuit séquentiel qui permet de dénombrer des impulsions appliquées sur son entrée d'horloge CK (clk : clock ) et de restituer sur ses sorties Q0 à Q3 le nombre d'impulsions codé en binaire. A chaque impulsion l'état du compteur est modifié (+1 ou -1 suivant le type de compteur) et entre deux impulsions son état reste stable. L'entrée RAZ ou CLR ou MR ou R sert de remise à zéro. L' entrée CE (count enable ) sert à activer ou interrompre le comptage .


Le compteur asynchrone
Le compteur asynchrone est basé sur le diviseur de fréquence. Il s'agit d'une bascule D dont la sortie inverseuse est envoyée sur son entrée D. Ainsi, à chaque front montant de l'entrée d'horloge, la donnée transférée sur la sortie est complémentée (change d'état). La fréquence du signal est donc divisée par deux :

Un compteur asynchrone est constitué de plusieurs diviseurs de fréquences (autant que de bits requis) monté en cascade (la sortie de l'un pilotant la CLK du suivant). Un compteur à N sortie (Q0 à QN-1) permet de compter au maximum (2N - 1) impulsions d'entrées.

Si l'on désire un compteur, les entrées d'horloge doivent être actives sur le front descendant. Exemple de compteur 4 bits qui compte de 0 à 15 :


Les sorties Q0 Q1 Q2 Q3 sont successivement égales à 0000, 0001, 0010, ..., 1111, puis à nouveau 0000, 0001, 0010, ... c'est-à-dire 0, 1, 2, ..., 15, 0, 1, 2, ... Ce cycle continue indéfiniment, aussi longtemps que le signal d'horloge est présent.
L'activation du comptage CE est une combinaison avec CLK au moyen d'une porte AND (les impulsions sont bloquées si CE est à 0).
La remise à 0000 se fera si le MR pilote les Reset des 4 bascules D.

Pour réaliser un décompteur le signal d'horloge est actif sur le front montant. Exemple de décompteur 3 bits, qui décompte de 7 à 0 :

Les sorties Q0 Q1 Q2 sont successivement égales à 111, 110, 101, 100, ..., 000, puis à nouveau 111, 110, 101, 100, ... c'est-à-dire 7, 6, 5, 4, ..., 0, 7, 6, 5, 4, ... Ce cycle continue indéfiniment, aussi longtemps que le signal d'horloge est présent.
L'activation du comptage CE est une combinaison avec CLK au moyen d'une porte AND (les impulsions sont bloquées si CE est à 0).
La remise à 111 se fera si le MR pilote les Set des 3 bascules D.

Pourquoi ce type de compteur est-il qualifié d'asynchrone ou à propagation ?
Comme tout circuit logique, la bascule D ne réagit pas immédiatement à un changement sur son entrée d'horloge. Il existe un temps de transfert (quelques nano secondes) entre Clk et Q0. Le même écart existe entre Q0 et Q1, et entre Q1 et Q2. Pour n bits, le dernier signal est décalé de n fois cet écart élémentaire, ce qui peut devenir un décalage assez important. Les signaux ne sont plus synchrones, et si une combinaison logique de ces signaux doit être réalisée, des glitchs apparaissent (transitions parasites 0-1-0 ou 1-0-1). Généralement ces glitchs ne sont pas gênants.


Les principaux types de compteurs

Compteur asynchrone/synchrone
Le compteur asynchrone peut être facilement réalisé avec des bascules D en cascade. Mais les bits de comptage ne basculent pas en même temps à cause du délai de propagation des signaux dans la bascule D. Si une combinaison logique des bits de comptages doit être réalisée, des glitchs apparaissent (transitions parasites 0-1-0 ou 1-0-1). Généralement ces glitchs ne sont pas gênants.

Pour supprimer les glitchs, les bascules D sont remplacées par des bascules JK + d'autres portes en périphérie (montage plus complexe non détaillé ici). Dans le cas du compteur synchrone, les bits de sorties ne sont plus décalés dans le temps, mais basculent simultanément.


Compteur binaire/BCD
Le nombre d'étage N d'un compteur binaire est libre. Ce type de compteur balaye les valeurs de 0 à (2N - 1)  en boucle.
Un compteur binaire de 4 étages balaye les valeurs de 0 à 15 en boucle : 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Pour réaliser un afficheur numérique décimal au moyen d'afficheurs à 7 segments, il faudrait plutôt des compteurs balayant les valeurs de 0 à 9 en boucle. C'est ce que réalise le compteur BCD (Binary Coded Decimal), c'est un compteur binaire auquel une logique de reset est ajoutée lorsque le compteur arrive à 10. Il balaye donc les valeurs de 0 à 9 en boucle : 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 ...
Le signal de reset lorsque le compteur retourne à 0 est disponible en sortie : c'est le signal de CARRY OUT (report). Ce CARRY OUT permet de mettre plusieurs compteurs BCD en cascade pour compter les unités, les dizaines, les centaines, les milliers...

Certains compteurs 4 étages peuvent être programmé en binaire ou BCD via un bit d'entrée (activation du RESET à 10).

NB : pour réaliser des horloges, il faudrait des compteurs balayant les valeurs de 0 à 5 pour les dizaines de seconde et les dizaines de minutes. Ce type de compteur n'existe pas, vous devez le réaliser avec un compteur binaire ou BCD et une combinaison logique qui provoque le RESET pour la valeur 6 (110)2.


Compteur up/down
Le compteur UP est actif sur le flanc descendant du signal de clock, il balaye les nombres croissants : 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 ...

Le compteur DOWN est actif sur le flanc montant du signal de clock, il balaye les nombres décroissants : 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 ...

Certains compteurs peuvent être programmé soit en UP ou DOWN via un bit d'entrée (inversion du flanc de clock).


Compteur avec PRESET
Certains compteurs peuvent être programmé pour démarrer leur comptage à partir d'une certaine valeur (par exemple 4 au lieu de 0 : 4 5 6 7 8 9 0 1 2 3 4 5 6  ...). Cette valeur est codée en binaire et appliquée aux bits de PRESET. Ce PRESET peut être chargé dans le compteur au moyen du bit d'entrée PRESET ENABLE.


Les principaux CI

CD4040 : 14-Stage Ripple Carry Binary Counters




CD4029 : Presettable Binary/Decade Up/Down Counters
   




CD4026 : Decade Counter with Decoded 7seg display



CD4510 : Presettable Decade Up/Down Counters + Reset
CD4516 : Presettable Binary Up/Down Counters + Reset
   



Auteur : Philippot Marc - 22/03/2014