Les compteurs asynchrones utilisent des bascules qui sont connectées en série afin que l’impulsion d’horloge d’entrée semble se propager à travers le compteur.
Un compteur asynchrone peut avoir 2n-1 états de comptage possibles, par exemple MOD-16 pour un compteur à 4 bits (0-15), ce qui le rend idéal pour les applications de division de fréquence. Mais il est également possible d’utiliser la configuration de compteur asynchrone de base pour construire des compteurs spéciaux avec des états de comptage inférieurs à leur nombre de sortie maximum. Par exemple, des compteurs modulo ou MOD.
Cela est réalisé en forçant le compteur à se réinitialiser à zéro à une valeur prédéterminée, produisant ainsi un type de compteur asynchrone ayant des séquences tronquées. Un compteur à n bits qui compte jusqu’à son maximum de modulus (2n) est appelé un compteur à séquence complète, et un compteur à n bits dont le modulus est inférieur au maximum possible est appelé un compteur tronqué.
Mais pourquoi voudrions-nous créer un compteur asynchrone tronqué qui n’est pas un MOD-4, MOD-8 ou tout autre modulus égal à une puissance de deux ? La réponse est que nous pouvons, en utilisant une logique combinatoire pour tirer parti des entrées asynchrones sur la bascule.
Si nous prenons le compteur asynchrone modulo-16 et que nous le modifions avec des portes logiques supplémentaires, il peut être conçu pour donner une sortie de compteur décimal (diviser par 10) pour une utilisation dans des circuits de comptage décimaux standards et des circuits arithmétiques.
Ces compteurs sont généralement appelés compteurs décimaux. Un compteur décimal doit se réinitialiser à zéro lorsque le compte de sortie atteint la valeur décimale de 10, c’est-à-dire lorsque DCBA = 1010, et pour cela, nous devons alimenter cette condition à l’entrée de réinitialisation. Un compteur ayant une séquence de compte allant de “0000” (BCD = “0”) à “1001” (BCD = “9”) est généralement appelé un compteur décimal codé binaire BCD car sa séquence de dix états est celle d’un code BCD, mais les compteurs décimaux binaires sont plus courants.
Compteur Décimal Asynchrone
Ce type de compteur asynchrone compte vers le haut sur chaque bord descendant du signal d’horloge d’entrée, commençant par 0000 jusqu’à atteindre une sortie de 1001 (décimal 9). Les deux sorties QA et QD sont désormais égales à la logique “1”. À l’application de la prochaine impulsion d’horloge, la sortie de la porte NAND 74LS10 change d’état de logique “1” à un niveau logique “0”.
Comme la sortie de la porte NAND est connectée aux entrées CLEAR (CLR) de toutes les bascules J-K 74LS73, ce signal provoque la réinitialisation de toutes les sorties Q à la valeur binaire 0000 au compte de 10. Étant donné que les sorties QA et QD sont maintenant toutes deux égales à la logique “0” car les bascules viennent juste d’être réinitialisées, la sortie de la porte NAND revient à un niveau logique “1” et le compteur redémarre de nouveau à partir de 0000. Nous avons maintenant un compteur décimal ou un compteur à Modulo-10.
Table de vérité du Compteur Décimal
Compte d’Horloge | Modèle de Sortie | Valeur Décimale | |||
QD | QC | QB | QA | ||
1 | 0 | 0 | 0 | 0 | 0 |
2 | 0 | 0 | 0 | 1 | 1 |
3 | 0 | 0 | 1 | 0 | 2 |
4 | 0 | 0 | 1 | 1 | 3 |
5 | 0 | 1 | 0 | 0 | 4 |
6 | 0 | 1 | 0 | 1 | 5 |
7 | 0 | 1 | 1 | 0 | 6 |
8 | 0 | 1 | 1 | 1 | 7 |
9 | 1 | 0 | 0 | 0 | 8 |
10 | 1 | 0 | 0 | 1 | 9 |
11 | Le compteur se réinitialise à zéro |
Diagramme de Temps du Compteur Décimal
En utilisant la même idée de tronquer les séquences de sortie du compteur, le circuit ci-dessus pourrait facilement être adapté à d’autres cycles de comptage en changeant simplement les connexions aux entrées de la porte NAND ou en utilisant d’autres combinaisons de portes logiques.
Puisque le maximum de modulus qui peut être implémenté avec n bascules est 2n, cela signifie que lorsque vous concevez des compteurs asynchrones tronqués, vous devriez déterminer la plus basse puissance de deux qui est supérieure ou égale à votre modulus désirée.
Disons que nous voulons compter de 0 à 39, ou mod-40 et répéter. Alors le nombre maximum de bascules nécessaires serait six, n = 6 donnant un MOD maximal de 64, car cinq bascules ne suffiraient pas car cela ne donne qu’un MOD-32.
Maintenant, supposons que nous voulions construire un compteur “diviser par 128” pour la division de fréquence, nous aurions besoin de cascader sept bascules puisque 128 = 27. En utilisant des bascules doubles telles que le 74LS74, nous aurions toujours besoin de quatre CI pour compléter le circuit.

