Ethernet Audio Video Bridging für Streaming-Anwendungen Schnelle Datenübertragung

Vermehrter Einsatz des Ethernet in Netzwerk, Infotainment-System und Fahrerassistenz.
Vermehrter Einsatz des Ethernet in Netzwerk, Infotainment-System und Fahrerassistenz.

Durch fortschrittliche Fahrerassistenz- und Infotainment-Systeme hat die Audio-/Video-Übertragung in Fahrzeugen erheblich zugenommen. Als Netzwerk für diese breitbandigen und Latenzzeit-kritischen ­Anwendungen kommt vermehrt Ethernet zum Einsatz. Standard-­Ethernet-Protokolle allerdings können eine zeitgerechte Übertragung nicht gewährleisten.

Audio Video Bridge (AVB) ist eine Sammlung von Erweiterungen für den IEEE-802.1-Standard, die lokale Ethernet-Netzwerke für das Streaming von zeitsynchronisierten, verlustempfindlichen Daten ermöglichen, zum Beispiel A/V-Daten. Innerhalb eines Ethernet-Netzwerks helfen die AVB-Erweiterungen bei der Unterscheidung von AVB- und Nicht-AVB-/Legacy-Inhalt, der ebenfalls über das Netzwerk übertragen wird.

Die Erweiterungen des AVB-Standards (Bild 1) erreichen das durch

  • Bandbreiten-Reservierung für AVB-Datenübertragungen: Vermeidung von Paket-Verlusten durch Netzwerküberlastungen vom „Talker“ zu einem oder mehreren „Listenern“.
  • Warteschlangen- und Weiterleitungs-Regeln für AVB-Pakete: Vermeidung eines Paketstaus und Gewährleistung einer Lieferung der Pakete innerhalb einer begrenzten Latenzzeit vom Talker zu dem/den Listener(n) über zwischengeschaltete Switches, falls vorhanden.
  • Zeitsynchronisation zu einem globalen Takt: Die Zeitbasis aller Netzknoten wird sehr genau mit dem Haupttakt des Netzwerks synchronisiert.
  • Zeitkritische Pakete: Die Präsentationszeit wird in jedem Paket spezifiziert. Diese gibt an, wann die A/V-Daten eines Pakets abgespielt werden müssen.

Die ARM-Core-MCU SAMV7x wurde speziell für die Implementierung von Ethernet-AVB-Produkten entwickelt. Sie ist hilfreich, um die Software-Last bei der Implementierung des Ethernet AVB Stack zu reduzieren.

AVB – ein ganzer Korb von Standards

Die AVB-Erweiterungen des IEEE-802.1-Standards umfassen

  • 802.1AS: Timing und Synchronisation für zeitkritische Anwendungen (gPTP)
  • 802.1Qat: Stream Reservation Protocol (SRP) [1]
  • 802.1Qav: Weiterleitung und Warteschlangen für zeitkritische Streams (FQTSS)

802.1AS: Timing und Synchronisation für zeitkritische Anwendungen

IEEE 802.1AS-2011 spezifiziert das Protokoll und die Verfahren für eine Zeitreferenz, quasi eine synchronisierte Wanduhr für alle Knoten in einem lokalen Netzwerk. Das Generalized Precision Time Protocol (gPTP) basiert auf IEEE 1588 und wird genutzt, um alle Netzknoten auf weniger als eine Mikrosekunde genau zu synchronisieren und abzustimmen. Die Knoten sind synchronisiert, wenn ihre Wanduhren dieselbe Zeit zeigen. Die Knoten sind abgestimmt, wenn die Uhren zum selben Zeitpunkt weiterschalten.

Die Hauptfunktionen dieses Protokolls sind:

  • Auswahl der Grandmaster Clock
  • Weitergabe der aktuellen Zeit von der Grandmaster Clock an alle Netzwerk-Endstationen
  • Korrektur eines Zeit-Offset und einer Zeit-Drift durch die Messung von Pfad-Verzögerungen und Frequenz-Offsets im Takt.

Auswahl der Grandmaster Clock

Jede Endstation mit Takt-Einspeisemöglichkeit meldet ihre Fähigkeit, als Grandmaster Clock agieren zu können. Mit Hilfe des Best Master Clock Algorithm (BMCA) wird die Grandmaster Clock ausgewählt. Dieser wird über alle Knoten genutzt, wenn mehr als einer im Netzwerk vorhanden ist. Das Protokoll definiert auch Verfahren, um Grandmaster Clocks umzuschalten.

