Why Do I Get A FIFO Error From My PCIe-1429 When Doing A Grab?
When I do a grab, ring, or sequence with my PCIe card, I get
Why is this error occurring, and how can I avoid it?
Error -1074397140: FIFO overflow caused acquisition to halt.
When is the error generated?
- System Selection
- Select a workstation-class computer. These computers typically allow for maximum packet payload sizes of 256 bytes vs. the 128 byte maximums that are typical for desktop-class systems.
- System Setup
- Make sure that the memory installed in your system is paired correctly. Most modern chipsets can simultaneously access two memory modules if they are installed in the correct memory slots. Check your motherboard documentation to verify that your memory is installed in the correct slots. Otherwise, your memory throughput will be halved.
- Disable any power management features in your computer’s BIOS.
- Try different PCI Express slots on your motherboard. Select the interface in MAX and verify that the slots negotiate at x4 lanes.
- Upgrade to the latest BIOS for your motherboard.
- If your motherboard has a built in Ethernet NIC, consider disabling it in the Windows Device Manager and using a plug-in Ethernet NIC. In some motherboards, built-in Ethernet NICs are given higher priority access to host memory than devices in the IO slots
- If your motherboard has an integrated video card, consider disablig it and using a PCI or PCIe video card instead. In some motherboards, integrated video cards use the main memory to store frame buffers which tremendously increases the load on the memory controller. However, plugin cards have their own onboard memory to store frame buffers.
- If you have a PCI Express graphics card
- Use a display resolution that is native, not interpolated, for your graphics card. See your graphics cared for further documentation. Sometimes smaller resolutions are not native resolutions of the card, thus requiring CPU involvement.
- Reduce the display resolution
- Replace your PCI Express graphics card with a PCI graphics card. In some computers, this will improve performance since the graphics slot hangs off the North Bridge and gets better memory access than the South Bridge. Verify that the link negotiates to x4. However, in many Intel chipsets, even if the link negotiates to x4, the buffer sizes in the two directions are mismatched (optimized for video output, not input). As a result, in some computers, the graphics slot may under-perform other IO slots.
Disable Windows visual effects that create a heavy traffic to the graphics card (such as animating windows when minimizing or maximizing). Go to Start»Control Panel»System»Advanced tab»Visual Effects tab. Select the Adjust for best performance radio button and click OK. Or, selectively disable options per your preference.
- Remove other PCI Express cards from your computer
- If your camera has the ability to reduce its pixel clock rate while still achieving your desired frames rate, change this setting in the camera. This reduces the “peakiness” of the data load to the framegrabber.
- Application design
- Do as few image copies as possible. For example, a ring application does fewer copies than a grab application. Do not update the image display in your application for every acquired image, rather only on an as-needed basis.
- Do not display images if it is not necessary. Reduce the update frequency when display is necessary. (This reduces competition between the processor and IO devices to access host memory)
- Firmware updates
- Contact National Instruments to determine if a firmware upgrade is available for your configuration. In your request please include the information from the AcquisitionBitstream entry in your selected camera file.