Using the source-sink isochronous image I came across the following problem:
Host sends X bursts (each burst contains 16 packets, packet size = 1024 bytes, mult =1 ), and then queries the cypress fx3 regarding the amount of glDmaPktsReceived (counter of DMA events that is increased when CyFxIsoSrcSinkDmaCallback being called with producer CY_U3P_DMA_CB_PROD_EVENT that occurrs either when the buffer is full or short packet was recieved).
glDmaPktsReceived < Total Number of bursts that were sent from the host (verified in sniffer that everything was transmitted).
NOTE: working with short packet solves this, for example size of 1023 bytes, test is completed successfully glDmaPktsReceived = Total Bursts sent from the host.
burst size = 16KB, mult = 1, bInterval=5 (any value between 1..5 has the same issue)
Any ideas? are there any known limitation for FX3 ISO that I should be aware on when working with this device?
For short packet (size less than 1024), it works for interval = 5, but for 1-4 there is a significant packet drop that increases the lower the interval gets.