Aż do USB C wszystkie złącza USB były starannie dobierane, aby dwa hosty nie mogły być ze sobą połączone.
Z USB C zarówno host, jak i urządzenie mają to samo złącze. Dzięki tej konfiguracji można teraz podłączyć do siebie dwa hosty. USB C używa aktywnego kabla, który, jak zakładam, arbitrażuje połączenia zapobiegając uszkodzeniom elektrycznym.
Zakładam, że jedna z trzech rzeczy może się zdarzyć.
- W ogóle nic
- Błąd „nie rób tego” lub coś takiego
- Nawiązano połączenie z jednym hostem przesyłającym jako urządzenie do drugiego hosta. (wydaje się mało prawdopodobne)
Co się dzieje? Czy to jedna z moich propozycji, czy coś zupełnie innego?
Odpowiedzi:
Odpowiedź zależy od tego, czy porty hosta to zwykłe porty hosta, czy „porty z podwójną rolą” (DRP), przynajmniej jeden z nich.
Jeśli oba porty są zwykłymi portami hosta, nic się nie stanie, więc (1) jest prawdą. (ponieważ oba porty będą miały podciągnięcia na pinie CC, a to nie wywoła żadnej reakcji hosta, VBUS nie zostanie potwierdzony).
Jeśli jednym z portów (jak w niektórych nowoczesnych tabletach / telefonach) jest DRP, port DRP będzie naprzemiennie działał w funkcji CC, próbując udawać hosta, a następnie urządzenie i tak dalej. W zależności od drugiego portu zostanie nawiązane prawidłowe połączenie. Tak więc odpowiedź brzmi (3).
Jeśli oba porty są DRP, (3) jest nadal prawdziwe, tylko rola urządzeń zostanie określona losowo, w zależności od czasu podłączenia kabla w stosunku do cyklu CC.
Są to SPECYFIKACJE dla złącza typu C.
źródło
Zgodnie z tym , nic złego się nie stanie, dopóki oba porty USB Type-C będą działać zgodnie ze specyfikacją. Więc opcja (1) z listy.
Podsumowując ten post na blogu na wypadek, gdyby link kiedykolwiek umierał, zasadniczo wyjaśnia sekcję 2.3.1 specyfikacji typu C:
Zdjęcie z połączonego postu na blogu.
Mówi to, że w przeciwieństwie do wcześniejszych portów USB, specyfikacja USB Type-C nakazuje, aby zasilanie nie było dostarczane do portu, dopóki detekcja styków CC nie zostanie zakończona. Zasadniczo w kablu USB typu C znajdują się dwa styki, których można użyć do pasywnego wykrywania, czy urządzenie jest hostem, czy urządzeniem podrzędnym za pomocą rezystorów bez włączania zasilania VBus.
Dopiero gdy host (DFP) wykryje, że podłączono urządzenie podrzędne (UFP), rozpocznie liczenie i włączy zasilanie VBus.
W rezultacie, kiedy podłączysz razem dwa zgodne hosty, nic się nie wydarzy, ponieważ ani nie wykrywa slave na drugim końcu, więc zasilanie nie jest podawane (zapobieganie zwarciom) i nie jest wykonywana żadna sygnalizacja (zapobiegająca rywalizacji magistrali). To byłaby opcja (2) z twojej listy.
Jeśli jednak urządzenie to (tani) klon czegoś niezgodnego ze specyfikacją, kto wie, co się stanie. Jeśli na przykład otrzymasz ładowarkę do telefonu USB typu C i nie jest ona przeznaczona do specyfikacji, zawsze może włączyć napięcie magistrali, co może spowodować uszkodzenie. To tylko spekulacje.
źródło