Die ersten Schritte habe ich bereits in Raspberry Grundkonfiguration beschrieben.
Um eine Orientierung zu haben, denifiere ich die Draufsicht auf den Raspberry
mit 40 poliger Pfostensteckerleiste rechts als Standard-Ansicht.
Entsprechend ist oben die µSD-Card-Buchse, links HDMI & µUSB und unten CSI.
BCM2835_PDF_Datasheet.pdf
Kapitel 6.2 ab Seite 102,
An der unteren Micro-B USB Buchse J1 steht auf der Platine PWR
.
Und mehr ist an dieser Buchse auch nicht angeschlossen.
Die Numerierung erfolgt von links nach rechts
von außen in die Buchse hinein geschaut.
Übliche USB Kabelfarben sind ebenso enthalten.
Kabelfarbe | Pin | Bezeichnung |
---|---|---|
rot | 1 | 5V |
weiss | 2 | - |
grün | 3 | - |
- | 4 | - |
schwarz | 5 | Gnd |
Zum Anfang
Die 2. Micro-B USB Buchse, mittig links (näher zur CPU),
ist auch tatsächlich eine USB 2.0 Schnittstelle.
Bei Sicht in die USB-Buchse (breite flache Seite oben) ist links Pin 1 und rechts Pin 5.
D+ und D- sind die differentiellen Datenleitungen.
Im einzigen, im Internet auffindbaren Schaltplan, ist noch nichteinmal diese Schnittstelle beschrieben.
Laut wikipedia.org ist der ID-Pin am Micro-B-Stecker wie folgt:
Typ A: Masse (On-The-Go; [OTG]-Gerät arbeitet als Host)
Typ B: nicht verbunden (OTG-Gerät arbeitet als Peripherie)
Da ich über diese Schnittstelle, via Hub (da die 5 V nicht direkt aus den Raspberry gezogen werden sollten),
eine Tastatur und Maus anschließen kann, stimmt das mit den ID-Pin beim Raspberry nicht ganz.
Kabelfarbe | Bezeichnung | Pin |
---|---|---|
rot | VBUS 5V | 1 |
weiss | Data - | 2 |
grün | Data + | 3 |
- | ID (NC) | 4 |
schwarz | Gnd | 5 |
Zum Anfang
Die JTAG-Schnittstelle ist eine typische debug Schnittstelle um ein IC
z.B. nach der Bestückung auf Funktionsfähigkeit zu überprüfen.
J5 befindet unterhalb der Platine im unteren Bereich
(gegenüber der Kamera-Schnittstelle).
An welche CPU-Pins die Signale gehen,
ist aus den mageren Schaltplan Rev 1.1 nicht ersichtlich.
Bände spricht für sich, dass es eine Rev. 1.1 von 2015 & 2017 gibt…
Bezeichnung | Pin |
---|---|
RUN | 1 |
VC_TRST_N | 2 |
VC_TDI | 3 |
Gnd | 4 |
VC_TDO | 5 |
VC_TMS | 6 |
Gnd | 7 |
VC_TCK | 8 |
Zum Anfang
Die mini-HDMI-Buchse J6 oder HDMI Typ C, befindet sich oben links
auf der Platine neben der µSD-Card und der CPU.
Die Bezeichnung Links und rechts bezieht sich auf die Sicht in die Buchse (flache Seite oben).
Aus den Schaltplan geht leider nicht hervor, an welche CPU-Pins das geht.
Um sie nutzen zu können,
ist meist noch ein Adapter 19 pol. HDMI Buchse (Typ A) auf 15 pol. mini HDMI Stecker nöitg.
Bei den HDMI-Datenleitungen handelt es sich um differentielle
wikipedia.org TDMS-Signale.
Entsprechend gibt es 4 Signalpaare (3 für die Farben + Takt),
wobei jedes Signal des Paars am Ende mit p wie positiv oder n wie negativ bezeichnet ist.
Zusätzlich gibt es noch eine 5V tolerante I2C-Schnittstelle (SCL, SDA).
wikipedia.org CEC ist ein einadriger serieller Datenbus
zur Kontrolle aller angeschlossenen Geräte über eine IR-Fernbedienung.
HPD wird vom Monitor hochgezogen z.B. via Pullup-Widerstand,
dann liest die Signalquelle via I2C die Möglichkeiten des Monitors aus.
Bezeichnung | Pin | rechts |
---|---|---|
Gnd | 1 | |
HDMI_T2P | 2 | rot |
HDMI_T2N | 3 | |
Gnd | 4 | |
HDMI_T1P | 5 | grün |
HDMI_T1N | 6 | |
Gnd | 7 | |
HDMI_T0P | 8 | blau |
HDMI_T0N | 9 | |
Gnd | 10 | |
HDMI_CKP | 11 | Takt |
HDMI_CKN | 12 | |
Gnd | 13 | |
HDMI_CEC | 14 | |
HDMI_SCL | 15 | DDC SCL |
HDMI_SDA | 16 | DDC SDA |
reserved | 17 | |
5V max. 50 mA | 18 | |
HDMI_HPD | 19 | hotplug detect |
Bezeichnung | Pin | links |
Zum Anfang
Die folgenden Tabelle bedarf wahrscheinlich noch etwas Erklärung.
Die Numerierung von J8 am rechten Platinenrand ist von oben auf die Platine betrachtet.
(Sicht in den Pfostenstecker)
Zur Orientierung ist Pin 1 mit einem eckigen Pad versehen und befindet sich oben links.
Nach einem Reset ist zunächst jeder der 54 general-purpose I/O (GPIO) Pins ein Eingang
mit fast überall einem Widerstand. Siehe Buchstabe vor der Pin Nummer.
Der Widerstand kann entweder ein H = pull-up oder ein L = pull-down Widerstand oder - = offen sein.
Später kann ich jeden GPIO umprogrammieren zu einen Ausgang oder
er kann bis zu 6 alternative Funktionen (ALT0…ALT5) haben.
Nur ein Bruchteil davon GPIO0…GPIO27, ist auf dieser Steckerleiste erreichbar.
Betimmte Funktionen benötigen ein Gruppe von Pins, sonst machen sie keinen Sinn und sind entfallen.
Steht am Anfang der Bezeichnung ein kleines n, wie z.B. nCE, so ist diese Chip Enable low aktiv.
Pin | Pin | |||||
---|---|---|---|---|---|---|
1 | 3V3 | |||||
2 | 5 V | |||||
H 3 | GPIO02 | 0 SDA1 * | ||||
4 | 5 V | |||||
H 5 | GPIO03 | 0 SCL1 * | ||||
6 | Gnd | |||||
H 7 | GPIO04 | 0 GPClk0 1-w | 5 ARM TDI | |||
L 8 | GPIO14 | 0 TxD0 | 5 TxD1 | |||
9 | Gnd | |||||
L 10 | GPIO15 | 0 RxD0 | 5 RxD1 | |||
L 11 | GPIO17 | 4 SPI1 nCE1 | 5 RTS1 | |||
L 12 | GPIO18 | 0 PCM Clk | 4 SPI1 nCE0 | 5 PWM0 | 3 BSCSL SDA/MOSI | |
L 13 | GPIO27 | 4 ARM TMS | 3 SD1 DAT3 | |||
14 | Gnd | |||||
L 15 | GPIO22 | 4 ARM TRST | 3 SD1 CLK | |||
L 16 | GPIO23 | 4 ARM RTCK | 3 SD1 CMD | |||
17 | 3V3 | |||||
L 18 | GPIO24 | 4 ARM TDO | 3 SD1 DAT0 | |||
L 19 | GPIO10 | 0 SPI0 MOSI | ||||
20 | Gnd | |||||
L 21 | GPIO09 | 0 SPI0 MISO | ||||
L 22 | GPIO25 | 4 ARM TCK | 3 SD1 DAT1 | |||
L 23 | GPIO11 | 0 SPI0 sClk | ||||
H 24 | GPIO08 | 0 SPI0 nCE0 | ||||
25 | Gnd | |||||
H 26 | GPIO07 | 0 SPI0 nCE1 | ||||
H 27 | GPIO00 | 0 ID_SDA0 | ||||
H 28 | GPIO01 | 0 ID_SCL0 | ||||
H 29 | GPIO05 | 0 GPClk1 | 5 ARM TDO | |||
30 | Gnd | |||||
H 31 | GPIO06 | 0 GPClk2 | 5 ARM RTCK | |||
L 32 | GPIO12 | 0 PWM0 | 5 ARM TMS | |||
L 33 | GPIO13 | 0 PWM1 | 5 ARM TCK | |||
34 | Gnd | |||||
L 35 | GPIO19 | 0 PCM_FS | 4 SPI1 MISO | 5 PWM1 | 3 BSCSL SCL/SCLK | |
L 36 | GPIO16 | 4 SPI1 nCE2 | 5 CTS1 | |||
L 37 | GPIO26 | 4 ARM TDI | 3 SD1 DAT2 | |||
L 38 | GPIO20 | 0 PCM DIn | 4 SPI1 MOSI | 5 GPClk0 | 3 BSCSL MISO | |
39 | Gnd | |||||
L 40 | GPIO21 | 0 PCM DOut | 4 SPI1 SCLK | 5 GPClk1 | 3 BSCSL nCE | |
odd | even | x GPIO | Alt0 | Alt4 | Alt5 | Alt3 |
Der Pins 3 und Pin 5 hat noch eine Sonderstellung, da dort extern zur CPU,
jeweils ein extra 1k8 pullup Widerstand nach 3V3 angeschlossen wurde.
Die Nummer vor der Bezeichnung z.B. bei Pin 3 steht 0 SDA1
kennzeichnet die Alternative 0 → ALT0.
GPIO3
kann ich als "shut down" programmieren, indem ich in folgende Datei etwas einfüge.
sudo nano /boot/config.txt dtoverlay=gpio-shutdown
Zum Anfang
wiringPi | GPIO | Pin | Pin | GPIO | wiringPi |
---|---|---|---|---|---|
3V3 | 1 | 2 | 5V | ||
8 | 2 | 3 | 4 | 5V | |
9 | 3 | 5 | 6 | Gnd | |
7 | 4 | 7 | 8 | 14 | 15 |
Gnd | 9 | 10 | 15 | 16 | |
0 | 17 | 11 | 12 | 18 | 1 |
2 | 27 | 13 | 14 | Gnd | |
3 | 22 | 15 | 16 | 23 | 4 |
3V3 | 17 | 18 | 24 | 5 | |
12 | 10 | 19 | 20 | Gnd | |
13 | 9 | 21 | 22 | 25 | 6 |
14 | 11 | 23 | 24 | 8 | 10 |
Gnd | 25 | 26 | 7 | 11 | |
0 | 27 | 28 | 1 | 9 | |
5 | 29 | 30 | Gnd | ||
6 | 31 | 32 | 12 | ||
13 | 33 | 34 | Gnd | ||
19 | 35 | 36 | 16 | ||
26 | 37 | 38 | 20 | ||
Gnd | 39 | 40 | 21 |
Die 22 polige CSI- Kamera-Schnittstelle J12 befindet sich am unteren Rand der Platine.
An einen kleinen Dreieck kann man rechts Pin 1 erkennen.
Aus dem Schaltplan geht leider nicht hervor, an welche CPU Pins das geht.
Um übliche ZIF15 Kameramodule nutzen zu können, ist ein Adapter-Kabel nötig.
Wenn man sich die Steckerbeleung anguckt, fragt man sich,
warum man überhaupt einen 22 poligen Stecker verwendet hat.
Bezeichnung | Pin | Bezeichnung | Pin |
---|---|---|---|
Gnd | 1 | 1 | |
CAM_DN0 | 2 | 2 | |
CAM_DP0 | 3 | 3 | |
Gnd | 4 | 4 | |
CAM_DN1 | 5 | 5 | |
CAM_DP1 | 6 | 6 | |
Gnd | 7 | 7 | |
CAM_CN | 8 | 8 | |
CAM_CP | 9 | 9 | |
Gnd | 10 | 10 | |
- | 11 | ||
- | 12 | ||
Gnd | 13 | ||
- | 14 | ||
- | 15 | ||
Gnd | 16 | ||
CAM_GPIO0 ID_SDA0 | 17 | 11 | |
CAM_GPIO1 ID_SCL0 | 18 | 12 | |
Gnd | 19 | ||
SCL0 | 20 | 13 | |
SDA0 | 21 | 14 | |
3V3 | 22 | 15 | |
CSI | ZIF15 |
Moderne Kamera-Chips können bis zu 4 Daten-Lanes zur Verfügung stellen.
Leider bietet diese Schnittstelle nur 2 Daten-Lanes (CAM-D0, CAM-D1)
und eine Clock-Lane (CAM-C).
Über die I2C-Schnittstelle (SCL, SDA) wird die Kamera konfiguriert.
Zum Anfang
Die µSD-Card Schnittstelle befindet sich am oberen Platinenrand.
Dies ist im SD-Mode eine serielle 4 Bit-Schnittstelle
und im SPI-Mode eine 1 Bit serielle Schnittstelle.
Guckt man in den Schacht hinein (Kontakte unten) ist rechts an der µSD-Card eine Nase Pin 1.
Name | SD Mode | Pin | SPI Mode |
---|---|---|---|
D2 | Data 2 | 1 | - |
D3 | Data 3 | 2 | CS |
CMD | Command | 3 | DIn |
3V3 | 3V3 | 4 | 3V3 |
Clk | Clock | 5 | Clk |
Gnd | Gnd | 6 | Gnd |
D0 | Data 0 | 7 | DOut |
D1 | Data 1 | 8 | - |
Zum Anfang
Am unteren Ende der 40 poligen Steckerleiste befinden sich links noch 4 Pins.
Wenn HDMI nicht angeschlossen ist, hat man ein analoges composit Video-Signal
(gelber RCA-Stecker) zur Verfügung.
Mit den /Reset-Pin könnte ich einen gestoppten Raspberry wieder starten.
Sonst sollte man diesen Pin möglichst nicht verwenden, da unter Umständen,
wenn Linux nicht richtig runter gefahren wird, ein korruptes Dateisystem entsteht.
breite Seite | Pin | Pin | Platinenrand |
---|---|---|---|
composite video via RCA | 1 | 2 | Gnd |
Gnd | 2 | 1 | Run oder /Reset |
Zum Anfang
cbrell.de GPIO – Raspberry Pi Pinbelegung
components101.com SD-Card pinout, features, Spec., how to connect
datenreise.de Raspberry Pi – Kameramodul als Überwachungskamera (Livestream)
delphys.net A simple solution using a MOSFET to level-shift control
giga.de USB-Anschluss: Pinbelegung von USB A, B, C und Micro-USB
github.com RPi-Distro / raspi-gpio
indibit.de Raspberry Pi: Die GPIO-Schnittstelle (Grundlagen + Belegung)
iwenzo.de HDMI Steckerbelegung
mikrocontroller.net Pegelwandler
petervis.com Raspberry Pi CSI Camera Module
pi-buch.info GPIO-Steuerung in PHP-Scripts
pinout.xyz Raspberry Pi Pinout
raspberrypi-spy.co.uk Simple Guide to the Raspberry Pi GPIO Header
raspberry.tips GGPIO Belegung für den Raspberry Pi B+ und WiringPi Update
raspberrypiguide.de Raspberry Pi GPIO How-To
reichelt.de USB
sprut.de Ansteuerung von Dot-Matrix LCD-Displays
stackexchange.com Raspberry Pi RUN Pin
stackexchange.com How to trigger hot plug detection in HDMI interface?
tutorials-raspberrypi.de Raspberry Pi GPIO Erklärung für Beginner + Programmierung (Teil 2)
tutorials-raspberrypi.de KY040 Drehregler als Lautstärkeregler für den Raspberry Pi
tutorials-raspberrypi.de WS2812 RGB LED Streifen per Raspberry Pi steuern
tutorials-raspberrypi.de Raspberry Pi: Per IR Remote Befehle ausführen
tutorials-raspberrypi.de Raspberry Pi und I2C Luftdrucksensor BMP180
thepihut.com How to add an RCA TV Connector to a Raspberry Pi Zero
Zum Anfang