Słyszałem, że D + i D- to sygnały różnicowe, czy to ważne, czy zamienię je podczas podłączania urządzenia USB do komputera?
usb
communication
signal
cables
Yan King Yin
źródło
źródło
Odpowiedzi:
Podsumowanie
Przy wchodzeniu i wychodzeniu ze stanu bezczynności polaryzacja jest ważna, a zamiana linii D + i D- spowoduje problemy.
Transmisja danych
Dane USB są kodowane przez NRZ, tak że „Jeden” jest reprezentowany przez brak zmiany poziomu fizycznego, a „Zero” reprezentowany jest przez zmianę poziomu fizycznego (patrz rysunek poniżej). Dlatego odwrócenie sygnału (na przykład poprzez zamianę D + i D-) nie powoduje żadnych zmian funkcjonalnych podczas transmisji danych. Mogą jednak wystąpić problemy przed i po transmisji danych, które mogą zakłócić komunikację z urządzeniem.
Wyjście ze stanu bezczynności
Podczas gdy dane są kodowane przez NRZI, sekwencja synchronizacji i EoP są zdefiniowane w kategoriach stałych stanów (J / K / SE0). Kiedy D + i D- są przełączane, stan J jest przełączany za pomocą K, a SE0 jest nadal SE0 (obie linie niskie). Tak więc sekwencja synchronizacji i EoP staną się niepoprawne podczas inwersji. W USB 1.x, jeśli D + i D- są zamienione, urządzenia o pełnej przepustowości są rozpoznawane jako o niskiej przepustowości i odwrotnie. Tak więc urządzenie nie będzie nawet komunikować się z tą samą prędkością co host.
Wejście w stan bezczynności
W przypadku sterownika zamienionego D + / D-, host zobaczy sekwencję (SE0, SE0, K) zamiast prawidłowej (SE0, SE0, J). Host może wtedy nie rozpoznać końca pakietu, co może powodować problemy.
Wniosek
Jeśli urządzenie i host ściśle przestrzegają specyfikacji USB, zamiana pinów D + i D- spowoduje awarię. Można sobie wyobrazić, że projektant hosta przewidział taki tryb awarii i wbudował dla niego kompatybilność. Ale niezależnie od tego, czy taki zamieniony kabel byłby funkcjonalny w praktyce, z pewnością nie byłby zgodny ze specyfikacjami.
Inny członek, Andrew Kohlsmith, doświadczył tego, gdy przypadkowo zamieniono piny koncentratora USB. Problem pojawił się, gdy podłączone urządzenia się nie wyświetlały. Urządzenie USB pokazywałoby, że jest zasilane, ale w ogóle nie zostało rozpoznane przez komputer po stronie huba (który był prawidłowo podłączony do hosta).
Źródło: wikipedia
Edycja: dziękuję tym, którzy skomentowali. Dodałem akcent i szczegóły z twoich pomocnych notatek.
źródło
Widziałem, jak urządzenia negocjują małą prędkość tylko wtedy, gdy zamieniono d + i d-. Było to z urządzeniem o pełnej prędkości (12 Mb / s) i portem opartym na chipsecie VIA.
źródło