Tutte le risposte sono errate se OP indicava il collegamento funzionante alla velocità di comunicazione USB 2.0 ad alta velocità (480 Mbit / s).
La lunghezza di un collegamento di comunicazione USB è limitata dall'architettura USB di avere cinque hub nel collegamento. Il protocollo USB richiede che i dispositivi USB restituiscano pacchetti di handshake come ACK, NAK, NRDY, ecc. Queste risposte devono tornare all'host entro un timeout specificato, che è impostato su 1,7 µs. L'hardware del controller host imposterà un flag / interrupt se la risposta non viene ricevuta in tempo dopo i tentativi 1-2-3, il che significherebbe l'errore del collegamento.
Ora, qual è stata la base per questa limitazione di 1,7 µs? Si basa su un round trip nel caso peggiore di pacchetti di handshake. Tutto è spiegato nelle specifiche USB 2.0, Sezione 7.1.19.2. Ci sono tre fattori:
Integrità fisica del segnale su un differenziale a doppino intrecciato per cavi realisticamente fabbricabili (adattamento dell'impedenza, uniformità del cavo, perdita del segnale). Ciò è emerso come limite di lunghezza del cavo di 5 m per segmento. Un cavo da 5 m ha un ritardo di propagazione unidirezionale stimato di 26 ns per le specifiche USB. Tutti e sei i cavi avranno un ritardo di andata e ritorno di circa 300 ns.
Ritardo di propagazione del segnale digitale lungo il percorso del ripetitore dell'hub, limitato dall'architettura suggerita a 40 bit bit HS, che è di circa 80 ns per hub unidirezionale. Cinque hub avranno il ritardo di andata e ritorno di circa 800 ns.
A un dispositivo USB è consentito rispondere in 192 bit, ovvero 400 ns.
Quindi, il tempo di risposta totale è di 1500 ns. La specifica consente un po 'di allentamento e estende il timeout a 1700 ns.
Pertanto, il limite per il tempo di propagazione dei supporti è 1700 ns - 400 ns = 1300 ns o 650 ns in un modo. Se è possibile produrre un cavo con una perdita così bassa su oltre 650 ns di propagazione dell'onda da poter fornire un segnale aperto che soddisfa il modello USB remoto, un host con un singolo dispositivo USB può lavorare con esso. Prendendo 26 ns per 5 m, scende a 125 m di cavo. Questo è il limite teorico massimo.
Mi piacerebbe vedere se questo tipo di cavo può essere realizzato. Personalmente ho avuto un buon collegamento senza errori con un cavo da 12 m (40 piedi) in Cat 5e. Ma dipende dalla qualità / sensibilità dei ricevitori su entrambe le estremità di un collegamento.
AGGIUNTA: la risposta sopra è valida solo per il protocollo di comunicazione USB HS generale. Tuttavia, esiste un'altra limitazione funzionale sulla lunghezza massima del cavo in USB: è correlata alla funzione di disconnessione ad alta velocità. La disconnessione HS in USB si basa sull'idea che un cavo disconnesso rifletterebbe il segnale indietro, quindi la riflessione si somma alla tensione pilotata che porta al raddoppio dell'ampiezza del segnale sul trasmettitore. Come progettato, l'host HS invia marcatori di micro-frame (chiamati SOF) ogni 125 us. Ai fini del rilevamento della disconnessione dei cavi, il pacchetto SOF ha una fine del pacchetto allungata, lunga ~ 83 ns (l'EOP normale è lungo 16,6ns).
Se il cavo USB è disconnesso sulla porta host, nessun problema. Ma se un dispositivo (con la sua terminazione) viene disconnesso all'estremità lontana di un cavo lungo, la riflessione deve ritornare entro 83 ns, l'ampiezza raddoppierà e un comparatore speciale nel ricevitore PHY registrerà la condizione "Scollegamento HS" . Questo imposta il limite del cavo per avere un ritardo di propagazione unidirezionale di 41,5 ns. Supponendo una velocità di propagazione di 6 "per 1 ns, ciò richiede che il cavo sia lungo meno di 250" o lungo circa 6,5 m.
Questa limitazione si verifica solo se si desidera rilevare una disconnessione rapida e pulita. Con un cavo più lungo la porta host verrà eventualmente disabilitata a causa di un errore del protocollo, quindi non ci sono molti problemi alla fine.