I am testing the ‘USBBulkSourceSink’ with the ‘Steamer’ application. In the firmware, I set CY_FX_EP_BURST_LENGTH to 15 and Max no. of packets in a burst to (CY_FX_EP_BURST_LENGTH - 6). Then, when the Endpoint is chose as ‘ALT-0, 15360 Byte Bulk in endpoint (0x81)’, ‘Packets per Xfer’ to 128, ‘Xfers to Queue’ to 128, I get the maximum throughput 287900KB/s.

Could anyone explain me what are the exact meanings of ‘Packets per Xfer’ and ‘Xfers to Queue’? Why only the Bulk out endpoint size (ALT-0, 9216 Byte Bulk in endpoint (0x01)) is dependent on the (CY_FX_EP_BURST_LENGTH - x) setting?

Packets per Xfer - This is self explanatory, it sets the number of packets that you want to send or read per each transfer using the streamer application.

Xfers to Queue - This one sets the number of transfers that you want to keep in the pipe line using streamer application. When these two parameters are set to high number then you can see better throughput numbers.

CY_FX_EP_BURST_LENGTH is basically deciding the burst size of that BULK endpoint. This is the feature that is there with Superspeed BULK endpoints. Refer to section 4.4.6.1 to get more details regarding this.