ISO OUT is dropping packets (device is not receiving producer DMA events as expected)

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

cross mob
Anonymous
Not applicable

Using the source-sink isochronous image I came across the following problem:

   

Senario:

   

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).

   

Problem:

   

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.

   

Configuration is:

   

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?

0 Likes
1 Reply
Anonymous
Not applicable

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. 

0 Likes