| 
     
      
      
      From: Lange Jan-E. <Jan...@ha...> - 2010-11-05 09:55:33
      
     
   | 
>On Thu, Nov 4, 2010 at 10:47 PM, Lange Jan-Erik ><Jan...@ha...> wrote: >> I use libusb-win32 with the Cypress FX2 and have to stream a continous >> datastream. Using bulk transfer, my internal fifo (inside my fpga logic) >> overflows sometimes. Perhaps the PC receives the USB data from the FX2 too >> discontinuously. Using isonchronous transfer could solve the problem because >> of the fixed bandwidth of this transfer.If somebody disagrees with this >> thought please, tell me. >I think bulk transfer plus some type of flow control may help. >I assume your setup is like this PC--USB FX2--FPGA--Others. >If you use bulk transfer, the PC-- USB FX2 part has kind of >automatic flow control (NAK). So the issue is the USB FX2 >to FPGA side where you may want to try out some flow control. Yes I use high-speed USB with libusb-win32. I'l try out your tips tonight. Do you mean to stop generate and send data to the FX2 with "to try out some flow control"? I already integrated logic inside the fpga, that the internal FIFO (not the slave FIFO of the FX2) doesn't put out data to the FX2, when the FX2(Slave FIFO interface) is full/busy. I think it's about my PC to get the data fast and continous enough from the FX2 to the PC. I have realized a datarate of 20MBytes/s from the fx2 to the PC with a counter inside the fpga. And the incoming data was correct. However, I only need 12MBytes/s for my target application. But this 12MBytes/s data stream must be continous enough so that the internal FIFO inside my FPGA doesn't overflows. The 20 MBytes/s datastream is fast, but 'm afraid that it is too disconintous for my application. The internal FIFO not even overflows all the time, only sometimes. Jan  |