Dlaczego piny Pi GPIO używają / dają 3,3 V, a nie 5 V?

26

Wiem od dawna, że ​​ludzie NIE powinni wkładać więcej niż 3,3 V na piny GPIO. Dają również 3,3 V, gdy są wysokie.

Zrobiłem trochę badań i wydaje się, że nikt tak naprawdę nie zadał sobie trudu, aby zapytać. Prawie wszyscy mówią o maksymalnym prądzie.

Jeśli zasilam Pi napięciem 5V, dlaczego piny GPIO nie są tolerancyjne?

Piny Arduino mniej więcej podążają za napięciem wejściowym (lub V CC ). Jeśli jest to model 5 V, piny używają 5 V. Jeśli jest to model 3,3 V, wykorzystuje on 3,3 V. Wszystko powyżej nich mniej więcej to usmaży.

Prawdopodobnie powinienem zapytać o to Broadcom.

PNDA
źródło
Jak zauważa joan, stwierdzenie „piny Arduino mniej więcej podążają za napięciami wejściowymi” jest fałszywe. Napięcia wejściowe Arduino są zmienne, a styki regulowane. W przypadku modelu 5 V do poprawnego działania należy użyć co najmniej 5 V. Warto również zauważyć, że MC! = SoC, chociaż istnieją podobieństwa, a ten drugi termin jest niejasny / konceptualny.
Złotowłosa
@goldilocks wyjaśnione. Miałem na myśli VCC.
PNDA
2
„Jeśli zasilam Pi napięciem 5V, dlaczego styki GPIO nie są tolerancyjne dla napięcia 5V?” - Z tego samego powodu, Arduino GPIO nie toleruje napięcia 12V, nawet jeśli zasilasz płytkę napięciem 12V.
JimmyB
1
Myślę, że tytuł i treść były zbyt przyjazne SEO.
PNDA

Odpowiedzi:

30

Chipy ATMega określają Operating Voltage: ̶ 1.8 - 5.5V. Przy głębszym czytaniu prędkość robocza zależy od napięcia. Działają przy 3,3 V, ale musisz ograniczyć prędkość zegara. ArduinoZespół wybrał 5V przypuszczalnie ze względu na łatwą dostępność systemów, które wykorzystują to (dziedzictwo TTL).

SOC zastosowany w Pi działa na 3,3 V (i również wymaga kilku niższych napięć). Są to rzędy wielkości bardziej złożone niż ATMega i działają ze znacznie wyższymi prędkościami (~ 1 GHz w porównaniu do 16 MHz). Jak większość skomplikowanych systemów pracujących przy niższym napięciu, pozwala na większą prędkość działania przy niższym zużyciu energii (a tym samym ciepła).

Podejrzewam, że część procesora i procesor graficzny działają pod napięciem 1,8 V i 1,2 V, a 3,3 V jest przeznaczone dla urządzeń peryferyjnych. Karta SD działa również przy napięciu 3,3 V.

Pi (szczególnie nowsze modele) mają złożone przetworniki mocy, które dostarczają wiele napięć potrzebnych przy wysokich prądach. Potrzebne jest 5 V, ponieważ jest to standard USB (i gotowa dostępność odpowiednich zasilaczy).

Milliways
źródło
19
Dlaczego to nie byłoby prawdziwe pytanie?
samotna łódka
Arduino V (niski poziom wejściowy) wynosi 0 - v1.8, a V (wysoki poziom wejściowy) wynosi 3 V - 5 V
wajatimur
1
@loneboat Jestem po twojej stronie.
PNDA
5
@ PandaLion98 Prawdziwa odpowiedź jest taka, ponieważ system jest zaprojektowany. Następnie zacząłem wyjaśniać, dlaczego jest tak zaprojektowany. Było to w związku z „przeprowadziłem kilka badań i wydaje się, że nikt tak naprawdę nie zadał sobie trudu zapytać” - nikt inny nie pyta, ponieważ jest to oczywiste. W rzeczywistości, jak wyjaśniłem w innych postach, umieszczenie 5V na pinie GPIO raczej nie spowoduje uszkodzenia (nie to polecam), pod warunkiem, że prąd jest ograniczony - co oczywiście obniża napięcie.
Milliways
11

