Slow Data transmission due to control transfers

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

cross mob
Anonymous
Not applicable

I am attermpting to loop the sending of a 11 byte data packet to an FX2 development board. The firmware appear to be set up correctly and I ave measure that the processing of this data packet on the firmware side takes 30us. However the PC is taking 5ms between loops.

   

I have captures some timings from the PC using USBlizer and it looks like the device is reconfiguring itself between transmissions.

   

Here is the output from the USBlizer software:

   

http://www.appliedrelaytesting.com/other/WriteDataExport.html

   

The data packet I am sending is "A0 01 67 00 05 03 12 34 56 78 50", as you can see after sending the packet the USB hub tries to get descriptor which takes 899 us.

   

Any ideas about how to fix this?

   

 

   

Thank you in advance.

0 Likes
3 Replies
Anonymous
Not applicable

Are you using SuiteUSB for developing the host application? If so CyAPI.lib or CyUSB.dll?

   

Looking at the Close and Create messages in the middle I assume you are opening and closing the handle for each transfer. Is my understanding right?
Regards,

   

Anand

0 Likes
Anonymous
Not applicable


I am using CyUSB.dll. I beleive that I am keeping the handle open and just sending new data packets on each loop. I will check this though.

0 Likes
Anonymous
Not applicable

Opening a handle to the device will send the enumeration requests so that it can populate the data structure and keep track of the appropriate parameters.

   

Opening and closing the handle for each transfer is the only thing I can think of which would cause this behavior.

   

Regards,

   

Anand

0 Likes