Interfejs USB 2.0 przesyła dane jedną parą przewodów D+ i D− w trybie
A. Simplex.
B. Dual simplex.
C. Full duplex.
D. Half duplex.
Odpowiedź Half duplex jest właściwa, bo w USB 2.0 transmisja danych po liniach D+ i D− odbywa się jedną wspólną parą różnicową, która w danym momencie może być używana tylko w jednym kierunku. To nie jest tak, że urządzenie i komputer nadają równocześnie jak w klasycznym full duplex. Magistrala USB 2.0 działa pod kontrolą hosta, czyli najczęściej komputera, który inicjuje komunikację i przydziela czas na transmisję urządzeniom. Dane są przesyłane w pakietach, np. token, data i handshake, a kierunek transmisji zmienia się zależnie od etapu wymiany. W praktyce dlatego jedno złącze USB 2.0 może obsługiwać klawiaturę, pendrive albo drukarkę, ale cały ruch jest porządkowany przez kontroler USB. Moim zdaniem warto zapamiętać prostą zasadę: USB 2.0 ma jedną parę D+ / D− do danych, więc nie ma jednoczesnego nadawania i odbioru. Dopiero nowsze standardy, np. USB 3.x, dodają osobne pary przewodów dla transmisji w obu kierunkach, co umożliwia pracę full duplex. To ważne przy diagnozowaniu kabli, portów i realnej wydajności urządzeń, bo sam kształt wtyczki nie mówi jeszcze wszystkiego o trybie transmisji.
W tym pytaniu najłatwiej pomylić się przez skojarzenie USB z bardzo szybką transmisją i założyć, że skoro interfejs jest nowoczesny, to na pewno nadaje i odbiera jednocześnie. W USB 2.0 tak nie jest. Linie D+ i D− tworzą jedną parę różnicową, czyli sygnał jest przenoszony jako różnica napięć między dwoma przewodami. To poprawia odporność na zakłócenia, ale nie oznacza automatycznie pracy full duplex. Full duplex wymagałby niezależnych torów nadawania i odbioru albo innego mechanizmu pozwalającego na jednoczesną komunikację w obie strony. USB 2.0 tego nie ma na parze D+ / D−.
Simplex też nie pasuje, bo oznacza transmisję tylko w jednym kierunku, jak w bardzo prostym kanale nadawczym. USB musi przecież przesyłać dane i od hosta do urządzenia, i od urządzenia do hosta, choć nie w tej samej chwili. Pendrive odbiera polecenie od komputera, potem odsyła dane, a drukarka odbiera zadanie i może odesłać status. To jest dwukierunkowe, tylko naprzemienne.
Określenie dual simplex bywa mylące, bo brzmi technicznie i kojarzy się z dwoma osobnymi kanałami jednokierunkowymi. Taki model bardziej przypomina rozwiązania, gdzie mamy oddzielną ścieżkę dla każdego kierunku. W USB 2.0 po prostu nie ma dwóch niezależnych par danych dla takiej komunikacji. Z mojego doświadczenia najbezpieczniej patrzeć na okablowanie i rolę hosta: jedna para D+ i D−, sterowanie przez host, pakietowa wymiana danych, brak jednoczesnego nadawania i odbioru. To właśnie prowadzi do trybu half duplex.
Simplex też nie pasuje, bo oznacza transmisję tylko w jednym kierunku, jak w bardzo prostym kanale nadawczym. USB musi przecież przesyłać dane i od hosta do urządzenia, i od urządzenia do hosta, choć nie w tej samej chwili. Pendrive odbiera polecenie od komputera, potem odsyła dane, a drukarka odbiera zadanie i może odesłać status. To jest dwukierunkowe, tylko naprzemienne.
Określenie dual simplex bywa mylące, bo brzmi technicznie i kojarzy się z dwoma osobnymi kanałami jednokierunkowymi. Taki model bardziej przypomina rozwiązania, gdzie mamy oddzielną ścieżkę dla każdego kierunku. W USB 2.0 po prostu nie ma dwóch niezależnych par danych dla takiej komunikacji. Z mojego doświadczenia najbezpieczniej patrzeć na okablowanie i rolę hosta: jedna para D+ i D−, sterowanie przez host, pakietowa wymiana danych, brak jednoczesnego nadawania i odbioru. To właśnie prowadzi do trybu half duplex.