В чем разница между USB On-The-Go (OTG) и USB Host Mode?

23

В чем разница между USB On-The-Go (OTG) и USB Host Mode?

Они кажутся более или менее одинаковыми. Они?

geffchang
источник

Ответы:

26

В контексте устройств Android термины часто используются взаимозаменяемо.

Режим хоста

USB имеет два разных типа конечной точки (подключенное устройство), например интерфейс клиент-сервер. Одно устройство - это компьютер (или хост ), и оно отвечает: это сервер. Все остальные устройства ( периферийные устройства ) являются клиентами и могут взаимодействовать только с сервером. Обычно устройство может действовать только в одной из этих двух ролей: не будет смысла (скажем), чтобы клавиатура была хостом. Именно так работает протокол, и разъемы спроектированы так, чтобы облегчить его для пользователей: хосты имеют прямоугольный разъем A, а периферийные устройства имеют либо квадратный разъем B, либо мини- или микро-версию.

Режим хоста - это имя, когда устройство выступает в роли хоста. Каждое USB-соединение имеет только одно устройство в режиме хоста . ПК всегда работают в режиме хоста. (Обычно это не называют «ПК», потому что на самом деле это не «режим», а всегда так).

USB-OTG

Телефон немного другой, хотя. Иногда вы хотите, чтобы он работал как периферийное устройство: например, чтобы вы могли подключить его к ПК, чтобы ПК мог получить доступ к памяти телефона. Иногда вы хотите, чтобы он действовал как хост: например, для подключения к нему физической клавиатуры или мыши. Вот почему многие устройства Android теперь поддерживают режим USB-хоста, а также режим USB-периферии: они могут работать в любой роли. Но как сделать так, чтобы USB-разъем хоста отличался от разъема периферийного устройства?

Вот тут-то и появляется USB-на-ходу (OTG). Он добавляет дополнительный контакт к разъему micro-USB. Если вы подключите обычный USB-кабель типа A-B, устройство будет работать в периферийном режиме. Если вы подключите специальный кабель USB-OTG, к нему будет подключен контакт, а устройство на этом конце будет работать в режиме хоста.

Это может немного сбить с толку, если один кабель имеет одинаковые разъемы на обоих концах, которые делают разные вещи. Но кабели с USB-OTG на обоих концах встречаются редко: чаще используют адаптер, у которого на одном конце есть разъем USB-OTG в режиме хоста, а на другом - прямоугольное гнездо USB-A. Вы можете подключить обычный USB-кабель к этому адаптеру, и он будет работать нормально.

Вывод

Названия относятся к двум различным частям технологии USB, но они очень похожи. В конце концов, если устройство «поддерживает USB-OTG», оно должно поддерживать работу в «режиме хоста». Обратное часто бывает, но не всегда. Большинство устройств Android, поддерживающих режим хоста, делают это через USB-OTG, но есть несколько контрпримеров: например, оригинальный Asus Eee Pad Transformer имеет разъемы USB-A на клавиатуре, что позволяет ему работать в режиме хоста без USB -OTG кабель. И, конечно, ПК поддерживают режим хоста без USB-OTG.

Поэтому, хотя в мире Android термины обычно означают одно и то же, могу ли я подключить USB-флешку к своему телефону? - и для большинства устройств не имеет значения, о чем вы говорите, есть различие.

Дэн Халм
источник
Не забывайте о питании .... OTG требует Y-сплит-кабеля для тех, кому требуется внешнее питание - возможно, для устройства, которое требует более сильного питания ... Также периферийное устройство USB появилось до появления Honeycomb, который его представил.
t0mm13b
1
@ t0mm13b На самом деле вполне возможно подавать питание на подключенные устройства через USB-OTG, как с обычным USB. Просто большинство телефонов не обеспечивают достаточное питание для сильноточных устройств, таких как жесткие диски, но это связано с конкретным устройством, независимо от того, используется ли USB-OTG или обычный USB.
Дэн Халм
@ t0mm13b Я не уверен, что вы имеете в виду под «периферийным устройством USB, которое появилось до тех пор, пока компания Honeycomb не представила его». Android всегда поддерживал функцию периферийного устройства USB.
Дэн Халм
Нет, для этого требовалось собственное ядро ​​- и это была сомнительная поддержка в зависимости от набора микросхем.
Именно
1
@ Дэн Халм: Я не думаю, что это другой вопрос, в любом случае, спасибо.
Омне