Der neue Interface-Standard GigE-Vision erzeugt derzeit sehr großes Interesse für unterschiedlichste Anwendungen in der industriellen und wissenschaftlichen Bildverarbeitung.
GigE-Vision basiert auf Gigabit-Ethernet und bietet eine maximale Transferleistung von ca. 125 MB/s. Die Ethernet-Technologie bietet weitere Vorteile wie Kabelstrecken bis 100 Meter ohne den Einsatz von Repeatern / Hubs, die Verwendung äußerst kostengünstiger Standard-Infrastruktur (z.B. CAT5e / CAT6-Netzwerkleitungen) und zahlreiche Möglichkeiten der Infrastruktur-Topologie.
GigE Vision ist eine sehr reizvolle Alternative zu klassischen Framegrabber Lösungen, da es sich um eine normierte und gleichzeitig sehr flexible Kameraschnittstelle handelt, die von allen namhaften Hardware und Software Herstellern getragen wird.
Optimierung der Bilddatenübertragung Minimierung der Host-CPU Last
Die Bilddaten werden basierend auf dem UDP-Transportprotokoll über einzelne Ethernet-Pakete von der Kamera zum Host-PC übertragen. Es ist u.a. die Aufgabe des GigE-Vision Treibers, die Bilddaten aus den einzelnen Ethernet-Paketen zu extrahieren und im Bildspeicher zur Verfügung zu stellen. Dieses Entpacken der Bilddaten ist mit CPU-Last verbunden, da jedes einzelne Paket vom Treiber verarbeitet werden muss.
Hier liegt heute noch ein Vorteil von anderen Interfaces wie z.B. Camera Link, die ohne jede CPU Last die Bilddaten zum Host-PC transportieren.
Neben dem Einsatz von sog. High-Performance Treibern, die jedoch nur auf bestimmte Netzwerk-Chipsätze optimiert sind, werden vielfach GigE-Vision Filter Treiber eingesetzt. Diese sind universell mit beliebigen Netzwerkkarten verwendbar und bieten eine sehr gute Balance aus anfallender CPU-Last und flexibler Verwendung auf unterschiedlicher Hardware.
Mit den erweiterten Einstellungen des Netzwerkadapters lässt sich die anfallende CPU-Last bei Verwendung eines GigE FilterTreibers sehr gering halten. Die Standardgröße eines Ethernet-Pakets ist ca. 1500 Byte.
Mit >>Jumbo Frames<< lassen sich mehr Nutzdaten pro Paket übertragen und sich so der Protokoll Overhead erheblich verringern.
Die >>Recieve Descriptoren<< sind Datensegmente, die verwendet werden, um empfangene Pakte in den PC Speicher zu schreiben. Mit einer größeren Anzahl kann der Treiber effizienter und weniger CPU-intensiv arbeiten.
Die Einstellung >>Interrupt Moderation<< regelt das Verhältnis aus empfangenen Daten und den dafür vom Netzwerkadapter ausgelösten Interrupts. Je weniger Interrupts ausgelöst werden, desto geringer ist die Prozessor Last. Zwar steigt gleichzeitig die Latenz beim Empfang der Daten, in der Praxis kann dieser Wert jedoch maximal eingestellt werden (d.h. eine geringere Anzahl an Interrupts wird generiert) ohne die Bildverarbeitungsanwendung zu beeinträchtigen.
Mit diesen Einstellungen auf der Netzwerkkarte ergeben sich in der Praxis auf einem durchschnittlichen Standardsystem mit Pentium 4 2.8 GHz System folgende CPU Lasten in Abhängigkeit vom Übertragungsvolumen (Bild 1 - Diagramm).
Mehrkamerasysteme mit Switches
GigE Vision eignet sich wegen zahlreicher Möglichkeiten der Netzwerk-Infrastruktur-Topologie und vielfältigen Ethernet-Transportmedien auch besonders für Mehrkamera-Lösungen, da sich diese mit einem Minimum an Hardwareaufwand realisieren lassen (Bild 2 GigE-Multi-Kamera).
Auch wenn man mehrere Kameras an einem Gigabit-Ethernet Port über einen Switch betreibt, werden die Bilddaten stabil und sicher erfasst. Natürlich darf in der heutigen Ausbaustufe von GigE-Vision die Bandbreite pro Ethernetport 125 MB/s nicht übersteigen und der Switch selbst muss in der Lage sein, die Jumbo Frames von allen aktiven Kameras parallel zum Ziel zu routen.
Synchronisation und Latenz
Die gleichzeitige Aufnahme von mehreren Kameras kann über einen gemeinsamen externen Trigger synchronisiert werden. Optional ließe sich der Trigger auch nur an eine Kamera geben und von dort direkt an weitere Kameras durchschleifen (daisy-chain).
Die Prosilica Kameras haben eine feste Latenz: exakt 2,4 µs nach Erhalt des gemeinsamen Triggers beginnen sie zeitgleich mit der Belichtung des Bildes und geben das Exposure-Signal über eine programmierbares I/O Leitung aus (Bild 3 Trigger und Exposure).
Bereits mit Beginn des Sensor-Readouts werden die Bilddaten über den Switch zum Host-PC gestreamt. Das Transportverhalten ist sehr deterministisch, innerhalb von 170 µs liegen die Bilder von allen drei Kameras vollständig im PC vor und können dort verarbeitet werden (Bild 4 Trigger und Daten im PC).
Die Reihenfolge des Bildempfangs über die Netzwerkstruktur kann nicht immer vorhergesagt werden, der Zeitunterschied für das Eintreffen der Bilddaten liegt jedoch bei wenigen µs (Bild 5 Daten im PC Zoom).
Dieses Verhalten sollte für Vision-Applikationen mehr als ausreichend sein.