Electronic – Why is USB cable maximum length is shorter than in RS232


Why do we need to buffer USB signal if the cable is longer than 5m?
Is that because a signal voltage drop?
Is that because it drives currents?

Best Answer

Speed of transmission matters because USB is half-duplex: in order to transmit a response, the bus must be turned around and data transmitted in the other direction. So the host sends out data and waits for an acknowledgement or a response. All transfers are controlled by the host. The device then has a certain (fairly short) time in which to respond. This time is roughly the time taken for two signal trips along a 5m cable.

(I can't find references right this second, but the relevant spec documents are public)

Edit: thanks to psmears for finding this section

Cables and Long-Haul Solutions

  1. Why are there cable length limits, and what are they?

A: The cable length was limited by a cable delay spec of 26ns to allow for reflections to settle at the transmitter before the next bit was sent. Since USB uses source termination and voltage-mode drivers, this has to be the case, otherwise reflections can pile up and blow the driver. This does not mean the line voltage has fully settled by the end of the bit; with worst-case undertermination. However, there's been enough damping by the end of the bit that the reflection amplitude has been reduced to manageable levels. The low speed cable length was limited to 18ns to keep transmission line effects from impacting low speed signals.

  1. I want to build a cable longer than 5 meters, why won't this work?

A: Even if you violated the spec, it literally wouldn't get you very far. Assuming worst-case delay times, a full speed device at the bottom of 5 hubs and cables has a timeout margin of 280ps. Reducing this margin to 0ps would only give you an extra 5cm, which is hardly worth the trouble.

So my answer is only half-right: the round trip limit is for a worst-case chain of hubs and cables, for a total depth of 25m.

Dan Neely is also right that USB was always supposed to be the lowest-cost solution for "slow" peripherals like keyboards, mice, printers etc. If you wanted full duplex for more speed and more distance, 100baseT ethernet is the natural choice.