Raspberry Pi - Piny GPIO i inne złącza
[img=header]
Chciałbym przybliżyć wszystkie dostępne złącza w Raspberry Pi m.in. GPIO, CSI, HDMI czy JTAG. W tym wpisie pokażę też czym różnią się rev 1 i rev 2 Raspberry Pi pod względem portów GPIO. Jest to wprowadzenie dla osób początkujących.
Złącza obrazu
RCA
Złącze pozwala na podłączenie zwykłego kabla znanego pod nazwą czincz, znajdującego się w większości starych telewizorów oraz małych ekranów samochodowych. Za pomocą tego złącza możemy wyświetlić ekran z naszego RPi.
HDMI
Złącze HDMI jest popularnym interfejsem Wideo do wyświetlania obrazu w wysokiej rozdzielczości używanym zarówno w komputerach jak i telewizorach. Interfejs HDMI umożliwia również przesyłanie dźwięku oraz pozwala na sterowanie pilotem od telewizora (za pomocą HDMI CEC) urządzeniami, w tym przypadku naszym RPi. Możliwe jest również użycie konwerterów obrazu z HDMI do VGA oraz przejściówki do DVI.
Konfiguracja złącz RCA i HDMI możliwa jest w pliku /boot/config.txt znajdującym się na karcie SD. Opis konfiguracji złącza dostępny pod tym adresem. Za pomocą tych konfiguracji możemy ustawić niestandardowe monitory i telewizory jeśli zostaną źle wykryte, jak również pomoże to nam przy konfiguracji podłączonych konwerterów VGA i przejściówek DVI, aby obraz wyświetlał się poprawnie na monitorach.
CSI (Camera Serial Interface)
Pozwala na podłączenie modułu kamery dostępnej jako oficjalny dodatek. Można również podłączyć inne moduły, ale jest to dość trudne do wykonania dla ZU.
DSI (Display Serial Interface)
Pozwala na podłączenie ekranów LCD. Obecnie brak jest oficjalnego modułu, ale społeczności udało się uruchomić pojedyncze małe ekrany. Ze względu na ograniczoną dokumentację dla złącza DSI obecnie częściej używa się ekrany podłączane przez HDMI.
Złącza dźwięku
Oprócz przesyłania dźwięku za pomocą HDMI Raspberry Pi posiada popularne złącze Jack Audio, do którego możemy podłączyć nasze głośniki oraz słuchawki.
Przy zastosowaniu przejściówki/konwerterów obrazu z HDMI na DVI lub VGA, aby można było używać dźwięku przez złącze Jack Audio, należy ustawić opcję hdmi_drive=1 w pliku /boot/config.txt na karcie SD.
Złącza GPIO
Tutaj warto zaznaczyć, że obydwie rewizje 1 jak i 2 miały inną ilość oraz układ złącz GPIO. Poniżej znajduje się zdjęcie złącz GPIO w rewizji 1.
Jak widać mamy tu 26 złącz GPIO zaś rewizja 2 otrzymała dodatkowe złącza GPIO oraz kilka zmian, m.in. dodano złącze 5V i 3,3V na głównym module P1. Poniżej pokazane jest zdjęcie rewizji 2.
Widać, że druga rewizja otrzymała dodatkowo 8 złącz (na module P5) w tym 2 złącza zasilania 5V i 3,3V, 4 piny cyfrowe (z czego piny 28 i 29 mogą być pinami magistrali I2C (I2C0) jako funkcja alternatywna) oraz 2 piny GND.
Poniżej schemat pinów dla obydwu rewizji.
Złącze reset
Dodatkowo w rewizji drugiej dodano dwa piny resetu, za pomocą których możemy resetować RPi.
Złącza JTAG P2 i P3
Dwa złącza JTAG: P2 VideoCore JTAG służy tylko przy produkcji oraz P3 LAN9512 JTAG do komunikacji. Złącza tylko dla zaawansowanych użytkowników. Nie polecam używać ich, gdyż nieumiejętne użycie może uszkodzić Raspberry Pi.
Raspberry Pi posiada interfejsy na GPIO jak I2C, SPI, UART, PWM i JTAG. Pełny opis złącz GPIO w Raspberry Pi można znaleźć na wiki eLinux. Część złączy GPIO ma możliwość ustawienia ich w trybie funkcji alternatywnych.
Pozostałe złącza
Złącze kart SD
Pozwala na podłączenie karty SD z wgranym systemem. Możliwe jest również zastosowanie adaptera Micro SD pokazanego na zdjęciu, dzięki czemu nasza karta nie wystaje poza RPi.
Złącza/e USB
Możemy podpiąć m.in. Hub USB, Karty WiFi, Modemy 3G, Klawiaturę i myszkę oraz inne urządzenia. Warto zauważyć, że wydajność prądowa jednego portu w wersji B to 300mA a dla wersji A 500mA. Gdy nasze urządzenie potrzebuje większego prądu, wtedy musimy użyć aktywny Hub USB z własnym zasilaniem.
LAN
Złącze Ethernet o przepustowości 10/100Mbit dostępne jest tylko w wersji B. Wersja A pozbawiona jest tego złącza oraz kontrolera Ethernet.
Złącza TP1 i TP2
Służą do mierzenia napięcia i natężenia prądu w RPi. Są bardzo pomocne jeśli mamy problem z zasilaniem. Wtedy warto sprawdzić multimetrem jakie napięcie daje nam dany zasilacz dla naszego układu z podłączonymi urządzeniami.
Warto dodać również, że Raspberry Pi w wersji B rev 1 posiada tylko 256MB RAM. Również pierwsze wyprodukowane RPi w rev2 posiadały 256MB RAM, które w krótkim czasie zamieniono już na docelowe 512MB.
Poniżej trzy wersje Raspberry Pi od lewej: wersja A rev 2, Wersja B rev 2 oraz Wersja B rev 1.
Przydatne linki:
[item]Opis konfiguracji pliku config.txt [/item][item]Opis złącz GPIO oraz alternatywnych funkcji [/item] Jeśli ktoś znajdzie jakiś błąd proszę o uwagę w komentarzu.