Bundle Assignments in CobraNet Systems

Over CobraNet, all audio channels are packaged into groups called Bundles (formerly called Network Channels) for transmission over the Ethernet network. The usual assignment is 8 audio channels of 20 bits depth into one Bundle. This is the maximum size possible, although using less audio channels is possible. In general for most efficient utilization of network bandwidth, maximum size Bundles are suggested. In the rest of this document we will be talking about maximum size Bundles. If 24 bit audio channels are used the maximum is 7 audio channels packaged into a single Bundle.

A CobraNet system is coordinated by one of the devices called the conductor. When two or more CobraNet devices are interconnected properly, one of the devices will be elected the network conductor based on a priority scheme. The Conductor indicator will light on the CobraNet device that is serving as the conductor.

Each CobraNet device has the ability to send and receive a fixed number of Bundles. The Bundle number tells the CobraNet conductor which specific CobraNet device is trying to communicate with which other CobraNet device(s) over the network. Use of Bundle numbers removes the necessity of the user having to tell the devices the Ethernet hardware addresses of the other devices with which it is trying to communicate. As long as the CobraNet devices are all set to the same Bundle number, the CobraNet system takes care of all the rest of the technical details of setting up an audio path over Ethernet between the devices.

A given Bundle may have only one transmitter that places it onto the network. Unicast Bundles may have only a single receiver. Multicast Bundles may have multiple receivers.

Ethernet networks can be built using either repeater hubs or switching hubs. A repeater is a half duplex device which takes the data that comes into each port, and sends it back out all ports except the port in came in on. A switch is a full duplex device which accepts data coming in each port and stores it until it can examine the addressing of each packet of data. If the incoming data has a multicast destination address, it then sends the data out all ports except the one it came in on. If, however, the data has a specific destination address the switch only sends it out the port which is connected to the matching address. In an ordinary Ethernet data network it is possible to mix both types of devices and have the network continue to work. This is not the case with CobraNet! For a CobraNet network, you must either use all repeaters, or all switches in the network. However, non-CobraNet devices may be attached to a switched CobraNet network via a repeater.

On a repeater (hub based) network, there is a fixed maximum of 8 Bundles per network. Any Bundle may be placed onto the network from any port, and will appear at every other port on the network. The Bundles usually used in a repeater network are numbered in the range from 1 to 255, and are called Multicast Bundles. Such channels are always transmitted in a multicast mode, and may be received by any of the CobraNet devices on the network.

As long as the limit of 8 total Bundles is not exceeded, it does not matter which channel numbers in the range of 1 to 65,279 are used.

It is not suggested to mix ordinary computer data on a repeater network with CobraNet, as this could result in dropouts in the audio.

On a switched network, there is no fixed maximum number of Bundles possible. The number will be determined by the network design. Again, Bundles from 1 to 255 are Multicast Bundles and, since they are multicast, will usually be sent to every port in the network. It is not suggested to use more than 4 multicast Bundles in a switched CobraNet network. There are special cases where more could be used, which we will go into later.

Bundles from 256 to 65,279 are called Unicast Bundles. These are addressed to a single destination unit and are sent Unicast. A switch will send these channels only out the ports leading to the CobraNet device they are addressed to. Unlike Multicast Bundles, Unicast Bundles will not be transmitted unless a receiver is requesting that channel. This allows destination controlled routing, where the receiver selects one of several possible transmitters to receive, and only the selected transmitter is activated.

It is possible to have far more than 8 total Bundles active on a switched network if most of those channels are sent unicast using Unicast Bundles. A given port on a Fast Ethernet switch can only send 8 Bundles out without running out of bandwidth. Those Bundles will consist of every Multicast Bundle on the network, plus any Unicast Bundle addressed to a CobraNet device connected either directly or through other switch(s) to this port on the switch.

Some switches have Gigabit Ethernet ports in addition to the Fast Ethernet ports. The Gigabit ports can be used to transfer data between switches with 10 times the bandwidth of a Fast Ethernet port and can carry ten times as many Bundles as Fast Ethernet can.

