Jaka jest różnica między trybem USB On-The-Go (OTG) a trybem hosta USB?

23

Jaka jest różnica między trybem USB On-The-Go (OTG) a trybem hosta USB?

Wydają się mniej więcej takie same. Czy oni są?

geffchang
źródło

Odpowiedzi:

26

W kontekście urządzeń z Androidem terminy są często używane zamiennie.

Tryb hosta

USB ma dwa różne rodzaje punktów końcowych (podłączone urządzenie), takie jak interfejs klient-serwer. Jednym urządzeniem jest komputer (lub host ) i to on zarządza: to serwer. Wszystkie pozostałe urządzenia (urządzenia peryferyjne ) są klientami i mogą komunikować się tylko z serwerem. Zwykle urządzenie może działać tylko w jednym z tych dwóch ról: host (np. Klawiatura) nie miałby sensu. Tak działa protokół, a złącza są zaprojektowane tak, aby ułatwić użytkownikom: hosty mają prostokątne złącze A, a urządzenia peryferyjne mają kwadratowe złącze B lub wersję mini lub mikro.

Tryb hosta to nazwa, gdy urządzenie działa jako host. Każde połączenie USB ma dokładnie jedno urządzenie w trybie hosta . Komputery zawsze działają w trybie hosta. (Zwykle nie nazwałbyś tego tak na PC, ponieważ tak naprawdę nie jest to „tryb”, zawsze tak jest.)

USB-OTG

Telefon jest jednak nieco inny. Czasami chcesz, aby działał jako urządzenie peryferyjne: na przykład, abyś mógł podłączyć go do komputera, aby komputer mógł uzyskać dostęp do pamięci telefonu. Czasami chcesz, aby działał jako host: na przykład, aby podłączyć do niego fizyczną klawiaturę lub mysz. Właśnie dlatego wiele urządzeń z Androidem obsługuje teraz tryb hosta USB, a także tryb peryferyjny USB: mogą działać w dowolnym trybie. Ale jak to zrobić, skoro gniazdo USB hosta jest inne niż urządzenie peryferyjne?

Tutaj właśnie pojawia się USB-on-the-go (OTG). Dodaje dodatkowy pin do gniazda micro-USB. Jeśli podłączysz normalny kabel USB A-B, urządzenie będzie działać w trybie peryferyjnym. Jeśli podłączysz specjalny kabel USB-OTG, ma on pin podłączony na jednym końcu, a urządzenie na tym końcu działa w trybie hosta.

Może to być trochę mylące, jeśli jeden kabel ma pozornie identyczne wtyczki na obu końcach, które robią różne rzeczy. Ale kable z USB-OTG na obu końcach są rzadkie: częściej stosuje się adapter, który ma wtyczkę USB-OTG w trybie hosta na jednym końcu i prostokątne gniazdo USB-A na drugim. Do tego adaptera można podłączyć normalny kabel USB, który będzie działał normalnie.

Wniosek

Nazwy odnoszą się do dwóch różnych części technologii USB, ale są bardzo podobne. W końcu, jeśli urządzenie „obsługuje USB-OTG”, musi obsługiwać działanie w „trybie hosta”. Przeciwnie, często tak jest, ale nie zawsze. Większość urządzeń z Androidem obsługujących tryb hosta robi to za pośrednictwem USB-OTG, ale istnieje kilka kontrprzykładów: na przykład oryginalny Asus Eee Pad Transformer ma gniazda USB-A na klawiaturze, co pozwala mu działać w trybie hosta bez USB -OTG kabel. I oczywiście komputery obsługują tryb hosta bez USB-OTG.

Więc chociaż terminy te są zwykle używane w znaczeniu tego samego słowa w świecie Androida - czy mogę podłączyć pamięć USB do mojego telefonu? - i dla większości urządzeń nie ma znaczenia, o czym mówisz, jest rozróżnienie.

Dan Hulme
źródło
Nie zapomnij o mocy ... OTG wymaga kabla typu Y-split dla tych, którzy wymagają zewnętrznego zasilania - być może dla urządzenia wymagającego większej mocy ... Również urządzenia peryferyjne USB pojawiły się aż po wprowadzeniu Honeycomb.
t0mm13b,
1
@ t0mm13b W rzeczywistości całkowicie możliwe jest zasilanie podłączonych urządzeń przez USB-OTG, tak jak w przypadku zwykłego USB. Tyle, że większość telefonów nie zapewnia wystarczającej mocy dla urządzeń wysokoprądowych, takich jak dyski twarde: ale ma to związek z konkretnym urządzeniem, niezależnie od tego, czy używany jest USB-OTG, czy zwykłe USB.
Dan Hulme,
@ t0mm13b Nie jestem pewien, co masz na myśli przez to, że „urządzenie peryferyjne USB pojawiło się dopiero po Honeycomb, który go wprowadził”. Android zawsze wspierał działanie jako urządzenie peryferyjne USB.
Dan Hulme,
Nie, wymagało to niestandardowego jądra - i to była niepewna obsługa w zależności od chipsetu, to właśnie w interfejsie API Honeycomb powstała obsługa USB i stała się bardziej popularna w ICS w górę
t0mm13b
1
@ Dan Hulme: W każdym razie nie sądzę, że to inne pytanie.
Omne