Logique séquentielle


redbox.gif (41 octets)

 

Jusqu'à présent, nous avons vu des circuits dont l'état de la sortie dépendait exclusivement de l'état des entrées. On appelle cette logique la logique combinatoire (de combinaisons).
Dans ce chapitre nous présenterons la logique séquentielle dans laquelle la sortie dépend aussi de l'état passé des entrées.

les bascules bistables :

On les appelle bistables car ces bascules ont deux états stables ce qui signifie que s'il n' y pas intervention sur la bascule, celle-ci est verrouillée dans son dernier état. Par opposition un monostable revient après un temps "t" vers son seul état stable.

La bascule RS :

seq1.gif (1513 octets)

seq2.gif (1257 octets)


Voici une bascule RS constituée à partir de portes NAND.
La sortie Q est reliée à l'entrée /R, la sortie /Q est reliée à l'entrée /S


et ci-dessus le symbole de la bascule RS.

S (set) consiste à mettre à 1
R (reset) consiste à mettre à 0
la bascule RS est donc munie de deux entrées (R et S) et d'une sortie Q. (la sortie complémentée /Q est également disponible). Une impulsion sur S provoque le passage de Q à 1 et une impulsion sur R provoque la passage de Q à 0
Qn S R Qn+1
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 ?
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 ?
Qn représente l'état antérieur de la sortie, S et R sont les entrées et Qn+1 la sortie après action sur les entrées.
Les valeurs "?" sont des états d'incertitude.

Constat :
Quand S et R sont à 1, il y a indétermination
Cette bascule réalise une mémorisation  de l'état de sortie jusqu'à une nouvelle action sur la mise à 1 ou à 0.
Imaginez que vous souhaitiez commander une cafetière par un dispositif à 2 boutons, l'un pour la mise en marche et l'autre pour l'arrêt, ce dispositif est tout à fait adapté car la sortie basculera à 1 si S=1 et état antérieur =0. Elle conservera ce niveau jusqu'à ce qu'une action soit effectuée sur R.
La logique et les rebonds:

Non ce n'est pas une blague... Tout expérimentateur en logique aura, à un moment ou l'autre, constaté que son montage fonctionnait erratiquement quand il manœuvrait soit le bouton poussoir de mise en route soit un interrupteur autorisant un comptage.
Ce phénomène est du au rebond de l'interrupteur ou du bouton poussoir, car vous croyez ne faire qu'une impulsion alors qu'il s'en produit bcp. Pour lutter contre ce phénomène gênant, il faut intercaler de l'électronique entre la mécanique et la logique et quoi de mieux adapté qu'un flip flop RS. Voici le schéma
Les entrées R et S sont reliées au + Vcc par l'intermédiaire de résistances. Un commutateur bascule la masse sur l'une ou l'autre entrée. Remarquez qu'avec ce système on ne peut jamais avoir durablement la même valeur (1 ou 0) sur les deux entrées.
Imaginons que vous envoyiez plusieurs impulsions sur S ( Q était =0) La première impulsion va provoquer le basculement de Q vers 1. Cette position sera mémorisée tant que vous n'appliquerez pas un 1 sur R. Les autres impulsions sur S seront sans effet.
Voilà une application supplémentaire de la bascule RS.

seq3.gif (2134 octets)

Synchrone Asynchrone
Un système est dit synchrone si l'on peut, par le biais d'un signal externe appelé "horloge", contrôler l'évolution de l'état des sorties. Un système est dit asynchrone si l'on ne peut contrôler l'évolution de l'état des sorties par un signal externe quand des signaux sont appliquées aux entrées.
La bascule RSH :
Comme nous l'avons vu, il existe une combinaison d'entrées et d'états antérieurs provoquant une incertitude sur la sortie, ce qui est difficilement acceptable. Aussi la bascule  RS a t'elle évolué vers la bascule RSH.

La bascule RSH est une bascule est dotée d'une commande H horloge qui autorise ou pas le changement d'état de la sortie et ceci quels que soient les niveaux sur les entrées S et R.
Quand H=1 la bascule RS fonctionne comme une bascule RS standard,
Quand H=0, les entrées n'ont plus d'action sur la sortie et la bascule RS mémorise le dernier état.  On dit que la bascule RSH est synchrone car toute évolution de la sortie est dépendante du niveau logique de l'horloge H.
Pour vous en convaincre, mettez mentalement un 0 sur H. Comme il s'agit de portes NAND, la sortie de chaque porte est à 1, quel que soit l'état de S ou R. Maintenant, appliquez un 1  sur Het observez la table de vérité du NAND, les sorties basculent effectivement en fonction du niveau appliqué sur l'entrée S ou R.
Nous retiendrons que pour cette bascule, les entrées agissent sur la sortie quand H=1


seq4.gif (1773 octets)

seq5.gif (1278 octets)

La bascule D :
Variation sur le même thème, la bascule D est une bascule sur laquelle, grâce au montage d'un inverseur ou d'une astuce de montage, on a toujours S= /R ou (je rappelle que S= mise à 1, Reset = mise à 0), on ne peut donc pas se trouver dans la combinaison S=R=0 ou1.
les deux seules combinaisons possibles sont S=0 R=1 et S=0 R=1.
La sortie Q va donc prendre l'état de l'entrée que l'on appellera D comme data (données) en fonction du niveau logique appliqué sur l'horloge.
Su H=1, la sortie Q suit l'entrée Data, si H=0, la bascule mémorise le dernier état.

seq6.gif (1851 octets)

seq7.gif (1282 octets)

On distingue plusieurs types de bascules D, le type Latch-D dont la sortie réagit en fonction de l'entrée et du niveau de H et le type Edge-triggered qui réagit aux valeurs d'entrée et aux fronts montants ou descendants de H.

seq8.gif (1835 octets)

Voici un exemple de chronogramme permettant de visualiser l'effet de l'horloge sur la sortie Q n fonction de l'entrée "données".
Vous pouvez observer le comportement différent de la sortie selon que la bascule réagit à un niveau (latch) ou à un front (edge).
H = horloge
D= données
La bascule JK :

C'est une bascule RSH classique sur laquelle on autorise la combinaison S=1 R=1. On la réalise en connectant la sortie /Q par l'intermédiaire d'une ET à l'entrée S et en connectant Q   toujours par une porte ET à l'entrée R.
JK veut dire Valet Roi (joker/king).

seq9.gif (1315 octets)

 
J K H Q
0 Etat antérieur inconnu Qn-1
0 0 1 Qn-1
0 1 1 0
1 0 1 1
1 1 1 /Qn-1
On n'utilise pratiquement plus les bascules JK à contrôle de niveau, on leur préfère les bascules déclenchant soit sur front montant, soit sur front descendant. On pourra dire pour la bascule JK que quand J=1, la sortie Q passe à 1, quand K passe à 1, Q passe à 0.
Si J et K = 0, la sortie n'évolue pas et la bascule mémorise, si J et K = 1 la sortie bascule à chaque front d'horloge (le montant ou le descendant, pas les deux...)
Les bascules JK sont utilisées pour réaliser des compteurs, c'est un élément fondamental.
Un mot sur les symboles :

Quand le basculement de la sortie est conditionné par un front et non pas par un niveau, la bascule porte sur l'entrée horloge le symbole
> .

Bascules monostables :


Nous venons de voir les bascules bistables, vous avez pu constater qu'il fallait effectuer une opération pour passer de l'un à l'autre et que l'on pouvait rester indéfiniment dans un état ou l'autre.
Avec les monostables, il en va autrement, ces bascules n'ont qu'un et un seul état stable. Au bout d'un temps "t" ces bascules repasse sur l'état stable.
On passe de l'état stable vers l'autre état appelé "quasi stable" par une action sur une entrée.

seq10.gif (1534 octets)

Et voici une bascule monostable composée à partir de portes NOR. La constante de temps est fixée par RC. Augmenter la valeur de C et/ou de R revient à augmenter la constante de temps, donc le retour à l'état stable.


Comment ça marche ?


Au repos mettons l'entrée  e1 à 0,  et supposons e2 à 0, la sortie de cette porte NOR sera égale 1. L'entrée f1 est à 1 puisque reliée à Vcc par l'intermédiaire de R, f2 est à 0 puisque directement reliée à la masse, la sortie est donc à 0. Si l'on ne change rien au niveau de l'entrée e1, rien ne bougera, l'état est stable.
Ci-dessous l'état des entrées et sorties à l'état repos.

e1 e2 S1 f1 f2 S2
0 0 1 1 0 0

Appliquons un niveau logique 1 sur l'entrée e1.
L'entrée e2 est toujours à 1, la sortie passe S1 passe à 0 ce qui simultanément applique un 0 sur f1. Le condensateur se charge à travers R avec une constante de temps= RC.
La sortie S2 passe à 1.
Le condensateur s'est chargé au bout d'un temps "t", l'entrée f1 retrouve un niveau 1 et provoque le basculage de S2 vers 0, càd l'état stable.

Le trigger de Schmitt :


Notre  tour d'horizon (très sommaire) de la logique digitale serait incomplet sans un détour par le trigger de Schmitt.
Il s'agit d'un ensemble possédant deux seuils qui feront basculer la sortie, l'un vers le niveau haut, l'autre vers le niveau bas. C'est très utile quand il s'agit de transformer un signal quelconque en signal carré. Observons le résultat.

seq11.gif (1492 octets)

Remarquez que nous avons une réaction de la sortie par le biais du pont R1-R2 sur l'entrée, ceci devrait vous faire penser aux montages utilisant des AOP.
Imaginons que la tension à l'entrée soit faible et interprétée comme un 0 logique, la sortie de la première porte est égale à 1.
La tension à l'entrée augmente, ce qui provoque un 1 logique et le passage de la sortie de la 1ère porte à 0 ce qui va faire passer la sortie de la porte 2 à 1. Le phénomène est accentué par le fait qu'une partie de la tension de sortie est ramenée à l'entrée, ceci diminue le temps de commutation.
le basculage de la sortie s'effectue à nouveau quand la tension sur l'entrée passe sous un certain seuil. Dans ce type de montage, les valeurs de résistances sont critiques. Il existe naturellement des triggers de précision intégrés.

seq12.gif (1910 octets)


Bon, nous allons nous arrêter ici pour la logique séquentielle. Si vous souhaitez de plus amples explications reportez-vous au web, le sujet y est traité de façon exhaustive.
Nous allons nous recentrer vers notre cœur d'activité en passant à l'étude du merveilleux tube à vide.


Retour vers la page d'accueil du traité
Retour vers la page d'accueil du site F6CRP

Conception-réalisation : Denis Auquebon F6CRP