Objaśnienie styków GPIO

12

Mój zestaw Pi 2 został dostarczony z następującą kartą referencyjną styków GPIO.

Nagłówek Pi GPIO Skrócona instrukcja

Oprócz wyświetlania wszystkich numerów styków 5 V, 3,3 V, GND i GPIO, ma dodatkowe informacje na temat niektórych styków GPIO, takich jak TXD, RXD, UART, CLK, PCM, DE0, CE1, SPI, DIN, DOUT, PCM, SDA, SCL, I2C, MOSI, MISO, SCLK, SPI, PCM, FS wraz z różnymi kolorami na nich.

Co to wszystko znaczy? Zakładam, że są to specjalne szpilki do czegoś. Czy nie wszystkie GPIO są użyteczne w ten sam sposób?

kspearrin
źródło

Odpowiedzi:

13

Broadcom datasheet związane z raspberrypi.org w Boštjan Jerko odpowiedź jest doskonałym odniesienia; na przykład sekcja 6.2 opisuje różne funkcje, które można przypisać do każdego pinu zgodnie z odpowiedzią Joanny. Podsumowując znaczenie tych wskazanych na karcie:

  • I 2 C, SDA i SCL: W arkuszu danych Broadcom są one wymienione tylko bezpośrednio w tej tabeli sekcji 6.2, ale dotyczą one magistrali I 2 C, która została omówiona w sekcji BSC (kontroler szeregowy Broadcom). „DA” w SDA oznacza dane, „CL” w SCL oznacza zegar; S oznacza serial. Możesz przeczytać więcej na temat znaczenia linii zegarowej dla różnych typów magistrali komputerowych , ale nie musisz rozumieć jej na tym poziomie, aby z niej korzystać - jak mówi Joan, istnieją biblioteki programistyczne, które to wyodrębniają. Prawdopodobnie znajdziesz urządzenia I 2 C, które mają własne sterowniki przestrzeni użytkownika, a jądro Linuksa również je zawiera. Większość komputerów ma I 2Magistrala C, prawdopodobnie do niektórych celów wymienionych przez wikipedię , takich jak połączenie z RTC (zegar czasu rzeczywistego) i konfigurowanie pamięci. Nie jest on jednak odsłonięty, co oznacza, że ​​nie można do niego przymocować niczego innego, a istnieje wiele ciekawych rzeczy, które można dołączyć - prawie każdy rodzaj wspólnego czujnika (barometry, akcelerometry, żyroskopy, luminometry itp.) ) oraz urządzeń wyjściowych i wyświetlaczy. Możesz kupić adapter USB na I 2 C do zwykłego komputera, ale kosztują one kilkaset dolarów . Możesz podłączyć wiele urządzeń do odsłoniętej magistrali na pi.

  • UART, TXD i RXD: Jest to tradycyjna linia szeregowa ; od dziesięcioleci większość komputerów ma port do tego i port równoległy . 1 Niektóre dystrybucje systemu operacyjnego zorientowane na pi, takie jak Raspbian, domyślnie uruchamiają się z tą linią szeregową aktywną jako konsola, a drugi koniec można podłączyć do innego komputera i użyć odpowiedniego oprogramowania do komunikacji z nim. Uwaga: ten interfejs nie ma linii zegara; dwa piny mogą być użyte do komunikacji w pełnym dupleksie (jednoczesna transmisja i odbiór).

  • PCM, CLK / DIN / DOUT / FS: PCM to sposób kodowania nieskompresowanego dźwięku cyfrowego. Strumień danych jest szeregowy, ale poprawną interpretację najlepiej wykonać z osobną linią zegarową (więcej rzeczy na najniższym poziomie).

  • SPI, MOSI / MISO / CE0 / CE1: SPI to protokół magistrali szeregowej służący do wielu takich samych celów jak I 2 C, ale ponieważ jest więcej przewodów, może działać w pełnym dupleksie, co czyni go szybszym i bardziej elastycznym.


1. Pi faktycznie nie ma żadnego szczególnego stylu równoległej magistrali, ale przypuszczalnie można zaimplementować jeden z niektórymi pinami.

Złotowłosa
źródło
interfejs USB i2c kosztuje kilkaset dolarów? woah
ACarter
4

Nie wszystkie gpi są użyteczne w ten sam sposób.

GPIO może być skonfigurowany do pracy w jednym z ośmiu różnych trybów o nazwie

WEJŚCIA, WYJŚCIA, ALT0, ALT1, ALT2, ALT3, ALT4 i ALT5.

Wszystkie mogą być używane w trybach WEJŚCIA i WYJŚCIA.

Korzystanie z innych trybów różni się w zależności od GPIO. Niektóre tryby mogą przełączać jedno gpio na zegar, a ten sam tryb może przełączać inne gpio na linię UART RXD.

Jest to prawdopodobnie nieistotne dla 99% użytkowników. Będą używać biblioteki do manipulowania gpiami, a biblioteka ustawi wymagany tryb.

Patrz BCM2835 ARM Peripherals strona 102, aby uzyskać informacje na temat trybów gpio i ich znaczenia (tylko gpios 2-27 są istotne w ostatnim Pis).

joan
źródło
2

Każdy z pinów ma swój specjalny cel. Wszystkie z nich nie mogą być używane jako dane wejściowe i wyjściowe. Możesz zapoznać się z samouczkiem makezine, aby dowiedzieć się więcej o GPIO. Aby poznać specjalne funkcje poszczególnych pinów, możesz odwiedzić tę stronę internetową .

Meharban Singh
źródło
1

Dane pinów, które otrzymujesz na karcie referencyjnej, odnoszą się do mikrokontrolera zastosowanego na płycie. Znaleziono dobry dokument wyjaśniający szpilki.

W skrócie: za pomocą pinów możesz komunikować się ze światem zewnętrznym. Na przykład SPI oznacza interfejs magistrali peryferyjnej , I2C to kolejny protokół ...

Boštjan Jerko
źródło
1

Należy zauważyć, że kontroler Broadcom numeruje piny inaczej niż Raspberry Pi. Nie daj się pomylić, odnosząc się do powyższego linku, a następnie patrząc na szybką kartę referencyjną z CanaKit.

CanaKit robi świetną robotę ze swoimi zestawami, mam kilka.

FWIW, piny UART służą do komunikacji szeregowej i często z nich korzystałem.

Ta strona zawiera wiele informacji o sprzęcie Pi

Randal R.
źródło