Author Topic: USB isochronous high bandwidth transfers  (Read 14225 times)

ulrich.sorensen

  • Member
  • ***
  • Posts: 2
USB isochronous high bandwidth transfers
« on: March 07, 2011, 10:07:44 am »
Hi,

I need to know if my USB host stack is working right (I have not written it myself).

The case is that I am reading from a device (webcam) with an IN endpoint with max packet sixe of 3072 bytes. On my analyzer I can see SOFs generated every 125us but an IN transaction is not generated for every SOF (see attachment).

Isn't that an error? I would expect an IN transaction after every SOF.

Best Regards,
Ulrich

[attachment deleted by admin]

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: USB isochronous high bandwidth transfers
« Reply #1 on: March 07, 2011, 10:30:37 am »
What is the endpoint's bInterval?

Jan

ulrich.sorensen

  • Member
  • ***
  • Posts: 2
Re: USB isochronous high bandwidth transfers
« Reply #2 on: March 07, 2011, 11:19:21 am »
0x01 = 125 us

Best Regards,
Ulrich
« Last Edit: March 07, 2011, 11:21:44 am by ulrich.sorensen »

Jan Axelson

  • Administrator
  • Frequent Contributor
  • *****
  • Posts: 3033
    • Lakeview Research
Re: USB isochronous high bandwidth transfers
« Reply #3 on: March 07, 2011, 12:12:44 pm »
The endpoint has requested a transaction every microframe.

A transfer can consist of multiple transactions.

The host should be able to provide the requested bandwidth (IN packets) for the transactions within a transfer.

There might be delays between the end of one transfer and the host's scheduling the next one. I don't know if that's what you're seeing.

Jan