Alle antwoorden zijn onjuist als OP betekent dat de link werkt met een hoge snelheid USB2.0 communicatiesnelheid (480 Mbit/s).
De lengte van een USB-communicatieverbinding is beperkt door de USB-architectuur van het hebben van vijf hubs in de verbinding. Het USB-protocol vereist dat USB-apparaten handshakepakketten terugsturen zoals ACK, NAK, NRDY, enz. Deze reacties moeten binnen een bepaalde time-out, die is ingesteld op 1,7 µs, terugkomen naar de host. De hardware van de hostcontroller zou een flag/interrupt instellen als het antwoord niet op tijd wordt ontvangen na 1-2-3 pogingen, wat zou betekenen dat de link uitvalt.
Nu, wat was de basis voor deze 1.7 µs beperking? Het is gebaseerd op een worst-case rondreis van handshake pakketten. Alles wordt uitgelegd in USB 2.0 specificaties, Sectie 7.1.19.2. Er zijn drie factoren:
- Fysieke signaalintegriteit over een twisted-pair differentieel voor een realistisch te fabriceren kabel (impedantiematching, kabeluniformiteit, signaalverlies). Dit kwam uit als 5 m kabellengtegrens per segment. Een 5 m kabel heeft een geschatte eenzijdige propagatievertraging van 26 ns per USB-specificatie. Alle zes kabels hebben de round-trip vertraging van ongeveer 300 ns.
- Digitale signaalverspreidingsvertraging langs het herhalingspad van de hub, die door de voorgestelde architectuur beperkt is tot 40 HS-bits, wat ongeveer 80 ns per hub in één richting is. Vijf hubs hebben de round-trip vertraging van ongeveer 800 ns.
Een USB-apparaat mag reageren in 192 bit-tijden, wat 400 ns.
is, dus de totale reactietijd is 1500 ns. De specificatie laat enige speling toe, en verlengt de time-out tot 1700 ns.
Daarom is de limiet voor de voortplantingstijd van media 1700 ns - 400 ns = 1300 ns, of 650 ns one way. Als u een kabel kunt maken met zo'n laag verlies van meer dan 650 ns golfpropagatie dat het een open signaaloog kan leveren dat voldoet aan het USB far-end sjabloon, kan een host met een enkel USB-apparaat ermee werken. Het nemen van 26 ns per 5 m, komt het neer op 125 m van kabel. Dit is de maximale theoretische limiet.
Ik zou graag zien of dit soort kabel kan worden gemaakt. Persoonlijk had ik een goede no-error link met 40 ft (12 m) kabel gemaakt van Cat 5e. Maar het hangt af van de kwaliteit/gevoeligheid van de ontvangers aan beide uiteinden van een link.
ADDITION: Het bovenstaande antwoord geldt alleen voor het algemene USB HS-communicatieprotocol. Er is echter nog een andere functionele beperking op de maximale kabellengte in USB: het is gerelateerd aan de snelle ontkoppelingsfunctie. De HS disconnect in USB is gebaseerd op het idee dat een losgekoppelde kabel het signaal terugkaatst, zodat de reflectie de aangedreven spanning optelt, wat leidt tot een verdubbeling van de signaalamplitude bij de zender. Zoals ontworpen, stuurt de HS host micro-frame markers (SOF genoemd) elke 125 ons. Ten behoeve van de kabel ontkoppelingsdetectie heeft het SOF-pakket een langwerpig end-of-packet, ~83 ns lang (normaal EOP is 16.6ns lang).
Als de USB-kabel wordt ontkoppeld bij de host-poort, is er geen probleem. Maar als een apparaat (met zijn beëindiging) wordt losgekoppeld aan het uiteinde van een lange kabel, moet de reflectie binnen 83 ns terugkomen, de amplitude zal verdubbelen en een speciale comparator in de PHY-ontvanger zal de “HS disconnect”-toestand registreren. Dit stelt de kabellimiet van 41,5 ns eenzijdige voortplantingsvertraging in. Uitgaande van 6" propagatiesnelheid per 1 ns, moet de kabel minder dan 250" lang zijn, of ongeveer 6,5m lang.
Deze beperking vindt alleen plaats als je een schone en snelle disconnect wilt voelen. Bij een langere kabel zal de hostpoort uiteindelijk worden uitgeschakeld als gevolg van een protocolfout, dus niet veel problemen aan het eind.