FX3- change packet size in ISOC module (USBIsocSourceSink) IN Traffic

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

cross mob
adki_3154446
Level 1
Level 1
5 replies posted 5 questions asked First reply posted

Hi,

according to this thread https://community.cypress.com/t5/USB-Superspeed-Peripherals/FX3-change-packet-size-in-ISOC-module-US...

i was able to change the CY_FX_ISO_MAXPKT parameter.

when Running OUT Traffic (from the EP_OUT) from the streamer GUI, i was able to see in USB3 Trace that the Data len that my host is sending is actually the one that i defined in CY_FX_ISO_MAXPKT parameter.

my problem here is when i want to test the other way, IN_EP from the streamer GUI.

when choosing the IN_EP from the Streamer GUI and press on start, im able to see that there is traffic but in the USB3 Trace i see that the Data Len that the FX3 sending is always 0 no matter what CY_FX_ISO_MAXPKT is configured.

only when CY_FX_ISO_MAXPKT = 1024 i able to see that the FX3 is success to send ISOC Data Packet with Len = 1024 (verified it in the USB3 Trace).

is there something else that i need to configure? or maybe i miss something here? 

more details (from the USBIsocSourceSink module) :

/* ISO Mult settings for SS and HS operation. */
#define CY_FX_ISO_PKTS (1)

/* Burst length in packets supported by the ISO endpoints, when operating in USB 3.0 mode. */
#define CY_FX_ISO_BURST (1)

/* Dma buffer size multiplier. As ISO endpoints will only transfer ISO_PKTS * ISO_BURST packets of data in*/
/* each interval, this can be set to 1 without any performance limitation. */
#define CY_FX_DMA_MULTIPLIER (1)

0 Likes
1 Solution
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

Choosing CY_FX_ISO_MAXPKT as 240 with CY_FX_ISO_PKTS and CY_FX_ISO_BURST set to 1 is not a problem.

But on the host side, I hope you are testing with streamer application. If not please test with the same.

In streamer app, min allowed packets per xfer for ISOC endpoint is 8. But make sure you choose xfers to queue as more than 2 to avoid 0xC000000D error. -> this is because on the host side, it has to be taken care that ISOC transfer requests are made for every frame.

Regards,

Hemanth

View solution in original post

0 Likes
4 Replies