1 Overview
1.1 What is AVB?
Audio Video Bridgingis a term for a collection of IEEE Standards for time sensitive networkingwhich facilitates the transport of high performance audio and video on a LAN:
1.2 How is mediatransported with AVB?
IEEE Std 1722-2011builds on the following standards for media packetization:
1.3 What are theminimum requirements for an AVB switch?
An AVB Switch isrequired to support:
1.4 What are theminimum requirements for an AVB device?
An AVB Device thatis both an AVDECC Talker and AVDECC Listener is required to support:
1.5 What are802.1Qav and 802.1Qat?
802.1Qav and802.1Qat are two of the amendments to IEEE Std 802.1Q-2005 that were rolledinto IEEE Std 802.1Q-2011.
1.6 Someone saidthat an AVB endpoint does not have to support Qav, Qat - the AVB switch cantake care of it
That is incorrect.All end points are required to implement 802.1AS-2011, 802.1Qav AND 802.1Qat.This is all defined in IEEE Std 802.1BA-2011.
Specifically see thePICS requirements for talkers defined in IEEE Std 802.1BA-2011 Clause7.4.7,"Common requirements - Talker end stations" where it shows inClause 7.4.7.1 the item "T-AS" requires 802.1AS, "T-SRP"requires 802.1Qat, and item "T-FQ" which requires forwarding andqueuing of time sensitive streams (FQTSS) aka 802.1Qav. Further details ofthese requirements are in 7.4.7.2, and 7.4.7.3.
1.7 What is thedifference between PTP, PTPv2, gPTP, 802.1AS and IEEE 1588?
1.8 Can an AVBdevice just use IEEE 1588v2 (PTP) instead of 802.1AS?
No, IEEE 802.1AS isrequired to maintain the required synchronization compatibility and accuracy.
1.9 My device's ethernet port says itsupports IEEE 1588. Can it do AVB?
IEEE 1588v2 is aframework for time synchronization.
Profiles of 1588v2are not necessarily compatible or even require the same hardware.
For instance, onceprofile of IEEE 1588v2 is used for synchronization of Cellular Telephone towersand that profile has very different hardware and protocol requirements comparedto the default 1588v2 profile seen in generic switches, and is different againcompared to the profile used in industrial switches.
So there is no cleardefinition of what “1588-2008 capable hardware” means. I have seen one ethernetchip that says that but only timestamps incoming packets, not outgoing packets.
802.1AS has nooptions like that. If your device supports 802.1AS then it will provide AVBquality synchronization better than the default 1588v2 profile. You need tohave the support in the ethernet hardware to provide timestamps of specifictypes of both incoming and outgoing packets. These timestamps need to representthe time that the packet hit the wire. Many ethernet hardware systems providetimestamps instead at the MAC level which means your software needs tocompensate for the PHY latencies for your specific PHY. The PHY latencies aretypically different for 100baseT and GigE and different for TX and RX.
802.1AS needstimestamping of Pdelay, PdelayFollowUp, PdelayRequest, PdelayRequestFollowUp,Sync, and FollowUp messages for both directions.
1.10 Can FQTSS beimplemented in pure software?
IEEE Std 802.1Q-2011Clause 34, "Forwarding and Queuing for time-sensitive streams(FQTSS)" is important to implement on Talkers. For devices that need totransmit many streams at the same time, you really want hardware support in theethernet interface to assist in scheduling the time-sensitive packets fortransmission.
If you have only onestream, it is typically feasible to implement FQTSS in software - Specificallyfor a class A stream you need to send one packet every 125 microseconds and nofaster. You can do this on a CPU with a high frequency timer interrupt.
But if you wereneeding to provide 4 streams simultaneously, then it is much harder to do insoftware as you then need to send a time sensitive stream packet every 31microseconds (and no sooner).
Since this can beexpensive and inefficient to implement in software so ideally you want anEthernet interface like the intel i210 ( with the driver at https://github.com/intel-ethernet/Open-AVB/tree/master/kmod/igb) or the equivalent Broadcom ethernet chip which the Apple Mac OS X uses.
The priority queuesare needed for the traffic shaping as defined by IEEE 802.1Q Clause 34 (alsoknown as IEEE 802.1Qav). Media packets have to be properly traffic shaped andneed higher priority than non media packets. Ideally you need 4 separate Queuesin each direction, in priority order:
1.11 How many AVBstreams of audio can you have on an entire network?
The maximum numberof streams on an AVB network depends on the streams properties.
1.12 What makesstream properties packable?
A stream has thefollowing properties:
In order for twostreams to be "Packable," the two streams are required to have thesame Stream Class, Bandwidth, MSRP Accumulated Latency. The two streams musthave consecutive Stream ID's and Destination MAC addresses.
A Talker thatprovides multiple streams of the same size would typically automatically havepackable stream properties.
In order to havepackable streams from multiple talkers on the network the AVDECC Controller isrequired to use the SET_STREAM_INFOcommand to manually set the Stream ID and Destination MAC address for eachtalker stream source.
1.13 What additionalwork is being done for AVB standardization?
The IEEE 1722 working group iscurrently working on an amendment to IEEE Std 1722-2011 called IEEE P1722Awhich will include support for additional media streaming formats: