Question:
Est-il possible de créer des portes logiques modulaires à partir de transistors à des fins d'enseignement?
Dom
2020-07-07 18:52:22 UTC
view on stackexchange narkive permalink

J'aimerais travailler sur quelques circuits logiques de base avec des jeunes et je voulais les construire à partir de zéro (transistors), pas de portes logiques si possible.

Nous avons fait les bases: buffer, NOT, AND, OR, NAND, XOR en utilisant simplement des mosfets et des résistances NPN. Nous avons même pu accéder aux verrous en D. À titre d'exemple, les portes ET avec lesquelles nous jouons ont été construites comme ceci:

schematic

simuler ce circuit - Schéma créé à l'aide de CircuitLab

Le problème est que comme les circuits sont devenus de plus en plus complexes, avec des émetteurs de transistors alimentant d'autres bases de transistors, je n'ai pu faire fonctionner les choses qu'en équilibrant très soigneusement les valeurs de résistance pour m'assurer que les transistors sont déclenchés quand ils le devraient. être.

Je voudrais pouvoir construire des portes logiques modulaires, qui sont identiques et peuvent simplement être connectées les unes aux autres sans avoir à calculer soigneusement les valeurs de résistance.

Une autre restriction est que nous avons actuellement 200 transistors NPN BC547ATA et un grand nombre de résistances, donc si c'est réalisable sans acheter plus de composants, ce serait idéal.

Pourquoi ne pas utiliser des résistances de base sur un schéma comme celui-là?
Voyant à quel point les transistors sont bon marché et à quel point la logique utilisant un type de transistor singulier est pratiquement inexistante ces jours-ci, je suggérerais simplement de vous procurer des transistors PNP (ou mieux nmos / pmos) pour que vous puissiez créer une série de circuits plus complémentaire?
Pour les systèmes plus grands, vous aurez besoin d'une implémentation avec gain pour restaurer les marges de bruit et vous voudrez probablement conduire activement haut et bas, pas seulement activé ou désactivé ... vous aurez donc besoin de types PNP.Envisagez des travaux de formation en ingénierie dans des couches d'abstraction d'oignon inversées.Vous construisez une porte discrète puis vous utilisez des portes IC, puis des IC à fonction fixe avec des MCU, des CPLD et des FPGA.Les gens qui gardent tout cela discrètement ne sont pas très réalistes pour apprendre comment fonctionne quelque chose d'utile.
Suggestion: connectez uniquement les transistors NPN près de la terre et les transistors PNP près du rail d'alimentation, vous n'aurez alors pas besoin d'équilibrer les valeurs de résistance.Votre exemple de circuit a des transistors NPN près du rail d'alimentation, ce qui est défectueux.
En fait, la "porte ET" illustrée ci-dessus ne fonctionne pas.La LED s'allumera dès que l'interrupteur inférieur est activé, quel que soit l'état de l'interrupteur supérieur.Ah, peu importe - je viens de remarquer que vous avez dit "mosfets" même si vous avez également dit NPN et utilisé des symboles BJT dans votre schéma.Avant d'aller plus loin, vous devez savoir quelles sont les différences entre les MOSFET et les BJT.Mais si vous utilisez des MOSFET à canal N, vous aurez besoin de résistances pull-down sur les portes.
En fait, le BC547 ** est ** un BJT, donc mon commentaire original est valable - la porte AND ne fonctionne pas.
@uglyoldbob Je travaillais de mémoire lorsque j'ai dessiné le schéma mais je devais avoir des résistances sur les bases.
Le schéma @DaveTweed ci-dessus est incorrect.J'aurais eu des résistances sur les bases, ce qui, lorsque vous équilibrez correctement les valeurs, lui permet de fonctionner comme une porte ET.
Il me semble que le fait que vous ne puissiez pas vraiment utiliser les circuits trop simplifiés pour créer des circuits logiques arbitrairement complexes est une leçon utile en soi.Pourquoi ne pas utiliser la logique 74HC comme tout le monde?Avec un peu de chance, ils en apprendront également sur le verrouillage.
@SpehroPefhany Mon objectif est de jeter les bases et de passer au plus vite aux portes logiques packagées.Je ne pense tout simplement pas qu'il serait utile pour un enfant de neuf ans de partir d'une «boîte noire», car au moins un transistor peut «comprendre» un interrupteur électronique.
Cinq réponses:
#1
+13
Dave Tweed
2020-07-07 19:14:09 UTC
view on stackexchange narkive permalink

