You are here

Highest throughput possible with two video streams | Cypress Semiconductor

Highest throughput possible with two video streams

Summary: 2 Replies, Latest post by pvanderwilt_1670566 on 31 May 2016 12:38 PM PDT
Verified Answers: 0
Last post
Log in to post new comments.
pvanderwilt_1670566's picture
2 posts

I'd like to know what kind of throughput the FX3 is capable of when transferring two UVC video streams simultaneously over USB3, assuming no limitations imposed by the host computer.  In this forum I've seen where people have said they've been able to transfer up to two concurrent 1080p20 streams successfully, maybe even at p30 with a fast PC.  That would be about two 1Gbps streams.  What I'm wondering is if the FX3 can do an aggregate of 3Gbps divided over two streams, say one at 1Gbps and one at 2Gbps.  This approaches the maximum GPIF-II bandwidth of 3.2Gbps.

Does adding additional endpoint(s) in the FX3 that require much lower bandwidth of data, say an additional 5Mbps, change things significantly?

The data would be coming from an FPGA so throughput and switching between the sources would not be a limitation.

Is 3Gbps sustained throughput reasonably possible.  Is there enough buffer space, DMA bandwidth, etc. to do this?  Has anyone actually done it?



mady's picture
Cypress Employee
964 posts


Yes, this should be able to consume the full 3.2 Gbps bandwidth of GPIF without any issue, provided the number of sockets on GPIF does not exceed 4.


- Madhu Sudhan

pvanderwilt_1670566's picture
2 posts

I'm not sure what you mean about 'number sockets on GPIF does not exceed 4'.  In the example
I have, they use 4 sockets just for one 640x480 stream so that they can implement a circular
buffer.  The 4 sockets are (I think) muxed down to a single USB endpoint (DMA type=Many to 1), and the
ARM is doing a bit of work on each packet to adjust the header of each packet.  The app note
talks about doing it this way to reduce the time it takes to switch buffers when one fills up.

Also, I'm not sure how to implement a dual UVC device.  Are there any examples of this?  

Log in to post new comments.