Pourquoi les broches Pi GPIO utilisent / donnent 3,3 V et non 5 V?


26

Je sais depuis longtemps que les gens ne devraient PAS mettre plus de 3,3 V sur les broches GPIO. Ils donnent également 3,3 V lorsqu'ils sont élevés.

J'ai fait quelques recherches et il semble que personne n'ait vraiment pris la peine de demander. Presque tous parlent du courant maximum.

Si j'alimente le Pi en 5V, pourquoi les broches GPIO ne sont-elles pas tolérantes au 5V?

Les broches Arduino suivent plus ou moins la tension d' entrée (ou V CC ). S'il s'agit d'un modèle 5V, les broches utilisent 5V. S'il s'agit d'un modèle 3,3V, il utilise 3,3V. Tout ce qui était au-dessus de ceux-ci le ferait plus ou moins frire.

Je devrais probablement demander à Broadcom à ce sujet.


Comme le souligne joan, la déclaration "les broches Arduino suivent plus ou moins les tensions d'entrée" est fausse. Les tensions d'entrée Arduino sont variables et les broches régulées. Pour un modèle 5V, vous devez utiliser au moins une entrée 5V pour un fonctionnement correct. Il convient également de noter qu'un MC! = Un SoC, bien qu'il existe des similitudes et que le dernier terme soit en quelque sorte ambigu / conceptuel.
goldilocks

@goldilocks Clarified. Je voulais dire VCC.
PNDA

2
"Si j'alimente le Pi en 5V, pourquoi les broches GPIO ne tolèrent-elles pas le 5V?" - Pour la même raison, l'Arduino GPIO n'est pas tolérant à 12V même lorsque vous alimentez la carte avec 12V.
JimmyB

1
Je pense que le titre et le contenu étaient tout simplement trop conviviaux pour le référencement.
PNDA

Réponses:


30

Les puces ATMega spécifient Operating Voltage: ̶ 1.8 - 5.5V. Si vous lisez plus profondément, la vitesse de fonctionnement dépend de la tension. Ils fonctionnent à 3,3 V mais vous devez limiter la vitesse d'horloge. L' Arduinoéquipe a probablement choisi le 5V en raison de la disponibilité immédiate des systèmes qui l'utilisent (hérité de TTL).

Le SOC utilisé sur Pi fonctionne sur 3,3 V (et nécessite également quelques tensions inférieures). Ce sont des ordres de grandeur plus complexes que l'ATMega et fonctionnent à des vitesses considérablement plus élevées (~ 1 GHz vs 16 MHz). Comme la plupart des systèmes complexes fonctionnant à une tension plus basse, il permet un fonctionnement à plus grande vitesse avec une consommation électrique plus faible (et donc de la chaleur).

Je soupçonne que la partie processeur et le GPU fonctionnent sur l'alimentation 1,8 V et 1,2 V et que le 3,3 V est destiné aux périphériques. La carte SD fonctionne également à 3,3 V.

Le Pi (en particulier les derniers modèles) possède des convertisseurs de puissance complexes qui fournissent les nombreuses tensions nécessaires à des courants élevés. Le 5V est nécessaire car il s'agit de la norme USB (et de la disponibilité immédiate d'alimentations appropriées).


19
Pourquoi ne serait-ce pas une vraie question?
loneboat

Arduino V (entrée basse) est 0 - v1.8 un V (entrée haute) est 3v - 5v
wajatimur

1
@loneboat, je suis de votre côté.
PNDA

5
@ PandaLion98 La vraie réponse est parce que c'est ainsi que le système est conçu. J'ai ensuite expliqué pourquoi il est conçu de cette façon. C'était par rapport à "J'ai fait quelques recherches et il semble que personne ne se soit vraiment donné la peine de demander" - personne d'autre ne le demande parce que c'est évident. En fait, comme je l'ai expliqué dans d'autres articles, mettre 5V sur une broche GPIO ne causera probablement pas de dommages (pas que je le recommande), à ​​condition que le courant soit limité - ce qui, bien sûr, abaisse la tension.
Milliways

11

La réponse courte est "Parce que c'est la façon dont il est conçu".

Une réponse un peu plus longue est "Ils ne l'ont pas rendu tolérant au 5V car cela coûterait cher". Personne ne produit plus de périphériques 5 V en masse (y compris USB, qui a des lignes de données 3,3 V ). Faire des broches IO tolérantes 5V rendrait la puce plus chère et probablement un peu plus lente, tout en ajoutant une valeur proche de zéro.

Vous devez comprendre que RPi n'est pas une application typique pour les puces Broadcom, donc les puces sont optimisées pour 99% des cas d'utilisation. Dépenser 2 $ pour rendre toutes les broches tolérantes au 5V est logique pour RPi, mais ces 2 $ sont un prix prohibitif si l'on considère les 99% restants.


0

Le Pi ne suit-il pas exactement le même schéma?

Tous les Pis actuels sont des modèles 3V3, il utilise donc le GPIO 3V3.

La tension d'entrée du Pi est fixée à 5V fixe.

Les Arduino autorisent une gamme de tensions d'entrée, 3,3 V à 12 V généralement pour les modèles 3 V 3, 6 V à 20 V généralement pour les modèles 5 V.


1
La tension d'entrée du Pi est fixée à 5V fixe. provient des périphériques USB. Le SoC du Pi lui-même utilise 3V3 via le régulateur de tension.
Ghanima

1
@Ghanima ... et les exigences de HDMI. Ni l'un ni l'autre ne s'applique à un Arduino. Le SOC du Pi utilise 3V3, 2V5 et 1V8.
joan

1
Tu as raison. Bien que les tensions inférieures soient générées sur puce.
Ghanima

-1

Le Raspberry Pi possède 2 broches 3v3 constantes qui sont toujours allumées , 2 broches 5 volts constantes , beaucoup de broches gpio 3v3 et 5 broches de masse. Les versions les plus récentes ont tout cela, mais avec 3 GND supplémentaires (broches de masse) et encore plus de broches gpio.


4
Cela ne répond vraiment pas à la question.
Ghanima

-2

3,3 volts correspondent aux niveaux logiques cmos (plus récents) et 5 volts est l'ancien standard ttl.


5
Ce n'est tout simplement pas vrai. Les tensions de niveau logique ne correspondent pas strictement à la technologie des circuits. En fait, les appareils basés sur CMOS fonctionnent à différents niveaux de tension, y compris 5V, 3V3 et des tensions inférieures. Exemple: alors que les Arduinos sont livrés avec des niveaux logiques 5V, ils ne sont pas TTL mais CMOS (par exemple les ATMegas sont CMOS), voir aussi ici
Ghanima

3
La célèbre famille 4000 CMOS s'étend de 3 à 15 V. Voir la spécification , page 2.
Dmitry Grigoryev

Presque vrai mais légèrement différent, le niveau logique est basé sur la conception de fabrication de porte CMOS ou TTL. Le niveau logique Arduino est un peu différent du CMOS et du TTL standard.
wajatimur

@wajatimur Il n'y a pas de "standard de niveau logique CMOS".
Dmitry Grigoryev

@DmitryGrigoryev La spécification CMOS généralement utilisée pourrait être plus précise.
wajatimur
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.