FireWire Cards

With more than one Cell connected it is important that the FireWire sub-system in the computer works well. The amount of data that can flow through the FireWire bus can be enormous, as an example a production system with 6 VGA cameras at 60 fps produced 6 * 60 * 640 * 480 bytes of data per second. That is roughly 105 Megabytes per second!

To guarantee trouble-free data transfer we recommend PCI-Express FireWire cards in all cases. With plain PCI cards one may experience frame-corruption or instability.

We have successfully used a range of FireWire cards from different manufacturers. How-ever, we have found the following products most useful for our purposes:

On-Board FireWire Controllers

Many motherboards have an on-board FireWire controller. In most cases this controller can be used directly to handle the camera connection. This is not automatic though. We have had cases where the on-board FireWire chipsets have been inadequate for their usage, resulting in data corruption and ultimately dysfunctional hand tracking. It seems that the discrete FireWire cards have been put through more rigorous testing and offer higher stability.

PCI vs. PCI-Express

Sometimes, especially when running multiple Cells, PCI FireWire cards are unreliable. The cards might work fine most of the time, but every sometimes part of the data transmission is corrupted. Such problems do not plague PCI-Express cards, that perform consistently very well.

The exact reasons for the problems are not known, but beneath is an educated guess. In principle PCI-bus has transmission speed of 133 MB per second, which is well above the FireWire 400 and 800 bus speeds (50, and 100 MB per second). In practice there can be tricky issues that cause data corruption even if the total bus bandwidth should be sufficient: Most FireWire cards have very little on-board memory. If the PCI bus is busy while the camera is streaming data, then the PCI card cannot do anything, but drop some of the data which immediately causes data corruption. With PCI-Express, each card has a dedicated bus to the main memory, so that any data can be streamed to the main RAM, regardless of what else is going on in the computer.

See Also

FAQ section on FireWire 800 cards