Si vous n'avez que des NPN et des résistances, vous voudrez utiliser une forme de RTL. Ici, l'élément logique de base est la porte NOR. La porte à un transistor utilise moins de transistors (évidemment), mais la porte à plusieurs transistors est plus robuste à plusieurs égards.

Et il y a une opportunité d'enseignement ici, pour montrer comment la porte NOR est un élément logique "universel" - toutes les autres fonctions peuvent être créées par des combinaisons de portes NOR (y compris la porte NOR dégénérée à 1 entrée, ou inverseur).

Même les grands systèmes ont été construits de cette façon. La logique originale de Cray-1 a été entièrement implémentée en utilisant des portes ECL NOR à 4 et 5 entrées!

Une stratégie de mise en œuvre serait de construire des portes individuelles à 3, 4 ou 5 entrées sur des modules à une seule ligne comme ceux-ci:

uni-sip modules

( source)

Ceux-ci sont faciles à brancher sur une prise de maquette, permettant aux étudiants de se concentrer sur la logique qu'ils construisent. Si vous en avez besoin d'un grand nombre, faites fabriquer un PCB personnalisé.

Et si vous êtes vraiment ambitieux, vous pouvez les brancher sur une carte wirewrap universelle pour des projets plus importants et une implantation plus permanente.

universal wirewrap prototype card

