Chapitre 3: LES COMPTEURS I- OBJECTIFS Etudier les différents types de compteurs. Comprendre le principe de fonctionnement de chaque type. Maitriser les étapes de synthèse d’un compteur. II- INTRODUCTION Dans des nombreuses applications on est amené à faire de comptage: comptage d’impulsions dans un temps donné pour la mesure de fréquence par exemple. Dans un cas il est nécessaire de compter dans d’autre il faut décompter à partir de zéro ou d’un autre nombre donné. Un compteur peut fonctionner en mode compteur proprement dit (up counter) ou encore en décompteur (down counter) et dans lequel on pourra introduire un nombre de départ quelconque c’est-à-dire que l’on peut initialiser ou charger (load). On peut classer les compteurs selon leur principe comme suit : Compteurs-décompteurs asynchrones et Compteurs-décompteurs synchrones. L’élément de base des compteurs est une bascule synchrone soit de type D, T ou JK. III- COMPTEURS ET DECOMPTEURS ASYNCHRONES : Le terme asynchrone signifie que les évènements ne possèdent aucune relation temporelle entre eux. Les bascules formant un compteur asynchrone ne changent pas d’état en même temps, car elles ne sont pas reliées au même signal d’horloge, le déclanchement périodique uniquement sur la première bascule du compteur. Le déclanchement des bascules suivantes se fait de proche en proche de sorte que la sortie Qn ou sera appliquée à l’horloge Hn+1 selon la synchronisation utilisée (front montant ou front descendant) et selon la mode de fonctionnement compteur ou décompteur. 1- Compteur asynchrone à cycle complet (modulo 2N) Un exemple de compteur pouvant être réalisé de manière asynchrone est celui du compteur binaire qui compte de 0 jusqu’à 15 composé de 4 bascules JK. D’après la séquence de comptage à réaliser, on note que : La bascule de sortie Q0 doit changer sur chaque front de l'horloge. La bascule de sortie Q1 doit changer à chaque fois que la sortie Q0 de la bascule précédente passe de 1 à 0 (front descendant) La bascule de sortie Q2 doit changer à chaque fois que la sortie Q1 de la bascule précédente passe de 1 à 0 (front descendant) La bascule de sortie Q3 doit changer à chaque fois que la sortie Q2 de la bascule précédente passe de 1 à 0 (front descendant) A la 15ème impulsion, les bascules du compteur sont à l’état 1111. A la 16ème impulsion d’horloge le compteur revient à son état initial, on dit que le compteur est recyclé. 1 Le tableau ci-dessous montre l’évolution des différents états des bascules de ce compteur après chaque impulsion d’horloge. D’après le tableau, le compteur possède 16 états distincts (0000 à 1111), on dit que c’est un compteur MODULO-16. Le MODULO est donc le nombre d’états occupés par le compteur pendant un cycle complet avant son recyclage à l’état initial. En général le modulo d’un compteur est donné par l’expression suivante : MODULO = 2N avec N est le nombre de bascules formant le compteur. Le schéma du compteur binaire asynchrone Modulo-16, réalisé à partir de quatre bascules JK actives sur front descendant. Les entrées Ji = Ki =1 afin d’assurer le basculement des états de sorties des bascules. 2 Application: compléter le chronogramme du compteur asynchrone Modulo-16. 2- Compteur asynchrone à cycle incomplet (modulo X <2N) Un compteur peut avoir un MODULO X<2N, valeur maximale qu’on peut obtenir avec un compteur à N bascules. Pour réaliser un compteur MODULO X, il faut suivre les étapes suivantes: Trouver le nombre de bascules N nécessaires pour la synthèse du compteur MODULO-X grâce à la relation : 2N-1 < X ≤ 2N. si X = 2N, les étapes suivantes sont inutiles. Ecrire en binaire le nombre X. Relier à l’entrée d’une porte NON ET les sorties des bascules qui sont à 1, quand le compteur est à l’état X. Connecter la sortie de la porte NON ET aux entrées RAZ de toutes les bascules du compteur. Remarque: Si les entrées de remise à zéro des bascules sont actives à l’état haut, on utilise une porte ET à la place de la porte NON ET. APPLICATION : Réalisons un compteur asynchrone MODULO-12. • 23 < 12 <24 ⇒ N = 4. • 12)10=(1100)2 alors Q3=1, Q2=1, Q1=0, Q0=0 • Les sorties Q3 et Q2 qui sont à 1, doivent être reliées à une porte NAND à deux entrées et dont la sortie est appliquée à toutes les entrées de remise à zéro des bascules du compteur. Le schéma du compteur MODULO-12 asynchrone est le suivant: 3 Remarque : si le RAZ est active à l’état haut on utilise une porte AND 3- Décompteur asynchrone Il est simple de réaliser des décompteurs asynchrones, c’est à dire qui partent d’un nombre maximal pour arriver à zéro "comptage down ". Pour réaliser un décompteur, il suffit de connecter chaque sortie complémentée d’une bascule à l’entrée CLK de la bascule suivante. Le schéma ci-dessous montre d’un décompteur Modulo-16 réalisé à partir de 4 bascules JK. 4- Utilisation d’autres bascules : On peut utiliser d’autres types de bascules pour réaliser les compteurs/décompteurs asynchrones : a- Bascule T Ce type des bascules changent d’états à chaque impulsion d’horloge, si l’entrée T=1 donc on peut construire des compteurs/décompteurs asynchrones à base des bascules T en utilisant le montage ci-dessous 4 b- Bascule D Ce type des bascules changent d’états à chaque impulsion d’horloge. L’enclenchement est réalisé si D=1 et le déclenchement est réalisé si l’entrée D=0. Donc si on relie D à Q, on obtient un changement d’état à chaque impulsion d’horloge. On peut construire des compteurs/décompteurs asynchrones à base des bascules D en utilisant le montage cidessous. 5- Compteurs asynchrones en circuits intégrés Il y a une grande diversité des compteurs asynchrones disponibles en circuits intégrés. A titre d’exemple, on peut citer les compteurs asynchrones 7490, 7492 et 7493 très souvent utilisés. IV- Compteurs synchrones On a vu précédemment que l’association en cascade de bascules dans un compteur asynchrone entraînait des retards de propagation. Ces retards limitent la fréquence maximale d’utilisation. On contourne cette limitation en utilisant des compteurs synchrones ou parallèles, dans lesquels toutes les bascules sont simultanément commandées par le même signal d’horloge. 1- Synthèse d’un compteur synchrone a- Synthèse à partir de bascules JK Nous allons montrer la méthode de synthèse d’un compteur synchrone à partir de bascules JK. Rappelons la table de vérité de cette bascule. J K Qt+1 0 0 Qt 0 1 0 1 0 1 1 1 On peut représenter cette table de vérité d’une façon inversée, c’est à dire trouver pour chaque transition possible de l’état Qt à l’état Qt+1 les valeurs nécessaires des entrées J et K, c’est la table d’excitation de la bascule JK. Qt 0 0 1 1 Qt+1 0 1 0 1 J 0 1 X X K X X 1 0 5 La synthèse d’un compteur synchrone consiste à calculer chaque entrée des bascules constituant le compteur afin de conditionner leurs évolutions lors de la prochaine impulsion d’horloge. A l’instant t, les sorties des bascules du compteur sont à l’état Qt, quelles sont les valeurs à appliquer aux entrées Ji et Ki pour qu’à l’impulsion d’horloge suivante (instant t+1) les sorties prennent les valeurs Qt+1 imposées par le cycle de comptage désiré. Exemple: la synthèse d’un compteur synchrone MODULO-16. La table d’excitation permet la détermination des entrées J i et Ki, à appliquer pour obtenir les sorties désirées du compteur, connaissant les sorties avant l’impulsion d’horloge. Le tableau ci-dessous résume les différents cas possibles. QD 0 Etats présents QC QB QA 0 0 0 Etats futurs Q’D Q’C Q’B Q’A JD 0 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 0 0 0 KD JC Entrées KC JB KB JA 1 KA X X 1 Cherchons l’expression booléenne de chaque entrée Ji et Ki en utilisant le diagramme de Karnaugh. On remarque que Ji peut être prise égale à Ki. 6 Le compteur synchrone ainsi synthétisé est le suivant : Remarque: Si on a besoin d’un compteur à cycle incomplet, on peut concevoir ce compteur selon la même méthode décrite précédemment. b- Synthèse à partir de bascules D On peut réaliser un compteur synchrone à partir de bascules D. Rappelons d’abord la table d’excitation de cette bascule. Qt Qt+1 D 0 0 0 0 1 1 1 0 0 1 1 1 D’après cette table d’excitation, on remarque que : D = Qt+1. Cette équation permet de déterminer l’entrée Di, à appliquer pour obtenir les sorties désirées du compteur, connaissant l’état des sorties avant l’impulsion d’horloge. Exemple : effectuons la synthèse d’un compteur synchrone Modulo 8=23 partir de 3 bascules D. Etats présents Etats futurs Entrées QC QB QA Q’C Q’B Q’A DC DB DA 0 0 0 0 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 0 1 0 0 1 0 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 En utilisant le diagramme de Karnaugh, cherchons l’expression logique simplifiée de chaque entrée Di. 7 Le compteur synchrone ainsi synthétisé est le suivant : V- Compteurs synchrones en circuits intégrés Le catalogue des circuits intégrés contient plusieurs types de compteurs synchrones. On résume dans le tableau ci-dessous, les compteurs synchrones de la série 74 qui sont les plus utilisés. Référence 74190 74191 74192 74193 74160 74161 Type BCD Hexadécimal BCD Hexadécimal BCD Hexadécimal Chargement Réversible Asynchrone OUI Synchrone NON Mise en cascade Asynchrone ou synchrone Asynchrone Synchrone 8