Dbaudio Technical Information Ti370 1.1 en
Dbaudio Technical Information Ti370 1.1 en
Media Integrated
Local Area Networking
(Milan™)
1.1 en
Notes on document version
Version 1.1:
Initial edition.
General information
TI 370 Media Integrated
Local Area Networking (Milan™)
Version: 1.1 en, 04/2024, D5370.EN .01
Copyright © 2024 by d&b audiotechnik GmbH & Co. KG; all
rights reserved.
d&b audiotechnik GmbH & Co. KG
Eugen-Adolff-Str. 134, D-71522 Backnang, Germany
T +49-7191-9669-0, F +49-7191-95 00 00
docadmin@dbaudio.com, www.dbaudio.com
Contents
Contents
1 Milan...................................................................................... 4
1.1 History...................................................................................... 4
2 Relevant technical background.................................. 5
2.1 Preliminary remark................................................................... 5
2.2 How real-time media transfer is achieved in Ethernet
networks................................................................................... 5
2.3 Challenges in converged networks........................................ 6
2.4 Technical improvements of TSN............................................. 7
2.5 TSN Profiles.............................................................................. 8
3 Specifics of AVB and Milan........................................... 9
3.1 Stream-based media transport, Dynamic Mapping, and
patching................................................................................... 9
3.2 gPTP and Media Clock Domains......................................... 10
3.3 Latency................................................................................... 10
3.4 Endstation naming................................................................. 11
3.5 Interoperability definitions of Milan..................................... 11
4 Best practices................................................................... 12
4.1 How to set up a Milan-based system................................... 12
5 Hive controller quick start guide............................. 13
5.1 Overview over the most important controls......................... 13
5.2 Basic configuration and use................................................. 14
6 Glossary............................................................................. 17
The Leader Clock periodically sends out Sync messages that 2.3 Challenges in converged networks
contain its current time of day. All other endstations, the Followers, The schemes described in the previous section perform well in
compare the time stamp of incoming Sync messages to their own networks that
clock to determine a conversion formula that translates Leader 1. transport only one dominant kind of traffic.
Clock time to Follower Clock time: 2. have an abundance of free bandwidth.
"When I received the Leader Clock’s Sync message, it read In many systems, these conditions are easily met. For historic
10:00:00 h. At this moment, my own clock reads 09:59:00 h. reasons alone, different departments (audio, video, lighting, etc.)
So, I need to subtract 00:01:00 h from incoming time stamps tend to run separate physical networks. Also, and in many typical
in Leader Clock time to get the corresponding time of day on applications, only a fraction of the bandwidth of a Gigabit
my clock." Ethernet link is used, and higher bandwidths for inter-switch links
are increasingly commonplace.
Additionally, every Follower needs to determine the propagation
time or path delay of Sync messages through the network to offset Example:
its conversion formula accordingly. To this end, all Followers 128 channels of 96 kHz/24-bit audio require less than
periodically send Delay Request messages to the Leader Clock 400 Mbit/s of bandwidth or less than 40% of a Gigabit
which in turn responds with a Delay Response message. The Ethernet link.
measured round-trip time between sending the Delay Request and
receiving the Delay Response is divided by two to determine the The situation changes when network links are operated closer to
path delay. capacity, which is more likely to happen in a converged network
"I know that a Sync message from the Leader Clock takes that combines all traffic of multiple departments on the same
00:00:02 h to reach me. This means that I must add this time physical network, and especially across multiple switch hops. In
to the value of every Sync message before applying the this regard, it is irrelevant whether the network is subdivided into
conversion formula." V-LANs, since traffic of multiple V-LANs competes for the same
bandwidth and scheduling queues when traversing inter-switch
links.
Being able to convert the time stamp of Sync messages to their
internal time and knowing the path delay allows multiple Strict Priority scheduling under high load can lead to bursts in
endstations to play out a given audio sample at the desired time traffic as accumulated lower-priority data that has been buffered
coherently. by switches while forwarding higher-priority packets is transmitted
all at once. This can overload ingress buffers on switches
This process is called "End-to-End Synchronization" because the downstream when converging with other traffic, and results in
Delay messages traverse the whole network, from Follower to significant variations in throughput latency and late, or worst case,
Leader Clock, and back. dropped packets.
PTPv1: End-to-End synchronization In the same way, the path delay of Delay Request/Response
messages can vary significantly when traversing the network to the
Follower
Clock
Leader
Clock Leader Clock and back. As the calculation of the synchronization
offset assumes a path delay that is identical for both directions, this
legacy switches introduces timing errors ("jitter"), which also vary with network
Delay Request
load. Audio systems with many endstations that are expected to
Delay Response play out audio at the same time suffer from degraded coherence
when this happens.
Delay Request & Response traverse whole network
PTPv1: End-to-End synchronization at high network load
Synchronization via PTPv2
First published in 2008, PTPv2 is an improvement over PTPv1 that Follower
Clock Unknown & asymmetrical residence times
Leader
Clock
makes it suitable for large networks at high load and with a high ? ? ? ?
endstation count. Specifically, PTPv2 introduces the option to legacy switches
utilize specific network switches which are "time-aware".
In contrast to legacy switches, instead of just forwarding packets,
time-aware switches know the residence time of packets within the Follower
switch and add this information to the packets. This makes the Clock
?
determination of path delay much more precise. However, PTPv2
is not downward-compatible to PTPv1. Common protocols that
utilize PTPv2 are AES67 and Ravenna. ∆t Loss of coherence at high network load through sync jitter
2.4 Technical improvements of TSN Additional traffic shaping to avoid bursts of packets
TSN is still based on Ethernet, but it adds a collection of standards Traffic shaping describes methods by which switches manage their
geared at maintaining Quality of Service regarding packet throughput. In the context of real-time media transport, this
synchronization and latency in converged networks at high load. relates to ensuring that important data (such as synchronization
Compliant devices (endstations and switches) implement these and media data) is forwarded without significant variations in
standards at the hard- and firmware level, which means they do latency. Strict Priority forwarding as described before is a basic
not need additional user configuration. This results in the following form of traffic shaping, as it prioritizes certain packets over others
relevant functionalities. without any further constraints.
Synchronization of all network devices including the TSN still uses a Strict Priority Scheduler, but precedes it, in case of
network switches Milan, with a Credit Based Shaper. This packet processing stage
TSN implements a special profile of PTPv2, called Generalized also distinguishes different classes of service but assigns "Credits"
Precision Time Protocol (gPTP), which was first published in 2011 or "forwarding rights" according to class. High priority packets are
and formally added to PTPv2 in 2019. Some of the main still treated as such but are not fed into the Strict Priority Scheduler
differences are that it supports Layer 2 transport exclusively and without regard to other classes of traffic, even when arriving at the
that it mandates the use of time-aware network hardware switch in bursts. The outcome is traffic that is not exiting switches in
instead of just making it an option. monolithic bursts but evenly distributed over time and with different
This also means that TSN does not deal with IP addresses at all, priority classes interleaved. For the price of a small additional
which would be OSI Layer 3. overall latency, this keeps end-to-end latency deterministic and
avoids dropped packets even at high network load.
gPTP implements Peer-to-Peer (P2P) instead of End-to-End (E2E)
synchronization, which means that Sync and Delay messages do High priority traffic
not traverse the whole network, but only travel one hop to an Lower priority traffic schematic drawing
adjacent switch. This is possible because all switches on the
network must be time aware.
As a benefit, timing stability is almost unaffected by network size bursty incoming traffic
and even by extreme load conditions, staying within fractions of a
microsecond at worst. This is in stark opposition to PTPv1
environments, where variations can reach several orders of
Switch
magnitude at high network load. In addition, P2P synchronization Class A
considerably reduces the required network traffic and shortens
sync times.
Credit
The Leader Clock, called a Grandmaster in gPTP terminology, is
still elected automatically. Switches are favoured over endstations
Based
Shaper +
by the election algorithm. Strict
Priority
gPTP: Peer-to-Peer synchronization Class B Scheduler
Endstation Endstation
Known & compensated residence time
Endstation
3.1 Stream-based media transport, Dynamic Functionally, Dynamic Mapping as shown in the previous example
Mapping, and patching can be illustrated as shown below.
Milan streams Dynamic Mapping
AVB, and with it, Milan, transports audio in streams. A stream is a Functional illustration
container that encapsulates a defined number of audio channels Listener
of a given format (AM824 for legacy AVB, AAF for Milan). There (8 ch)
can also be streams that only contain clock information, but no OUT
audio (CRF streams, see also section gPTP and Media Clock Talker
Domains). (4 ch)
IN
In this context, all streams are transmitted as Multicast, which
means that a Talker needs to transmit a stream only once,
In total, Dynamic Mapping allows the user to tailor the stream
regardless of how many Listeners shall receive it.
output to physical output assignment of a Listener to requirements
Handling streams, whether as a Talker or a Listener, is a processor- imposed by the application or the Talker and facilitates stream-
intensive task, much more so than having more channels per based patching of audio connections which is operationally
stream. There is no general standard about how many Talker quicker than channel-based patches by saving mouse clicks. A
and/or Listener streams an endstation must provide or handle. The typical application would be sending the customary set of
count varies based on the make and model of endstation, intended L/R/SUB/FILL audio signals to many endstations.
use and internal processing capabilities. Therefore, it is a relevant
Depending on the controller software used, a procedure that looks
parameter to know when designing a system.
like channel-based patching on the GUI is also possible, even
Dynamic Mapping - internal routing in Milan though it still works with streams and all their requirements and
endstations constraints in the background. In this case, erasing all Dynamic
To give greater flexibility and to manage streams more efficiently, Mappings in the Listener beforehand is recommended. The
all Milan endstations with Listener capability provide an internal controller software will establish and remove them automatically
routing function, called Dynamic Mapping, between Listener based on the patching operations by the user.
streams and their physical outputs.
Milan endstations with Talker capability may also offer this to
flexibly route physical inputs to Talker stream inputs, but it is not
mandatory.
In the example shown here, a Listener shall output four audio
channels (L, R, SUB, Fill) from a Listener stream to two physical
outputs each. Without Dynamic Mapping, this would require two
Listener streams. Also, it would still result in a lot of mouse clicks
when using a channel-based patching approach.
Dynamic Mapping allows the duplication of audio signals from a
Listener stream output to multiple physical outputs within a listener,
as shown on the right, necessitating only one stream in total in
such cases.
Stream requirements without Dynamic Mapping Stream requirements with Dynamic Mapping
3.2 gPTP and Media Clock Domains Media Clock extraction directly from an audio stream
gPTP establishes a common general time reference, delivered by As an alternative to a CRF stream, Listeners can also extract the
the gPTP Grandmaster, also termed a "wall clock" for this reason, Media Clock from an audio stream they receive. This method is
for all network nodes, which then form a gPTP Domain. The gPTP used in simple devices which can only receive one stream in total
Grandmaster is elected automatically out of all endstations and and therefore do not have the capacity for a separate CRF stream
switches on the network, whereby switches have a higher priority in addition to the AAF audio stream. In this case, the Listener joins
than endstations in the election process. the Media Clock Domain of the respective Talker.
gPTP Domains can only be formed and audio can only be passed
between endstations connected by AVB switches. Inserting a 3.3 Latency
legacy switch into a gPTP Domain splits it into two independent Transporting a stream from Talker to Listener through the network
gPTP Domains with their own gPTP Grandmasters. needs time, mostly for traversing switches. The system must account
for this latency by setting an appropriate user-defined value in the
gPTP Domain 1 gPTP Domain 2 Talker. It can be set in steps between 125 µs and 2 ms.
legacy
switch
The link speed and the associated worst-case latency per hop
determine the permissible number of hops between Talker and
no gPTP sync/
gPTP
Grandmaster
Listener.
gPTP audio transport
between
Grandmaster gPTP Domains 100 Mbit/s 1 Gbit/s
network network
AVB Switch
Latency per hop 280 µs 140 µs
Listener (worst case)
Max hops within 7 14
Media Clock via Clock Reference stream
2 ms
In addition to a gPTP Grandmaster, endstations need a common
rate at which samples are played out or recorded. This "Media Max number of 6 13
Clock" is therefore different from the wall clock but relates to it, as switches between
sets of samples are delivered with a gPTP "Presentation time" and Talker and Listener
then processed at the specified sample rate. within 2 ms
Out of all endstations, a Media Clock Reference must be selected
manually. This device then distributes its Media Clock as a A realistic scenario that uses a 1 Gbit/s network should never
separate Clock Reference Format stream (CRF stream). All exceed the maximum possible hop count, and shorter latencies
endstations which subscribe to the same Media Clock Reference than 2 ms can usually be set. 1 ms (= 1000 µs) should account for
form a Media Clock Domain. all reasonable topologies, as illustrated by the graphic below.
Using infrastructure-sized switches at FOH and in every amp city, a
Multiple Media Clock Domains with arbitrary sampling rates and
system rarely exceeds 5 hops.
their own Media Clock References and associated CRF streams
can coexist within the same gPTP Domain on the same LAN. FOH STAGE
Media (audio/video) can only be shared within the same Media
Clock Domain. 140 s 140 s 140 s
L
1 2 3
gPTP Domain DN1
FOH 4
D40
140 s
D40 =700 s
D40
Listener
Listener Listener System rack
Media Clock Reference with DN1 switch
Media Clock Domain 1
Media Clock Domain 2
Talker configuration
▪ Determine the worst-case number of hops in your network by
counting the switches between your Talker(s) and the farthest
Listener(s). On a 1 GBit/s network, the expected maximum
network latency for your worst-case path is:
▪ Set your Talker to this value or the next higher one if the exact
value is not available. Common controller software will also
issue a warning if the actual value exceeds the configured
latency.
Sampling rate
Set your sampling rate before patching any channels or streams.
Changing it later will interrupt audio reproduction.
Media Clock Reference/Media Clock Domain
Associate all desired endstations to the same Media Clock
Domain by subscribing them to the same CRF stream/assigning
them to the same Media Clock Domain in the respective dialog
(controller dependent).
Patching: Streams or channels?
▪ Consider patching streams instead of individual channels. For
example, typical PA applications benefit from having L/R/SUB/
FILL available at every system amplifier and using the input
routing to select the desired channel or matrix them together as
required.
▪ Before patching, check the Dynamic Mapping of all endstations
to avoid unexpected results.
Configure endstations
Apart from names, endstations can only be reconfigured if no
streams are connected to them.
1. Disconnect the respective endstation if necessary or use the
"Disconnect all streams" button.
2. Double click an endstation in the list to open its Device View.
3. Configure:
▪ Sampling rate
▪ Latency (if this endstation is the Talker)
▪ Names
▪ Stream formats for Listener and Talker streams
Patching
Þ Set marks in the connection matrix to patch or unpatch as
required.
Error handling
Unplugging a patched endstation will raise an error in the "Status"
column.
Þ Clear by clicking "Clear errors."
↳ Refresh view.