Les circuits logiques séquentiels utilisent des bascules comme éléments de mémoire dont la sortie dépend de l’état d’entrée.
Contrairement aux circuits logiques combinatoires, qui changent d’état en fonction des signaux réels appliqués à leurs entrées à ce moment-là, les circuits logiques séquentiels possèdent une certaine forme de “mémoire” intégrée.
Cela signifie que les circuits logiques séquentiels peuvent prendre en compte leur état d’entrée précédent ainsi que ceux actuellement présents, impliquant ainsi un effet de « avant » et « après ».
En d’autres termes, l’état de sortie d’un circuit logique séquentiel est fonction des trois états suivants : « entrée actuelle », « entrée passée » et/ou « sortie passée ». Les circuits logiques séquentiels se souviennent de ces conditions et restent fixes dans leur état actuel jusqu’à ce que le prochain signal d’horloge modifie l’un des états, donnant à ces circuits logiques « Mémoire ».
Les circuits logiques séquentiels sont généralement appelés dispositifs à deux états ou bistables, qui peuvent avoir leurs sorties réglées dans l’un des deux états de base, un niveau logique « 1 » ou un niveau logique « 0 », et resteront « verrouillés » (d’où le nom de verrou) indéfiniment dans cet état ou condition actuel jusqu’à ce qu’un autre signal d’activation ou d’entrée soit appliqué, ce qui fera changer le bistable à nouveau.
Représentation Logique Séquentielle
Le mot « séquentiel » signifie que les choses se déroulent dans une « séquence », l’une après l’autre, et dans les circuits logiques séquentiels, le signal d’horloge détermine quand les choses se produiront ensuite. Des circuits logiques séquentiels simples peuvent être construits à partir de circuits bistables standards tels que : des bascules, des verrous et des compteurs, qui peuvent eux-mêmes être réalisés en connectant simplement des portes NAND universelles et/ou NOR de manière combinatoire pour produire le circuit séquentiel requis.
Classification de la Logique Séquentielle
Tout comme les portes logiques standards sont les éléments de base des circuits combinatoires, les verrous bistables et les bascules sont les éléments de base des circuits logiques séquentiels. Les circuits logiques séquentiels peuvent être construits pour produire soit des bascules simples déclenchées par les bords d’horloge, soit des circuits séquentiels plus complexes tels que des registres de stockage, des registres à décalage, des dispositifs de mémoire ou des compteurs. De toute façon, les circuits logiques séquentiels peuvent être divisés en trois catégories principales :
- 1. Événement Déclenché – circuits asynchrones qui changent d’état immédiatement lorsqu’ils sont activés.
- 2. Horloge Déclenchée – circuits synchronisés à un signal d’horloge spécifique.
- 3. Pulse Déclenché – combinaison des deux qui répond aux impulsions de déclenchement.
En plus des deux états logiques mentionnés précédemment, le niveau logique « 1 » et le niveau logique « 0 », un troisième élément est introduit qui sépare les circuits logiques séquentiels de leurs homologues combinatoires, à savoir LE TEMPS. Les circuits logiques séquentiels reviennent à leur état stable d’origine une fois réinitialisés, et les circuits séquentiels avec des boucles ou des chemins de rétroaction sont considérés comme étant de nature « cyclique ».
Nous savons maintenant que dans les circuits séquentiels, des changements n’ont lieu que lors de l’application d’un signal d’horloge, ce qui les rend synchrones, sinon le circuit est asynchrone et dépend d’une entrée externe. Pour maintenir leur état actuel, les circuits séquentiels s’appuient sur la rétroaction, ce qui se produit lorsqu’une fraction de la sortie est renvoyée à l’entrée, et ceci est démontré comme suit :
Boucle de Rétroaction Séquentielle
Les deux inverseurs ou portes NOT sont connectés en série avec la sortie à Q renvoyée à l’entrée. Malheureusement, cette configuration ne change jamais d’état car la sortie sera toujours la même, soit un « 1 » soit un « 0 », elle est définitivement définie. Cependant, nous pouvons voir comment fonctionne la rétroaction en examinant les composants logiques séquentiels les plus basiques, appelés bascules SR.
Logique Séquentielle – Bascule SR
La bascule SR, également connue sous le nom de verrou SR, peut être considérée comme l’un des circuits logiques séquentiels les plus basiques. Cette simple bascule est essentiellement un dispositif bistable de mémoire à un bit qui a deux entrées, une qui « RÉGLE » le dispositif (ce qui signifie que la sortie = « 1 »), étiquetée S, et une qui « RÉINITIALISE » le dispositif (ce qui signifie que la sortie = « 0 »), étiquetée R.
Alors la description SR signifie « Set-Reset » (Régler-Réinitialiser). L’entrée de réinitialisation remet la bascule à son état d’origine avec une sortie Q qui sera soit à un niveau logique « 1 » soit à un niveau logique « 0 », en fonction de cette condition de réglage/réinitialisation.
Un circuit de bascule SR à porte NAND de base fournit une rétroaction de ses deux sorties vers ses entrées opposées et est couramment utilisé dans les circuits de mémoire pour stocker un seul bit de donnée. Alors la bascule SR possède en réalité trois entrées : Set, Reset et sa sortie actuelle Q référence à son état ou son histoire actuelle.
Le terme « Bascule » se rapporte à l’opération réelle du dispositif, car il peut être « basculé » dans un état de « réglage » logique ou « renversé » dans l’état de « réinitialisation » logique opposé.
Logique Séquentielle – La Bascule SR à Porte NAND
La façon la plus simple de réaliser une bascule SR à réglage-réinitialisation binaire consiste à connecter ensemble une paire de portes NAND à 2 entrées croisées, comme indiqué, pour former un Bistable à Réglage-Réinitialisation, également connu sous le nom de Verrou ajusté à bas niveau, de sorte qu’il existe une rétroaction de chaque sortie vers l’une des autres entrées de porte NAND.
Ce dispositif se compose de deux entrées, l’une appelée Set, S et l’autre appelée Reset, R avec les deux sorties correspondantes Q et son inverse ou complément Q (not-Q) comme montré ci-dessous.
La Bascule SR de Base
L’état de Réglage
Considérons le circuit montré ci-dessus. Si l’entrée R est à un niveau logique « 0 » (R = 0) et l’entrée S est à un niveau logique « 1 » (S = 1), la porte NAND Y a au moins une de ses entrées à un niveau logique « 0 », donc sa sortie Q doit être à un niveau logique « 1 » (principes des portes NAND). La sortie Q est également renvoyée à l’entrée « A » et donc les deux entrées de la porte NAND X sont à un niveau logique « 1 », et sa sortie Q doit donc être à un niveau logique « 0 ».
Encore une fois, les principes des portes NAND. Si l’entrée de réinitialisation R change d’état et passe à un niveau logique « 1 » avec S restant également à un niveau logique « 1 », les entrées de la porte NAND Y sont maintenant R = « 1 » et B = « 0 ». Puisque l’une de ses entrées est toujours à un niveau logique « 0 », la sortie au niveau Q reste toujours à un niveau logique « 1 », et l’état ne change pas. Par conséquent, le circuit de la bascule est dit « Verrouillé » ou « Réglé » avec Q = « 1 » et Q = « 0 ».
État de Réinitialisation
Dans ce second état stable, Q est à un niveau logique « 0 », (not Q = « 0 ») son inverse en sortie à Q est à un niveau logique « 1 », (Q = « 1 »), et est donné par R = « 1 » et S = « 0 ».
Puisque la porte X a l’une de ses entrées à un niveau « 0 », sa sortie Q doit être à un niveau logique « 1 » (encore une fois les principes des portes NAND). La sortie Q est renvoyée à l’entrée « B », donc les deux entrées de la porte NAND Y sont à un niveau « 1 », alors Q = « 0 ».
Si l’entrée réglée, S change maintenant d’état à un niveau logique « 1 » avec l’entrée R restant à un niveau logique « 1 », la sortie Q reste à un niveau bas à « 0 » et il n’y a pas de changement d’état. Par conséquent, l’état « Réinitialisé » de la bascule a également été verrouillé et nous pouvons définir cette action « réglage/réinitialisation » dans le tableau de vérité suivant.
Tableau de Vérité pour cette Fonction de Réglage-Réinitialisation
État | S | R | Q | Q | Description |
Réglage | 1 | 0 | 0 | 1 | Régler Q » 1 |
1 | 1 | 0 | 1 | pas de changement | |
Réinitialisation | 0 | 1 | 1 | 0 | Réinitialiser Q » 0 |
1 | 1 | 1 | 0 | pas de changement | |
Invalide | 0 | 0 | 1 | 1 | Condition Invalide |
On peut constater que lorsque les deux entrées S = « 1 » et R = « 1 », les sorties Q et Q peuvent être à l’un ou l’autre niveau logique, « 1 » ou « 0 », en fonction de l’état des entrées S ou R AVANT l’existence de cette condition d’entrée. Par conséquent, la condition de S = R = « 1 » ne modifie pas l’état des sorties Q et Q.
Cependant, l’état d’entrée de S = « 0 » et de R = « 0 » est une condition indésirable ou invalide et doit être évité. La condition de S = R = « 0 » provoque les deux sorties Q et Q à être HAUTES ensemble à un niveau logique « 1 » quand nous aimerions normalement que Q soit l’inverse de Q.
Le résultat est que la bascule perd le contrôle de Q et Q, et si les deux entrées sont à nouveau passées à « HAUT » après cette condition à un niveau logique « 1 », la bascule devient instable et passe à un état de donnée inconnu basé sur le déséquilibre comme montré dans le schéma de commutation suivant.
Diagramme de Commutation de la Bascule S-R
Ce déséquilibre peut provoquer l’une des sorties à changer plus rapidement que l’autre, entraînant la bascule à passer à un état ou l’autre qui pourrait ne pas être l’état requis, et une corruption de données aura lieu. Cette condition instable est généralement connue sous le nom de son statut méta-stable.
Alors, une simple bascule SR à porte NAND ou verrou SR à porte NAND peut être réglée en appliquant une condition de niveau logique « 0 » (FAIBLE) à son entrée Set et réinitialisée à nouveau en appliquant ensuite un niveau logique de « 0 » à son entrée Reset. La bascule SR est dite être dans une condition « invalide » (méta-stable) si les entrées de réglage et de réinitialisation sont activées simultanément.
Comme nous l’avons vu ci-dessus, la bascule de base à porte NAND SR exige des entrées de niveau logique « 0 » pour basculer ou changer d’état de Q à Q et vice versa. Toutefois, nous pouvons changer ce circuit de bascule de base en un qui change d’état par l’application de signaux d’entrée montants avec l’ajout de deux portes NAND supplémentaires connectées comme inverseurs aux entrées S et R comme montré.
Bascule SR à Porte NAND Positive
En plus d’utiliser des portes NAND, il est également possible de construire des bascules SR à un bit simples en utilisant deux portes NOR croisées connectées dans la même configuration. Le circuit fonctionnera de manière similaire au circuit à porte NAND ci-dessus, sauf que les entrées sont actives HAUTES et la condition invalide existe lorsque les deux entrées sont à un niveau logique « 1 », comme montré ci-dessous.
Bascule SR à Porte NOR
Logique Séquentielle en tant que Circuits de Débouncing des Interrupteurs
Les bascules déclenchées par les bords exigent une transition de signal propre, et une application pratique de ce type de circuit à réglage-réinitialisation est un verrou utilisé pour aider à éliminer le « rebond » mécanique de l’interrupteur. Comme son nom l’indique, le rebond de l’interrupteur se produit lorsque les contacts de tout interrupteur à commande mécanique, bouton poussoir ou clavier sont actionnés et que les contacts internes de l’interrupteur ne se ferment pas totalement proprement, mais rebondissent d’abord l’un contre l’autre avant de se fermer (ou de s’ouvrir) lorsque l’interrupteur est enfoncé.
Ceci donne lieu à une série d’impulsions individuelles qui peuvent durer jusqu’à des dizaines de millisecondes, que un système ou un circuit électronique tel qu’un compteur numérique peut considérer comme une série d’impulsions logiques au lieu d’une seule longue impulsion et se comporter incorrectement.
Par exemple, pendant cette période de rebond, la tension de sortie peut fluctuer beaucoup et peut enregistrer plusieurs comptages d’entrée au lieu d’un seul comptage. Alors, les bascules SR à réglage-réinitialisation ou les circuits à verrou bistable peuvent être utilisés pour éliminer ce genre de problème et cela se démontre ci-dessous.
Circuit de Débouncing de l’Interrupteur à Bascule SR
En fonction de l’état actuel de la sortie, si les boutons de réglage ou de réinitialisation sont enfoncés, la sortie changera comme décrit ci-dessus et toute entrée indésirable supplémentaire (rebonds) résultant de l’action mécanique de l’interrupteur n’aura aucun effet sur la sortie à Q.
Lorsque l’autre bouton est pressé, le tout premier contact provoquera un changement d’état du verrou, mais tout rebond supplémentaire de l’interrupteur mécanique n’aura également aucun effet. La bascule SR peut alors être RÉINITIALISÉE automatiquement après une courte période de temps, par exemple 0,5 seconde, afin d’enregistrer toute entrée supplémentaire et intentionnelle répétée des mêmes contacts d’interrupteur, tels que des entrées multiples de la touche « RETOUR » d’un clavier.
Les circuits intégrés communément disponibles spécifiquement conçus pour surmonter le problème de rebond de l’interrupteur sont les MAX6816, entrée simple, MAX6817, entrée double et les circuits intégrés MAX6818 à entrée octale pour le débounce d’interrupteur. Ces puces contiennent le circuit de bascule nécessaire pour fournir une interface propre entre les interrupteurs mécaniques et les systèmes numériques.
Les verrous bistables à réglage-réinitialisation peuvent également être utilisés comme générateurs d’impulsions monostables (à impulsion unique) pour générer une seule impulsion de sortie, soit haute soit basse, d’une certaine largeur ou période de temps pour des besoins de synchronisation ou de contrôle. Le 74LS279 est un circuit intégré à verrou bistable SR quadruple, qui contient quatre bistables de type NAND individuels dans une seule puce rendant la construction des circuits de débounce d’interrupteur ou des circuits d’horloge monostables/astables facile.
Verrou Bistable Quadruple SR 74LS279
Logique Séquentielle – Bascules SR à Verrouillé ou Horloge
Il est parfois souhaitable dans les circuits logiques séquentiels d’avoir une bascule bistable SR qui ne change d’état que lorsque certaines conditions sont remplies, quel que soit l’état des entrées Set ou Reset.
En connectant une porte AND à 2 entrées en série avec chaque terminal d’entrée de la bascule SR, une Bascule SR à Verrouillé peut être créée. Cette entrée conditionnelle supplémentaire est appelée une entrée « Activée » et est désignée par le préfixe « EN“. L’ajout de cette entrée signifie que la sortie à Q ne change d’état que lorsqu’elle est HAUTE et peut donc être utilisée comme une entrée d’horloge (CLK), comme montré ci-dessous.
Bascule SR à Verrouillé
Lorsque l’entrée Activée « EN » est à un niveau logique « 0 », les sorties des deux portes AND sont également à un niveau logique « 0 », (principes des portes AND) quel que soit l’état des deux entrées S et R, verrouillant donc les deux sorties Q et Q dans leur dernier état connu.
Lorsque l’entrée activée « EN » passe à un niveau logique « 1 », le circuit réagit comme une bascule bistable SR normale avec les deux portes AND devenant transparentes aux signaux de réglage et de réinitialisation.
Cette entrée activée supplémentaire peut également être connectée à un signal d’horloge (CLK), ajoutant ainsi une synchronisation d’horloge à la bascule créant ce qu’on appelle parfois une Bascule SR Horodatée.
Dans le prochain tutoriel sur les Circuits Logiques Séquentiels, nous examinerons un autre type de bascule simple déclenchée par les bords qui est très similaire à la bascule RS, appelée bascule JK du nom de son inventeur, Jack Kilby. La bascule JK est la plus utilisée de toutes les conceptions de bascules, car elle est considérée comme un dispositif universel.