usb 2
- motivation - первое в списке - connection of the pc to the telephone. далее про ease of use и port expansion. про производительносты ничего нет. (есты комментарий далее)
- usb 2 feature list: single model for cabling and connectors (сравниты набор кабелей с xlr)
- lower protocol overhead, high bus utilisation!
- consistent with pnp architecture!
- access to i/c is scheduled in order to eliminate arbitration overhead
- 7-tiered star topology, на верхнем (tier 1) уровне host/root hub
- transactions: token, data, handshake
- nak handshake to throttle data rate.
- pipes, default control pipe
- transfers: control, bulk, interruptm isochronous
- hub: hub controller, hub repeater, transaction translator
- hub - usb device class
- figure 5-2
- ??? each hugh-speed operating hub essentially adds one (or more) additional full-/low-speed buses
- 5.2.4. logical bus topology - wtf
- 5.2.5 wtf
- fig. 5.9
- endpoint is a simplex connection
- the usb system software ensures that multiple requests are not sent to the message pipe concurrently. a device is required to service only a single message requesy at a time per message pipe.
- overheads: pp 37-38
- control pipe bidir, uses 2 endpoints
- endpoint has no way to indicate a desired bus access frequency for control pipe.
- p. 43. table 5-3. protocol overhead 173 bytes. minimal turnaround time 88 bit
- control transfer: setup transaction, data transactions, status transaction (each transaction - 3 packets - token, ...m handshake)
- setup packet cannot indicate that a packet is an original o a retried - wtf, where such info is embedded then
- isochronous transfers - p 44 - in the case of delivery failure due to error, no retrying of the attempt to deliver the data
- table 5-5 - protocol overhead? 38?
- all device default interface settings must not include any isochronous endpoints with non-zero datta payload sizes
- a host must not issue more than 1 transaction per microframe for an isochronous enpoin unless the endpoint is high-bandwidth ... endpoint that requires 1024 bytes per period is called high-bandwidth endpoint ... a high-bandwidth endpoint must specify a period of 1x125 micros
- the low-level usb protocol does not allow handshakes to be returnet to the transmitter of an isochronous pipe
- interrupt pipe is a stream pipe _therefore_ always uni-directional.
- bulk: bandwidth-avail basis, retry on delivery failure, no guarantee of bw or latency
- low-speed: no isochronous, bulk
- maximum sizes? bulk: fs 8-64, hs: 512
- endpoint's _reported_ wMaxPacketSize (not negotiated)
- most effective bulk transfer - 5er bytes payload, 55 bytes overhead - 6656/7500
- section 9.6.6 - possible combinations for high-bw ep's
- split transactions - up to 80% microframe - ch. 8, 11
- babble - ?
- bit stuff time - 1.1667*8*data_bc
- calculating bus transaction times - pp 63-64
- bit stuffing produces variable-rate stream!
- "the large amount of data per packet is split into ywo or three transactions only for bus efficiency reasons"
- low-speed devices do not see SOFs on the bus
- in case data packet was not received and may be of variable size, the receiver and transmitter should have implementation-dependent mechanism to determine size of the lost packet
- способ поддержки ихохронного трафика побуждает посылать пакеты как можно чаще (для минимизации потерь), что ведёт к увеличению оверхедов.
- nrzi, j, k?
- pull-up resistor? thevenin resistance?
- ... ch. 7 skip ...
- bit orer: lsb first
- pid is packet type, in fact
- pid consists of a four-bit packet type field followed by a four-bit check field. The four-bit check field of the pid ensures reliable decoding of the pid so that the remainder of the packet is interpreted correctly. the pid check field is generated by performing _a one's complement of the packet type field_.
- NYET
- accesses to non-initialized endpoints will also cause the token to be ignored