PORTS Forum

Ports and Interfaces => USB => Topic started by: ulrich.sorensen on March 07, 2011, 10:07:44 am

Title: USB isochronous high bandwidth transfers
Post by: ulrich.sorensen 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]
Title: Re: USB isochronous high bandwidth transfers
Post by: Jan Axelson on March 07, 2011, 10:30:37 am
What is the endpoint's bInterval?

Jan
Title: Re: USB isochronous high bandwidth transfers
Post by: ulrich.sorensen on March 07, 2011, 11:19:21 am
0x01 = 125 us

Best Regards,
Ulrich
Title: Re: USB isochronous high bandwidth transfers
Post by: Jan Axelson 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