CobraNet over a switched network does allow coexistence with ordinary computer data on the same network, because there are no collisions with the audio. There is the possibility that CobraNet traffic on the network will cause problems for 10 Mbit Network Interface Cards (NICs) used for computer data traffic. Recall that Multicast Bundles are sent to all switch ports in the same network. Since 8 Bundles will fill a Fast Ethernet (100 Mbits) switch port, if that port is connected to a 10 Mbit NIC (most Fast Ethernet switch ports are dual speed 10/100 ports) then it is easy to see that multicast data from CobraNet can saturate the 10 Mbit NIC and make it drop the computer data packets it needs.

There are several possible solutions:

  1. One easy solution is to upgrade the NIC to 100 Mbit full duplex.
  2. Another possibility is to use little if any Multicast Bundles.
  3. Most managed switches have multicast filtering features. These allow you to exclude multicast traffic from a specified port. If your data is carried by the Internet protocol (IP), it is usually safe to filter all multicast traffic except the FF:FF:FF:FF:FF:FF destination address used by the address resolution protocol (ARP) associated with IP.
  4. Obviously separate physical networks for audio and data will solve the problem. Separate networks can also be created using VLANs, which are supported by most managed switches. All traffic in a given VLAN, even multicast traffic, is isolated to only those ports which are part of the VLAN. You can typically partition up to 8 different VLANs, and assign ports to them as you wish. Uplink ports used to connect two switches can be connected to multiple VLANs, and the traffic from those VLANs is multiplexed onto that link, and then de-multiplexed at the other end.

VLANs can also be used in some cases when you need to use more Multicast Bundles that is allowable on a given CobraNet network. By splitting the network into two virtual networks you have the ability to run twice as many Multicast Bundles.

Another solution that can be used with some CobraNet devices, is transmitting the same audio information on two, three, or four Unicast Bundles to specific destinations instead of a single Multicast Bundle. Please note that not all CobraNet devices have this capability. Some devices can only transmit 2 Bundles, while others can transmit 4. Some devices only accept 8 audio inputs, while others accept 16. Obviously if a device accepts 16 audio inputs and can only transmit 2 Bundles, it can’t use this technique.

Also be aware that different CobraNet devices can receive different numbers of Bundles, and select only certain audio channels from those Bundles to use or output.

We suggest using the following procedure in designing a CobraNet network.

  1. Make a list of all the audio sources and their locations.
  2. For each source, list the destination(s) it needs to go to.
  3. Group the audio sources at a location into Bundles with no more than 8 audio channels in a given Bundle (or 7 if 24 bit).
  4. Determine if each Bundle can be unicast, or if it must be multicast.
  5. Make sure you don’t have more than 4 Multicast Bundles in a network. If you need more than 4 Multicast Bundles:
    • Consider using multiple switched networks or VLANs
    • Consider transmitting several Unicast Bundles instead of one Multicast Bundle.
    • Use the following rules to see if you can send more than 4 multicast Bundles on a given network or VLAN:
      • Carefully map the number of Bundles sent to each port of the system. The total of multicast and unicast Bundles arriving at each switch port may not exceed 8.
      • If a half-duplex device that can only transmit 2 Bundles, and is set to transmit using both its Bundles is part of the network, then you must make sure that the network conductor is not transmitting a multicast Bundle. This may require changing the default conductor priority of one or more devices in the system to assure this condition is met.
  6. Map the Bundles carried by every link in the system to make sure that the limit of 8 Bundles each direction on a given Fast Ethernet connection is not exceeded.

If more than this number is needed for uplinks between switches, then one solution is to use managed switches which can support trunking. Trunking allows more than one Ethernet link to be used to carry the traffic between switches. Another solution is to use switches supporting Gigabit Ethernet uplinks. These provide ten times the bandwidth of a Fast Ethernet uplink.

This entire document was based on the use of full Bundles. If Bundles containing less than the maximum number of audio channels are used, it is possible in some cases to exceed the limit of 8 Bundles on Fast Ethernet. Please contact Ray Rayburn at Cirrus Logic for engineering assistance on such an application.

Author: Ray Rayburn, Cirrus Logic Inc.