Passez de 3,3V à 5V pour les E / S numériques


35

J'utilise normalement un Arduino pour mes projets, car il a des entrées et des sorties 5V et un 5V Vin, ce qui facilite grandement la vie lors de l'interface avec des composants 5V. Pour ce projet, je souhaite utiliser un Raspberry Pi car je souhaite le brancher à un écran. Le Pi est alimenté par 5V, donc c'est assez simple. Il a cependant des broches 3.3VI / O et les périphériques avec lesquels je veux me connecter sont 5V.

J'ai un appareil avec une broche d'entrée 5V, qui doit être piloté à 5V. Le périphérique a une broche de sortie de 5V, qu’il commande à 5V lorsqu’il sort.

J'ai déjà converti de manière bidirectionnelle entre les appareils 5V et 3,3V, mais c'était avec un sélecteur de niveau logique qui était actif LOW. Le circuit est typique avec un transistor et une diode et deux résistances de rappel. Cette application nécessite actif HIGH. Heureusement, ce projet ne nécessite pas d’entrées / sorties bidirectionnelles.

Pour la direction de 5V à 3,3V, un diviseur de tension brut fonctionnera.

Pour la direction 3,3V à 5V cependant, je ne connais pas de solution facile. J'ai fait quelques recherches et il semble y avoir des convertisseurs élévateurs (convertisseurs élévateurs CC-CC), mais pour les construire à partir de composants discrets, il faut créer un circuit PWM pour piloter la commutation.

Je me demandais simplement s'il existait un moyen plus simple d'y parvenir, avec une complexité comparable à celle du système de décalage de niveau logique bas actif.


Vérifiez ceci différentes méthodes d'interfaçage. savagecircuits.com/…
AKR


Quelle quantité de courant la sortie 5V doit-elle fournir? Est-ce que cela alimente une entrée de niveau logique?
Dwayne Reid

Réponses:


31

Depuis que Dave Tweed a souligné la faille dans l’autre réponse, j’ai essentiellement copié ma réponse dans le sélecteur de niveau à transistor simple ... Notez également la solution intéressante proposée par Nicolas D dans la question.

J'ai quelques solutions (quelques solutions fournies par Microchip ICI ):

1) Connexion directe: Si Voh (tension de sortie haut niveau) de votre logique 3,3 V est supérieur à Vih (tension d'entrée haut niveau), tout ce dont vous avez besoin est une connexion directe. (Il est également nécessaire pour cette solution que Vol (tension de sortie de bas niveau) de la sortie de 3,3 V soit inférieur à la Vil (tension d'entrée de bas niveau) de l'entrée de 5 V). Cette solution est le plus souvent rejetée en raison de marges insuffisantes.

2) Si les conditions ci-dessus sont proches, vous pouvez souvent augmenter légèrement la tension de sortie de niveau élevé avec une résistance de rappel (à 3,3 V) et connecter directement les signaux.

3) La résistance de rappel peut fournir une petite quantité d’augmentation de tension de haut niveau. Pour plus, vous pouvez utiliser des diodes et pull-up à 5V. Le circuit présenté ne montera pas à 5V, mais il augmentera la tension d'entrée de haut niveau de la logique 5V de la valeur d'une chute de tension de diode (environ 0,7 V). Avec cette méthode, vous devez veiller à ce que vous ayez toujours un niveau bas valide, qui est également relevé par une chute de diode. Les diodes Schottky peuvent être utilisées pour une légère augmentation de la tension de haut niveau tout en minimisant l'augmentation indésirable de la tension de bas niveau. Reportez-vous à la note d'application mentionnée ci-dessus pour plus d'informations sur ce circuit:

schematic

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

4) Si vous pouvez faire face à une inversion logique (et ne nécessitent pas de pull-up actif), une mosfet et une résistance de pull-up peuvent être utilisées:

schematic

simuler ce circuit

5) Il existe également de nombreuses solutions logiques telles que: MC74VHC1GT125 qui est un "décaleur de niveau logique / tampon CMOS non inverseur avec des entrées compatibles LSTTL" dans un boîtier SOT23-5 ou SOT-353. Petit simple et assez peu coûteux. L'utilisation de cette solution devrait également inclure un condensateur de découplage situé près du circuit intégré.


Je pense que certains de vos diagrammes sont étiquetés à l'envers. J'ai une sortie logique 3,3V et une entrée logique 5v. Je comprends le fonctionnement du n ° 4 et peux confirmer que l’étiquette n’est que vers l’arrière (mais c’est le bon circuit pour ce dont j’ai besoin). Je ne comprends pas tout à fait suffisamment le n ° 3 pour savoir s'il est étiqueté à l'envers ou en réalité. Cela étant dit, si j'utilise deux instances de # 4 pour garder la logique non inversée, je devrais être prêt à partir.
Huckle

Les étiquettes ne sont pas à l'envers. "Entrée logique 3,3 V" indique qu'il s'agit d'une entrée dans le circuit que j'ai fourni ... bien sûr, il s'agit d'une sortie de votre circuit. "Sortie logique 5V" indique simplement qu'il s'agit d'une sortie de mon circuit vers votre entrée logique 5V. Je vais éditer pour clarifier.
Tut

Cela a du sens maintenant que vous l'expliquiez, mais c'est en arrière du point de vue conventionnel (où le point de vue conventionnel est censé signifier le point de vue de quelqu'un connectant des circuits intégrés numériques). Merci encore.
Huckle

2
@Huckle: Tut has provided a circuit or module to be used to interface two other circuits. The standard is to label the terminals or interface points from the point of view of the circuit show - not the ones you can't see. You connect your outputs to this circuit's inputs. Sometimes we need to indicate where to connect on another circuit but use arrows in those cases so it's clear.
Transistor

@Tut do you mind explaining a little more on how #3 works? I am having hard time understanding this. I am not sure what 3.3V-D1 is for :( Thank you
wbkang
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.