Wenn mehrere Kameras gleichzeitig ins Netzwerk senden, muss die Bandbreite von 125 MB/s pro GigE Port zwischen den einzelnen Kameras aufgeteilt werden. Prosilica bietet den Parameter >>StreamBytesPerSecond<<, der für jede einzelne Kamera im Netzwerk genau festlegt, wie viele Daten gesendet werden. So kann das Transfervolumen optimal auf die Anwendung angepasst werden. Es sind auch nicht gleichmäßige Aufteilungen möglich, wenn z.B. eine Megapixel-Kamera parallel zu einer VGA-Kamera betrieben wird.
Serielle Datenübertragung
Ist nur der Aufnahmezeitpunkt entscheidend, nicht aber unbedingt der Zeitpunkt, wann die Daten im PC zur Verfügung stehen, lässt sich die Datenübertragung mittels >>StreamHold<< serialisieren. Die Kameras belichten ein oder mehrere Bilder und speichern sie im internen onboard Memory, das bis zu 32 MB groß ist. Wird >>StreamHold<< per Software für eine einzelne Kamera wieder deaktiviert beginnt die Datenübertragung der gespeicherten Bilder. Über diesen Mechanismus lassen sich beliebig viele Kameras betreiben, da ja exakt per Software festgelegt werden kann, wann eine Kamera effektiv das Netzwerk belastet – unabhängig vom Zeitpunkt der Bildaufnahme. Bild 6 zeigt ein solches Setup: drei Kameras stehen auf StreamHold und werden über den externen Trigger gleichzeitig ausgelöst. Das aufgenommene Bild wird nicht sofort über die GigE Schnittstelle ausgegeben, sondern intern gespeichert. Per Software wird es nun explizit angefordert (StreamHold wird deaktiviert) und steht ca. 8 ms später im Host-PC zur Verfügung.
Jenseits der Bottlenecks
Um für schnelle Anwendungen - mit vielen gleichzeitig sendenden Kameras - den Flaschenhals der begrenzten Bandbreite zu umgehen, existieren Multi-Port Karten. Sie verfügen über bis zu vier unabhängige Gigabit-Ethernet Ports. Damit lässt sich ein Netzwerk mit 500 MB/s aufbauen, auch wenn eine einzelne Kamera nie über 125 MB/s hinaus senden darf. Die hierfür zumeist eingesetzte PCIe Technologie erlaubt außerdem eine Transfergeschwindigkeit von 1 GB/s vom Board zum PC - wie es bei CameraLink Framegrabbern heute bereits üblich ist. Spezialisierte Hardware für GigE Vision - wie das Matrox Solios GigE - addieren zu der Funktionalität einer reinen 4fach Port Netzwerkkarte weitere Features besonders für Bildverarbeitungsaufgaben: das Board beinhaltet beinhaltet eine >>Protocol Offload Engine<< für alle 4 Kanäle, um 0% CPU Last zu erreichen. Auch die Bild-Rekonstruktion wird komplett auf der Hardware durchgeführt, so dass die Host CPU wirklich vollständig für die eigentliche Bildverarbeitung zur Verfügung steht. Zusätzliche programmierbar Trigger Ein- und Ausgänge sowie ein optionales FPGA für Datenvorverarbeitung runden Matrox Solios GigE ab. Durch die hohe Flexibilität eines GigE Vision Systems in Hard- und Software lässt sich so immer eine Konfiguration erstellen, die der jeweiligen Aufgabe sowohl in Performance als auch Kosten gerecht wird.