This article explains how to make use of explicit AVB connections. These allow audio to be shared via AVB in the following scenarios:
- Between AVB-enabled Tesira devices that are on the same AVB network but are part of different Tesira systems.
- Between AVB-enabled Tesira devices and any third-party AVB devices that fully support the IEEE 1722.1 standard.
AVB is an enhancement of IEEE Ethernet as defined by the IEEE 802.1 and 1722.1 standards. All switches used to pass AVB streams must support AVB protocols. Biamp maintains a list of AVB-capable switches.
AVB switches will automatically create and use VLAN 2 for all AVB media traffic. There is no need to manually create a VLAN for AVB media traffic. VLAN 2 should not be manually managed or used for other purposes on an AVB network.
In AVB networks with any 100MB endpoints a maximum of 7 switch hops is recommended between edges, gigabit networks allow for higher hop counts. A hop can be thought of as the link between any 2 network devices, so 7 hops spans 8 network devices.
Implicit or explicit AVB streams
Tesira can support "implicit" or "explicit" AVB streams. Streams can be viewed as a pipeline carrying a defined number of channels between 2 or more AVB devices. Tesira supports streams containing up to 60 channels.
Implicit AVB streams are created and managed automatically by the Tesira compiler, and they only exist between Tesira devices that are part of the same system. In Tesira software, they are shown as blue dotted lines. These implicit streams are created automatically by Tesira software, and cannot be changed or re-routed by an AVB controller.
Up to 64 AVB input streams and 64 AVB output streams are supported per Tesira server-class device. Each stream can be comprised of up to 60 channels. A single one channel stream is reserved as a pilot stream channel for media clocking between AVB devices included in a system. Server and Server-IO AVB card can transmit up to 420 channels and receive up to 420 channels of audio, while TesiraForte supports 128 channels in each direction. In practical terms it is best to plan for a maximum of 63x63 streams and 419x419 (or 127x127) channels to accommodate the pilot stream talker and listeners.
Explicit AVB streams, also called AVB.1 or 1722.1 streams, are specifically created to share user-routable audio between independent Tesira systems, or between a Tesira system and a third-party AVB device. The AVB.1 input and output blocks in Tesira software are used to define the explicit 1722.1 AVB stream talker and listener endpoints. An AVB AVDECC controller software is required to route explicit AVB streams across a network.
Up to 16 AVB.1 input streams and 16 AVB.1 output streams are supported per Tesira server-class device. The number of AVB.1 streams counts against the 64 stream total per direction for each device. AVB.1 streams can contain up to 60 channel each.
Tesira AVB.1 streams support the AVDECC "Fast Connect" mechanism to automatically reconnect with other AVB devices (that also support "Fast Connect") after network or power outages or intentional power off conditions.
Tesira software will not allow you to assign more than 16 AVB.1 input or 16 AVB.1 output blocks to a single device, and will warn during compilation if the limit has been exceeded.
The following devices need to be available on the network:
- A computer running Tesira Software version 2.3 or later.
- An AVB-capable Tesira SERVER, SERVER-IO, or TesiraFORTÉ running Tesira Firmware version 2.3 or later.
- If using non-Tesira AVB devices, they must fully support the IEEE 1722.1 standard.
- A suitable AVB-capable Ethernet switch (see a full list of AVB capable Ethernet switches)
- A 1722.1 controller, such as the Riedel AVB Manager, which is available from avb.riedel.net (website registration required).
Explicit audio between Tesira devices
In this example, explicit audio will be shared between two Tesira devices. Normally, explicit AVB streams are used only when the two devices are part of different Tesira systems. However, this example involves two Tesira devices in the same system, for ease of explanation.
- Connect all of the hardware devices together to the same network. Other network topologies are permissible, but are outside the scope of this article. See the Help file in the Tesira software for more details.
- Go to the Object Bar, expand the I/O Blocks and add an AVB.1 Input or AVB.1 Output block.
A requirement of IEEE 1722.1 is that the Talker and Listener streams must have the same channel count. If the channel counts differ, audio streams will not flow correctly.
- Allocate the blocks to the correct hardware. In this example, device 1 is a TesiraFORTÉ transmitting a two channel stream to a Tesira SERVER.
- The AVB blocks will get assigned a unique Stream name.
- Once a Tesira configuration has been compiled and loaded to the system, the participating streams will be advertised to the AVB network and become available to be connected to other devices via the AVB controller software.
Editing stream names in Tesira software to better identify which device it belongs to will assist you when you start assigning streams between devices in the AVB controller software.
You can edit the stream names within Tesira software in the AVB block properties, and these names will then be displayed in 3rd party AVB controller software. Stream names are not editable in 3rd party AVB controller software.
Every Tesira AVB device will show up in 3rd party AVB controller software's stream connections matrix labeled "Tesira" with default stream names of "stream_AVB_1Output1", "stream_AVB_1Output2", etc. The stream names do not reflect the device they are assigned to, the text "stream_AVB_1Input" or "stream_AVB_1Output" is fixed, only the last digit increments in order of block appearance.
A unique stream name such as "Srvr1_Output1" where "Srvr1" indicates a Server-IO with device ID 1 may be more useful in identifying the stream. In larger installations with multiple Tesira systems you may also wish to incorporate the system description or physical location of the device in the stream name.
Stream names can be up to 64 characters long. The Riedel AVB Manager software truncates the name so only the first 12 characters are visible, until you hover above the name with the mouse.
Calculating AVB bandwidth
Calculators such as this can help determine if there is sufficient bandwidth for the desired stream and channel counts. AVB Calculator.
AVB controller software
AVB routing software will provide some version of an AVB matrix routing interface. Each participating AVB device on the network advertises its AVB Talker streams which are available to be routed to other AVB listening devices. The user selects the matrix crosspoints of the transmitting stream channels of one device and the receiving stream channels of another device, the AVB controller then negotiates and allows the connection. Connections can not be made from the output of a device to the input of the same device.
This type of controller software is also known as AVDECC Controller (Audio Video Discovery, Enumeration, Connection management, and Control) software.
Biamp currently recommends using the Riedel AVB Manager software as the AVB controller. The software is free, but requires registration on Riedel's website. Other notable AVDECC controllers are Hive AVB Controller and Hono AVB Controller.
Riedel AVB Manager
- Download Riedel AVB Manager from avb.riedel.net (website registration required).
- Install and open Riedel AVB Manager.
- Confirm the correct network adapter is selected.
- Under Navigation select Entity Properties to review the available AVB endpoints. Using the example DSP layout above there will be two entities. The Entity id refers to the MAC address of the AVB port - in this example the first entity id 0x905EFFFE12FC90 would be MAC address 00:90:5E:12:FC:90. The AVB port MAC address can be found in Tesira software's Device Maintenance, clicking once on a device in the Device List to highlight it, then opening Device Information. The Name in AVB Manager will be "Tesira" for any Tesira AVB device.
- Open the Connection Management screen. This is where the AVB streams can be routed between Talkers and Listeners. The following areas are available:
- Properties - Will allow filtering of the stream connections for easier viewing. With "No Filter" in place, all stream connections will be shown.
- Stream Connections - Each entity will be listed and provide an expandable stream connections view which will show all available stream connections. If crosspoints are available these will be shown as select boxes. Active crosspoints will have a green circle indicator.
- Logging View - Will update any network messages as Streams are enabled or disabled.
- Applying the filter "DUAL_PCM_AUDIO_FORMAT" in Stream format filter displays only available 2 channel streams and their available crosspoints. Single channel streams and multi-channel streams (greater than 2) will not appear. Applying the filter "MONO_PCM_AUDIO_FORMAT" will display only single channel streams. The "NO_FILTER" option will display all available and disabled streams.
- Enabling a crosspoint will change it to a green circle and also provide logging information on the state of the connection:
- Reviewing the AVB.1 input and output blocks in the Tesira software will show active AVB streams between the two devices.
Identifying AVB streams
AVB streams are identified by an 8 octet Stream ID in hex notation. The Stream ID is composed of the 6 octet (48 bit) AVB port MAC address followed by 2 octets (16 bits) indicating the unique stream identifier number. e.g. - 00:90:5e:14:ba:b3:ff:fe
One device in a Tesira system will generate a pilot stream for others to sync to, the pilot stream ID always ends in :ff:fe which equals decimal 65534. The example Stream ID shown above is a pilot stream.
A stream ID ending in ff:99 would equal 65433, and ff:9a would be 65434.
Netgear switches show stream IDs in decimal notation. Extreme switches show stream IDs in hex notation.
Each Tesira system has its own AVB pilot stream originating in the Tesira device providing the AVB clock master for other devices in the system. Pilot streams are chosen at run time through a process called Media Clock Arbitration.
Media Clock Arbitration works as follows: All Tesira devices in a system look at the list of all devices in that system. They then check if all devices in system have an AVB port link state indicated as up, or active, as a device can't be a pilot provider if the AVB port is down, or disconnected. The AVB clock heirarchy is then based off the MAC addresses of the participating devices, with the highest MAC address elected as master and providing the pilot stream to the system.
Media Clock Arbitration runs every time there is a qualifying event such as a notification that an AVB port link state changed, or device discovery reports a device not discoverable, or an external AVDECC controller changes the clocking sync state of a device. For this reason you may see pilot stream changes noted in the system Event Logs if devices are rebooted or if there are AVB port state changes.
If the Tesira system is slaving its network media clock to Dante, CobraNet, or an external AVB.1 stream then the Tesira system pilot stream will be provided by the device hosting the slaved media card. All other digital media in the system will slave to this device.
Once an external AVB stream has been selected to provide the AVB clock via an AVDECC controller, the Tesira device hosting the AVB input block will continue as Tesira system master, regardless if the stream is active. If AVB is slaved to another device, and that device goes offline, the DSP hosting the AVB.1 input block will become the AVB clock master and continue providing the system's pilot stream. It will continue to use the onboard oscillator of the AVB-1 card to provide the clock which is used to generate the pilot stream. If the external AVB master stream drops offline a warning message "Audio clocks not synchronized on network AVB Default" will be indicated on the Tesira device hosting the AVB input block. If the stream becomes active again there may be a momentary audio artifact as the system clock has to re-align with the source, however, Tesira's clocks are fairly precise with low drift and Biamp has worked hard to make them track and align smoothly.