Le compteur numérique

Un compteur numérique est un circuit logique séquentiel qui permet de compter les impulsions du front montant ou front descendant reçues à son entrée d'horloge (appelée aussi en anglais clock). Le résultat à la sortie de ce circuit logique est une valeur numérique exprimée sous forme d’un mot binaire qui n’est que la représentation d’un nombre décimal dans le système binaire. La particularité de ce circuit c'est qu'il nous permet de compter ou d'enregistrer le nombre des impulsions, des événements, d’objets ou de passages en fonction de notre besoin.

Pour modéliser ce circuit, en général, nous retrouvons le schéma ci-dessous assez souvant pour représenter ou modéliser un compteur :

Schéma d'un compteur numérique

Avec une ou plusieurs entrées et plusieurs sorties. Nous pouvons retenir à ce stade que la principale entrée est nommée CLK; qui représente l'entrée d'enclenchement, et les sorties Qi représentent le nombre en format binaire issu de notre comptage.

Le modulo d'un compteur

On appelle un compteur modulo N, un compteur capable de compter de 0 à N-1. Et un décompteur modulo N, un décompteur capable de décompter de N-1 jusqu'à 0.

Par exemple : un compteur à 4 bits est un compteur qui compte de 0 à \( 2^N - 1 = 15\). Soit donc ce compteur est un compteur modulo 16.

Comment fonctionne un compteur ?

Pour vous résumer c'est quoi un compteur numérique, nous pouvons le définir comme un circuit logique qui change la valeur numérique de sa sortie à chaque fois qu’il reçoit l’ordre à son entrée pour incrémenter la valeur calculée ou la décrémenter.

C’est compliqué tout ça ? On vous simplifie les choses ! Imaginons que nous souhaitons calculer de 0 à 7. Pour le faire dans le monde de l'électronique numérique, nous aurons besoin d'un un circuit logique qui sera capable de nous énumérer les différentes valeurs décimales de 0 à 7 à chaque fois que nous donnons l’ordre de le faire; soit de rajouter la valeur 1 à la valeur déjà calculée soit de la soustraire. Le graphe ci-dessous nous détaille les différentes sorties Q1, Q2 et Q3 pour un compteur binaire ascendant :

Chronogramme d'un compteur ascendant à 3 digits

Si notre compteur est un compteur descendant; qui nous permet de décompter, le graphe de ces sorties Q1, Q2 et Q3 sera comme suit:

Chronogramme d'un compteur descendant à 3 digits

C’est dans ce principe de fonctionnement qu'un compteur numérique reçoit des impulsions numériques; ce qui représente une valeur décimale de 1 (un) ou 0 (zéro); soit en signal électrique, la valeur représentée par 5V, 12V ou toute autre valeur et la valeur 0V). Puis à chaque impulsion, il incrémente ou décrémente d’une unité la valeur mémorisée dans sa mémoire. Ce qui représente un mot binaire que nous pouvons le décoder dans le système décimale ou le transcoder dans un autre système de numérotation; soit +1 ou +N avec N qui représente un entier naturel supérieur à 0.

Les types des compteurs numériques

Nous pouvons trouver plusieurs types de compteurs dans le monde de l’électronique numérique. Les plus utilisés sont les suivants :

  • Le compteur binaire : c’est le compteur le plus basique qui va nous permettre de compter dans le système de numérotation binaire. Soit 000, 001, 010, 011, 100, 101, 110 et 111 si notre compteur est un compteur à 3 bits. Soit le circuit logique dispose de 3 sorties : Q1, Q2 et Q3.
  • Le compteur décimal, appelé aussi le BCD pour son nom en anglais Binary-Coded Decimal : Ce compteur est un compteur binaire sauf que sa particularité réside dans les différentes valeurs lues à la sortie du compteur. C’est un compteur qui compte de 0 à 9, mais chaque chiffre est représenté en binaire sur 4 bits. Une fois le compteur affiche 9, la valeur suivante sera 0 puisque c’est un compteur décimal dont la sortie est codée en binaire.
  • Le compteur ascendant, descendant et bidirectionnel : Ces types de compteur représente un mode de fonctionnement particulier. Le premier est un compteur qui augmente sa valeur à chaque impulsion, le deuxième diminue sa valeur à chaque ordre et le 3ème type est un compteur permettant les deux premiers modes.

 

Information

Réalisation d'un compteur binaire

Pour vous initier aux compteurs numériques, nous vous proposons de réaliser un compteur binaire à 2 bits qui vous compte de 0 à 3 à l'aide de deux bascules D :

Réalisation d'un compteur numérique à base d'une carte programmable

Si vous souhaitez réaliser votre premier compteur numérique chez vous avec un affichage en décimal, rien n'est compliqué, Electro-robot vous propose de le réaliser, sous forme d'une activité de découverte, avec l'utilisation d'un afficheur LED à 7 segments et une carte programmable Arduino UNO :

 

Les entrées/sorties dans un compteur ?

Un compteur dispose généralement d’une entrée pour ordonner l’incrémentation de la valeur mémorisée, cette entrée est aussi appelée horloge, ou clock en anglais, d’une entrée de remise à zéro, appelée aussi CLR, MR ou R pour Clear, Master Reset ou Reset en anglais.

Dans certains compteurs, nous pouvons trouver aussi une entrée pour activer ou désactiver le comptage ; appelée CE pour Count Enable (la terminologie est en anglais).

Les compteurs : synchrone ou asynchrone ?

Dans le domaine de l’électronique numérique, nous pouvons trouver deux types de compteurs numériques :

Le compteur asynchrone

C’est un compteur qui ne dispose pas d’une entrée de synchronisation, soit l'équivalent d'une horloge pour cadencer le rythme de son fonctionnement et peut compter à chaque fois qu’il reçoit l’ordre d’incrémenter sa sortie. Cet ordre est reçu sur la première entrée de l'horloge de la première bascule qui représente le LSB de notre mot binaire. Le schéma ci-dessous nous présente la modélisation d'un compteur binaire à 3 bits asynchrone, appelé aussi compteur asynchrone modulo 8, modélisé par 3 bascules de type D à front descendant :

Schéma d'un compteur asynchrone à base de bascule D

Pour mieux comprendre son mode de fonctionnement ce compteur, analysons ensemble son son diagramme d'état ci-dessous :

Diagramme d'état d'un compteur modulo 8

Comme nous pouvons le constater, ce compteur commence par la valeur 0, qui représente la valeur de son état initial. Ensuite, compte pas à pas de 0 à 7 et recommence de nouveau une fois arrivé à la valeur 7.

Information

Activité de travaux dirigés : le compteur numérique asynchrone à base de bascule D

Pour vous familiariser avec ce type de compteur asynchrone, Electro-robot vous propose une activité de travaux dirigés que vous pouvez simuler à l'aide de la solution Ltspice, le compteur numérique à base de bascule D :

Le compteur synchrone

Ce type de compteur est tout simplement une forme avancée du compteur asynchrone. Cadencé sur un signal d'une horloge, ce compteur synchrone ne peut incrémenter la valeur à sa sortie que sur le rythme de son horloge. Ce signal d'horloge, appelée H pour horloge en français ou CLK pour le mot clock en anglais, permet ainsi d'harmoniser sa sortie. En fonction du mode de fonctionnement de nos bascules, la valeur à la sortie de notre compteur ne sera incrémenter que sur le front montant ou descendant du signal de l’horloge. Pour mieux comprendre ce principe, nous vous proposons le montage ci-dessous réalisé avec 3 bascules JK à front descendant d'un compteur binaire à 3 bits synchrone, appelé aussi compteur synchrone modulo 8 :

Schéma d'un compteur synchrone à base de bascule D

Et le décompteur, c'est quoi ?

Dans le même comtexte de l'électronique numérique, nous trouverons deux types de décompteurs numériques :

Le décompteur asynchrone

C’est un décompteur qui ne dispose pas d’une entrée de synchronisation, exactement comme le compteur asynchrone qui ne dispose pas d'une entrée d'horloge, et ne peut compter qu'à chaque fois qu’il reçoit l’ordre d’incrémenter sa sortie. L'entrée de l'horloge de la première bascule qui représente le LSB, appelé aussi CLK, est notre entrée pour décrémenter notre système binaire. Le schéma ci-dessous nous présente la modélisation d'un décompteur binaire à 3 bits asynchrone, appelé aussi décompteur asynchrone modulo 8, réalisé à partir de 3 bascules de type D à front montant :

Schéma d'un décompteur asynchrone à base de bascule D

Comme pour le compteur, nous pouvons dessiner un diagramme d'état pour le décompteur. Le diagramme ci-dessous présente cela :

Diagramme d'état d'un décompteur modulo 8

Comme nous pouvons le constater, ce compteur commence par la valeur 7, qui représente la première valeur. Ensuite, il décompte valeur par valeur de 7 à 0 et puis il recommence de nouveau une fois qu'il est arrivé à la valeur 0.

Le décompteur asynchrone

C'est tout simplement un décompteur asynchrone mais cadencé sur le signal d'une horloge afin de synchroniser l'ensemble des sorties de notre système de décomptage quand il peut décrémenter ses sorties.

Le compteur/décompteur Johnson

Un compteur de type Johnson, appelé aussi un compteur en anneau inversé, est un compteur numérique séquentiel qui se présente par sa particularité : comment il compte et comment le résultat est représenté à la sortie de notre compteur (lamême définition et le même principe reste valable pour un décompteur de ce type).

Pour mieux comprendre le principe de fonctionnement de ce type de compteur, le chronogramme ci-dessous vous présente un chronogramme d'un compteur de type Johnson à 4 états :

Chronogramme d'un compteur Johnson à 4 états

Caractéristique d'un compteur Johnson :

Ces compteurs, décompteurs se caractérise par :

  • Il fonctionne avec un registre à décalage tel que les bits sont décalés à chaque impulsion d’horloge reçue.
  • Pour un compteur à 4 bits, il dispose 2n états; soit une sortie pour chaque état.
  • Il sert à générer des séquences et non pas à compter comme un compteur séquentiel arithmétique.

Quelques références de circuit intégré de compteurs de type Johnson :

Pour ce type de circuit, nous pouvons trouver sur le marche les références ci-dessous les plus utilisées en électronique numérique :

  • CD4017  : un compteur et décodeur à défilement vers l’avant de Q0 à Q9
  • 74HC4017 : un compteur et décodeur à incrémentation de manière croissante de Q0 à Q9