Fonctionnement des bascules JK
Avec un exemple pratique utilisant le Digi-Keyer d'origine
Introduction
Les bascules sont des circuits intégrés utilisés pour stocker un seul bit de données binaires dans deux états stables. Elles sont largement utilisées pour les compteurs, les registres, les diviseurs de fréquence et pour l'exemple utilisé ici, à savoir un circuit logique séquentiel, également connu sous le nom de multivibrateur astable.
Il existe de nombreux types de bascules, avec des fonctionnalités communes comme les entrées de réglage et de réinitialisation, les effacements, les présélections, les entrées d'horloge et les sorties logiques complémentaires. Elles sont déclenchées par une transition de front de montée ou de descente à l'entrée d'horloge. Les types courants incluent la bascule SR, la bascule D ou la bascule T. Les bascules JK sont parfois qualifiées d'« universelles », car elles peuvent être configurées pour émuler de nombreux autres types de bascules.
Fonctionnalités des bascules JK
Lorsque l'on travaille avec des bascules, il est essentiel de garder à portée de main la table de vérité de la fiche technique du dispositif afin de déterminer les caractéristiques de sortie en fonction des multiples options d'entrée et transitions d'horloge. Le CD74HCT73E de Texas Instrument, par exemple, est une bascule JK double typique avec des caractéristiques courantes et une table de vérité facile à lire.
Il y a deux vérités fondamentales à retenir : la sortie Q (barre) ou notQ est toujours le complément de la sortie Q et il n'y a que quatre configurations d'entrée JK qui déterminent la sortie lorsque l'entrée d'horloge passe de l'état haut à l'état bas. Reportez-vous à la Figure 1 pour connaître les configurations JK possibles. Le terme toggle signifie que l'état actuel des sorties Q et notQ est inversé lorsque J et K sont toutes les deux à l'état haut et que l'horloge passe de l'état haut à l'état bas (condition 4 dans la table de vérité)
Figure 1 : Table de vérité de la fiche technique d'une bascule JK typique.
Les vérités fondamentales mentionnées ne tiennent pas compte de l'entrée de réinitialisation (R) qui donne à la bascule un état initial lorsque la réinitialisation est maintenue à l'état bas. Le terme « irrelevant » est utilisé dans la fiche technique en ce qui concerne les entrées d'horloge et JK lorsque la réinitialisation est à l'état bas. Les modifications de ces entrées n'ont aucun effet sur la sortie tant que la réinitialisation ne passe pas à l'état haut et qu'aucune transition d'horloge n'est reçue.
À méditer : Lorsqu'une bascule est mise sous tension pour la première fois, sa sortie n'est pas automatiquement définie sur un état connu. Il n'y a aucun moyen de prévoir l'état de la sortie qui prévaudra, et l'entrée de réinitialisation permet donc d'initialiser la sortie à un état connu après la mise sous tension.
Exemple de circuit logique séquentiel : générateur de code morse
Il faut trois points pour faire un trait
Le générateur de code morse Digi-Keyer possède de nombreux composants ayant des tâches spécifiques. Pour illustrer le rôle des bascules, des éléments connexes sont inclus avec les bascules appelées FF1 et FF2. Reportez-vous à la Figure 2 pour connaître le schéma de la section de formation des caractères point-trait du Digi-Keyer.
Figure 2 : Circuit de formation des caractères avec bascules du Digi-Keyer
Avant de plonger dans la création des caractères (points et traits, ou DIT et DAH), il faut expliquer la fonction de la porte logique NOR1. La porte logique NOR1 n'est pas seulement le premier étage du circuit de sortie des caractères. Elle permet également à un circuit de temporisation de fournir des impulsions régulières à FF1 pendant la durée où la sortie NOR1 est à l'état bas. Lorsque la sortie NOR1 est à l'état haut, les impulsions cessent à la fin du cycle de temporisation en cours.
Une pression sur l'interrupteur à palette des points déclenche une impulsion initiale de transition haut-bas depuis le circuit de temporisation vers l'entrée C de FF1. Les broches de sortie Q et notQ s'inversent, car les entrées JK sont toutes deux maintenues à l'état haut. NotQ déclenche la sortie d'un signal bas de NOR1 vers le circuit de temporisation, indiquant qu'un point est en cours. À la fin de la fonction de temporisation, une autre impulsion est envoyée à FF1, ce qui la ramène à son état normal. Pendant la formation du point, la sortie Q de FF1 déclenche l'entrée C de FF2, mais comme la palette des traits n'a pas été actionnée (l'entrée J de FF2 est à l'état bas), la sortie de FF2 suit la condition 3 de la table de vérité à la Figure 1. La Figure 3 présente la table de vérité logique séquentielle résultante pour la génération d'un seul point.
Figure 3 : Table de vérité logique séquentielle pour la formation d'un point.
Une pression sur la palette des traits déclenche également une impulsion initiale du circuit de temporisation qui active FF1 et définit l'entrée J de FF2 à l'état haut, ce qui entraîne également l'activation des sorties de FF2. Comme la sortie Q de FF2 déclenche également la sortie NOR1 à l'état bas, les impulsions de temporisation se poursuivent. La sortie de NOR1 ne repasse pas à l'état haut tant que FF1 et FF2 ne sont pas revenues à leur état normal, ce qui nécessite trois cycles de points. La Figure 4 présente la table de vérité logique séquentielle pour la génération d'un seul trait.
Figure 4 : Table de vérité logique séquentielle pour la formation d'un trait.
Le temps nécessaire pour que les bascules reviennent à leur état normal dépend du temps qui s'écoule entre les transitions haut-bas. Dans cet exemple, le temps à l'état bas d'un cycle d'impulsions est fixé à 8 ms, mais le temps à l'état haut est ajustable de 15 à 150 ms dans le circuit de temporisation. Au réglage le plus lent, les points ont une longueur d'environ 158 ms et les traits une longueur d'environ 474 ms. La transition haut-bas finale qui ramène FF1 et FF2 à leur état normal revient à l'état haut en 8 ms, ce qui se traduit par une espace fixe entre les caractères si l'un des interrupteurs à palette ou les deux sont maintenus fermés (état haut).
Autre point à méditer : Lors de la mise sous tension du circuit, FF1 et FF2 peuvent se retrouver dans des états logiques aléatoires, comme indiqué précédemment. Si un état quelconque se traduit par un état bas à la sortie de NOR1, le circuit de temporisation commence à envoyer des impulsions jusqu'à ce que FF1 et FF2 atteignent leur état normal. Les bascules sont ainsi automatiquement initialisées à leur état normal après la mise sous tension sans utiliser l'entrée de réinitialisation.
Résumé
Il peut être difficile de suivre la logique des bascules étape par étape, et c'est pourquoi la génération de tables de vérité comme celles des Figures 3 et 4 est utile pour visualiser le travail qui se déroule en arrière-plan. Dans cet exemple, une logique séquentielle à plusieurs étapes a été réalisée sans utiliser de microcontrôleur ni d'horloge fixe fonctionnant en permanence. Les sorties des bascules sont des données stockées, c'est-à-dire qu'il faut une modification délibérée de l'entrée pour modifier la sortie. Les données sont également volatiles. Lorsque l'alimentation est coupée, les données sont perdues. L'objectif du générateur de code morse n'est pas de produire des données. Les bascules sont utilisées pour se souvenir d'une condition précédente afin de déterminer la condition suivante entre les transitions haut-bas des impulsions d'horloge.
Ressources :
Créer des ondes quasi sinusoïdales à partir d'ondes carrées
Actualisation du Digi-Keyer d'origine
Présentation des circuits de temporisation RC
Vous voulez assembler le Digi-Keyer et découvrir comment il fonctionne ? DigiKey Electronics fournit l'ensemble complet de plans, la nomenclature, le code de programmation, les fichiers de circuits imprimés, et plus encore dans ce référentiel :
https://media.digikey.com/pdf/Project%20Repository/Digikeyer.zip

Have questions or comments? Continue the conversation on TechForum, DigiKey's online community and technical resource.
Visit TechForum