Skip to content

FireWire

jstanleyx edited this page Jan 23, 2017 · 1 revision

Firewire (also known as iEEE-1394) is a synchronous bus architecture with important features for image collection. Early versions were limited in speed to 100 to 400 Mbps (12.5 to 50 Mbytes/sec), but the 1394b standard had increased that data rate to 800 Mbps (100 Mbytes/sec) in common use, with future expansions to even higher data rates possible. These speeds are referred to as S100, S400, or S800.

The important properties of the Firewire bus are:

  • Synchronous. The bus protocol includes clock information, and the time of arrival of every packet of data can be obtained. This provides a common clock to all devices on the bus, so cameras can synchronize themselves (Pt. Grey, in particular) using that common clock. The bus clock can also be compared to real-time, so it is trivial to convert from bus time to real world time for synchronization with external devices.

  • Isochronous. It is possible to allocate up to 80% of the Firewire bus to devices that need to operate in "isochronous" mode. That means that each such device is allocated a fixed timeslot for transmitting data. This is important when there are multiple cameras all trying to send their data back to the host at the same time.

Because of these properties, knowing the time of an incoming image is relatively easy, and cameras can easily cooperate in use of the available bus bandwidth.

There have been many Firewire hardware implementations, most of which are poor to unusable for Argus work. The most significant issue is that the standard for Firewire OHCI (host control interface) requires the ability to allocate just four isochronous channels for incoming data. If you have a five camera system, this is not enough. Early Linux Firewire drivers allocated one isochronous channel for the driver, leaving only three available for cameras. Some implementations have actually changed their design without changing the integrated circuit part number. The recommended manufacturer for Firewire interface circuits is Agere, with the FW-323 being the most common. Because the circuit board manufacturers often do not list the actual chip in use, users are often left buying one to see what it has. Pt. Grey Firewire interfaces contain a newer version of an Agere chip, which makes them appropriate for use.

Clone this wiki locally