Objectifs d'apprentissage
- Distinguer logique combinatoire (sortie fonction des seules entrées actuelles) et logique séquentielle (sortie fonction des entrées et de l'état mémorisé précédent)
- Distinguer fonctionnement synchrone (changements d'état cadencés par un signal d'horloge commun) et asynchrone (changement d'état dès qu'une entrée évolue, sans horloge)
- Établir la table de transition d'une bascule RS, D, JK et T
- Identifier le rôle du front actif (montant ou descendant) de l'horloge dans le déclenchement d'une bascule synchrone
- Différencier compteur asynchrone (bascules chaînées, retards de propagation cumulés) et compteur synchrone (toutes les bascules cadencées simultanément)
- Calculer la capacité de comptage d'un compteur à n bascules : 2^n états possibles
- Décrire le principe d'un registre à décalage et son rôle dans la sérialisation/désérialisation d'une donnée
Formules et résultats clés
Combinatoire vs séquentiel
Un système combinatoire délivre une sortie qui ne dépend que des entrées présentes à l'instant considéré. Un système séquentiel possède en plus une mémoire : sa sortie dépend aussi de l'état atteint précédemment. Cette mémoire élémentaire est réalisée par des bascules (RS, D, JK ou T).
Les bascules de base
Bascule RS : Set (S) force Q à 1, Reset (R) force Q à 0 ; S=R=1 est un état interdit (ou indéterminé selon la technologie).
Bascule D : au front actif d'horloge, Q recopie simplement l'entrée D — la façon la plus simple de mémoriser un bit.
Bascule JK : comportement le plus complet — mémorisation (J=K=0), mise à 1 (J=1,K=0), mise à 0 (J=0,K=1), et bascule/toggle (J=K=1).
Bascule T : cas particulier de la JK avec J=K=T — si T=1, Q bascule à chaque front actif ; si T=0, Q est mémorisé.
Synchrone vs asynchrone
Un montage synchrone cadence toutes ses bascules par le même signal d'horloge : tous les changements d'état sont simultanés, au même front actif. Un montage asynchronene reçoit l'horloge externe que sur sa première bascule ; chaque bascule suivante est déclenchée par la sortie de la précédente, ce qui introduit des retards de propagation cumulés d'une bascule à l'autre.
Capacité d'un compteur
Un compteur asynchrone est plus simple à câbler (chaque bascule pilote simplement la suivante), mais plus lent aux hautes fréquences à cause des retards cumulés. Un compteur synchrone est plus rapide et plus fiable, au prix d'un câblage de la logique de commande plus complexe.
Registre à décalage
Un registre à décalage chaîne plusieurs bascules D : à chaque front d'horloge, le contenu binaire mémorisé se décale d'une position (vers la gauche ou vers la droite). Il permet de convertir une donnée série (un seul fil, un bit à la fois) en donnée parallèle, ou l'inverse — une fonction essentielle pour communiquer sur une liaison série tout en traitant l'information en parallèle à l'intérieur d'un microcontrôleur.
Erreurs fréquentes
Confondre synchrone (toutes les bascules changent exactement au même instant, sur le même front d'horloge) et asynchrone (chaque bascule change avec un léger retard par rapport à la précédente, ce qui peut créer des états transitoires parasites).
Confondre bascule D (mémorise simplement l'entrée D au front d'horloge, Q devient D) et bascule JK (comportement dépendant de J et K, avec un mode bascule/toggle possible quand J=K=1).
Oublier qu'un compteur asynchrone accumule les temps de propagation de chaque bascule en cascade, ce qui limite sa fréquence maximale de fonctionnement par rapport à un compteur synchrone.
Confondre front montant et front descendant de l'horloge : une bascule synchrone ne change d'état qu'au moment précis du front actif spécifié, jamais pendant tout le niveau haut ou bas du signal d'horloge.
Croire que n bascules permettent de compter n états : en réalité, n bascules permettent de compter 2^n états distincts, numérotés de 0 à 2^n − 1.
Exemple corrigé — Choix entre compteur synchrone et asynchrone
Énoncé
Un système doit compter des impulsions à très haute fréquence (plusieurs mégahertz) issues d'un capteur de vitesse. Justifier le choix entre un compteur asynchrone et un compteur synchrone pour cette application.
Correction
Dans un compteur asynchrone, chaque bascule est cadencée par la sortie de la précédente : les retards de propagation de chaque étage s'additionnent d'une bascule à l'autre. À très haute fréquence, ce retard cumulé peut devenir supérieur à la période du signal à compter, ce qui provoque des erreurs de comptage.
Un compteur synchrone, où toutes les bascules reçoivent directement la même horloge, ne souffre pas de cette accumulation de retards : tous les étages changent d'état au même instant.
On retient donc le compteur synchrone, plus adapté aux applications à haute fréquence comme le comptage de vitesse.
3 exercices pour t'entraîner
Exercice 1
FacileUn compteur binaire est construit avec 4 bascules. Combien d'états distincts peut-il compter, et quelle est la valeur maximale atteinte ?
Voir la correction
Avec bascules, le compteur peut compter états distincts, numérotés de 0 à 15. La valeur maximale atteinte est donc 15 (soit 1111 en binaire).
Exercice 2
MoyenUne bascule JK est dans l'état . À un front actif d'horloge, ses entrées valent et . Quel est le nouvel état de Q ? Même question avec et .
Voir la correction
Avec : Q passe à 1 (mise à 1), quel que soit son état précédent — ici devient . Avec : la bascule fonctionne en mode toggle, Q prend l'état complémentaire de son état précédent — comme valait , il passe à également dans ce cas précis (mais il basculerait à chaque front d'horloge suivant, contrairement au cas qui resterait bloqué à 1).
Exercice 3
DifficileOn veut construire un compteur asynchrone modulo 8 (comptant de 0 à 7) à l'aide de bascules JK montées en toggle (J=K=1 en permanence). Combien de bascules sont nécessaires, et comment sont-elles chaînées ?
Voir la correction
Il faut bascules telles que , soit bascules JK (puisque ). En montage asynchrone, l'horloge externe cadence uniquement la première bascule (bit de poids faible) ; la sortie Q de chaque bascule sert ensuite d'horloge à la bascule suivante (bit de poids immédiatement supérieur), chaque bascule fonctionnant en mode toggle (J=K=1) pour basculer à chaque front actif reçu.
3 exercices, c'est un début.
Orka en génère autant que tu veux sur ce chapitre, à ton niveau, avec correction détaillée étape par étape.
Continue gratuitement sur OrkaVa plus loin sur ce chapitre
50+ exercices interactifs sur ce chapitre
Générés et corrigés étape par étape par l'IA, à ton niveau.
Quiz IA adaptatif
Questions qui s'ajustent automatiquement à tes réussites et erreurs.
Corrigés d'annales sur ce chapitre
Sujets d'examens nationaux et régionaux déjà tombés.
Plan de révision personnalisé
Priorise ce chapitre selon ta progression réelle sur toute la filière.
Flashcards du chapitre
Formules et définitions clés en mode révision rapide.
Tuteur IA en Darija
Pose tes questions sur ce chapitre et obtiens une explication immédiate.
Questions fréquentes
Quelle est la différence entre un compteur synchrone et un compteur asynchrone ?
Dans un compteur synchrone, toutes les bascules reçoivent le même signal d'horloge et changent d'état exactement au même instant, à chaque front actif. Dans un compteur asynchrone, seule la première bascule reçoit l'horloge externe : chaque bascule suivante est cadencée par la sortie de la bascule précédente, ce qui introduit un léger retard de propagation en cascade. Le compteur asynchrone est plus simple à câbler mais plus lent (les retards s'accumulent), alors que le compteur synchrone est plus rapide et plus fiable aux hautes fréquences.
Comment fonctionne une bascule JK ?
La bascule JK possède deux entrées de commande J et K, évaluées au front actif de l'horloge : si J=0 et K=0, l'état Q est mémorisé (aucun changement) ; si J=1 et K=0, Q passe à 1 ; si J=0 et K=1, Q passe à 0 ; si J=1 et K=1, Q bascule (toggle), c'est-à-dire qu'elle prend l'état complémentaire de son état précédent. C'est ce dernier cas, non permis sur une bascule RS classique, qui rend la bascule JK particulièrement utile pour construire des compteurs.
À quoi sert un registre à décalage ?
Un registre à décalage (shift register) est une chaîne de bascules qui décale, à chaque front d'horloge, le contenu binaire mémorisé d'une position vers la gauche ou la droite. Il sert notamment à convertir une donnée série en donnée parallèle (désérialisation) ou l'inverse (sérialisation), ce qui est indispensable pour communiquer sur une liaison série (un seul fil de données) tout en traitant l'information en parallèle à l'intérieur d'un microcontrôleur.