Apprendre et créer
AccueilLes portes logiquesLOGA - L'aventure intellectuelle

LOGA - L'aventure intellectuelle

Le 22-06-2019...

Je ne sais pas pourquoi je suis quasi obsédé de manière cyclique par le sujet de l’électronique et des portes logiques.

J'essaye par moi même de comprendre comment la combinaison de ces portes logiques permet de faire des systèmes évolués. Et pour le faire bien, je cherche à les reproduire physiquement à partir de composants de bases : transistors, et résistances. C'est une quête inutile sur de nombreux plans, je pourrais par exemple modéliser ces systèmes informatiquement, ou utiliser des circuits intégrés pour les combiner... Mais j'ai goût à tout refaire par moi-même. D'ailleurs, j'avais cherché comment il serait possible de créer soi-même un transistor mais mes recherches n'ont pas été fructueuses, les semi-conducteurs restent une technologie particulière.

Malgré cette apparente vacuité de but, je tire quand même quelques intérêts à réfléchir sur ce sujet.

Parce que finalement, c'est une matière à réfléchir très riche au travers de laquelle la progression ne se fait pas de manière linéaire mais plutôt par idées successives, des sortes de moment eureka très plaisants.

Et après ces années passées à réfléchir, dessiner et souder. Peut-être vais-je enfin aboutir à un résultat convainquant avec lequel je vais pouvoir jouer.

J'appelle ça "aventure" parce que j'ai l'impression d'avancer dans l'inconnu en allant de découverte en découverte. Mais je ne me cache pas la vacuité du temps que j'y consacre puisque ce sujet a été plus que "poncé" depuis de nombreuses années et il n'y a rien de nouveau à découvrir pour le monde. Je découvre donc les choses seulement pour moi, et il y a peu de chances que cela serve à quelque chose un jour mais nous verrons bien !

Les grandes étapes

Avant de commencer à souder quoi que ce soit, j'ai simplement appris comment fonctionnait un transistor et à partir de ça, j'ai cherché à imaginer comment on pouvait fabriquer des portes logiques. Je suis parti du principe qu'avec ce composant j'allait pouvoir réaliser toutes les fonctions que je connaissais.

Et je n'avais pas tord, mais j'ai fait des erreurs et je me suis trouvé face à des impasses.

La porte NOT

La première fois que je me suis mis à imaginer la manière de réaliser des portes logiques, je me suis retrouvé complètement bloqué par la porte NOT.

Pour mes premiers essais j'ai dessiné ce que j'imaginais être les portes AND et OR mais je n'ai trouvé aucune solution pour la porte NOT. Je me suis alors dit que finalement les transistors n'étaient pas suffisants pour réaliser les portes logiques et que je ne pourrais pas allait plus loin.

J'ai donc laissé tomber les portes logiques pour un moment.

Après quelques mois, le sujet m'est revenu à l'esprit et j'ai décidé de chercher comment étaient faites ces portes NOT. Et là, quelle surprise ! Un seul transistor suffit pour réaliser une porte NOT, tout n'est qu'une question de placement du transistor dans le circuit.

Super, je peux reprendre mes expériences !

La porte AND

J'ai très tôt dessiné comment fabriquer une porte AND : deux transistors en série qui ne laissent passer le courant que lorsqu'ils sont tous les deux traversé par un courant dans leur base.

Seulement, quand est venu le moment des expérimentations, ça ne fonctionnait pas correctement... Il y avait un problème...

J'ai rapidement identifié ce problème. Il vient tout simplement du fait que le courant venant à la base du transistor suffit à créer le signal. Donc si le deuxième transistor de la série est activé, cela suffit à faire passer l'état de la porte à 1 alors que l'un des deux transistors n'est pas activé...

Cela m'a bloqué et je n'ai pas trouvé de solution pour fabriquer une porte AND. Je me suis dit que les transistors que j'employais n'étaient pas adaptés et qu'il fallait une combinaison particulière de transistors et résistances pour parvenir à créer une porte AND.

J'ai donc à nouveau mis de côté cette idée des portes logiques.

Mais, après quelques mois de maturation, j'ai eu une idée. J'ai réalisé qu'il était possible d'avoir le résultat d'une fonction logique AND sans créer une porte AND mais en réalisant des opérations successives.

Ainsi, si l'on applique une fonction NOT sur une fonction NAND, on obtient le résultat d'une porte AND, de même, en réalisant une fonction NOR sur les signaux ayant subit chacun une fonction NOT au préalable, on obtient également le résultat d'une porte AND.

C'est deux montages demandent l'utilisation de 3 transistors et de 3 fonctions NOT ce qui est plutôt énergivore...

Encore plusieurs mois plus tard, j'ai trouvé un moyen de réaliser une porte AND avec seulement 2 transistors !

Je détaillerai ces schémas dans l'article dédié à la porte AND.

Créer un automate

J'ai eu l'idée d'essayer de reproduire la "boite inutile". C'est une boite avec un interrupteur. Le principe est simple, lorsque l'on active l’interrupteur, un bras sort, remet l'interrupteur dans son état initial puis se replace dans la boite.

Bien que beaucoup réalise cette boite à l'aide de circuits intégrés voire même de cartes programmable... Je suis parvenu à la fabriquer avec des transistors !

J'ai d'ailleurs pour projet d'écrire un article détaillant sa fabrication. Et pourquoi pas en briques LOGA !

Créer de la mémoire électronique

Créer des portes logiques c'est bien beau mais ça ne va pas très loin. J'ai donc cherché à voir s'il était possible de créer de la mémoire avec des portes logiques. Et je n'ai pas était déçu ! Les portes logiques permettent notamment de réaliser des bascules RS qui sont capables de garder leur état en mémoire tant qu'elles sont alimentée !

Et la réalisation de ces bascules est simplissime, deux transistors suffisent !

Alterner les états d'une bascule avec un seul signal

Je me suis demandé comment réaliser un système qui changerai d'état à chaque fois qu'on lui enverrai un signal.

Là encore, j'ai longtemps été sans solution puis finalement j'ai trouvé, du moins de manière théorique comment réaliser cela. Il reste donc à le tester de manière physique.

Ce système permettra de créer par exemple un chenillard (entre autre !).

Combiner des portes logiques

Faire une porte logique sur une platine d'essai, ça le fait. Mais en créer deux voir 3 et les combiner entre elles, là ça devient très compliqué...

Donc, pour réaliser des montages plus complexes j'ai eu l'idée de créer des briques élémentaires, chacune portant une fonction logique et que je pourrais assembler facilement pour créer des combinaisons.

C'est la naissance de l'idée de LOGA (pour LogicGate) !

Le problème, c'est que l'assemblage de portes logiques devient rapidement le bazar... En effet, il faut d'une par que chaque porte soit reliée à l'alimentation et d'autre part qu'elle reçoive un ou deux signaux d'entrée et émette un signal de sortie.

La version 1

Avec ma première version des LOGA, je me suis retrouvé avec des usines à gaz qui en plus nécessitaient une platine d'essai pour se connecter, pas concluant...

La version 2

Pour tenter de corriger les problème de la version 1, j'ai imaginé une connexion entre blocs à 3 pins, 2 pour l'alimentation (plus et moins) et une pour le signal. Ca fonctionne pas trop mal, il n'y a plus besoin de la platine d'essai pour connecter les modules. Mais là encore, il y a vite un problème de lisibilité, trop de fils.

La version 3

Après de nouveaux mois de pose et de maturation intellectuelle, j'ai imaginé une nouvelle forme pour les LOGA. Cette fois il faudra une base particulière sur laquelle les blocs se connecteront à l'alimentation et les blocs seront connectés entre eux par un seul fil.

Ce sera plus facile de les bouger et de les positionner de manière logique.

Par contre, ça demande un peu plus de matériel et de travail de soudure.

J'ai commandé le matériel nécessaire, je testerai l'idée d'ici quelques semaines.

Les prochains défis

Dans ma tête, je n'en suis qu'au début de mes réalisation avec les LOGA.

J'ambitionne de créer plusieurs choses :

  • un système de compteur qui permet de compter de manière incrémentale
  • un système pour afficheur à 7 segments
  • un système de multiplexage pour afficher plusieurs chiffres à la fois
  • découvrir encore plus de choses sur les processus de bases de l'informatique