Verzögerungsmessung

Das Protokoll definiert Verfahren, um Folgendes zu bestimmen:

  • Zeit-Offset gegenüber der Grandmaster Clock
  • Pfadverzögerung zwischen gleichrangigen Knoten
  • Frequenz-Offset zwischen der Grandmaster Clock und den anderen Knoten
  • Meldungen und deren Kapselung, um die oben genannten Verzögerungen zu berechnen

– Ereignismeldungen, wie SYNC, DELAY_REQ, PDELAY, PDELAY_RESPONSE – das sind Meldungen, deren Zeitstempel erfasst werden müssen, wenn sie übertragen oder empfangen werden.
– Management-Meldungen, wie FOLLOW_UP, DELAY_RESPONSE, PDELAY_RESPONSE_FOLLOWUP, das sind Folgemeldungen - die den Zeitstempel einer Ereignis-Meldung enthalten können.

Die Grandmaster Clock überträgt regelmäßig die aktuelle Zeit mit SYNC- und FOLLOW_UP-Meldungen. PDELAY- und PDELAY_RESPONSE-Meldungen werden genutzt, um die Fähigkeit von Link-Verzögerung und das Nachbar-Taktraten-Verhältnis (neighborRateRatio) von anderen Knoten zu bestimmen. Die Knoten an beiden Enden einer Verbindung nutzen diese Meldungen unabhängig davon, ob sie einen Master- oder Nebentakt enthalten.

Das Protokoll definiert Verfahren, um Folgendes zu bestimmen:

Zeit-Offset gegenüber der Grandmaster Clock Pfadverzögerung zwischen gleichrangigen Knoten Frequenz-Offset zwischen der Grandmaster Clock und den anderen Knoten Meldungen und deren Kapselung, um die oben genannten Verzögerungen zu berechnen – Ereignismeldungen, wie SYNC, DELAY_REQ, PDELAY, PDELAY_RESPONSE – das sind Meldungen, deren Zeitstempel erfasst werden müssen, wenn sie übertragen oder empfangen werden. – Management-Meldungen, wie FOLLOW_UP, DELAY_RESPONSE, PDELAY_RESPONSE_FOLLOWUP – das sind Folgemeldungen, die den Zeitstempel einer Ereignis-Meldung enthalten können.

Die Grandmaster Clock überträgt regelmäßig die aktuelle Zeit mit SYNC- und FOLLOW_UP-Meldungen. PDELAY- und PDELAY_RESPONSE-Meldungen werden genutzt, um die Fähigkeit von Link-Verzögerung und das Nachbar-Taktraten-Verhältnis (neighborRateRatio) von anderen Knoten zu bestimmen. Die Knoten an beiden Enden einer Verbindung nutzen diese Meldungen unabhängig davon, ob sie einen Master- oder Nebentakt enthalten.

– Ereignismeldungen, wie SYNC, DELAY_REQ, PDELAY, PDELAY_RESPONSE – das sind Meldungen, deren Zeitstempel erfasst werden müssen, wenn sie übertragen oder empfangen werden.
– Management-Meldungen, wie FOLLOW_UP, DELAY_RESPONSE, PDELAY_RESPONSE_FOLLOWUP – das sind Folgemeldungen, die den Zeitstempel einer Ereignis-Meldung enthalten können.

Schritt 1: Bestimmung Peer Rate Clock (Bild 2)

  • Initiator plant PDELAY-Nachricht für die Übertragung.
  • Zeitstempel t1 wird erfasst, sobald dieser vom MAC- an den PHY-Layer übergeben wird.
  • Zeitstempel t2 wird erfasst, sobald dieser vom PHY zum MAC am Empfänger geht.
  • Der Empfänger sendet dann zwei Meldungen PDELAY_RESPONSE und PDELAY_RESPONSE_FOLLOWUP mit den Zeitstempeln t2 und t3 zum Initiator.

Die Link-Verzögerung wird unabhängig von Meldungstyp und Symmetrie in der Meldungsrichtung erfasst: Link-Verzögerung = ((t4 – t1) + (t3 – t2)) / 2.

Zur Berechnung der Link-Verzögerung müssen die Takte nicht synchronisiert werden.