Krótka odpowiedź brzmi: „Bo tak to jest zaprojektowane”.

Nieco dłuższa odpowiedź brzmi: „Nie sprawili, że toleruje 5 V, ponieważ byłoby to drogie”. Nikt tak naprawdę nie produkuje już masowo urządzeń peryferyjnych 5 V (w tym USB, który ma linie danych 3,3 V). Wykonanie tolerancji 5 V na IO spowodowałoby, że układ byłby droższy i prawdopodobnie nieco wolniejszy, a jednocześnie dodawałby wartość bliską zeru.

Musisz zrozumieć, że RPi nie jest typową aplikacją dla układów Broadcom, więc są one zoptymalizowane pod kątem 99% przypadków użycia. Wydanie 2 USD, aby wszystkie piny tolerujące 5 V, miały sens dla RPi, ale te 2 USD są zbyt wysoką ceną, biorąc pod uwagę pozostałe 99%.

Dmitrij Grigoriew
źródło
0

Czy Pi nie ma dokładnie tego samego wzoru?

Wszystkie obecne Pis są modelami 3V3, więc wykorzystuje GPIO 3V3.

Napięcie wejściowe Pi jest ustawione na stałe 5 V.

Arduino dopuszczają zakres napięć wejściowych, od 3,3 V do 12 V typowo dla modeli 3 V 3, od 6 V do 20 V typowo dla modeli 5 V.

joan
źródło
1
Napięcie wejściowe Pi jest ustawione na stałe 5 V. wynika z urządzeń peryferyjnych USB. Sam SoC Pi wykorzystuje 3V3 za pośrednictwem regulatora napięcia.
Ghanima
1
@Ghanima ... i wymagania HDMI. Żaden z nich nie dotyczy Arduino. SOC Pi wykorzystuje 3V3, 2V5 i 1V8.
joan
1
Masz rację. Chociaż niższe napięcia są generowane na chipie.
Ghanima
-1

Raspberry pi ma 2 stałe piny 3v3, które są zawsze włączone, 2 stałe piny 5 woltów , dużo pinów 3v3 gpio i 5 pinów uziemienia. Nowsze wersje mają to wszystko, ale z 3 dodatkowymi GND (styki uziemiające) i jeszcze więcej styków gpio.

Tacocat 4642
źródło
4
To naprawdę nie odpowiada na pytanie.
Ghanima
-2

3,3 V to poziomy logiczne cmos (nowsze), a 5 V to starszy standard TTL.

Terry Barber
źródło
5
To po prostu nieprawda. Napięcia na poziomie logicznym nie odpowiadają ściśle technologii obwodów. W rzeczywistości urządzenia oparte na CMOS działają na różnych poziomach napięcia, w tym 5 V, 3 V 3 i niższych napięciach. Przykład: chociaż Arduinos mają poziomy logiczne 5 V, nie są to TTL, ale CMOS (np. ATMegas to CMOS), patrz również tutaj
Ghanima
3
Słynna rodzina 4000 CMOS działa w zakresie od 3 do 15 V. Zobacz specyfikację , strona 2.
Dmitrij Grigoriew
Prawie prawda, ale nieco inaczej, poziom logiki opiera się na projektowaniu bramek CMOS lub TTL. Poziom logiczny Arduino różni się nieco od standardowych CMOS i TTL.
wajatimur
@wajatimur Nie ma czegoś takiego jak „standard logiczny CMOS”.
Dmitrij Grigoriew
@DmitryGrigoryev Powszechnie stosowana specyfikacja CMOS może być dokładniejsza.
wajatimur