Je déteste ajouter une réponse ici, d'autant plus que l'OP n'a même pas besoin d'une opération bidirectionnelle. Mais le circuit est terriblement aménagé (pour le comprendre.) Et la description des chiens et des queues n'aide pas , à l'exception peut-être des alchimistes essayant d'écrire des morceaux allégoriques et mystifiants de leur "art".
(Il existe des termes partagés, développés au fil du temps et utilisés en électronique pour aider à communiquer. Un "pull-down" pourrait être un tel exemple. Mais ils ont survécu à l'épreuve du temps et ils communiquent en utilisant l'idée générale de tirer sur un nœud , ce qui n'est pas difficile à communiquer lorsque quelqu'un demande et essaie d'apprendre le terme. Et il peut être facilement adapté pour discuter de "tirer plus fort", par exemple, sans perte de sens. L'idée de faible et de fort est communément admise , tout comme l'idée de tirer, et celles-ci sont facilement applicables une fois que quelqu'un a acquis les idées de la loi d'Ohm, de la tension, du courant et de la résistance.)
Une façon d'utiliser un BJT pour le changement de niveau consiste à l'utiliser dans un mode de base commune. Il suffit de câbler la base à un rail et de «tirer vers le bas» sur son émetteur. Vous pouvez placer la résistance à la base ou à l'émetteur. Il ne reste plus qu'à utiliser un pull-up sur le collecteur. Étant donné que nous espérons atteindre une utilisation bidirectionnelle, la résistance sera placée à la base.
Voici un exemple pour passer d'un 3V sortie logique vers un 5V entrée logique:
simuler ce circuit - Schéma créé à l'aide de CircuitLab
En allant dans l'autre sens, il est très tentant d'utiliser une approche symétrique:
simuler ce circuit
Mais ça ne marche pas. Pourquoi? Parce que la base a5V à sa disposition et le pull-up du collecteur est accroché à une tension plus basse, 3V. Cela signifie que la diode de base-collecteur (qui n'est plus communément montrée sur le symbole, même si c'était autrefois lorsque les BJT étaient eux-mêmes fabriqués de manière plus symétrique) peut être (et sera) polarisée en direct. Donc, quand le BJT est censé être éteint , ce n'est pas le cas. Au lieu de cela, il y a une diode polarisée vers l'avant coincée entre5V et 3Vavec deux résistances pour limiter le courant. Ainsi, la sortie sera à une certaine valeur intermédiaire ci-dessus3V mais pas tout à fait 5V.
La symétrie échoue.
C'est facile à réparer. Nous pouvons simplement revenir à la tension de base3V:
simuler ce circuit
Et ça marche.
Supposons que vous vouliez rendre cette bidirectionnelle. Pourriez-vous simplement utiliser deux de ces circuits, un pour chaque direction?
simuler ce circuit
Et la réponse est oui, vous le pouvez. En fait, ce que j'ai fait est simplement de reproduire ce circuit de queue de chien-manger que l'OP a présenté. C'est la même chose. Mais maintenant, vous pouvez voir la progression qui y a conduit. Et ce n'est plus aussi déroutant que quelque chose de queue de chien étrange et croisée. Ce ne sont que deux circuits élaborés individuellement réunis en un seul plus grand.
Mais vous souvenez-vous du problème antérieur avec le mauvais circuit? Le fait qu'il y ait une diode de collecteur de base sournoise qui a causé un mauvais fonctionnement du circuit? Ce fait devrait nous rappeler que tous les BJT peuvent également fonctionner en mode rétro-actif. Ce faisant, en particulier avec les conceptions asymétriques modernes pour leurs collecteurs et émetteurs, signifie que leβdans un mode sera différent de l'autre (parmi quelques autres différences.) Mais cela ne signifie pas qu'ils ne fonctionnent pas.
Et si nous revenions à notre premier circuit et ajoutions simplement ce pull-up supplémentaire:
simuler ce circuit
Est-ce que cela fonctionnerait? La réponse est oui, cela fonctionnera en effet. La seule question qui reste pourrait être de savoir de quelle manière pointer l'émetteur. Et c'est là qu'une bonne réponse "dépend". Il y a des problèmes de stockage de charges à prendre en compte, par exemple. (Et c'est une raison pour laquelle il y a une différence de comportement entre le front montant et le front descendant montré dans le graphique par l'OP.) La réponse dépendra de ce qui vous intéresse car il y aura des considérations de front montant vs front descendant et aucune réponse particulière n'est toujours correcte. Pour mes besoins ici, je vais éviter de traîner cela plus loin et laisser plutôt cette question comme quelque chose à méditer. Il suffit que ce circuit fonctionne malgré tout.
Remarque : La valeur réelle des résistances utilisées dans les circuits ci-dessus ne signifie pas que ce sont les seules bonnes valeurs à utiliser dans certaines circonstances particulières. En règle générale, les sorties numériques peuvent descendre plus de1mA du courant de commande et, typiquement, les entrées numériques diminueront considérablement 100μ A. Mais ces hypothèses peuvent être erronées pour des cas spécifiques. Cependant, il n'est pas difficile d'ajuster les détails. Donc, l'idée de base peut toujours s'appliquer, bien qu'avec des changements raisonnés dans les valeurs de résistance.
Il y a plus de mesures que l'on pourrait prendre maintenant. Et Trevor a trouvé un bel exemple de l'endroit où l'on pourrait se diriger. Je vais l'inclure ici afin de capturer ce résultat. Ça vaut le coup. Les personnes intéressées peuvent considérer le pourquoi et le comment. Sans plus d'explications de ma part, profitez de l'ajout de Trevor ci-dessous: