Les bascules Toggle Flip-flop sont des circuits logiques séquentiels fréquemment utilisés comme éléments de stockage bistables à un bit dans des compteurs, des dispositifs de mémoire ou comme diviseurs de fréquence en réponse à une impulsion d’horloge.
La bascule Toggle Flip-flop est un autre type de circuit logique séquentiel bistable basé sur le circuit de bascule JK horodatée précédent. Les bascules Toggle peuvent être utilisées comme un élément numérique de base pour stocker un bit d’information, comme un diviseur par deux ou comme un compteur.
Les bascules Toggle disposent d’une seule entrée et de une ou deux sorties complémentaires de Q et Q, qui changent d’état à la montée (front montant) ou à la descente (front descendant) d’un signal d’horloge ou d’une impulsion d’entrée.
Les bascules Toggle, TFF ou simplement “bascule de type T” ne sont pas commercialisées en tant que puce logique TTL ou CMOS dédiée, elles peuvent être facilement construites en connectant les entrées J et K d’une bascule JK de base où l’entrée J se comporte comme une commande Set (S), et l’entrée K se comporte comme une commande Reset (R).
Nous nous souvenons probablement du tutoriel précédent que la bascule JK est classée comme une bascule asynchrone où sa condition d’entrée (Haut ou Bas), et son état stable actuel, déterminent tous deux son prochain état de commutation.
La bascule JK peut être classée comme une bascule “universelle” parce qu’elle peut être configurée et utilisée pour reproduire l’action de commutation d’autres types de bascules selon les états logiques appliqués à ses entrées J et K. Mais avant d’examiner les bascule de type T plus en détail, rappelons-nous d’abord le circuit de bascule JK de base et son action de commutation.
Circuit de Bascule JK de Base utilisant des PORTES NAND
Le circuit ci-dessus montre la configuration de base d’une bascule JK utilisant quatre portes NAND, mais elles pourraient également être construites en utilisant des portes NOR. La bascule JK a trois entrées étiquetées J, K, et l’horloge (CLK). L’entrée de données J, (qui correspond à Set) est appliquée avec le retour d’Q à la porte NAND à trois entrées supérieure, tandis que l’autre entrée de données K, (qui correspond à Reset) et la connexion de retour Q sont appliquées à la porte NAND à trois entrées inférieure.
Si les entrées J et K sont toutes deux à l’état BAIS, (J = K = 0), alors il n’y aura aucun changement dans Q peu importe combien de fois l’impulsion d’horloge est appliquée. Si J = 0 (BAIS) et K = 1 (HAUT), le prochain front d’horloge réinitialise la sortie Q à l’état BAIS (Q = 0). Si J = 1 et K = 0, alors le prochain front d’horloge met la sortie Q à l’état HAUT (Q = 1).
Tableau des caractéristiques pour la fonction JK
CLK | J | K | Q | Q+1 | Action |
0 | X | X | 0 | 0 | Non autorisé |
_↑¯ | 0 | 0 | 0 | 0 | Pas de changement |
_↑¯ | 0 | 0 | 1 | 1 | |
_↑¯ | 0 | 1 | 0 | 0 | Réinitialiser |
_↑¯ | 0 | 1 | 1 | 0 | |
_↑¯ | 1 | 0 | 0 | 1 | Définir |
_↑¯ | 1 | 0 | 1 | 1 | |
_↑¯ | 1 | 1 | 0 | 1 | Basculer |
_↑¯ | 1 | 1 | 1 | 0 |
Où : X signifie « ne pas se soucier », un « 0 » ou un « 1 », et _↑¯ est le front montant de l’impulsion d’horloge.
Nous pouvons alors définir cette action de commutation sous forme booléenne comme étant :
Q+1 = J.K.Q + J.K.Q + J.K.Q + J.K.Q
Q+1 = K.Q(J+J) + JQ(K+K)
Q+1 = K.Q + J.Q
Où : Q représente l’état stable actuel de la bascule et Q+1 est le prochain état de commutation.
Le problème ici est que si les entrées J et K sont toutes deux à la logique « 1 », HAUT en même temps (J = K = 1), lorsque l’entrée d’horloge (CLK) passe à HAUT, ses sorties basculent et changent d’état en s’inversant mutuellement.
Mais comme les sorties sont renvoyées, les sorties changeront d’état en continu après avoir été inversées une fois, provoquant l’oscillation de la sortie à Q entre l’état défini et réinitialisé. Par conséquent, les bascules JK ne sont généralement pas construites en utilisant les configurations de portes NAND ou NOR de base comme indiqué ci-dessus, mais sont plutôt construites pour former des bascules maître-esclave (déclenchées par un front) plus avancées qui sont intrinsèquement beaucoup plus stables.
Bascule Toggle
Alors que la bascule Data (D) est une variation d’une bascule SR horodatée construite en utilisant soit des portes NAND, soit des portes NOR, la bascule Toggle (T) est une variation de la bascule JK horodatée. La bascule Toggle ou T-type tire son nom du fait que ses deux sorties Q et Q s’inversent par rapport à leur état précédent chaque fois qu’elle est déclenchée (T = 1).

