Sciences de l'Ingénieur · Bac Sciences et Technologies Électriques

Logique Séquentielle Synchrone et Asynchrone

Quand la sortie dépend aussi du passé : bascules RS, D, JK, T, compteurs synchrones et asynchrones, et registres à décalage.

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

Nombre d’eˊtats=2navec n le nombre de bascules\text{Nombre d'états} = 2^{n}\quad\text{avec } n \text{ le nombre de bascules}

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

1

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).

2

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).

3

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.

4

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.

5

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

Facile

Un 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 n=4n=4 bascules, le compteur peut compter 24=162^4 = 16 états distincts, numérotés de 0 à 15. La valeur maximale atteinte est donc 15 (soit 1111 en binaire).

Exercice 2

Moyen

Une bascule JK est dans l'état Q=0Q=0. À un front actif d'horloge, ses entrées valent J=1J=1 et K=0K=0. Quel est le nouvel état de Q ? Même question avec J=1J=1 et K=1K=1.

Voir la correction

Avec J=1,K=0J=1, K=0 : Q passe à 1 (mise à 1), quel que soit son état précédent — ici QQ devient 11. Avec J=1,K=1J=1, K=1 : la bascule fonctionne en mode toggle, Q prend l'état complémentaire de son état précédent — comme QQ valait 00, il passe à 11 également dans ce cas précis (mais il basculerait à chaque front d'horloge suivant, contrairement au cas J=1,K=0J=1,K=0 qui resterait bloqué à 1).

Exercice 3

Difficile

On 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 nn bascules telles que 2n82^n \geq 8, soit n=3n = 3 bascules JK (puisque 23=82^3 = 8). 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 Orka

Va plus loin sur ce chapitre

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.