Dream Big with Focusrite - Win a dream recording weekend at Air Studios. Click here to enter

Technical Article: Liquid Mix FireWire Concepts and Multiple Device Connectivity

Isochronous vs. Asynchronous Firewire Data Transfer

The data traffic between FireWire devices and nodes is divided into
isochronous and asynchronous transfers. Isochronous transfers provide
guaranteed transmission opportunities at defined intervals. However, if
a packet is not received successfully, it is not resent. In asynchronous
transfers, the intervals between transmissions can vary, but data can be resent if it's missed. FireWire is one of very few interfaces that
support both isochronous and asynchronous data transfer. It can reserve
up to 80% of its bandwidth for one or more isochronous channels to
support applications that require real-time data transmission.

Because the firewire bus is permitted to allocate up to 80% for
isochronous data transfer, at least 20% is always available for
asynchronous transfer. This is used for all normal computer type data
transfers, because it guarantees data delivery. For example, firewire
hard disks use asynchronous data transfer.

So, which type of firewire data transfer does Liquid Mix use?

Both! Asynchronous transfers are used for Liquid Mix bootup,
initialisation and for reporting buttons and status back to host.
Isochronous transfers are used for Liquid Mix audio streaming, because
asynchronous does not guarantee a particular data rate.

To use isochronous bandwidth, every device on the bus has to allocate it
before it uses it. If the allocation fails because some other devices
on the bus got there first, Liquid Mix will show an error message. To
reduce the chances of errors, it may be effective to reduce bandwidth
requirement of firewire devices or remove them, or choose fewer channels
on the Liquid Mix.

Multiple Firewire Busses

The Liquid Mix, like the TC PowerCore and SSL Duende, requires a
substantial amount of bandwidth from the firewire bus, especially when
it is used to its limit. For this reason, it is beneficial to connect
additional firewire devices on a separate firewire bus. Apple Macs
which have more than one standard firewire port (400MB/s and/or 800MB/s)
are actually running them on the same firewire bus. On a PC, any ports on a single PCI card run on the same bus. In order to add a second firewire bus, it is necessary to install a separate PCI firewire card. In order to ensure
that each device is running on its own dedicated bus, it is recommended
that a separate firewire bus be added.

For Desktop Macs with PCI (G5) or PCIe (MacPro) slots, this can be achieved by
the addition of a PCI or PCIe firewire card. We have tested
PCI firewire cards for use with Apple Mac G5s. For Apple laptops with PCMCIA slots,
it is possible to add a PCMCIA to firewire adapter. The new Mac Book Pro features an ExpressCard/34 slot, which is planned to replace the current CardBus PCMCIA standard. For more information about
Apple Mac firewire ports and buses, you can consult the
Apple website.
Information about the firewire ports and firewire expansion capabilities
of specific Mac models is shown in the table below.

Computer Built In Firewire Firewire expansion Recommended Firewire Cards
Apple Mac Book 1 x 400MB/s None N/A
Apple Mac Book Pro 1 x 400MB/s 1 ExpressCard/34 slot Texas Intruments & NEC & VIA chipsets
Apple Intel Core Duo iMac 2 x 400MB/s None N/A
Apple Intel Mac Mini 1 x 400MB/s None N/A
Apple Mac Pro 2 x 400MB/s,1 x 800MB/s 3-4 PCI Express (PCIe) slots Texas Intruments & NEC & VIA chipsets
Mac G4 Powerbook 1 x 400MB/s,1 x 800MB/s 1 CardBus PCMCIA slot Texas Intruments & NEC & VIA chipsets
Mac G5 iMac 2 x 400MB/s None N/A
Mac Mini PPC 1 x 400MB/s None N/A
Mac G5 Desktop 2 x 400MB/s, 1 x 800MB/s 3-4 PCI slots Texas Intruments & NEC & VIA chipsets
Mac G4 Desktop 2 x 400MB/s 3-4 PCI slots Texas Intruments & NEC & VIA chipsets

Information about Windows XP compatible firewire chipsets is presented in the table below.
Recommended Chipsets are:

Firewire Card Manufacturer Firewire Chipset OHCI Compliant 1394 Type
VIA VT6306 VIA Fire II Yes 1394a
Texas Instruments TSB43AB22 Yes 1394a
NEC uPD72874 Yes 1394a

Focusrite do not recommend using 1394b type firewire chipsets with Liquid Mix. However, if you must, it is recommended that you install a Microsoft firewire driver update for Windows XP SP2 available here:

An example of a typical 1394b type card is show in the table below. You can check these specifications on your own system by looking at the device details in the Windows XP Device Manager

Firewire Card Manufacturer Firewire Chipset OHCI Compliant 1394 Type
Texas Instruments TSB82AA2/TSB81BA3 Yes 1394b

Firewire Bus Resets

Firewire bus resets occur when a device is added/removed. Certain
firewire devices can also request bus resets for one reason or another.
When the firewire bus is resetting, all the devices must re-negotiate
for firewire bus bandwidth, so it is possible that at this point if
another device requests more or gets in first, a device may fail to allocate
space at this time.

After a reset, one device is elected to manage the isochronous resource
allocation. It can be a different device each time. If no device is
chosen, isochronous data transfer will not work. If a device that is
elected does not implement it properly, it could lead to excessive
allocation of bandwidth which is not actually available.

Provided that all the devices stick to their allocations, the
isochronous data is safe and bandwidth is guaranteed. If any device uses
more than it allocates, the system may break down resulting in loss of
data. This would probably result in audio crackles and possibly some odd
behaviour of remote LCD display or other controls.

Firewire Concepts are discussed in more depth on Apple's website
here.