Une méthode alternative facile serait d’utiliser deux 7493 TTL en tant que compteurs/diviseurs à 4 bits. Puisque 128 = 16 x 8, un 7493 pourrait être configuré comme un compteur “diviser par 16” et l’autre comme un compteur “diviser par 8”. Les deux CI seraient en cascade pour former un diviseur de fréquence “diviser par 128”, comme le montre le schéma.
Bien sûr, des compteurs asynchrones CI standard sont disponibles, tels que le compteur/diviseur à propagation programmable TTL 74LS90 qui peut être configuré pour diviser par 2, diviser par 5 ou toute combinaison des deux. Le 74LS390 est un CI à conducteur à double décennie très flexible avec un grand nombre de combinaisons “diviser par” disponibles allant de diviser par 2, 4, 5, 10, 20, 25, 50 et 100.
Diviseurs de Fréquence
Cette capacité du compteur à propagation à tronquer des séquences pour produire une sortie “diviser par n” signifie que les compteurs et en particulier les compteurs à propagation peuvent être utilisés comme diviseurs de fréquence pour réduire une fréquence d’horloge élevée à une valeur plus utilisable pour les horloges numériques et les applications de temporisation. Par exemple, supposons que nous ayons besoin d’un signal de temporisation précis de 1Hz pour faire fonctionner une horloge numérique.
Nous pourrions assez facilement produire un signal carré de 1Hz en utilisant une puce minuterie 555 standard configurée comme un multivibrateur astable, mais la fiche technique du fabricant nous indique que la minuterie 555 a une erreur de temporisation typique de 1-2 % selon le fabricant, et à des fréquences faibles de 1Hz, cette erreur de 2 % n’est pas idéale.
Cependant, la fiche technique nous indique également que la fréquence de fonctionnement maximale de la minuterie 555 est d’environ 300kHz et qu’une erreur de 2 % à haute fréquence, tout en étant importante à environ 6kHz au maximum, serait acceptable. Ainsi, en choisissant une fréquence de temporisation supérieure de 262,144 kHz et d’un compteur à décalage (Modulo-18), nous pouvons facilement réaliser un signal de temporisation précis de 1Hz comme montré ci-dessous.
Signal de Temporisation de 1Hz depuis un compteur à décalage de 18 bits
C’est bien sûr un exemple très simpliste de la manière de produire des fréquences de temporisation précises, mais en utilisant des oscillateurs à cristal haute fréquence et des diviseurs de fréquence multi-bits, des générateurs de fréquence de précision peuvent être produits pour une gamme complète d’applications, allant des horloges ou montres à la temporisation d’événements et même pour des applications telles que des pianos électroniques/synthétiseurs ou de musique.
Malheureusement, l’un des principaux inconvénients des compteurs asynchrones est qu’il existe un léger délai entre l’arrivée de l’impulsion d’horloge à son entrée et sa présence à sa sortie en raison du circuit interne de la porte.
Dans les circuits asynchrones, ce délai est appelé Délai de Propagation, donnant au compteur à propagation le surnom de “compteur de propagation” et dans certains cas de haute fréquence, ce délai peut produire des comptes de sortie erronés.
Dans les circuits à compteur à propagation à grands bits, si le délai des différentes étapes s’additionne pour donner un délai cumulé à la fin de la chaîne de compteurs, la différence de temps entre le signal d’entrée et le signal de sortie compté peut être très importante. C’est pourquoi le compteur asynchrone n’est généralement pas utilisé dans des circuits de comptage à haute fréquence où un grand nombre de bits sont impliqués.
De plus, les sorties du compteur n’ont pas de relation temporelle fixe entre elles et ne se produisent pas au même instant en raison de leur séquence d’horloge. En d’autres termes, les fréquences de sortie deviennent disponibles une par une, un effet de domino. Ensuite, plus de bascules sont ajoutées à une chaîne de compteurs asynchrones, plus la fréquence de fonctionnement maximale diminue pour assurer un comptage précis. Pour surmonter le problème du délai de propagation, les compteurs synchrones ont été développés.
Pour résumer certains des avantages des compteurs asynchrones :
- Les compteurs asynchrones peuvent être facilement réalisés à partir de bascules de type Toggle ou D.
- Ils sont appelés “compteurs asynchrones” parce que l’entrée d’horloge des bascules n’est pas conduite par le même signal d’horloge.
- Chaque sortie de la chaîne dépend d’un changement d’état de la sortie de la bascule précédente.
- Les compteurs asynchrones sont parfois appelés compteurs à propagation parce que les données semblent “se propager” de la sortie d’une bascule à l’entrée de la suivante.
- Ils peuvent être implémentés en utilisant des circuits de compteur “diviser par n”.
- Les compteurs tronqués peuvent produire n’importe quel nombre de modulus.
Inconvénients des Compteurs Asynchrones :
- Une bascule de sortie de “re-synchronisation” supplémentaire peut être requise.
- Pour compter une séquence tronquée non égale à 2n, une logique de rétroaction supplémentaire est nécessaire.
- Le comptage d’un grand nombre de bits, le délai de propagation par étapes successives peut devenir indésirablement grand.
- Ce délai leur donne le surnom de “compteurs de propagation”.
- Des erreurs de comptage se produisent à des fréquences d’horloge élevées.
- Les compteurs synchrones sont plus rapides et plus fiables car ils utilisent le même signal d’horloge pour toutes les bascules.
Dans le prochain tutoriel sur >les Compteurs, nous examinerons le compteur synchrone et verrons que la principale caractéristique d’un compteur synchrone est que l’entrée d’horloge de chaque bascule de la chaîne est connectée à toutes les bascules pour qu’elles soient synchronisées simultanément.