Real time data acquisition using FX3

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello,

   

I'm using my Super Speed Explorer kit that I connected to an FPGA Cyclone IV to transfer continuous data from my FPGA to my computer. I was wondering which is the best program that allows me to do so ? ( I'm currently using stream IN firmware but I wanted to make sure it is the optimal program with the optimal throughput).

   

I also need to find the time constraints and specifications for this kind of transfer : what is the minimum time of data acquisition for example ? when speaking about throughput: is it the same between FPGA-FX3 and FX3-computer ? because what I want to do is to save the data I get on the computer and use it to draw a graph and I need the graph drawing to be as fast and continuous as possible : just as if it is real time transfer.

   

Information about my projet:

   

- a 16 bit data transfer between the FPGA and the Explorer kit

   

- my GPIF runs at 50 MHz only ( hardware constraint )

   

Regards,

   

Sameh

0 Likes
2 Replies
Anonymous
Not applicable

Sameh,

   

The data speed between between FPGA-FX3 is related with the PCLK and the number of Data bits. But the data transfer speed is limited due to the PC-FX3 (USB3.0) interface speed. As per your GPIF clock and data width, you will be able to transfer at around 95-100MBps over FPGA-FX3 interface. This speed can be met on the USB side. It will depend on you FX3 firmware, how you are handling the data and callback. If you want maximum throughput, we recommend you to  select auto-DMA channel, it will improve the speed over the USB interface. Please refer to our application note which demonstrate the same. Please note that the link also contains an example firmware (FX3 firmware+ CycloneV FPGA code), which you can check at your end.  

   

http://www.cypress.com/documentation/application-notes/an65974-designing-ez-usb-fx3-slave-fifo-inter...  

   

Nishant

0 Likes
Anonymous
Not applicable

Hi,

   

The stream IN program is fine for optimum throughput. You can further increase the throughput by increasing the DMA Buffer Size and count.

   

For 16 Bit GPIF at 50 Mhz you should be able to achieve 95 MBps data rate. The throughput should be same between FPGA-FX3 and FX3-computer,

   

The FPGA-FX3 transfer will have the bottle neck in your case, becasuse this is much less than what the USB 3.0 could actulally support. But there will not be any issue.

   

The time of acquisition will be instaneous. You will not be having any delay in transfer to the PC.

   

Regards,

   

- Madhu Sudhan

0 Likes