USB On-The-Go ( USB OTG или просто OTG ) — это спецификация, впервые использованная в конце 2001 года, которая позволяет USB-устройствам, таким как планшеты или смартфоны , также выступать в качестве хоста, позволяя подключать к ним другие USB- устройства, такие как USB-флеш-накопители , цифровые камеры , мыши или клавиатуры . Использование USB OTG позволяет устройствам переключаться между ролями хоста и устройства. Например, смартфон может считывать данные со съемного носителя как хост-устройство, но представлять себя как USB Mass Storage Device при подключении к хост-компьютеру.
USB OTG представляет концепцию устройства, выполняющего как роль хоста, так и периферийного устройства — всякий раз, когда два USB-устройства подключены и одно из них является устройством USB OTG, они устанавливают канал связи . Устройство, контролирующее канал связи, называется хостом, а другое называется периферийным устройством.
USB OTG определяет две роли для устройств: OTG A-устройство и OTG B-устройство, указывая, какая сторона подает питание на соединение, а какая изначально является хостом. OTG A-устройство является поставщиком питания, а OTG B-устройство является потребителем питания. В конфигурации соединения по умолчанию A-устройство действует как USB-хост, а B-устройство действует как USB-периферия. Режимы хоста и периферии могут быть изменены позже с помощью протокола согласования хоста (HNP).
Проводка для идентификационного контакта определяет первоначальную роль каждого устройства. [1]
Стандартный USB использует архитектуру хост/устройство ; хост действует как хост-устройство для всей шины, а USB- устройство действует как периферийное устройство. При реализации стандартного USB устройства должны взять на себя одну или другую роль, при этом компьютеры обычно настраиваются как хосты, в то время как (например) принтеры обычно функционируют как периферийное устройство. При отсутствии USB OTG сотовые телефоны часто реализовывали периферийную функциональность, чтобы обеспечить легкую передачу данных на компьютеры и с них. Такие телефоны не могли быть легко подключены к принтерам, поскольку они также реализовывали роль периферийного устройства. USB OTG напрямую решает эту проблему. [1]
Когда устройство подключается к шине USB, хост-устройство устанавливает связь с устройством и управляет предоставлением услуг (программное обеспечение хоста включает или выполняет необходимую обработку данных, такую как управление файлами или другой желаемый вид передачи данных или функции). Это позволяет значительно упростить устройства по сравнению с хостом; например, мышь содержит очень мало логики и полагается на хост для выполнения почти всей работы. Хост управляет всеми передачами данных по шине, а устройства способны только сигнализировать (при опросе), что они требуют внимания. Для передачи данных между двумя устройствами, например, с телефона на принтер, хост сначала считывает данные с одного устройства, а затем записывает их на другое. [ необходима цитата ]
Хотя схема хост-устройство работает для некоторых устройств, многие устройства могут действовать либо как хост, либо как устройство в зависимости от того, что еще разделяет шину. Например, компьютерный принтер обычно является устройством, но когда USB-флеш-накопитель с изображениями подключается к USB-порту принтера без компьютера (или, по крайней мере, выключен), было бы полезно, чтобы принтер взял на себя роль хоста, что позволит ему напрямую взаимодействовать с флэш-накопителем и печатать изображения с него. [ необходима цитата ]
USB OTG распознает, что устройство может выполнять как роль хоста, так и роль периферийного устройства, и поэтому тонко меняет терминологию. С OTG устройство может быть либо хостом, выступая в качестве хоста связи, либо периферийным устройством связи. Выбор между ролями хоста и периферийного устройства полностью определяется тем, к какому концу кабеля подключено устройство. Устройство, подключенное к концу кабеля «A» при запуске, известное как «устройство A», действует как хост по умолчанию, в то время как конец «B» действует как периферийное устройство по умолчанию, известное как «устройство B». [ необходима цитата ]
После первоначального запуска настройка шины работает так же, как и в случае с обычным стандартом USB, при этом устройство A настраивает устройство B и управляет всеми коммуникациями. Однако, когда то же устройство A подключается к другой системе USB или становится доступным выделенный хост, оно может стать устройством. [ необходима цитата ]
USB OTG не исключает использование USB-концентратора , но описывает обмен ролями хост-периферия только для случая соединения один к одному, когда два устройства OTG напрямую подключены. Обмен ролями не работает через стандартный концентратор, так как одно устройство будет действовать как хост, а другое как периферия, пока они не будут отключены. [ необходима цитата ]
USB OTG является частью дополнения [2] к спецификации универсальной последовательной шины (USB) 2.0, первоначально согласованной в конце 2001 года и позднее пересмотренной. [3] Последняя версия дополнения также определяет поведение встроенного хоста , имеющего целевые возможности и тот же порт USB Standard-A, который используется ПК. [ необходима ссылка ]
Устройства SuperSpeed OTG, встроенные хосты и периферийные устройства поддерживаются посредством дополнения USB OTG и встроенного хоста [4] к спецификации USB 3.0. [ необходима ссылка ]
Дополнение USB OTG и Embedded Host к спецификации USB 2.0 представило три новых протокола связи :
Дополнение USB OTG и Embedded Host к спецификации USB 3.0 вводит дополнительный протокол связи:
USB OTG определяет две роли для устройств: OTG A-устройство и OTG B-устройство, указывая, какая сторона подает питание на соединение, а какая изначально является хостом. OTG A-устройство является поставщиком питания, а OTG B-устройство является потребителем питания. В конфигурации соединения по умолчанию A-устройство действует как USB-хост , а B-устройство действует как USB-периферия. Режимы хоста и периферии могут быть позже изменены с помощью HNP или RSP. Поскольку каждый контроллер OTG поддерживает обе роли, их часто называют контроллерами «Dual-Role», а не «OTG-контроллерами».
Для разработчиков интегральных схем (ИС) привлекательной особенностью USB OTG является возможность достижения большего количества возможностей USB при меньшем количестве вентилей.
«Традиционный» подход включает четыре контроллера, что приводит к большему количеству вентилей для тестирования и отладки:
Кроме того, большинство гаджетов должны быть либо хостом, либо устройством. Аппаратная конструкция OTG объединяет все контроллеры в один контроллер с двойной ролью, который несколько сложнее, чем контроллер отдельного устройства.
Список целевых периферийных устройств (TPL) производителя служит для фокусировки хост-устройства на конкретных продуктах или приложениях, а не на его функционировании в качестве хоста общего назначения, как в случае с типичными ПК. TPL определяет продукты, поддерживаемые «целевым» хостом, определяя, что ему необходимо поддерживать, включая выходную мощность, скорость передачи данных, поддерживаемые протоколы и классы устройств. Он применяется ко всем целевым хостам, включая как устройства OTG, действующие в качестве хоста, так и встроенные хосты.
Первоначальный стандарт USB OTG представил штекерную розетку, называемую mini-AB, которая была заменена на micro-AB в более поздних версиях (версия 1.4 и далее). Он может принимать как штекер mini-A, так и штекер mini-B, в то время как адаптеры mini-A позволяют подключаться к USB-кабелям стандарта A, идущим от периферийных устройств. Стандартный кабель OTG имеет штекер mini-A на одном конце и штекер mini-B на другом конце (он не может иметь два штекера одного типа).
Устройство со вставленным штекером mini-A становится устройством OTG A, а устройство со вставленным штекером mini-B становится устройством B (см. выше). Тип вставленного штекера определяется состоянием контакта ID (контакт ID штекера mini-A заземлен, а штекера mini-B плавающий).
Существуют также чистые разъемы mini-A, используемые там, где необходим компактный хост-порт, но OTG не поддерживается.
С появлением USB micro plug также был представлен новый разъем для подключения, называемый micro-AB. Он может принимать как разъем micro-A, так и разъем micro-B. Адаптеры micro-A позволяют подключаться к разъемам standard-A, используемым на стационарных или стандартных устройствах. Продукт OTG должен иметь один разъем micro-AB и никаких других разъемов USB. [5] [6]
Кабель OTG имеет разъем micro-A на одном конце и разъем micro-B на другом конце (он не может иметь два разъема одного типа). OTG добавляет пятый контакт к стандартному разъему USB, называемый ID-контактом; разъем micro-A имеет заземленный контакт ID, в то время как ID в разъеме micro-B плавающий. Устройство со вставленным разъемом micro-A становится устройством OTG A, а устройство со вставленным разъемом micro-B становится устройством B. Тип вставленного разъема определяется по состоянию контакта ID.
Три дополнительных состояния контакта ID определены [5] при номинальных значениях сопротивления 124 кОм , 68 кОм и 36,5 кОм относительно контакта заземления. Они позволяют устройству работать с адаптерами USB-зарядного устройства , что позволяет подключать устройство OTG как к зарядному устройству, так и к другому устройству одновременно. [7]
Эти три состояния используются в случаях:
USB 3.0 представил обратно совместимое расширение SuperSpeed для гнезда micro-AB и штекеров micro-A и micro-B. Они содержат все контакты не-Superspeed micro-разъемов и используют идентификационный контакт для идентификации ролей A-устройства и B-устройства, а также добавляют контакты SuperSpeed.
Когда устройство с поддержкой OTG подключается к ПК, оно использует собственный кабель USB-A или USB Type-C (обычно заканчивающийся разъемами micro-B, USB-C или Lightning для современных устройств). Когда устройство с поддержкой OTG подключается к устройству USB, например флэш-накопителю, устройство должно либо заканчиваться соответствующим разъемом для устройства, либо пользователь должен предоставить соответствующий адаптер, заканчивающийся на USB-A. Адаптер позволяет подключать любое стандартное периферийное устройство USB к устройству OTG. Для одновременного подключения двух устройств с поддержкой OTG требуется либо адаптер в сочетании с кабелем USB-A устройства, либо соответствующий двусторонний кабель и программная реализация для управления им. Это становится обычным явлением с устройствами USB Type-C.
BlackBerry 10 .2 реализует Host Mode (как в телефоне BlackBerry Z30 ). [8] Nokia реализовала USB OTG во многих своих сотовых телефонах Symbian, таких как Nokia N8, C6-01, C7, Oro, E6, E7, X7, 603, 700, 701 и 808 Pureview. Некоторые высококлассные телефоны Android, производимые HTC и Sony в серии Xperia , также имеют его. [9] Samsung [10] [11] Android версии 3.1 или более поздней версии поддерживает USB OTG, но не на всех устройствах. [12] [13]
Спецификации, перечисленные на технологических веб-сайтах (таких как GSMArena, PDAdb.net, PhoneScoop и других), могут помочь определить совместимость. Используя GSMArena в качестве примера, можно найти страницу для данного устройства и изучить формулировки в разделе Характеристики → Связь → USB . Если отображается «USB Host», устройство должно поддерживать внешние USB-аксессуары типа OTG. [14] [15]
Во многих из вышеперечисленных реализаций хост-устройство имеет только розетку micro-B вместо розетки micro-AB. Хотя это и нестандартно, адаптеры micro-B на micro-A широко доступны и используются вместо обязательной розетки micro-AB на этих устройствах. [16]
Устройства USB OTG обратно совместимы с USB 2.0 (USB 3.0 для устройств SuperSpeed OTG) и будут вести себя как стандартные хосты или устройства USB при подключении к стандартным (не OTG) USB-устройствам. Главное исключение заключается в том, что хосты OTG должны обеспечивать достаточное питание только для продуктов, перечисленных в TPL, чего может быть или не быть достаточно для подключения к периферийному устройству, не указанному в списке. Активный USB-концентратор может обойти эту проблему, если поддерживается, поскольку тогда он будет обеспечивать собственное питание в соответствии со спецификациями USB 2.0 или USB 3.0.
Между версиями 1.3 и 2.0 дополнения OTG были выявлены некоторые несовместимости как в HNP, так и в SRP, что может привести к проблемам взаимодействия при использовании этих версий протокола.
Некоторые устройства могут использовать свои USB-порты для зарядки встроенных аккумуляторов, в то время как другие устройства могут обнаружить специальное зарядное устройство и потреблять более 500 мА (0,5 А), что позволяет им заряжаться быстрее. Устройствам OTG разрешено использовать любой из вариантов. [7]
Относится к двум приложениям: для проверки совместимости с OTG и для преодоления (root) и включения OTG