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).
Схема подключения идентификационного контакта определяет первоначальную роль каждого устройства. [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 и встроенного хоста к спецификации USB 2.0 представило три новых протокола связи :
Дополнение USB OTG и встроенного хоста к спецификации USB 3.0 представляет дополнительный протокол связи:
USB OTG определяет две роли для устройств: OTG A-устройство и OTG B-устройство, определяя, какая сторона подает питание на канал, а какая изначально является хостом. Устройство OTG A является поставщиком энергии, а устройство OTG B — потребителем энергии. В конфигурации соединения по умолчанию устройство A действует как USB-хост , а устройство B выступает в качестве периферийного устройства USB. Режимы хоста и периферийного устройства могут быть заменены позднее с помощью HNP или RSP. Поскольку каждый контроллер OTG поддерживает обе роли, их часто называют контроллерами «двойной роли», а не «контроллерами 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-устройством (см. выше). Тип вставленной вилки определяется по состоянию идентификационного контакта (идентификационный контакт вилки mini-A заземлен, а контакт вилки mini-B является плавающим).
Также существуют розетки чистого mini-A, которые используются там, где необходим компактный хост-порт, но OTG не поддерживается.
С появлением микровилки USB была также представлена новая розетка под названием micro-AB. Он может принимать вилку micro-A или micro-B. Адаптеры Micro-A позволяют подключаться к вилкам стандарта A, которые используются на стационарных или стандартных устройствах. Продукт OTG должен иметь одну розетку micro-AB и не иметь других розеток USB. [5] [6]
Кабель OTG имеет вилку micro-A на одном конце и вилку micro-B на другом конце (не может быть двух вилок одного типа). OTG добавляет к стандартному разъему USB пятый контакт, называемый ID-контактом; вилка micro-A имеет заземленный идентификационный штырь, а вилка micro-B является плавающей. Устройство со вставленным штекером micro-A становится OTG-устройством A, а устройство со вставленным штекером micro-B становится B-устройством. Тип вставленной вилки определяется по состоянию идентификатора контакта.
Три дополнительных состояния контакта ID определены [5] при номинальных значениях сопротивления 124 кОм , 68 кОм и 36,5 кОм по отношению к выводу заземления. Это позволяет устройству работать с USB-адаптерами для зарядных устройств , которые позволяют одновременно подключать устройство OTG как к зарядному устройству, так и к другому устройству. [7]
Эти три состояния используются в случаях:
USB 3.0 представил обратно совместимое расширение SuperSpeed для розетки micro-AB и вилок micro-A и micro-B. Они содержат все контакты микроразъемов, отличных от Superspeed, и используют идентификационный контакт для определения ролей устройства 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 ). [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-хост», устройство должно поддерживать внешние 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.
Между версиями дополнения OTG 1.3 и 2.0 были обнаружены некоторые несовместимости как в HNP, так и в SRP, что может привести к проблемам совместимости при использовании этих версий протокола.
Некоторые устройства могут использовать порты USB для зарядки встроенных аккумуляторов, в то время как другие устройства могут обнаруживать специальное зарядное устройство и потреблять ток более 500 мА (0,5 А), что позволяет им заряжаться быстрее. Устройствам OTG разрешено использовать любой вариант. [7]
Относится к двум приложениям: для проверки совместимости OTG, а также для преодоления (рутирования) и включения OTG.