Datenverlust vermeiden

Bild 1 I Multikamerasystem mit Flow Control: Empfänger (Switch + Host) haben eine Pause der Datenübertragung angefordert. Die Daten werden im Speicher des Hosts und der Kamera zwischengespeichert.
Bild 1 I Multikamerasystem mit Flow Control: Empfänger (Switch + Host) haben eine Pause der Datenübertragung angefordert. Die Daten werden im Speicher des Hosts und der Kamera zwischengespeichert.
Bild 1 I Multikamerasystem mit Flow Control: Empfänger (Switch + Host) haben eine Pause der Datenübertragung angefordert. Die Daten werden im Speicher des Hosts und der Kamera zwischengespeichert.
Bild 1 I Multikamerasystem mit Flow Control: Empfänger (Switch + Host) haben eine Pause der Datenübertragung angefordert. Die Daten werden im Speicher des Hosts und der Kamera zwischengespeichert.Bild: Allied Vision Technologies GmbH

GigE Vision greift auf eine weit verbreitete Netzwerktechnologie zurück: das GigE Vision Control Protocol (GVCP) und das GigE Vision Streaming Protocol (GVSP). Beide basieren hauptsächlich auf dem User Datagram Protocol (UDP). Das in der industriellen Bildverarbeitung am häufigsten verwendete Protokoll ermöglicht eine effiziente Datenübertragung mit geringer Latenzzeit. Es gibt jedoch einige Einschränkungen bei UDP-basierten GigE Vision-Systemen:

  • Daten, die bei der Übertragung verlorengegangen sind, können nicht erkannt oder korrigiert werden.
  • Die richtige Reihenfolge der Datagramme kann nicht zuverlässig gewährleistet werden.
  • UDP-basierte GigE Vision-Systeme sind anfällig für Netzwerk- oder Systemüberlastungen.

Das GigE Vision Interface an sich hat gegenüber anderen Schnittstellen wie USB3 den Vorteil, dass durch das zugrunde liegende Protokoll die korrekte Reihenfolge und Vollständigkeit der Daten gewährleistet ist. Beim Streaming werden zu jedem Datenpaket zusätzliche Informationen (Metadaten), wie z.B. die Bildnummer, zur Verfügung gestellt. Damit kann der Host überprüfen, ob Datenpakete oder komplette Frames fehlen. Ist dies der Fall, kann er bei der Kamera die erneute Übertragung der fehlenden Pakete anfordern (Packet Resend Request). Diese Funktion ist zwar nützlich, kann aber die Systemlast vorübergehend erhöhen und damit die Gesamtleistung des Systems beeinträchtigen und zu unvollständigen oder gar fehlenden Bilder führen. Dieses Problem lässt sich vermeiden, wenn beim Systemdesign eine ausreichende Bandbreite für den Datendurchsatz vorgesehen ist. Doch wie viel Bandbreite ist erforderlich? Dies hängt von den jeweiligen Anforderungen, Systemleistung, Durchsatz und Netzwerktopologie ab. In der Regel ist ein erheblicher Testaufwand und viel Erfahrung nötig, um ein perfekt abgestimmtes und kostenoptimiertes System zu entwickeln.

v.l.n.r. Alvium G1 und Alvium G5
v.l.n.r. Alvium G1 und Alvium G5 Bild: Allied Vision Technologies GmbH

Entlastung durch Ethernet Flow Control

Eine typische Ursache für Paketverluste in überlasteten Systemen ist das Überlaufen eines Paketbuffers in einem Netzwerkgerät. Diese Hardware-Buffer befinden sich in Netzwerk-Switches und Netzwerk-Schnittstellenkarten (NICs), aber auch auf Kameraseite (frame buffer). Sie können in der Regel nur Millisekunden des vollen Durchsatzes zwischenspeichern, was bedeutet, dass schon ein kleines, vorübergehendes Überlastungsereignis zu Paketverlusten führen kann.

Mit Hilfe der Ethernet-Flow-Control-Funktion lässt sich ein Überlaufen der Buffer verhindern. Jedes Daten-empfangende Netzwerkgerät im Rahmen der Punkt-zu-Punkt Verbindung zwischen Kamera und Host-System (z.B. Host, NIC und/oder Switch) kann eine Übertragungspause (pause request) veranlassen, wenn er einen fast vollen Buffer feststellt. Die Übertragung wird dann mit dem nächsten Ethernet-Frame für die angeforderte Zeitspanne unterbrochen. Sollte die Kamera einen Pause Request erhalten, sammelt der interne Speicher der Kamera (frame buffer), der in der Regel deutlich größer ist als die Buffer der Netzwerkgeräte, die vom Bildsensor übertragenen Daten und hält sie zurück. Kann der Empfänger wieder Daten empfangen, wird eine Aufforderung zur Fortsetzung der Datenübertragung gesendet. Die auf der Kamera gespeicherten Daten werden dann zum Empfänger gesendet. Dieser Prozess läuft innerhalb von Millisekunden und sorgt dafür, dass keine Datenpakete oder Bildinformationen verloren gehen.

Bild 3 | Alvium G1 mit GigE Vision Interface und Alvium G5 mit 5GigE Vision Interface.
Bild 3 | Alvium G1 mit GigE Vision Interface und Alvium G5 mit 5GigE Vision Interface.Bild: Allied Vision Technologies GmbH

Einfache Anwendung mit Alvium GigE Vision Kameras

Flow Control ist bei allen Alvium GigE Vision-Kameras standardmäßig aktiviert, und fast alle Netzwerk-Switches und -schnittstellenkarten unterstützen diese Funktion. Der Anwender muss lediglich sicherstellen, dass die Funktion auch auf dem Netzwerkgerät aktiviert ist. So lässt sich die Entwicklung eines zuverlässigen Systems mit hohem Datendurchsatz im Rahmen der technischen, finanziellen und zeitlichen Möglichkeiten wesentlich einfacher und effizienter realisieren. Solange der mittlere Durchsatz genügend Kapazität bietet, um den temporären Rückstand aus dem Buffer der Kamera aufzuholen, gewährleisten die Alvium GigE-Kameras eine zuverlässige Datenübertragung und vermeiden Paketverluste im Netzwerk.

www.alliedvision.com

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert