Dlaczego USB 3.1 wykorzystuje tylko dwie z czterech dostępnych linii danych?

8

Patrząc na specyfikację USB-C, zauważam, że istnieją cztery pary różnicowe SuperSpeed ​​do przesyłania danych, jak widać na https://en.wikipedia.org/wiki/USB-C#Specifications . Artykuł w Wikipedii mówi również, że tylko dwie z tych par są używane w trybie USB 3.1, co wydaje mi się bardzo dziwne.

W tym pytaniu ( Dlaczego Thunderbolt 3 na drucie miedzianym jest szybszy niż USB 3.1? ), Które zadałem niedawno, Ali Chen odpowiedział, że Thunderbolt 3 przez USB-C używa obu tych par, ale USB 3.1 nie. Wiem, że można uruchomić Thunderbolt 3 na dowolnym wysokiej jakości kablu USB-C, więc muszą mieć wszystkie niezbędne przewody. Dlaczego w standardowym USB 3.1 nad typem C nie stosuje się obu par, aby podwoić transfer danych?

brendon-ai
źródło
1
USB to komunikacja szeregowa. Jeśli multipleksuje się tak, jak robi to piorun, to nie jest już zgodne z protokołem. Mówiąc najprościej, USB 3.1 to protokół / specyfikacja, a USB typ C to specyfikacja okablowania, która ma obsługiwać „alternatywne tryby” wykorzystujące te pary.
BrianC
@BrianC Dobra, to potwierdza to, co myślałem. Dzięki!
brendon-ai
1
Odpowiedź na pytanie „dlaczego” jest trudna i zwykle nie na temat. W takim przypadku nie możemy powiedzieć „dlaczego”, ponieważ nie opracowaliśmy specyfikacji. Możemy zapewnić wykształcone domysły, ale prawdopodobnie nie będziemy w stanie stwierdzić, czy nasze wykształcone domysły są w rzeczywistości prawdziwą odpowiedzią. Ponadto, każda wybrana „odpowiedź” będzie tylko odpowiedzią, która najlepiej pasuje do własnych opinii OP lub najlepiej argumentuje w jej obronie. Żadne z tych kryteriów nie obejmuje znalezienia odpowiedzi, która rozwiązuje główny problem.
music2myear
Możesz uruchomić TB tylko na pełnym kablu typu C-Type-C, a nie na żadnym kablu. Standard złącza typu C definiuje 15 różnych typów zestawów kabli (kiedyś było 18 typów, ale później zestaw zredukowano do 15).
Ale..chenski
2
Głosowanie w celu ponownego otwarcia, ponieważ odpowiedź Spiffa wydaje się natychmiastowa.
psusi

Odpowiedzi:

12

USB 3.1 Gen 2 (SuperSpeed ​​+, 10 Gbps) został zaprojektowany do pracy zarówno na istniejących kablach USB 3.0 (tych z 5 dodatkowymi stykami), jak i kablach USB typu C.

Ponieważ istniejące kable USB 3.0 (te ze złączami typu A i B, a także warianty mikro A i B) zawierają tylko jedną parę par superszybkich (para Tx i para Rx), USB 3.1 Gen 2 może tylko użyj tej pary par i nadal pracuj na istniejących kablach USB 3.0. Tak więc nawet po uruchomieniu USB 3.1 Gen 2 na kablu ze złączami typu C, wykorzystuje on tylko jedną parę superszybkich par. Umożliwia to również stosowanie kabli zgodnych z USB 3.0 / 3.1 ze złączem typu C na jednym końcu, a wcześniejszych wtyków typu USB 3.0 typu A, B, micro A lub micro B na drugim końcu.

Teraz możesz zadać dodatkowe pytanie: „Dlaczego Forum Implementerów USB (USB-IF, konsorcjum standardów USB) nie zdefiniowało jeszcze szybszego niż 10 Gb / s protokołu USB, który wykorzystuje zarówno superszybkość pary par w złączu typu C? ” To ważne pytanie, ale nie chcę spekulować. Byłoby to z pewnością większe odstępstwo od poprzednich projektów USB PHY, ponieważ miałoby dwa osobne strumienie danych wysyłania i odbierania, które należałoby koordynować. W efekcie byłby to rodzaj interfejsu równoległego, podczas gdy USB tradycyjnie był nominalnie szeregowy.

Sposób, w jaki zadałeś pytanie, ujawnił kilka potencjalnych nieporozumień, którymi chciałbym się tutaj zająć:

Wiem, że można uruchomić Thunderbolt 3 na dowolnym wysokiej jakości kablu USB-C

