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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html