USB On-The-Go (USB OTG или просто OTG ) - это спецификация, впервые использованная в конце 2001 года, которая позволяет использовать USB-устройства, такие как планшеты или смартфоны, выступать в качестве хоста, позволяя другим устройствам USB, таким как USB-накопители, цифровые камеры, мыши или клавиатуры, чтобы прикрепить к ним. Использование USB OTG позволяет этим устройствам переключаться между ролями хоста и устройства. Мобильный телефон может считывать данные со съемного носителя в качестве хост-устройства, но при подключении к хост-компьютеру представляет себя как запоминающее устройство USB.
USB OTG представляет концепцию устройства, выполняющего как ведущую, так и ведомую роли - всякий раз, когда подключаются два USB-устройства, и одно из них является устройством USB OTG, они устанавливают канал связи. Устройство, управляющее каналом, называется ведущим или хостом, а другое - ведомым или периферийным.
USB OTG определяет две роли для устройств: OTG A-устройство и OTG B-устройство, указывая, какая сторона подает питание на канал, а какая изначально является хостом. Устройство OTG A является поставщиком энергии, а устройство OTG B - потребителем энергии. В конфигурации связи по умолчанию A-устройство действует как хост USB, а B-устройство действует как периферийное устройство USB. Позже можно поменять режимы хоста и периферии, используя протокол согласования хоста (HNP).
Начальная роль каждого устройства определяется тем, какую мини-вилку пользователь вставляет в розетку.
Стандартный USB использует ведущее устройство / slave архитектура; хост действует как ведущее устройство для всей шины, а USB-устройство действует как ведомое. При реализации стандартного USB устройства должны принимать на себя ту или иную роль, при этом компьютеры обычно настраиваются как хосты, в то время как (например) принтеры обычно работают как подчиненные. В отсутствие USB OTG в сотовых телефонах часто реализовывалась функция ведомого устройства, позволяющая легко передавать данные на компьютеры и с них. Такие телефоны, как подчиненные, нельзя было легко подключить к принтерам, поскольку они также выполняли роль подчиненного устройства. USB OTG напрямую решает эту проблему.
Когда устройство подключено к шине USB, главное устройство или хост устанавливает связь с устройством и обрабатывает предоставление услуг (программное обеспечение хоста включает или выполняет необходимые данные - обработка, такая как управление файлами или другой желаемый вид передачи данных или функции). Это позволяет значительно упростить устройства по сравнению с хостом; например, мышь содержит очень мало логики и полагается на хост, который выполняет почти всю работу. Хост контролирует все передачи данных по шине, при этом устройства способны только сигнализировать (при опросе) о том, что они требуют внимания. Для передачи данных между двумя устройствами, например с телефона на принтер, хост сначала считывает данные с одного устройства, а затем записывает их на другое.
В то время как схема «главный-подчиненный» работает для некоторых устройств, многие устройства могут действовать как ведущие или как ведомые, в зависимости от того, что еще использует шину. Например, компьютерный принтер обычно является подчиненным устройством, но когда флеш-накопитель USB, содержащий изображения, подключен к USB-порту принтера без компьютера (или, по крайней мере, выключен), для принтера было бы полезно взять на себя роль хоста, позволяя ему напрямую связываться с флешкой и печатать с нее изображения.
USB OTG распознает, что устройство может выполнять как ведущую, так и ведомую роли, и поэтому тонко меняет терминологию. С OTG устройство может быть либо хостом, действуя в качестве ведущего устройства связи, либо «периферийным устройством», когда оно действует как ведомое устройство связи. Выбор между ролями хоста и периферийных устройств полностью зависит от того, к какому концу кабеля подключено устройство. Устройство, подключенное к концу «A» кабеля при запуске, известное как «A-устройство», действует как хост по умолчанию, а конец «B» действует как периферийное устройство по умолчанию, известное как «B- устройство ".
После первоначального запуска настройка шины выполняется так же, как и при использовании стандартного стандарта USB, при этом A-устройство настраивает B-устройство и управляет всеми коммуникациями. Однако, когда то же самое A-устройство подключается к другой USB-системе или становится доступен выделенный хост, оно может стать подчиненным.
USB OTG не исключает использования USB-концентратора, но описывает обмен ролями между хостом и периферией только в случае соединения «один-к-одному», когда два устройства OTG подключены напрямую. Смена ролей не работает через стандартный концентратор, так как одно устройство будет действовать как хост, а другое как периферийное, пока они не будут отключены.
USB OTG является частью дополнения к спецификации универсальной последовательной шины (USB) 2.0, первоначально согласованной в конце 2001 года и позже пересмотренной. Последняя версия дополнения также определяет поведение для Embedded Host, который имеет целевые возможности и тот же порт USB Standard-A, используемый ПК.
Устройства SuperSpeed OTG, встроенные хосты и периферийные устройства поддерживаются посредством USB OTG и дополнения для встроенного хоста к спецификации USB 3.0.
USB OTG и дополнение для встроенного хоста к спецификации 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 поддерживает обе роли, их часто называют контроллерами с двойной ролью, а не контроллерами OTG.
Для разработчиков интегральных схем (IC) привлекательной особенностью USB OTG является возможность реализовать больше возможностей USB с меньшим числом вентилей.
«Традиционный» подход включает четыре контроллера, что приводит к большему количеству шлюзов для тестирования и отладки:
Кроме того, большинство гаджетов должны быть либо хостом, либо устройством. Аппаратный дизайн OTG объединяет все контроллеры в один двухролевой контроллер, который несколько сложнее, чем отдельный контроллер устройства.
Целевой список периферийных устройств (TPL) производителя служит для ориентации хост-устройства на конкретные продукты или приложения, а не на его функционирование в качестве универсального хост, как и в случае с обычными ПК. TPL определяет продукты, поддерживаемые «нацеленным» хостом, определяя, что он должен поддерживать, включая выходную мощность, скорость передачи, поддерживаемые протоколы и классы устройств. Он применяется ко всем целевым хостам, включая как устройства OTG, действующие как хост, так и встроенные хосты.
Исходный стандарт USB OTG представил вилочную розетку, называемую мини- 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 плавающий).
Также существуют розетки Pure mini-A, используемые там, где требуется компактный хост-порт, но OTG не поддерживается.
С появлением микровыключателя USB была также представлена новая розетка под названием micro-AB. Он может принимать как штекер micro-A, так и штекер micro-B. Адаптеры Micro-A позволяют подключаться к стандартным разъемам A, используемым на фиксированных или стандартных устройствах. Продукт OTG должен иметь одну розетку micro-AB и никаких других розеток USB.
Кабель OTG имеет штекер micro-A на одном конце и штекер micro-B на другом конце (он не может иметь две заглушки одного типа). OTG добавляет к стандартному разъему USB пятый контакт, называемый ID-контактом; штекер micro-A имеет заземленный контакт ID, а штекер micro-B - плавающий. Устройство со вставленным разъемом micro-A становится устройством OTG A, а устройство со вставленным разъемом micro-B становится устройством B. Тип вставленной вилки определяется состоянием идентификатора контакта.
Три дополнительных состояния вывода ID определены при номинальных значениях сопротивления 124 кОм, 68 кОм и 36,5 кОм по отношению к выводу заземления. Это позволяет устройству работать с USB-адаптерами зарядного устройства для аксессуаров, что позволяет подключать устройство OTG как к зарядному устройству, так и к другому устройству одновременно.
Эти три состояния используются в случаях:
USB 3.0 представил обратно совместимое расширение SuperSpeed для разъема micro-AB и разъемов micro-A и micro-B. Они содержат все контакты микроразъемов без Superspeed и используют контакт ID для идентификации ролей 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 реализует режим хоста (как в телефоне BlackBerry Z30 ). Nokia реализовала USB OTG во многих своих мобильных телефонах Symbian, таких как Nokia N8, C6-01, C7, Oro, E6, E7, X7, 603, 700, 701 и 808 Pureview. Некоторые высокопроизводительные телефоны Android производства HTC и Sony серии Xperia также имеют его. Samsung Android версии 3.1 или новее поддерживает USB OTG, но не на всех устройствах.
Технические характеристики, перечисленные на технологических веб-сайтах (таких как GSMArena, PDAdb.net, PhoneScoop и др.), Могут помочь определить совместимость. Используя GSMArena в качестве примера, можно найти страницу для данного устройства и изучить многословие в разделе «Технические характеристики» → «Связь» → «USB». Если отображается «USB Host», устройство должно быть способно поддерживать внешние USB-аксессуары типа OTG.
Во многих из вышеперечисленных реализаций хост-устройство имеет только розетку micro-B, а не micro- Розетка AB. Хотя нестандартные переходники розеток micro-B на micro-A широко доступны и используются вместо требуемых розеток micro-AB на этих устройствах.
Устройства USB OTG являются обратно совместим с USB 2.0 (USB 3.0 для устройств SuperSpeed OTG) и будет вести себя как стандартные хосты USB или устройства при подключении к стандартным (не OTG) устройствам USB. Основное исключение состоит в том, что от хостов OTG требуется только для обеспечения достаточной мощности для продуктов, перечисленных в TPL, которой может быть или не хватить для подключения к периферийному устройству, которого нет в списке. USB-концентратор с питанием может обойти проблему, если он поддерживается, поскольку он будет обеспечивать собственное питание в соответствии со спецификациями USB 2.0 или USB 3.0.
Некоторые несовместимости в HNP и SRP были внесены между версиями 1.3 и 2.0 дополнения OTG, что может привести к проблемам взаимодействия при использовании этих версий протокола.
Некоторые устройства могут использовать свои USB-порты для зарядки встроенных аккумуляторов, в то время как другие устройства могут обнаруживать специальное зарядное устройство и потреблять более 500 мА (0,5 А), что позволяет им заряжать быстрее. Устройствам OTG разрешено использовать любой вариант.
Относится к двум приложениям, для проверки совместимости OTG и для преодоления (root) и включения OTG
.