The frame size you mentioned is too large for the USB bandwidth to accommodate. You are trying to stream at 1.9 GB/s (32K * 2K * 30) wherein the USB 3.1 Gen1 can stream upto a maximum of around 350 MB/s for the UVC class.
Thanks, I was afraid of that. Is the UVC class limited to 350MBs by the USB 3.1 Gen 1 standard, or does the UVC class have a limit as well? If I was using USB 3.1 Gen 2 could the UVC Class have a higher data rate?
If not, does that mean I need to skip the UVC Class and just send raw data over USB to the PC. If so are you aware of any GEN 2 device controllers that cypress has.
Also, the Gen 1 standard lists 5gbs as the max data rate, however the Cypress FX controller only allows up to 3.2gbs and the CX controller has four 1gbs data interconnect to an imaging device, but limits the total data rate to 2.4gbs, which makes it look like the throughput of the CX is actually slower than the FX. Is there a separate Cypress controler that will give me access to the entire 5gbs Gen 1 data rate?
i might be be able to get by with 5gbs but I really want 5.44gbs sustainted data rate to match the current imaging standard I am using.
I appreciate any guidance you can provide, in helping me determine if it is worth moving to USB from our current interface.
5 Gbps is the signalling rate of the USB 3.1 Gen1 standard. You cannot get 5 Gbps data rate theoretically as well. FX3 is not a limitation in the USB3 throughput. Theoretically, you can achieve a maximum of around 460 MB/s USB throughput.
With FX3, the GPIF interface is 32-bit @ 100 MHz max.. So that gives you around 400 MB/s throughput.
With CX3, the GPIF interface is 24 bit @ 100 MHz max. So, that gives you around 300 MB/s throughput.
With USB3.1 Gen2, the signalling rate is 10 Gbps. So, the throughput will be just the double of what you get in USB 3.1 Gen1. Cypress does not have any USB 3.1 Gen2 controller in its portfolio at present.
Thanks mddd, I appreciate you patience and detailed response. That gives me the information I need.