Power saving features added to the chipsets of some CPUs can interfere with data transmission. Adjusting the settings of some of these features may address image loss when running Pixelink IEEE 1394 (FireWire) cameras at higher data rates.
Frame loss may result from the CPU entering an idle state. Pixelink provides a command line utility to disable CPU idle states, which can be used with Vista and Windows 7. For more information about usage and parameters, run PxLProcessorIdle from the command prompt.
The parameters are:
- disable - Specifies that the processors are NOT permitted to enter idle states (use this if you experience performance issues).
- enable - Specifies that the processors are permitted to enter idle states (system default).
- print - Indicates if the processors are currently permitted to enter idle states.
- hide – Hides the idle state control of all power schemes. This control is hidden by default, and is only available with Windows Vista and newer.
- expose - Un-hides the idle state control for all power schemes from (it's default) hidden state. Only available with Windows Vista and newer.
Pixelink has found that the C1E Enhanced Halt State can cause frame loss. This is primarily due to C1E slowing the transfer of image data off the FireWire host adapter card, which results in FIFO overflows. In some cases, it is possible to disable this feature in the host system's BIOS. The RightMark CPU Clock Utility, described in the following section, can also be used to disable the C1E state. Please review their system requirements for the software.
Popdown/Popup Mode on Laptop/Notebook Computers
On laptop/notebook systems, changing the Popdown or Popup Mode may fix the issue. To do this, use the RightMark CPU Clock Utility, downloadable from: http://cpu.rightmark.org/download/rmclock_235_bin.exe. (Please note, this tool does not support 64-bit OS's)
The relevant settings are found in the Advanced CPU settings window, as shown in the following screenshot:
Bandwidth issues on FireWire systems
Another common cause of corrupt images is that the host system or PC cannot keep up with data rates across the 1394 PCI or laptop PCMCIA bus. Examples of these types of situations include:
- The PCI bus gets saturated.
- Memory bus bandwidth gets saturated.
- The PC cannot keep up with the interrupts being generated.
PCI bus saturation is a common situation and can happen for a number of reasons, including:
- Running multiple 1394 cameras at high frame rates that push 1394 bandwidth limits.
- Large hard disk reads/writes.
- Heavy network traffic.
In particular, when the PCI bus saturates, the system cannot keep up with the data rates going across it. As a result, images cannot be pulled off the 1394 PCI card fast enough. The isochronous FIFO buffers on-board the card gradually fill with image data from the camera, and eventually a general FIFO overflow occurs. These overflows can result in frame loss.
Typically, synchronization packets prevent repeated image tearing. When data is dropped, the current image is lost, but the image corrects itself for the next frame, unless data is dropped from that image as well. Note that general FIFO overflows occur at the lowest level of the Windows IEEE-1394 substructure, making them beyond the control of PixeLINK drivers and software.
Corrupted data when using the IEEE 1394 port on a laptop (notebook) computer can be caused by too much latency in the C3 power state transition, which causes buffer underruns. In other words, the interrupts associated with the processor's ability to dynamically change speeds conflict with the high demand on the processor that is needed when streaming video or data across the IEEE 1394 port. This has been seen on laptops from various manufacturers.