Je suis d'accord avec vous et en désaccord avec @Kynit: le multiplexeur est la partie marquée "tampons" sur votre schéma. Mais plus à ce sujet dans un instant: parcourons le circuit à l'envers, de l'affichage à l'oscillateur.
Je ne vais pas fournir de schémas, et peut être un peu vague parfois - comme vous apprenez, j'imagine qu'il vaut mieux ne pas en dire trop.
Affichage
Si je comprends bien, vos trois écrans à 7 segments sont à anode commune et ont le cathodes de chaque segment câblées au segment correspondant dans les deux autres écrans. Cela implique que si vous connectez les trois anodes à l'alimentation positive et une cathode donnée à l'alimentation négative (en utilisant des résistances de limitation de courant appropriées, bien sûr), le segment correspondant s'allume sur les trois
Ceci n'est évidemment pas souhaitable, car vous voulez pouvoir contrôler chaque affichage indépendamment. C'est ici qu'interviennent les pilotes numériques.
Digit Drivers
Au lieu de connecter directement chacune des trois anodes à l'alimentation positive, vous pouvez utiliser trois transistors (un sur chaque écran) comme interrupteur pour connecter sélectivement un seul écran à tout moment.
Pour ce faire, vous connecteriez le collecteur de chaque transistor à l'alimentation positive, l'émetteur à l'anode de l'écran via une résistance de limitation de courant, et utilisez la base comme entrée de commande. L'application d'une tension positive à la base allume l'écran, le reliant à la terre éteint l'écran.
Vous pouvez maintenant décider quel écran affichera un chiffre donné. Ce n'est que la moitié de la bataille cependant - vous avez toujours besoin d'un moyen de prendre les neuf bits d'entrée et de ne sélectionner que les trois bits correspondant à l'affichage actuellement activé.
Multiplexeur
C'est là que le multiplexeur entre en jeu. En fait, un multiplexeur est juste un appareil qui prend plusieurs signaux d'entrée et sélectionne celui à émettre. Ici, vous souhaitez diviser l'entrée de neuf bits en trois entrées de trois bits (c'est-à-dire chiffre 0
, chiffre 1
et chiffre n-1
sur votre schéma), puis utilisez le multiplexeur pour placer un seul de ceux-ci sur le "bus d'affichage" à un moment donné.
Vous aurez besoin d'un multiplexeur 3-en-1 (vous en avez trois entrées et une sortie), soit trois bits de large (chaque signal est de 3 bits). Heureusement, c'est la même chose que d'avoir trois multiplexeurs 3 en 1 parallèles à un bit, pour lesquels les schémas peuvent être facilement trouvés en ligne.
Par exemple, le bit 0 du chiffre 0
, le bit 0 du chiffre 1
et le bit 0 du chiffre n-1
se connectent aux trois entrées du premier multiplexeur, et sa sortie devient le bit 0 de votre "bus d'affichage" ". Répétez deux fois de plus pour le bit 1 et le bit 2.
Alors, comment décidez-vous quelle sortie est active à tout moment? Le multiplexeur dispose de deux lignes de «sélection» supplémentaires: appliquer la logique 00
à ces lignes sélectionne la première entrée, la logique 01
la seconde et la logique 10
le troisième (avec 11
inutilisé). Vous pouvez trouver des designs avec une configuration légèrement (par exemple 01
, 10
, 11
au lieu de 00
, 01
, 10
), mais la première configuration est probablement la plus courante, et c'est ce que je suppose dans le reste de la discussion.
Génial, donc vous pouvez contrôler quel affichage est actif et quelle partie des données d'entrée il affiche. Mais comment faire défiler les chiffres?
Compteur
Ce dont vous avez besoin maintenant, c'est une sorte de compteur cyclique qui sélectionne d'abord l'affichage 0, puis sélectionne l'affichage 1, puis l'affichage 2 , retour à l'affichage 0, affichage 1, et ainsi de suite.
Ceci est connu sous le nom de compteur mod-3, car il n'a que trois états de sortie possibles: 0, 1 et 2. Les compteurs numériques sont plus facilement construits en utilisant une construction mod-2 n , par exemple mod-2, mod-4, mod-8, etc., car cela correspond à un nombre entier de bits de sortie (par exemple 1 bit, 2 bits et 3 bits respectivement). Heureusement, il est également facile de convertir un compteur mod-4 (c'est-à-dire 2 bits) avec une entrée "reset" en mod-3 - liez simplement le deuxième bit de sortie (qui devient haut lorsque le compteur atteint 2) à l'entrée reset. Cela signifie qu'il reviendra immédiatement à 0 lors du cycle suivant, au lieu d'aller d'abord à 3.
Encore une fois, les schémas du compteur mod-4 peuvent être trouvés facilement sur Internet.
Vous pouvez ensuite le lier directement à votre multiplexeur - lorsque le compteur émet 0 (logique 00
) les données d'entrée pour le premier affichage sont placées sur le bus d'affichage, sortie 1 ( 01
) sélectionne les données du deuxième écran et la sortie 2 sélectionne la troisième.
Encore une fois, ce n'est que la moitié de la bataille - vous pouvez maintenant parcourir les données d'entrée, mais vous ne contrôlez toujours pas activement quel affichage est actif.
Décodeur 2 à 4
Pour contrôler quel affichage est actif, vous voulez appliquer un signal positif à chaque pilote d'affichage à tour de rôle. Autrement dit, lorsque le compteur émet 0 (et que le multiplexeur a placé le chiffre 0
sur le bus d'affichage), vous voulez que la base du premier transistor devienne positive et les deux autres se mettent à la masse. Un argument similaire s'applique aux deux autres pilotes d'affichage. C'est le but de votre bloc "Sélectionner un chiffre".
Donc, vous voulez essentiellement prendre cette sortie à deux bits de votre compteur et l'utiliser pour sélectionner l'une des trois lignes en fonction de la valeur du compteur. Le circuit qui peut faire cela s'appelle un décodeur 2-to-4, qui a simplement deux lignes d'entrée et quatre sorties. Lorsque l'entrée est 00
, la première sortie est haute et les autres sont faibles. Lorsque l'entrée est 01
, la deuxième sortie est haute et les autres sont faibles. Lorsque l'entrée est 10
, la troisième sortie est haute et les autres sont faibles. Et lorsque l'entrée est 11
, la quatrième sortie est haute et les autres sont faibles.
Vous n'avez pas besoin de quatre sorties, et votre compteur ne sortira jamais 11
de toute façon, alors utilisez simplement les trois premières sorties et connectez-les à vos pilotes d'affichage (en ignorant la quatrième sortie).
Notez que votre multiplexeur 3-en-1 contient essentiellement son propre décodeur 2-à-4 interne, donc si vous implémentez tout cela en logique discrète, vous pouvez en fait simplifier le multiplexeur en utilisant la sortie du décodeur 2-to-4 que vous utilisez pour le sélecteur de chiffres - c'est ce que semble être implicite dans votre schéma.
Encore une fois, les schémas pour les décodeurs 2 à 4 sont faciles à trouver en ligne.
Il y a encore une dernière chose dont vous avez besoin - un signal pour provoquer le compteur pour parcourir ses valeurs.
Oscillateur
Votre circuit 555 est votre oscillateur, qui produit simplement un signal d'horloge qui pilote le compteur. Le circuit multivibrateur astable que vous montrez est exactement ce dont vous avez besoin, la seule chose que vous devez comprendre est la fréquence de sortie et le cycle de service souhaités.
Comme mentionné par @EM Fields, le cycle de service n'est probablement pas très important ici, donc un cycle 50/50 est une valeur par défaut raisonnable.
Pour la fréquence, vous devriez essayer de rafraîchir tout l'affichage au moins 30 fois par seconde pour éviter un scintillement gênant. Étant donné que vous devez passer par chacun des trois états du compteur pour mettre à jour l'affichage une fois, cela signifie que votre oscillateur doit fonctionner à au moins 90 Hz, mais cela vaut la peine d'aller beaucoup plus vite que cela pour être sûr. D'un autre côté, pendant les tests, il peut être utile de faire fonctionner l'oscillateur (très) lentement car vous pouvez alors regarder les chiffres au fur et à mesure qu'ils changent.
Compte tenu de ces valeurs, il existe des formules facilement disponibles qui vous le diront Quelle est la taille des résistances à utiliser.
Une remarque
Là où le démultiplexeur entre en jeu (dont votre professeur a fait allusion), c'est avec le décodeur 2-to-4. Comme son nom l'indique, un démultiplexeur fait le contraire d'un multiplexeur, en prenant une seule entrée et en la commutant entre l'une des plusieurs sorties. En tant que tel, le décodeur 2 à 4 est fondamentalement juste un démultiplexeur 1 à 4 à un bit, avec son entrée fixée en permanence à la logique 1
. C'est pourquoi je ne suis pas d'accord avec @Kynit - ce qu'il / elle décrit comme un multiplexeur est, en fait, un de -multiplexeur, et le multiplexeur réel est ailleurs dans le circuit.
J'espère que ce qui précède vous aidera! Si quelque chose ne va pas, faites-le moi savoir et je serai ravi de régler le problème.