Peut également valoir la peine de consulter le [groupe TTLers Hackaday.io] (https://hackaday.io/project/8449-hackaday-ttlers), qui contient une variété d'articles rédigés par des personnes intéressées par des implémentations logiques discrètes, y compris [en profondeurdiscussions des implémentations de RTL tel qu'utilisé par DEC] (https://hackaday.io/project/8449-hackaday-ttlers/log/130460-bizarre-dtl-logic-levels-the-discrete-component-pdp-8)et d'autres premiers fabricants d'ordinateurs.
Dave - des améliorations suggérées pour une porte basique possible à utiliser sur vos modules, par rapport aux suggestions DTL dans ma réponse?
@RussellMcMahon: Non, pas vraiment.Il se trouve que j'ai une bobine remplie de MOSFET à canal N de niveau logique qui restent d'un ancien projet, et j'ai joué avec l'idée de les utiliser pour construire un processeur simple, en utilisant le concept SIP décrit ci-dessus - trois 3-portes NOR d'entrée sur un SIP à 14 broches, avec une LED en option sur chaque sortie pour la visualisation.Deux de ces modules (6 portes) suffiraient pour construire un FF déclenché par front.J'ai une plus grande carte wirewrap qui a plus de 4000 points de connexion, qui contiendrait plus de 280 modules de ce type.840 portes (2520 transistors) suffisent largement pour un simple CPU.
... Je ne sais pas si cela se produira un jour, cependant - beaucoup de projets de priorité plus élevée sont déjà en préparation.Je pense que pour l'instant, il suffit de savoir que je pourrais.
#2
+4
occipita
2020-07-07 19:53:52 UTC
view on stackexchange narkive permalink

Construire une logique discrète avec des MOSFET est beaucoup plus facile que les transistors bipolaires, car l'impédance de grille élevée empêche le problème que vous décrivez.Les circuits NMOS sont plus faciles que le CMOS (qui est plus couramment utilisé car il a une puissance inférieure).

Les MOSFET ne seraient-ils pas plus sensibles à l'ESD?
Les MOSFETS discrets @SimonRichter: seraient "plus" sensibles aux décharges électrostatiques que les transistors à jonction bipolaire discrets, mais dans un environnement avec une humidité raisonnable qui n'a pas de tapis anormalement statique, ils devraient généralement survivre à une manipulation ordinaire.Les usines utilisent des mesures de protection ESD parce que même 0,001% de retombées statiques seraient inacceptables, mais dans une situation de laboratoire, les transistors seraient plus susceptibles d'être détruits par des connexions incorrectes que par ESD.
#3
+3
Gunther Schadow
2020-07-07 19:55:33 UTC
view on stackexchange narkive permalink

Je pense que vous voulez suivre la logique TTL. Je ne l'ai pas fait moi-même, mais le problème avec ce simple câblage des transistors que vous montrez est susceptible de tomber en panne lorsque vous en mettez plusieurs ensemble.

Voici donc la manière TTL de faire les choses. Ceci est une porte NAND

TTL NAND gate

ce que je trouve une bonne instruction ici - et vous voudrez peut-être ajouter une plus petite logique diode-résistance aussi - c'est que vous entrez sur les émetteurs. Cela permet aux étudiants d'apprécier la différence entre la façon dont les bits logiques «circulent» et la façon dont les courants circulent, vous savez, en appréciant le fait qu'un état logique 0 signifie que l'élément de sortie doit absorber du courant (c'est la même leçon avec la diode ET porte).

Et vous n'avez pas besoin de transistors à double émetteur, j'ai lu que vous pouvez simplement câbler deux transistors en parallèle, base et collecteur ensemble et séparer les émetteurs.

PS: si vous pouvez utiliser mon approche (veuillez faire un rapport) et que vous constatez que vous avez maintenant besoin de plus de transistors, je donnerai 200 autres à votre projet.

L'étage de sortie totémique sera également intéressant à expérimenter. Les neuf mètres entiers: collecteur ouvert, normal toujours allumé et trois états. Projet sympa.

C'est vraiment généreux, merci.C'est juste mes enfants cousins pour le moment, donc nous devrions avoir assez de choses.
Un circuit TTL aurait un transistor sur le côté haut de la sortie, au lieu d'une simple résistance.
@supercat, vous voulez dire l'étage de sortie "totem", non?Mais ce n'est pas ce qui a défini TTL.Il existe également de nombreux circuits TTL à collecteur ouvert.J'ai utilisé cette image de l'article TTL de Wikipédia car c'était le plus simple et la clé était de montrer la différence d'étape d'entrée, différente de ce que le manuel habituel (et la question ici) montre avec les transistors BPJ.
@supercat, vous voulez dire l'étage de sortie "totem", non?Mais ce n'est pas ce qui a défini TTL.De nombreux circuits TTL à collecteur ouvert sont également disponibles.J'ai utilisé cette image de l'article TTL de Wikipédia car c'était le plus simple et la clé était de montrer la différence d'étape d'entrée, différente de ce que le manuel habituel (et la question ici) montre avec les transistors BPJ.
@GuntherSchadow: D'après ce que j'ai compris, ce qui distinguait TTL de RTL était que l'ancien étage de sortie avait un transistor pour le tirer vers le haut et un transistor pour le tirer vers le bas, tandis que RTL utilisait des résistances pour les pull-ups et des résistances pour les pull-down.Il est vrai que les familles TTL comprenaient des pièces avec des sorties à collecteur ouvert, mais ces pièces n'avaient * rien * en tant que pull-up.
@supercat, Wikipedia dit à propos de DTL qu'il est "l'ancêtre direct de la logique transistor-transistor. ... la fonction de déclenchement logique est effectuée par un réseau de diodes et la fonction d'amplification est effectuée par un transistor" et à propos de TTL "les transistors effectuent à la fois la logiquefonction (le premier "transistor") et la fonction d'amplification (le deuxième "transistor") "- il s'agit donc de l'étage d'entrée.De plus, si vous regardez la liste des 7400 puces, la ligne classique de puces TTL, vous verrez que les étages de sortie peuvent être différents, en particulier à collecteur ouvert, et les puces à collecteur ouvert ne cessent d'être TTL.
@GuntherSchadow: C'est différent de la façon dont j'ai appris, mais le terme «TTL» décrit non seulement une topologie mais aussi un ensemble de spécifications de courant et de tension.Si une puce à collecteur ouvert prétend être compatible TTL, j'interpréterais cela comme disant que lorsque la sortie est faible, son comportement sera cohérent avec celui d'une sortie TTL faible.Tous les schémas de circuit que j'ai vus pour les portes réelles de la série 7400 avec des sorties «compatibles TTL» ont utilisé un étage de sortie côté haut totem-pole ou pas d'étage de sortie côté haut.Peut-être qu'un pull-up passif pourrait répondre aux spécifications, ...
... mais les performances seraient inférieures à une pièce qui utilise une sortie totémique.
#4
+2
Russell McMahon
2020-07-08 07:26:40 UTC
view on stackexchange narkive permalink

Les modules ci-dessous sont susceptibles d'être un meilleur point de départ.
La valeur de la résistance devra peut-être être adaptée.

J'ai montré les BC337-40 car ils sont bon marché et superbes.Le BC547 est également acceptable.Des valeurs de résistance de base plus petites PEUVENT être nécessaires pour les transistors bêta inférieurs, mais un rapport élevé entre les résistances de collecteur et de base minimise la charge.

Notez le fonctionnement de AND.Les entrées via les diodes empêchent R1 de tirer la base vers le haut.
Ainsi, une entrée ouverte équivaut à une entrée élevée.

L'entrée de l'onduleur n'est pas définie sans entrée.S'il est susceptible d'être laissé flottant, ajoutez et par exemple 100k à la masse à l'entrée.

Le tampon a une chute de tension Vbe mais doit conduire une LED à la masse avec une résistance série de manière acceptable.Réduisez la valeur de la résistance de base pour plus de LED.

schematic

simuler ce circuit - Schéma créé à l'aide de CircuitLab

Merci pour la contribution.Les circuits supérieurs ne sont-ils pas NAND et NOR, pas AND et OR?Je pense que vous avez raison, que ceux-ci sont plus simples et plus compréhensibles pour un enfant de onze ans, plutôt que de construire à partir de NOR.Cependant, comme j'ai un seau de transistors et de résistances NPN, je vais aller de l'avant avec l'idée RLT et probablement acheter les diodes pour que le DTL montre des idées alternatives.
@Dom Tous mes exemples utilisaient uniquement NPN.||Oups oui - NAND et NOR comme indiqué - Déplacez R2 et R3 dans l'émetteur cct et ils fonctionneraient tels quels comme aND et OR - mais ajouter un onduleur serait mieux.Les diodes ne coûtent à peu près rien.Digikey a 1N4148 pour 2,37 $ pour 100 [ici] (https://www.digikey.com/product-detail/en/on-semiconductor/1N4148TR/1N4148FSCT-ND/9356376) (525000 en stock :-))
#5
+1
John Doty
2020-07-08 21:28:52 UTC
view on stackexchange narkive permalink

Le circuit de porte BJT le plus simple est le NOR à 2 entrées DCTL (Direct Coupled Transistor Logic).

schematic

simuler ce circuit - Schéma créé à l'aide de CircuitLab Il s'agit d'un composant universel: tout système numérique peut être réduit à ces derniers.Pour le faire en éventail, vous avez besoin de transistors avec Vbe étroitement assorti.Si vos transistors proviennent tous du même lot de fabrication, vous allez probablement bien.Sinon, vous pouvez ajouter une résistance ~ 100k en série avec chaque base pour éviter toute entrée monopolisant le courant de la sortie à laquelle elle est connectée.

Le NAND & NOR dans ma réponse donnerait à votre version un combat pour la famille logique "la plus simple".Le vôtre et le mien sont "assez simples".||Chacune de vos entrées nécessite un transistor supplémentaire.Chacun des miens nécessite une diode supplémentaire.La liste déroulante Rpd que je montre est également nécessaire, ou non, dans votre cas.Le vôtre a également besoin du R6 dans mon NAND si vous voulez un lecteur de sortie approprié avec un fanout de 1 et si vous voulez un fonctionnement correct avec fanout 2+.Ma NAND (tout aussi fondamentale) n'a pas besoin d'un pulldown ou d'une série Rin en raison de son fonctionnement (mais a besoin de R1)
@Russell McMahon L'OP revendique un stock de transistors et de résistances, pas de diodes, donc je suis allé avec ça.Si les transistors sont bien équilibrés, aucune résistance de base n'est requise, donc mes deux entrées NOR sont juste trois composants, 8 joints de soudure.Le vôtre est cinq composants, 11 joints de soudure.Cependant, votre DTL s'adapte mieux à un ventilateur plus grand. Je suis sceptique quant à votre NAND: à moins que (diode drop) + VCE (sat)
Je voulais juste vous mettre à jour.J'ai finalement accepté votre suggestion et elle fonctionne à merveille.Juste construit D-flip-flop qui fonctionne exactement comme prévu.Merci.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 4.0 sous laquelle il est distribué.
Loading...