GMSL2-Kamerasysteme
Remote CSI-2-Kameraintegration für Raspberry Pi über GMSL2-Koaxialverbindungen.
Überblick
Die BE-IIS-GMSL2-Hardware verlegt eine CSI-2-Kamera vom Raspberry-Pi-Prozessor weg und überträgt den Videostream über ein einzelnes Automotive-Koaxialkabel. Das eignet sich für abgesetzte Bildsensoren, flexible Kabelbäume und zwei synchronisierte Kamerapositionen.
Das System besteht aus einem Deserializer-HAT auf Raspberry-Pi-Seite und einem Serializer-Board pro abgesetzter Kamera.
Galerie des Kamerasystems
Die vier Bilder oben zeigen das vollständige Kamerasystem. Ein kleines Bild anklicken, um es als großes Bild anzuzeigen; die Lupe öffnet jedes Bild vergrößert.
Zu sehen sind Systeme mit 3-m- und 10-m-Koaxialverbindung. Beide liefen in der Demonstration zuverlässig – ohne sichtbare Bildaussetzer oder Link-Verlust.
Kein Kernel-Build erforderlich
Die gezeigte Kameraverbindung funktioniert mit der normalen Raspberry-Pi-Kamerasoftware; ein eigener Kernel-Build oder spezieller Kamera-Kernel ist nicht erforderlich. Serializer und Deserializer werden unter Linux mit den üblichen I²C-Werkzeugen und dem offenen BE-IIS Camera Installer konfiguriert.
Damit bleibt die Inbetriebnahme nachvollziehbar: GMSL2-Bausteine per I²C konfigurieren und anschließend die üblichen rpicam-Anwendungen für Vorschau und Aufnahme verwenden.
Kameraflexibilität und Demo-System
Die Demonstration wurde mit Sony-IMX708-Kameras aufgenommen. Sie zeigt, dass sich Raspberry-Pi-CSI-2-Kameras mit einer einfachen Konfiguration über eine GMSL2-Koaxialstrecke übertragen lassen.
Der IMX708 ist ein erprobtes Beispiel, aber keine Einschränkung. Auch andere Raspberry-Pi-Kameramodule funktionieren, wenn CSI-2-Format, Lane-Konfiguration und Linux-Kameratreiber vom System unterstützt werden. Als Host kann ein Raspberry Pi oder ein anderer SBC mit kompatiblem CSI-2-Kameraeingang und passender Linux-Kameraunterstützung dienen.
Der BE-IIS-GMSL2-2CAM-HAT ist auch für komplette, fertige Kamerasysteme ausgelegt. Das BE-IIS-GMSL-SER-Board ist ein offener Adapter und eine Entwicklungsplattform, aber nicht zwingend nötig, wenn eine kompatible GMSL-Kamera bereits den Serializer-Link enthält.
Flexible Power over Coax
Power over Coax (PoC) lässt sich von 5 V bis 24 V einstellen. Dadurch passt der HAT zu unterschiedlichen Versorgungsanforderungen abgesetzter Kameras und Kabelinstallationen.
Hardware-Architektur
Der Dual-Kamera-HAT nutzt einen GMSL2-Deserializer und liefert CSI-2-Video an die Kamera-Schnittstelle des Raspberry Pi. Das Serializer-Board verbindet sich über seinen 22-poligen FFC/FPC-Stecker mit einer kompatiblen Kamera und serialisiert den CSI-2-Stream auf die Koaxialverbindung.
Über dieselbe Verbindung laufen auch I²C-Steuerung, Kamera-Reset und Camera-Enable zwischen Host und abgesetzter Kamera. Wenn das System für PoC ausgelegt ist, kann die Versorgung ebenfalls über das Koaxialkabel erfolgen.
BE-IIS-Kamera-Hardware
Das System nutzt den Host-HAT BE-IIS-GMSL2-2CAM mit einem oder zwei Kameraadapter-Boards BE-IIS-GMSL-SER.






Hinweis zum B-Muster: Digipot entfernt
Das B-Muster enthält keinen Digipot mehr. Die Einstellungen von Deserializer und Serializer sind per I²C erreichbar; der Digipot hatte damit keine aktive Funktion mehr und wurde entfernt.
Software-Ablauf
Der BE-IIS Camera Installer bereitet die Raspberry-Pi-Konfiguration vor und richtet die GMSL2-Links ein:
- die relevante CSI-/I²C-Konfiguration aktivieren
- Deserializer- und Serializer-Links initialisieren
- I²C-Aliase für den abgesetzten Bildsensor einrichten
- CSI-2-Pipeline konfigurieren
- Kamera mit den Raspberry-Pi-Kameraanwendungen starten
Die geprüfte Dual-Kamera-Konfiguration nutzt Sony-IMX708-Sensoren im RAW10-Format mit 2304 × 1296 Pixeln, zwei CSI-2-Lanes und 900 Mbit/s je Lane. Die Initialisierung ist bewusst manuell; kein systemd-Dienst richtet einen Kamera-Link automatisch ein.
Geprüfter Dual-Kamera-Ablauf
cd ~/be-iis-cam-installer
make unoverlay
make prepare-a-b
make pipeline-a-b
rpicam-hello --list-cameras
Link A verwendet den IMX708-Alias 0x52 und erscheint als rpicam-Kamera 1. Link B nutzt 0x53 und erscheint als rpicam-Kamera 0. Für die lokale Vorschau stehen make video-0, make video-1 und make video-dual bereit.
Videovorschau und Stream zum PC
make video CAMERA=0
# oder
make video CAMERA=1
make video-dual
Zum Streamen auf einen PC den rpicam-Stream als H.264 über RTP/UDP senden. PC_IP durch die IP-Adresse des empfangenden PCs ersetzen:
rpicam-vid --camera 0 --timeout 0 --inline --codec h264 --width 2304 --height 1296 --framerate 30 --output - | \\
gst-launch-1.0 -q fdsrc ! h264parse ! rtph264pay pt=96 config-interval=1 ! \\
udpsink host=PC_IP port=5000
Auf dem PC mit GStreamer öffnen:
gst-launch-1.0 -v udpsrc port=5000 caps="application/x-rtp,media=video,encoding-name=H264,payload=96,clock-rate=90000" ! \\
rtph264depay ! avdec_h264 ! autovideosink sync=false
In der geprüften Dual-Kamera-Konfiguration ist Kamera 0 Link B und Kamera 1 Link A. Für den direkten LAN-Stream eine passende Netzwerkverbindung verwenden und bei Bedarf Auflösung oder Bildrate reduzieren.
Dual-Kamerasysteme
Zwei unabhängige GMSL2-Links eignen sich für Stereo-Vision-Demonstrationen, abgesetzte Industriekameras und Multi-Kamera-Evaluierungen. Jeder Link muss separat initialisiert werden; Kameraadressen und Aliase müssen eindeutig sein.