Warum verwenden / geben die Pi-GPIO-Pins 3,3 V und nicht 5 V?

26

Ich weiß seit langem, dass Leute nicht mehr als 3,3 V an die GPIO-Pins anlegen sollten . Sie geben auch 3,3 V ab, wenn sie hoch sind.

Ich habe ein paar Nachforschungen angestellt und es scheint, dass sich niemand wirklich darum gekümmert hat. Fast alle sprechen vom Maximalstrom.

Wenn ich den Pi mit 5 V versorge, warum sind die GPIO-Pins nicht 5 V tolerant?

Arduino-Pins folgen mehr oder weniger der Eingangsspannung (oder V CC ). Wenn es sich um ein 5-V-Modell handelt, verwenden die Stifte 5 V. Wenn es sich um ein 3,3-V-Modell handelt, werden 3,3 V verwendet. Alles darüber würde es mehr oder weniger braten.

Ich sollte Broadcom wahrscheinlich danach fragen.

PNDA
quelle
Wie Joan betont, ist die Aussage "Arduino-Pins folgen mehr oder weniger den Eingangsspannungen" falsch. Arduino-Eingangsspannungen sind variabel und die Pins geregelt. Für ein 5-V-Modell müssen Sie mindestens 5-V-Eingänge verwenden, um eine ordnungsgemäße Funktion zu gewährleisten. Erwähnenswert ist auch, dass ein MC! = Ein SoC, obwohl es Ähnlichkeiten gibt und der letztere Begriff mehrdeutig / konzeptuell ist.
Goldlöckchen
@ Goldilocks geklärt. Ich meinte VCC.
PNDA
2
"Wenn ich den Pi mit 5V versorge, warum sind die GPIO-Pins nicht 5V-tolerant?" - Aus dem gleichen Grund ist das Arduino GPIO nicht 12V-tolerant, auch wenn Sie das Board mit 12V versorgen .
JimmyB
1
Ich denke, der Titel und der Inhalt waren einfach zu SEO-freundlich.
PNDA

Antworten:

30

Die ATMega-Chips spezifizieren Operating Voltage: ̶ 1.8 - 5.5V. Wenn Sie tiefer lesen, ist die Betriebsgeschwindigkeit spannungsabhängig. Sie arbeiten mit 3,3 V, aber Sie müssen die Taktrate begrenzen. Das ArduinoTeam hat sich vermutlich für 5V entschieden, da bereits Systeme verfügbar sind, die dies nutzen (ein Erbe von TTL).

Der auf Pi verwendete SOC wird mit 3,3 V betrieben (und erfordert auch ein paar niedrigere Spannungen). Diese sind um Größenordnungen komplexer als der ATMega und arbeiten mit erheblich höheren Geschwindigkeiten (~ 1 GHz gegenüber 16 MHz). Wie die meisten komplexen Systeme, die mit niedrigerer Spannung betrieben werden, ist ein Betrieb mit höherer Geschwindigkeit bei geringerem Stromverbrauch (und damit Wärme) möglich.

Ich vermute, dass der Prozessorteil und die GPU mit 1,8 V und 1,2 V versorgt werden und die 3,3 V für die Peripheriegeräte sind. Die SD-Karte wird auch mit 3,3 V betrieben.

Die Pi (insbesondere die späteren Modelle) verfügen über komplexe Stromrichter, die die vielen Spannungen liefern, die bei hohen Strömen benötigt werden. Die 5V werden benötigt, da dies der USB-Standard ist (und die sofortige Verfügbarkeit geeigneter Netzteile).

Milliways
quelle
19
Warum sollte es keine echte Frage sein?
Loneboat
Arduino V (Input-Low) ist 0 - v1.8 und V (Input-High) ist 3v - 5v
wajatimur
1
@loneboat Ich bin auf deiner Seite.
PNDA
5
@ PandaLion98 Die eigentliche Antwort ist, dass das System so aufgebaut ist. Ich fuhr dann fort zu erklären, warum es so gestaltet ist. Dies bezog sich auf "Ich habe ein paar Nachforschungen angestellt und es scheint, dass sich niemand wirklich darum gekümmert hat" - niemand fragt, weil es offensichtlich ist. Wie ich bereits in anderen Beiträgen erklärt habe, ist es unwahrscheinlich, dass das Anschließen von 5 V an einen GPIO-Pin zu Schäden führt (was ich nicht empfehle), sofern der Strom begrenzt ist - was natürlich die Spannung senkt.
Milliways
11

