Industry-first USB 10Gbps device controller. Check it out now!

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

cross mob
Not applicable

4 years ago I developed an FX3 firmware project which was based on your SlaveFifiSync 2 bit project. It has always worked fine as long as I break up transfers into 4Mb or smaller chunks. If I do this it runs all day. If I don't things are unreliable. At the time I developed the application I was told for W7 I needed to limit transfers to 4MB and for XP 3MB.

We have another FX2 design which we do not have to break transfers up into chunks. We just setup one transfer on the host side for the whole thing...up to 58MB !!!

It would be nice to get rid of the 4MB chunks...especially from an error recovery point of view but I'm sure things would be faster if I'm not setting up many 4MB transfers.

I downloaded your latest SDK, V1.3.4. Do you know if this 4MB transfer size restriction still exists or what I can do to get rid of it ??


3 Replies
Not applicable


The limitation of 4 MB is with windows host. Fx3 SDK update will not have any effect on this.


- Madhu Sudhan

Not applicable

I'm referring to your API call. When I use the FX3 I have to issue multiple reads:

transfer_size = SIZE_3MB;

for (chunk = 0; chunk < num_chunks; chunk++)


     ret = m_bulk_in->XferData((PUCHAR)buffer, transfer_size);

     buffer += SIZE_3MB


With the FX2 I just do 1 read:

transfer_size = image_size;

ret = m_bulk_in->XferData((PUCHAR)buffer, transfer_size);

I wonder if this could be the FPGA guy issuing incorrect packet ends etc. We are using the SlaveFifoSync with flags.

So my question is: Should I be able to issue FX3::XferData() for the full image size like I do with FX2:XferData(). I would assume YES

and this issue is probably caused by the FPGA guy issiing packet ends at 4MB intervals ???


Tim Stanka,

If the FX2 is streaming data as you like, FX3 is also capable of doing this.

Here, FX2 is streaming the video data.

Please let me know type of data that FX3 is streaming here. Is it a image?

If not, when the PKTEND is triggered by the FPGA. i.e. What is the size of the data that is transferred to GPIF before triggering the PKTEND?