You are here

CyUSB FX3 frame rate [FX2G2UVCDemo/USBVideoClassBulk example] | Cypress Semiconductor

CyUSB FX3 frame rate [FX2G2UVCDemo/USBVideoClassBulk example]

Summary: 3 Replies, Latest post by ernie8 on 18 May 2015 05:52 AM PDT
Verified Answers: 1
Last post
Log in to post new comments.
ernie8's picture
5 posts

  Hello. I'm using Cypress EZ-USB FX3. 

I want to increase the frame rate of the fx3 to 120 hz. I changed the descriptors of the example USBVideoClassBulk, what else do I have to change. Actually I get 15 hz with this example, so more than that would be an achievement.
I guess there have to do some changes in cyu3dma.h, right? 
I also tried to compare to Fx2g2UvcDemo, an old FX2 Example, which at least transfers with 30 hz. 
But I cant find the differences in the GPIF/DMA settings between these both examples. 

Can you help me, please? Thank you.

mady's picture
Cypress Employee
964 posts


In addition to changing the descriptors (Frame interval, Min Bit Rate, max Bit rate), you also need to change the "Frame interval" field in the glProbeCtrl structure in the uvc.c file.

Also, what is the resolution you are planning to stream? Make sure that the resolution is not too hight for 120 Hz frame rate. We have so far tested 720p at 50 Hz and 1080p at 30 fps. For streaming 120 Hz, the resolution should be less.

If the throughput is very high, then the streaming might not be possible. The throughput has a direct relation with the frame rate and resolution.


- Madhu Sudhan


ernie8's picture
5 posts

Thank you so much!!
Finally, an achievement!!!! :) 
It's so easy, if you just know where and what you gotta change.

I'm just stream 480x640 now. In future maybe 720p and 50Hz is also great for that!


ernie8's picture
5 posts

Do I have to change sth else in USBVideoClassBulk example for the 120Hz?? 
The maximum I get is 60Hz. It's just a resolution of 640*480.

I changed in glProbeCtrl the frame interval to: 

0x85,0x45,0x01,0x00,            /* Desired frame interval in 100ns */


and my desriptor got the following changes:

     //0x00,0xC0,0x5D,0x00,             /* Min bit rate bits/s 768 KB/s*/
      0x00,0x80,0xBB,0x00, // 1536 KB/s

     //0x00,0xC0,0x5D,0x00,            /* Max bit rate bits/s 768 KB/s */
       0x00,0x80,0xBB,0x00, // 1536 KB/s

     0x00,0x58,0x02,0x00,            /* Maximum video or still frame size in bytes 19.200KB*/

     //0x2A,0x2C,0x0A,0x00,            /* Default frame interval 66ms=15fps*/
     0x85,0x45,0x01,0x00, //8ms=120fps

     0x01,                            /* 1 Frame interval type : No of discrete intervals */

     //0x2A,0x2C,0x0A,0x00             /* Frame interval 3 66ms=15fps */   
       0x85,0x45,0x01,0x00, //8ms=120fps


Thank you. 

Log in to post new comments.