Die kurze Antwort lautet "Weil es so gestaltet ist".

Eine etwas längere Antwort ist "Sie haben es nicht 5V tolerant gemacht, weil es teuer wäre". Niemand stellt mehr 5-V-Peripheriegeräte in Serie her (einschließlich USB mit 3,3-V-Datenleitungen). Das Herstellen von 5V-toleranten E / A-Pins würde den Chip teurer und wahrscheinlich ein bisschen langsamer machen, während der Wert nahe Null hinzugefügt würde.

Sie müssen verstehen, dass RPi keine typische Anwendung für Broadcom-Chips ist. Daher sind die Chips für 99% der Anwendungsfälle optimiert. Wenn Sie 2 US-Dollar ausgeben, um alle Pins 5V-tolerant zu machen, ist das für RPi zwar sinnvoll, aber diese 2 US-Dollar sind ein unerschwinglich hoher Preis, wenn Sie die verbleibenden 99% berücksichtigen.

Dmitry Grigoryev
quelle
0

Folgt der Pi nicht genau dem gleichen Muster?

Alle aktuellen Pis sind 3V3-Modelle, daher wird 3V3 GPIO verwendet.

Die Eingangsspannung des Pi ist fest auf 5 V eingestellt.

Arduino's ermöglichen einen Bereich von Eingangsspannungen, 3,3 V bis 12 V, typisch für 3V3-Modelle, 6 V bis 20 V, typisch für 5V-Modelle.

joan
quelle
1
Die Eingangsspannung des Pi ist fest auf 5 V eingestellt. stammt von den USB-Peripheriegeräten. Der SoC des Pi selbst verwendet 3V3 über den Spannungsregler.
Ghanima
1
@ Ghanaima ... und die Anforderungen von HDMI. Beides gilt nicht für einen Arduino. Der SOC des Pi verwendet 3V3, 2V5 und 1V8.
Joan
1
Du hast recht. Die niedrigeren Spannungen werden jedoch auf dem Chip erzeugt.
Ghanima
-1

Der Himbeer-Pi hat 2 konstante 3v3-Pins, die immer an sind, 2 konstante 5-Volt-Pins , viele 3v3-GPIO-Pins und 5 Erdungs-Pins. Die neueren Versionen haben all das, aber mit 3 weiteren GND (Ground-Pins) und noch mehr GPIO-Pins.

Tacocat 4642
quelle
4
Das spricht die Frage wirklich nicht an.
Ghanima
-2

3,3 Volt sind CMOS-Logikpegel (neuer) und 5 Volt sind der ältere TTL-Standard.

Terry Barber
quelle
5
Das stimmt einfach nicht. Logikpegelspannungen entsprechen nicht unbedingt der Schaltungstechnik. Tatsächlich arbeiten CMOS-basierte Geräte mit unterschiedlichen Spannungspegeln, einschließlich 5 V, 3 V 3 und niedrigeren Spannungen. Beispiel: Während Arduinos mit 5-V-Logikpegeln geliefert werden, sind sie nicht TTL, sondern CMOS (z. B. sind die ATMegas CMOS), siehe auch hier
Ghanima
3
Die berühmte 4000 CMOS-Familie läuft von 3 bis 15 V. Siehe die Spezifikation , Seite 2.
Dmitry Grigoryev
Fast wahr, aber etwas anders. Die Logikebene basiert auf dem Design der Gate-Herstellung, entweder CMOS oder TTL. Der Arduino-Logikpegel unterscheidet sich etwas von Standard-CMOS und TTL.
Wajatimur
@wajatimur "CMOS Logic Level Standard" gibt es nicht.
Dmitry Grigoryev
@DmitryGrigoryev Die allgemein verwendete CMOS-Spezifikation ist möglicherweise genauer.
Wajatimur