Browse KB Articles
Maximum number of IEEE-1394 cameras on a single 1394 bus
KB Number: 10066
This article describes the four elements that limit the number of IEEE-1394 cameras that can be simultaneously used on the same 1394 bus and discusses how to calculate the maximum possible frame rate of each camera on the bus.
A single IEEE-1394 OHCI host adapter card generally comprises a single 1394 bus. There are four elements that limit the number of cameras that can be used on the same 1394 bus:
Calculating Maximum Possible Frame Rate
The maximum frame rate allowable for each of the cameras on the bus depends on the type and resolution of the cameras being used i.e. single-lens (e.g. Dragonfly) or stereo (Bumblebee), hi-res or lo-res. The DCAM standard defines a specific number of bytes-per-pixel for every video format/mode/frame rate combination - a number generally higher than the minimum bandwidth that might be expected. In order to accurately determine whether or not there is enough bandwidth available for a given scenario, these numbers must be used.
For example, a single Dragonfly in 640x480 Y16 mode running at 15fps is sending 640 pixels per packet as per the IIDC 1.31/1.32 specification. Each pixel consists of 16 bits, or 2 bytes, of data. Therefore, the camera is sending 640*2 = 1280 bytes of data per packet. The maximum bandwidth of the 1394a bus for a single packet as discussed above is 4096 bytes, so it would be possible for 4096/1280 = 3 (rounded down) Dragonflys to run in 640x480 Y16 mode at 15fps on the same 1394a bus.
More information about IEEE-1394 bandwidth requirements can be found in the "Isochronous Bandwidth Requirements" table in Section 3 of the IEEE-1394 Digital Camera Register Reference, available via the Downloads section.
Our interactive Bandwidth Calculator can be used to calculate approximate bandwidth requirments given various DCAM modes for the camera. The calculator can also provide approximate frame rates for given video formats.
Problems Maximizing Frame Rates
In some circumstances, due to the 1394a bus bandwidth limitations described in point (2) above, some cameras may not be able to achieve the maximum calculated frame rate. Example: According to the formula in the section above, it is possible to run four 640x480 cameras in Y8 (8-bit) mode at 30Hz on the same bus. However, when attempting to do this via our software Format and Frame Rate controls, starting the fourth camera at 30Hz often results in a "bandwidth exceeded" error. The workaround to this problem is to circumvent the Windows bandwidth restrictions by directly manipulating the camera’s CURRENT_FRAME_RATE register 0x600. In the example above, start three instances of the FlyCapture demo program, FlyCap, with each camera running at 30Hz. Start the fourth camera up at 15Hz, then access register 0x600 and set the register to 0x80000000 (30Hz).