Das Priority-Code-Point-Feld (PCP) des Virtual Local Area Network Tag (VLAN) innerhalb eines Ethernet-Pakets wird mit dem Prioritätswert des Frame kodiert. Jeder Frame wird anhand dieser Priorität und einem „Traffic Class Table“ des Ports einer Traffic Class zugeordnet. Die Frames sind auf eine oder mehrere Warteschlangen aufgeteilt; jede entspricht einer anderen Class.
Sobald der Traffic in eine SRP-Domäne eintritt, ordnet der Switch an der Domänengrenze diesem eine niedrigere Priorität zu. Es gibt keine Möglichkeit, diese Prioritätswerte zurück auf den ursprünglichen Wert zu setzen, wenn der Frame die SRP-Domäne verlässt. Der AVB-Standard kann bis zu acht Traffic Classes unterstützen. Sie werden alphabetisch, mit dem Buchstaben „A“ beginnend, bezeichnet. Die SR-Class A hat die höchste Priorität im Netzwerk. Normalerweise unterstützen die Knoten mindestens zwei Traffic Classes – Class A und Class B. AVB nutzt Traffic Classes, um die Quality of Service (QoS) eines Stream ([2], Bild 4) zu bestimmen.
QoS in Class A bedeutet:
QoS in Class B bedeutet:
Das Traffic Shaping von Frames in Warteschlangen der „Per Traffic“-Klasse erfolgt mit dem CBS Former. Der SAMV7x unterstützt das Management des Empfangs und des Sendens von Daten. In Senderichtung unterstützt SAMV7x bis zu drei Prioritätswarteschlangen. Folglich sind mindestens zwei SR-Klassen auf den zwei Prioritätswarteschlangen möglich, während die Standard-Warteschlange genutzt werden kann, um Best-Effort-Class-, Nicht-AVB-Daten zu senden. SAMV7x unterstützt bis zu drei Warteschlangen, um erhaltene Daten weiterleiten. Die MCU lässt sich so konfigurieren, dass alle Frames außer VLAN-markierte Frames zurückgewiesen werden. Sie verfügt hierzu über Screener-Register, die als Filter arbeiten und die Daten auf spezielle Warteschlangen leiten. Die Screener nutzen dazu eine Kombination aus allen oder eines aus den folgenden Feldern:
Ein Frame, der die Filter passiert, wird in eine bestimmte Warteschlange geleitet. So lassen sich AVB-Daten in verschiedene Warteschlangen leiten, während Nicht-AVB-Daten in einer anderen Warteschlange abgearbeitet werden.
Credit-based Shaper
Bei allen Sender-Endstationen müssen ausgehende Frames einen Shaper durchlaufen, um Bursting und Bunching zu reduzieren. AVB (Bild 5) verfügt dafür über einen Credit-based Traffic Shaper (CBS). Die folgenden Parameter werden jeder Warteschlange zugeordnet, die den CBS-Algorithmus unterstützt.
Credit-Based-Traffic-Shaper- Algorithmus
Die SR-Klasse bestimmt die Priorität der Streams. CBS stellt sicher, dass die Bandbreiten-Garantien in jeder Verkehrsklasse beachtet, aber bei jeder einzelnen Netzwerkverbindung nicht überschritten werden. SAMV7x unterstützt das Traffic Shaping in der Hardware, was die Software-Last reduziert. Ein Traffic Shaping ist nur bei den beiden höchsten Prioritätswarteschlangen möglich. Somit wird ein Traffic Shaping lediglich für bis zu zwei Verkehrsklassen unterstützt.
Transport von A/V-Daten über AVB-Ethernet-Netzwerk
Das Transportprotokoll ist eine High-Level-Kapselung, die definiert, wie die A/V-Daten innerhalb eines Frame formatiert werden ([3], Bild 6). AVB Transport Protocol (AVBTP) Frames, die A/V-Daten enthalten, werden für den Transport über das Netzwerk in Ethernet Frames eingebettet. Ethernet Frames, in denen das Feld EtherType auf 0x88B5 gesetzt ist, sind AVBTP Ethernet Frames.
IEEE 1722.1-2013 ist ein Standard, der AVB-Erkennung, Aufzählung, Verbindungsmanagement und eine Steuerung (AVDECC) von Geräten auf der Basis von IEEE 1722-2011 erlaubt. AVBTP ist für seine Datennutzlast transparent, weil es einen eigenen Header definiert. Einige wichtige Felder des AVBTP-Headers sind:
Diese Präsentationszeit ist immer die Präsentationszeit des ersten Sample im Paket. Nachfolgende Samples werden mit der Media-Taktfrequenz abgespielt. Diese lässt sich einsetzen, um Medien bei mehreren Listeners mit variablen Latenzen/Pfadverzögerungen synchron wiederzugeben, beispielsweise Front- und Heck-Lautsprecher in einem Auto für die Audio-Wiedergabe. Damit lassen sich auch variable Verzögerungen zwischen mehreren Streams synchronisieren, z.B. Audio Stream und Video Stream beim Abspielen eines Films.
Ein Talker tastet analoge Medien mit einer standardisierten Frequenz ab (Media Clock) und produziert somit unbearbeitete digitale Samples. Eine Anwendung packt diese Samples dann in einen AVBTP Frame. Die Anzahl der Samples in einem AVBTP hängt von der Media Clock ab (Bild 7).