On Mon, 10 Feb 2014, vichy wrote:

> >> 2. in tt_available, below is used to check whether tt time is bigger than 
> >> 125us
> >>         if (125 < usecs) {
> >>             int ufs = (usecs / 125);
> >>             int i;
> >>             for (i = uframe; i < (uframe + ufs) && i < 8; i++)
> >>                 if (0 < tt_usecs[i]) {
> >>                     ehci_vdbg(ehci,
> >>                         "multi-uframe xfer can't fit "
> >>                         "in frame %d uframe %d\n",
> >>                         frame, i);
> >>                     return 0;
> >>                 }
> >>         }
> >> is it possible tt time bigger than 1 uframe?
> >
> > Yes.  Any isochronous transfer that is longer than 188 bytes will
> > require more than one uframe.
> 
> from spec's explanation,   the usecs in the above source is the budget
> calculated with Maxp instead of bandwidth indeed we need to transfer.
> Why it is still possible over 125us?
> for the case the ep max packet size over 188 bytes?

I don't understand your question.

At full speed (12 Mb/s), the time required to transfer 188 bytes is

        (188 bytes) * (8 bits/byte) / (12 b/us) = 125.33 us,

which is greater than 125 us.

> > For each packet (token, data, and handshake), the overhead includes
> > inter-packet delay, cable delay, SYNC, bit-stuffing, and End-Of-Packet
> > -- all in addition to the PID, token, and CRC bytes.
> >
> > I don't know where you got that "13" from.  If you assume the
> The 13 bytes I see is from usb spec section 5.8.4.

Then you must have noticed the sentence just above Table 5-9:

        The table does not include the overhead associated with bit 
        stuffing.

The table also doesn't include the overhead associated with cable
delay and intermediate hubs.

> > inter-packet delays always require 1 byte time and count up the
> > inter-packet delays (3), SYNCs (3), token bytes (3), PID and CRC hytes
> > (3), and handshake (1), that adds up to 13 bytes of protocol overhead.
> > But it leaves out cable delay, bit-stuffing, and End-Of-Packet signals.
> >
> > You also have to remember that the spec allows the clock rate on
> > Full-Speed devices to vary by up to 0.25% of the nominal rate.
> so you mean FS speed will be 12M bits/s +- 30000 bits/s?(30000/12M = 0.25%)

That's right.  Also, Low-Speed devices are allowed to vary by up to 
1.5%, and High-Speed devices are allowed to vary by up to 0.05%.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to