MCU User Forum
  USB Transfer Interval

Post New Topic  Post A Reply
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   USB Transfer Interval
oscillo
New Member
posted August 11, 2010 01:07 AM     Click Here to See the Profile for oscillo     Edit/Delete Message
Hi All,

Currently, I'm using the USB_HID Mouse sample code(C8051F34x) to do a testing on C8051F34x Dev Kit. I have tried to use a Software called Bus Hound to monitor the data transfer from C8051F34x Dev Kit to PC through USB. I had discovered that the elapsed time(delta) for each packet of data transfered is around 8ms. I have try to change the bInterval values(Endpoint Descriptor) to 2(default is 10), the elapsed time for each packet transfered become 2ms. However, I have try to change the bInterval to 1 again, but the elapsed time is larger than 2ms. May i know how to set the elapsed time for each packet transfer become 1ms?

IP: Logged

Tsuneo
Member
posted August 11, 2010 07:50 PM     Click Here to See the Profile for Tsuneo   Click Here to Email Tsuneo     Edit/Delete Message
What is the Windows version?
For XP and later, the HID class driver assigns two transfers queued on the host controller schedule to guarantee 1 ms interval. But before XP, it depends on the type of host controller, and performance of CPU.

Tsuneo

IP: Logged

oscillo
New Member
posted August 11, 2010 10:47 PM     Click Here to See the Profile for oscillo     Edit/Delete Message
My Windows Version is XP. The HID class driver you mention is a default driver in Windows XP? Do i need to set any configuration on the driver? The two transfers queued are what kind of transfer type, Interrupt or Bulk? Because currently i'm using the USB_HID Mouse sample code(C8051F34x - firmware)to do the testing. I'm not sure there is any setting on USB i need to take care. What i have tried is do a changing on the bInterval value of Endpoint Descriptor. But, i can't get 1 ms interval on each packet transfered. Kindly provide me some advice.

Thanks a lot!

oscillo

IP: Logged

Tsuneo
Member
posted August 12, 2010 03:10 AM     Click Here to See the Profile for Tsuneo   Click Here to Email Tsuneo     Edit/Delete Message
As you are working on XP, you should get 1 ms interval without any trick.

Try another sniffer. Bus Hound may drop the trace.
I'm not so familiar with Bus Hound. I tried free version just once a couple of years ago. I don't have good impression on the version for USB traffic analysis.

SniffUsb (free)
http://www.pcausa.com/Utilities/UsbSnoop/default.htm

USBlyzer (one month trial)
http://www.usblyzer.com/

etc.

If you try another sniffer, uninstall current one.
They may conflict each other. Or you may get redundant trace.

Tsuneo

IP: Logged

oscillo
New Member
posted August 12, 2010 03:55 AM     Click Here to See the Profile for oscillo     Edit/Delete Message
Hi,

Now i'm using USBlyzer to monitor the USB data. May i know how to observe the interval time between each packet transfered? Now, what i can see is the Endpoint Descriptor is shown that the bInterval time is 1ms.

oscillo

IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply
Hop to:

Contact Us | MCU User Forum

Have you seen our MCU Knowledge Base?


Ultimate Bulletin Board 5.47b