Schritt 2: Grandmaster Clock Offset (Bild 3)

  • Grandmaster Clock plant eine SYNC-Meldung.
  • Slave erzeugt Zeitstempel t2, wenn die SYNC-Meldung von PHY an den MAC übergeben wird.
  • Grandmaster Clock plant eine FOLLOW_UP-Meldung mit dem Zeitstempel t1.

Der Slave korrigiert jetzt seinen Takt entsprechend dem berechneten Offset: Offset = t2 – t1 – Link-Verzögerung.

Der Offset wird genutzt, um den Knoten mit der Grandmaster Clock zu synchronisieren. Durch einen periodischen Austausch lässt sich das Frequenzverhältnis der Grandmaster Clock relativ zum lokalen Takt berechnen. Zwischengeschaltete Switches im Netzwerk passen das Korrekturfeld in FOLLOW_UP entsprechend an, um die Switch-Durchlaufzeit und die vom Switch gemessene Upstream-Pfad-Verzögerung zu berücksichtigen.

Das Frequenzverhältnis der Grandmaster Clock relativ zum lokalen Takt wird zur Berechnung der Abstimmzeit und das Frequenzverhältnis des Nachbarn (neighborRateRatio) relativ zum lokalen Takt wird zur Korrektur der Laufzeitmessung genutzt.

Die Time Stamp Unit der Atmel-SAMV7x-Hardware erkennt und erfasst automatisch Zeitstempel, wenn die gPTP-Ereignismeldung den MII Layer durchläuft. Die gPTP-Meldungen lassen sich über das reine Ethernet, IPv4 oder IPv6 transportieren. Die SAMV7x-Mikro­controller können zehn Einkapselungen von gPTP-Ereignismeldungen automatisch erkennen. Die Erkennungsfunktion der SAMV7x-Hardware hilft somit bei der Berechnung des Takt-Offset und der Link-Verzögerung und ermöglicht das mit einer hohen Genauigkeit und minimaler Software-Last.

802.1Qat: Stream Reservation Protocol

Das Stream Reservation Protocol (SRP) nutzt andere Signalprotokolle, speziell das Multiple MAC Registration Protocol (MMRP), Multiple VLAN Registration Protocol (MVRP) und Multiple Stream Registration Protocol (MSRP), um Bandbreiten-Reservierungen für A/V-Streams dynamisch festzulegen. Sender (Talkers) kündigen Streams und deren Charakteristik an. Empfänger (Listeners) erfahren von den verfügbaren Streams durch diese Ankündigungen. Die Listeners bitten die Talkers, die Streaming-Übertragung zu starten oder zu stoppen. Die Talkers antworten auf diese An- und Abmeldungs-Ereignisse (De-/Registration).

Die Switches bearbeiten diese Ankündigungen vom Talker und den Listeners, um

  • Streaming-Pfade durch das Netzwerk zu registrieren und zu begrenzen.
  • Bandbreite zu reservieren und eine Überbelegung der verfügbaren Bandbreite zu verhindern.
  • Regeln für die Weiterleitung eingehender Pakete aufzustellen.
  • die SRP-Domäne festzulegen.
  • verschiedene Listener-Deklarationen für denselben Stream zusammenzuführen.

Die Standards setzen fest, dass AVB-Daten nur 75 Prozent der verfügbaren Gesamtbandbreite reservieren können. Beispiel: Im Falle eines 100-Mbit/s-Link sind maximal 75 Mbit/s AVB-Daten möglich.

In Automobilsystemen, wo das Netzwerk fix ist, können die Streams vorkonfiguriert und die Bandbreite beim Start des Systems statisch reserviert werden. Folglich lässt sich das SRP-Protokoll nicht nutzen. Das SRP-Protokoll gewährleistet eine Reservierung von End-to-End-Bandbreite für alle Streams. Es stellt zudem sicher, dass an den Switches keine Pakete aufgrund einer Netzüberlastung im LAN verloren gehen.

802.1Qav: Weiterleitung und Warteschlangen für zeitkritische Streams

Diese Spezifikation gewährleistet, dass zeitkritische Audio/Video Streams die jeweiligen Listeners innerhalb einer festgelegten Latenzzeit erreichen. Zudem definiert sie Verfahren für eine bevorzugte Regeneration und einen Credit-based-Traffic-Shaper-Algorithmus (CBS), um den Verkehr entsprechend den Stream-Reservierungen zu beeinflussen.