C’est-à-dire que les sorties Q et Q changent à « 1 » si c’était « 0 », et « 0 » si c’était auparavant un « 1 », mais uniquement lorsque l’entrée « T » passe à HAUT; sinon, elles ne changent pas, et c’est cette action de basculement asynchrone qui nous intéresse ici.
JK est renommé T pour bascule de type T ou Toggle bascule et est généralement représenté par le symbole logique ou graphique montré. Le symbole schématique Toggle a deux entrées disponibles, l’une représentant l’entrée « toggle » (T) et l’autre l’entrée « horloge » (CLK).
Aussi, tout comme la bascule JK 74LS73, le modèle T-type peut également être configuré pour avoir une entrée d’activation appelée EN ou CE (activation de l’horloge) permettant de maintenir le dernier état de données stocké sur ses sorties indéfiniment. Ainsi, avec l’entrée d’activation de l’horloge réglée, l’application de nouvelles impulsions d’horloge empêche le basculement des sorties. Mais cette fonction « d’activation », si nécessaire, doit être mise en œuvre à l’aide de portes logiques supplémentaires.

Le triangle de chevron sur l’entrée de l’une ou l’autre bascule de type T indique qu’il s’agit d’un dispositif déclenché par un front. S’il y a une petite bulle ou un cercle à l’entrée, alors cela indique que la bascule bascule à la descente (HAUT vers BAS) de chaque impulsion; sinon, elle change d’état à la montée ou au front montant de chaque impulsion d’entrée (BAS vers HAUT).
Nous pouvons alors créer le circuit logique d’une bascule toggle à un bit en utilisant la bascule JK de base en connectant les entrées de données J et K ensemble où le point commun à la connexion des deux entrées est désigné T, comme montré.
La Bascule Toggle
Supposons d’abord que CLK et l’entrée T sont tous deux à l’état BAIS (CLK = T = 0), et que la sortie Q est à l’état HAUT (Q = 1). Au front montant ou descendant d’une impulsion CLK, la condition logique « 0 » présente à T empêche la sortie à Q de changer d’état. Ainsi, la sortie reste inchangée lorsque T = 0.
Maintenant, supposons que l’entrée T est à l’état HAUT (T = 1) et que CLK est à l’état BAIS (CLK = 0). Au front montant (en supposant une transition positive) d’une impulsion CLK à l’instant t1, la sortie à Q change d’état et devient BAIS, rendant Q HAUT. La transition négative de l’impulsion d’horloge de HAUT à BAS à l’instant t2 n’a pas d’effet sur la sortie à Q alors que la bascule est réinitialisée à un état stable.
À la prochaine montée du signal d’horloge à l’instant t3, la logique « 1 » à T passe à Q, changeant son état rendant la sortie Q HAUTE à nouveau. La transition négative de l’impulsion CLK à l’instant t4 de HAUT à BAS n’a encore une fois aucun effet sur la sortie. Ainsi, la sortie Q de la bascule “bascule” à chaque front montant (pour cet exemple) de l’impulsion CLK.
Tableau des caractéristiques pour la fonction Toggle
CLK | T | Q | Q+1 |
_↑¯ | 0 | 0 | 0 |
_↑¯ | 0 | 1 | 1 |
_↑¯ | 1 | 0 | 1 |
_↑¯ | 1 | 1 | 0 |
Nous pouvons then definir l’action de commutation de la bascule toggle sous forme booléenne comme suit :
Q+1 = T.Q + T.Q
Où : Q représente l’état stable actuel de la bascule et Q+1 est le prochain état de commutation.
Vous avez peut-être remarqué que l’équation caractéristique donnée sous forme booléenne pour la bascule toggle ci-dessus produira une sortie HAUTE pour le prochain état (Q+1) si les deux entrées de T et Q sont différentes, et une sortie BAIS si ces entrées sont les mêmes.
Cette idée de Q+1 est HAUTE uniquement lorsque l’une des entrées est HAUTE mais pas lorsque les deux entrées sont HAUTES, c’est-à-dire que l’une ou l’autre entrée mais pas les deux représente la même expression d’algèbre booléenne d’une fonction Exclusive-OR qui est donnée comme suit :
Q+1 = TQ + TQ = T XOR Q = T ⊕ Q
Nous pouvons then representer l’action de commutation d’une bascule toggle en utilisant une porte Exclusive-OR (Ex-OR) à 2 entrées.
Conversion de la Bascule JK en Bascule de type D
En plus des bascules bistables JK, nous pouvons également produire une action de basculement en utilisant des bascules de type D ou bascules de retard construites à partir d’une simple modification d’un circuit JK horodaté. La bascule de type D a deux entrées, D (Données) et CLK (Horloge) et change d’état en réponse à une transition de front positif ou négatif sur l’entrée d’horloge. La bascule de type D peut aussi servir à fournir un stockage temporaire d’un bit d’information comme la bascule toggle.
Conversion de la Bascule JK en Bascule de type D
L’ajout d’un inverseur (porte NOT) entre les terminaux J et K et leur remplacement par une seule entrée D (pour les données). Cela signifie qu’ils ne peuvent jamais avoir la même valeur numérique car si l’entrée J = 0, alors K = 1, de même si J = 1, alors K = 0.
L’avantage ici est que l’inclusion de l’inverseur entre J et K entraîne que la valeur de sortie à Q suit la valeur d’entrée D (0 ou 1) chaque fois que l’horloge (Clk) est HAUTE, logique “1”, et nous pouvons montrer cela dans le tableau de commutation ci-dessous.
Tableau des caractéristiques pour la fonction D-type
CLK | D | Q | Q+1 | Action |
_↑¯ | 0 | 0 | 0 | Réinitialiser |
_↑¯ | 1 | 1 | 1 | Définir |
où Q est l’état présent et Q+1 est le prochain état après l’application d’une seule impulsion d’horloge. Nous pouvons then définir l’action de commutation de la bascule de type D sous forme booléenne comme suit :
Q+1 = D
Ainsi, l’état stable de sa sortie ne bascule qu’entre HAUT ou BAS à chaque fois que son entrée d’horloge est pulsée, si et seulement s’il y a un changement dans l’entrée de données (D). Cela signifie que la configuration de la bascule de type D ne permet à la sortie à Q d’avoir la même condition d’état stable que l’entrée D lorsqu’elle est passée à HAUT.
L’inconvénient ici est que nous avons besoin de deux entrées séparées, D et Clk pour la faire basculer. Nous avons donc besoin d’un moyen de faire changer sa sortie Q à l’état opposé, c’est-à-dire basculer, avec l’application de chaque impulsion d’horloge.
Conversion de la Bascule D en Bascule Toggle
Nous avons vu ci-dessus que l’expression booléenne donnée pour l’action de commutation d’une bascule toggle peut représenter celle d’une porte exclusive-OR comme Q+1 = Q ⊕ T. Nous pouvons alors ajouter une porte logique exclusive-OR pour convertir la bascule de type D donnée en une bascule de type T comme montré.
Conversion de la Bascule de type D en Bascule de type T
Tableau des caractéristiques pour la Bascule Toggle
CLK | T | Q | Q+1 | Action |
_↑¯ | 0 | 0 | 0 | Pas de changement |
_↑¯ | 1 | 1 | 0 | Basculer |
_↑¯ | 1 | 0 | 1 |
Ici, « T » devient l’une des entrées d’une porte exclusive-OR à 2 entrées alors que la sortie Q est renvoyée pour devenir l’autre. Ainsi, T et Q sont toutes deux des entrées de la porte Ex-OR pour produire l’expression booléenne requise pour piloter l’entrée D. Si T = 0, la sortie de la porte exclusive-OR qui est Q ⊕ T sera également BAIS (0), donc la bascule de type D reste fixe dans un état stable.
Cependant, lorsque T = 1, l’exclusive-OR produit un changement d’état à D chaque fois que la bascule de type D est horodatée alors que la sortie Q qui est renvoyée à la porte bascule entre HAUT et BAS à chaque impulsion d’horloge, la rendant très utile comme un élément bistable lorsqu’un seul bit de données doit être stocké.
Comme cette configuration peut seulement maintenir son état inchangé, ou le complément de son état, il n’y a aucun moyen d’établir un état de sortie initial soit HAUT ou BAS lorsque l’alimentation est d’abord appliquée sans ajouter des entrées ou circuits externes de Pré-réglage (Pre) ou Effacement (Clr) pour initialiser ou définir la sortie Q à un état connu.
Aussi, puisque la sortie à Q change d’état sur le front mont отметить de chaque impulsion d’horloge, la période de temps de la sortie à Q sera égale à la moitié de la fréquence de l’impulsion d’horloge. En d’autres termes, l’action de basculement de la bascule de type T peut créer un circuit diviseur par deux dont la sortie aura un rapport Marque à Espace de 1:1 (50%), puisque la période BAIS et la période HAUT de la sortie Q sont de longueur égale.
L’avantage ici est que les bascules toggle peuvent être utilisées comme des compteurs binaires très simples ou des compteurs à propagation pour la division de fréquence (réduction de la fréquence d’une forme d’onde périodique) dans lesquels « n » nombre de bascule toggle sont connectées en série. Cela produit alors un ensemble de formes d’onde de sortie qui ont une fréquence ou période égale à la moitié de celle de la sortie précédente.