Does the FX3 with sdk 1.3.3 support multi-bursts in the super speed mode?

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

cross mob
Anonymous
Not applicable
        We are using the FX3 in the isochronous mode to transfer UVC data. It is based on the example code 'uvc_example/cyfxuvcinmem' in the sdk (version 1.3.3). The host is the Ubuntu Linux with libusb/libuvc. PKT_SIZE 0x400 SS_MULT 3 SS_BURST 1 Interval 1 DMA_BUF_SIZE 0x400*3*SS_BURST The endpoint uses 0x83 It works if the frame rate is low and SS_BURST=1. It fails if set SS_BURST > 1 or with high frame rates. Does the FX3 with sdk 1.3.3 support multi-bursts in the super speed mode? I see a statement in file cyfxuvcinmem.h. Does it mean SS_BURST >1 not supported? /* Burst setting for USB 3.0. UVC-Iso does not support burst as yet. */ #define CY_FX_EP_ISO_VIDEO_SS_BURST (1) and read the document AN86947 (Optimizing USB3.0 Throughput with FX3). It seems work with multi-bursts. Any advice and suggestions will be greatly appreciated   
0 Likes
3 Replies
Anonymous
Not applicable

The standard UVC driver allows the bulk implementation to set a burst length of 16.

   

But in case of Isoc: It allows MULT setting of 3, but limits BURST to 1 for USB 3.0.

0 Likes
Anonymous
Not applicable

Thank you for the reply.

   

Is the restriction in the host driver only? or the Cypress firmware/hardware also implemented the restriction.

0 Likes
Anonymous
Not applicable

The limitation comes from the UVC drivers. We have examples where FX3 stream with MULT upto 3 and burst upto 16 using Cypress drivers. Please check USBIsoSourceSink in the FX3 SDK

0 Likes