Slow Frame Times Using CyAPI

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

cross mob
Anonymous
Not applicable

I managed to get the application talking to the hardware somewhat correctly.  (I have a few quirks, but I'm not chasing those right now.)  We switched direction from another USB solution to a high speed device because of the frame timing.  The system has very low data rates overall (most packets are only a few bytes at a time and not that frequent), but a full speed solution was not working.  With the device I tested (DevaSys card), the delays in the system were 10-20 times slower than with the old ISA interface.  Whe I looked at bus timing, the frames were 4ms.

   

I researched frame timing and found that high speed is supposed to have 125us subframes.  With that kind of timing, I should be able to get the system working about the same speeds as ISA with possibly a few non-critical areas being a little slower.

   

In the initialization code the software does a send and recieve of one byte through a range of 256 possible addresses in the external chassis (it's looking to see what hardware is installed in the chassis).  It does this in a tight for loop that has about 15 us per I/O call when using the ISA card.  This is not a critical part of the program and I left it as is to compare timing between interfaces (I plan to move the polling to firmware eventually and just read all 256 bytes in one Bulk transfer, but that's phase II).

   

Looking at the traffic with a logic analyzer, I'm seeing per transaction timings of 3-4ms, not 125us.  What could be causing the timing to be 24-32 times slower than expected?  I find it interesting that the bus timing is almost identical to what I saw with the full speed device we rejected.

   

I am doing all I/O via control endpoint transfers at the moment.  Many times I need to write a couple of bytes and then immediately read one or two.  The bidirectionality of the control endpoint enables me to combine these into one USB call.

   

What is causing this and how to I fix it?

   

Bill

0 Likes
4 Replies
Anonymous
Not applicable

No response?  If the driver won't do the high speed frame times, this is a major problem.  We will have to look at another vandor for our USB solution.

   

Bill

0 Likes
Anonymous
Not applicable

Hi Bill,

   

CyUSB.sys is capable of high speed frame rates.

   

Can you please create a tech-support case for this query? This is a fairly more complicated issue, and will need more information on the environment and the way in which the transfer is triggered to understand the actual issue.

   

You can create a case by clicking on "MyAccount"->"MyCases" in the menu bar on top.

   

Regards,

   

Anand

0 Likes
Anonymous
Not applicable

I did open a case almost a day before I posted this forum message.  Nobody has responded.

   

The case number is 472706328

   

Bill

0 Likes
Anonymous
Not applicable

Yep. Got it. There was a weekend in the middle which has caused the delay. Things should get moving now.
Regards,
Anand

0 Likes