To nie do końca prawda. Istnieje wiele wysokiej jakości kabli zgodnych z USB Type C, które nie są odpowiednie dla Thunderbolt 3. Thunderbolt 3 jest ograniczony do długości ≤ 0,5 m, jeśli masz kabel pasywny. Aby przejść dłużej (np. 2 m), potrzebujesz droższego aktywnego kabla (kabla ze specjalnymi układami scalonymi w celu ułatwienia obsługi sygnału).

Dlaczego standardowy USB-C nie korzysta z obu par

USB-C nie jest protokołem. USB Type C to nazwa złącza i specyfikacji okablowania; nie jest to nazwa protokołów używanych nad tymi złączami i kablami. Robiąc protokoły USB za pomocą kabli typu C, korzystasz z USB 3.1 Gen 2 (10 Gb / s „SuperSpeed ​​+”) lub wcześniejszych wersji USB.

Spiff
źródło
„Thunderbolt 3 jest ograniczony do kabli o długości ≤ 0,5 m, jeśli masz kabel pasywny.” - to też nie do końca prawda. Długość łącza jest ograniczona jakością kabla, tłumieniem sygnału przy częstotliwości Nyquista. Jeśli uda ci się zrobić kabel z, powiedzmy, jakiegoś teflonu o małej gęstości z posrebrzanymi drutami i oplotem ekranowym, wszystko to jest bardzo jednolite, możesz mieć bezbłędną komunikację na znacznie dłuższych kablach bez żadnych aktywnych sterowników, o ile poznajesz dalekosiężny schemat oka i wannę jitter.
Ale..chenski
Przepraszam. Wiem, że USB-C to kabel, a nie protokół. Edytowane.
brendon-ai
W rzeczywistości specyfikacja połączeń typu C definiuje wiele protokołów. Jednym z nich jest podstawowe podciąganie / rozwijanie na pinach CC w celu określenia roli portu, hosta lub urządzenia lub innej łączności pomocniczej (debugowanie, audio, wideo). Dla portów Dual-Role istnieje inny protokół flip-flop. Elektroniczna interakcja markerów przez CC również musi być zgodna z bardzo specyficznym protokołem. Wystarczy spojrzeć na sekcję 4.5.2 specyfikacji typu C i przestudiować dość skomplikowane diagramy stanu maszyny na rycinach 4-12, -13, -14, -15, -16 itd. Lub słowny opis protokołów interoperacyjności w sekcji 4.3.
Ale..chenski
Zaledwie dwa miesiące po napisaniu tej odpowiedzi ogłoszono, że USB 3.2 może używać obu linii w istniejących kablach USB-C - dla prędkości 10/20 gb / s (gen1 / gen2), a więc podwójnej prędkości USB 3.1: en.wikipedia.org/ Wiki / USB_3.0 # 3.2 Rzeczywiste kontrolery mogą być dostępne wkrótce: anandtech.com/show/14430/...
user1531083
5

USB 3.1 używa jednej linii (para Tx i para Rx), ponieważ jest to standard USB, aby używać tylko jednej linii Rx + Tx. Wszystkie oryginalne złącza USB (A, B, microAB) mają tylko jedną parę styków SS (SuperSpeed), a cała architektura sprzętowa USB koncentruje się tylko na jednej, jednopasmowej konstrukcji.

Aby równolegle korzystać z większej liczby linii, w potoku danych sprzętowych powinny znajdować się dodatkowe elementy architektoniczne dotyczące radzenia sobie z synchronizacją linii i innymi problemami związanymi z zarządzaniem poszczególnymi warstwami łącza, wymianą kredytu buforowego i odzyskiwaniem błędów, szkoleniem łącza i optymalizacją elektryczną poszczególnych kanałów. Gdy to wszystko zrobisz, zamienia się w „Piorun”. Lub coś w rodzaju MIPI .

Złącze Type-C jest nowym standardem dla CONNECTOR, który miał mieć szersze zastosowanie niż sam USB. Zapotrzebowanie na typ C było w dużej mierze spowodowane konstrukcją systemu, aby pasowało do mniejszych rozmiarów przenośnej elektroniki. W pewnym sensie nie ma to nic wspólnego z USB, a twoja prośba o ponowne użycie wszystkich dostępnych szybkich linii w celu zmiany standardowej architektury USB jest nieuzasadniona.

Ale..chenski
źródło
Jedno, co mnie ciekawi ... jeśli USB 3.1 używa tylko jednej pary Tx-Rx, to dlaczego nie obsługują więcej sygnałów USB w pozostałej części? Nawet z dwoma DisplayPort jak w „trybie mieszanym”, możesz mieć dwie niezależne magistrale 5 Gb / s dla dwóch dysków SATA SSD lub coś w tym rodzaju. Nie trzeba ich synchronizować.
chx
@chx, opcjonalne użycie drugiej pary Tx + Rx zostało wprowadzone w specyfikacjach USB 3.2.
Ale..chenski