LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

FPGA DMA Size Allocation

Hi all,

 

My application involves grabbing images from a 3-taps, 16-bit camera using FlexRIO. The PXI controller I am using is Windows-based while the FlexRIO module that I have is a PXI-7954 + NI 1483 adapter. The size of the image I am grabbing is 2560 x 2160, U16 and the clock cycle is 100 MHz. I've been trying for over a week and up to today, I still am not able to get the image from the camera as I kept on getting the DMA Write Timeout error. Right now, the DMA size in the FPGA is set at 130k but whenever I tried to increase this further, I get a compilation error. I've tried to have the host program to grab 100k data points from the FPGA DMA at every milisecond but it seems that, I am capped at about 10-15ms. Perhaps, Windows has its own limitation...

 

Attached is the program that I am using, modified from the LabVIEW shipped example. Please advice, how do move forward from here? or, is it possible to further increase the DMA buffer size up 10x higher than the current limit?

 

 

0 Kudos
Message 1 of 6
(3,271 Views)

Hi Shazlan,

 

The compilation error that you get when you increase the FIFO size would indicate that there are insufficient resources on your FPGA to accomadate the increase.  Would it be possible to post a screenshot of the compilation error that you are getting?

 

 

Marshall B
Applications Engineer
National Instruments UK & Ireland
0 Kudos
Message 2 of 6
(3,245 Views)

Could you also provide me with more information on the set up of your system?  For example, what camera are you using and how is this then connected to the rest of your set-up?  How are you trying to acquire the image?  Based on your code, it looks as if you are trying to obtain the image pixel by pixel.

 

By using FPGA to acquire the image you are effectively having to write a driver for the camera in the FPGA code.  Normally this type of acquisition is made using Vision software where you are able to use more sophisticated ways to acquire your images.

Marshall B
Applications Engineer
National Instruments UK & Ireland
0 Kudos
Message 3 of 6
(3,239 Views)

Hi Ben,

 

Thank you for taking the time to reply here.

 

If I got the compilation error again, I will take a screenshot of it and post it here. In the mean time, I will stick to the current FIFO buffer size that allows me to compile, for now.

 

I am using Neo sCMOS camera from Andor. And yes, to my knowledge, since we are using FlexRIO as the framegrabber, we are actually writing the driver for the camera. I've studied the example program that comes with LabVEW on using NI 1483 + FlexRIO as the framegrabber and yes, it seems that the way to do this is to acquire the image pixel-by-pixel. What is even more perplexing is that, I've tried running the 1-tap 10-bit with Frame Trigger example but still getting the same DMA Write Timeout error. I was then adviced to update the IMAQ driver, something which I hope to do today, as I was told that the problem may be with the driver and not the program - currently, the system has IMAQ 4.6.1 and the latest driver is 4.6.4. Hmm, can you please help to verify this?

 

Any other suggestions are really appreciated and most welcome...

0 Kudos
Message 4 of 6
(3,235 Views)

Hi Shazlan

 

Apologies for taking so long to reply to you.

 

You are correct in saying that the latest driver is IMAQ 4.6.4 and this can be downloaded from our website if you have not done so already.

 

If you have already installed the IMAX 4.6.4 driver, has this managed to resolve your issue?

 

Also, have you tried to run the compilation again and obtained a report outlining the problems?

 

As a side note - I have been looking into the possibility of downloading some sort of driver for the Samos camera you are using from Andorra.  While National Instruments have not created a driver for this device, Andorra do have a Software Development Kit (SDK) which they say works with LabVIEW.  You may find it useful to have this so that you no longer have to write the driver yourself.  This may then save resources on the FPGA.

 

Keep me updated on your progress and I will continue to look into this issue for you.

 

Regards

 

 

Marshall B
Applications Engineer
National Instruments UK & Ireland
0 Kudos
Message 5 of 6
(3,199 Views)

*EDIT* 

 

The previous post should read IMAQ and not IMAX

Marshall B
Applications Engineer
National Instruments UK & Ireland
0 Kudos
Message 6 of 6
(3,194 Views)