USB On-The-Go (USB на ходу), USB OTG или OTG — это спецификация интерфейса USB, которая позволяет USB-устройству, такому как планшет или смартфон, быть как хостом USB, так и периферией. Например, мобильный телефон может считывать данные со съёмного носителя в качестве хоста, но при подключении к хост-компьютеру представлять себя как периферию (запоминающее устройство USB). Или фотоаппарат может быть хостом, когда печатает фотографии на принтере, и периферией — когда подключен к компьютеру. Обычно в режиме хоста можно подключать USB-периферию со стандартными драйверами — USB-флеш-накопитель, цифровую камеру, мышь или клавиатуру (несколько устройств можно подключить через хаб USB).
USB OTG определяет две роли для устройства: устройство OTG A и устройство OTG B. Устройство OTG A является источником питания для шины USB, а устройство OTG B — потребителем энергии. В конфигурации по умолчанию устройство OTG A действует как хост USB, а устройство OTG B работает в роли периферийного устройства USB. Переключение между режимом хоста и режимом периферийного устройства может быть выполнено позднее с использованием протокола согласования хоста HNP (англ. Host Negotiation Protocol).
Первоначальная роль каждого устройства USB определяется тем, какой штекер пользователь вставляет в свою розетку[1].
Первое устройство с OTG выпущено в конце 2001 года.
Описание
правитьСтандартный USB использует архитектуру хост-устройство. Хост действует как контроллер для всей шины, а (периферийное) устройство действует как подчинённое ведомое им устройство. В стандартной реализации USB устройства должны выполнять ту или иную роль, при этом компьютеры обычно работают как хосты, в то время как (например) принтеры обычно функционируют как периферийные устройства. В отсутствие USB OTG в сотовых телефонах обычно реализована функция только периферийного устройства, что позволяет передавать данные с телефона на компьютер и наоборот. Такие (старые) телефоны, идентифицирующие себя как периферийные устройства USB, не могут быть легко подключены к принтерам, поскольку принтеры также выполняют роль периферийных устройств. USB OTG решает такую проблему.
Сразу после подключения периферийного устройства к шине USB ведущее устройство (хост) устанавливает связь с новым устройством и выполняет его конфигурирование (программное обеспечение хоста подготавливает или выполняет необходимую обработку данных для управления файлами или другой требуемый тип передачи данных или функции обмена данными с устройством). Это позволяет сделать периферийные устройства очень простыми по сравнению с хостом, например, мышь содержит очень мало управляющей логики и перекладывает на хост выполнение почти всей работы по обработке входных данных. Хост управляет передачей всех данных по шине USB, причем периферийные устройства сами могут только сигнализировать ему при опросе, что они требуют внимания хоста. В отсутствие USB OTG, чтобы распечатать хранящийся на телефоне документ, его надо считать на компьютере-хосте, а затем отправить на принтер.
Поддерживающее USB OTG устройство может выполнять роли хоста и устройства в зависимости от настройки. При использовании OTG устройство может быть либо хостом при работе в качестве ведущего устройства, либо периферийным устройством при работе в качестве ведомого. Выбор между ролями хоста и периферии полностью зависит от того, к какому концу кабеля подключено устройство. Устройство, подключенное к разъёму OTG-кабеля «A», или «A-device», действует как хост по умолчанию, в то время как подключенное к разъёму «B» действует как периферийное устройство по умолчанию, или «B-device».
После начальной настройки шина работает так же, как и в обычном USB, устройство A (A-device) настраивает устройство B (B-device) и управляет всеми коммуникациями. Однако, когда то же самое устройство A подключено к другой системе USB-устройств или напрямую к хосту USB, оно может стать ведомым.
Спецификация
правитьUSB OTG является частью приложения к спецификации USB 2.0, первоначально согласованного в конце 2001 года и впоследствии пересмотренного. Последняя версия этого приложения также определяет поведение для встроенного хоста, который имеет целевые способности и тот же стандартный порт USB A, используемый в персональных компьютерах[2].
В приложении USB OTG и Embedded Host Supplement к спецификации USB 3.0 описана поддержка устройств SuperSpeed OTG, встроенных хостов и периферийных устройств[3].
Протоколы
правитьЭтот раздел статьи ещё не написан. |
Роли устройств
правитьЭтот раздел статьи ещё не написан. |
Разъёмы
правитьЭтот раздел статьи ещё не написан. |
Кабели
правитьЭтот раздел статьи ещё не написан. |
Обратная совместимость
правитьЭтот раздел статьи ещё не написан. |
Примечания
править- ↑ Koeman, K. Understanding USB On-The-Go : [англ.] : [арх. 1 апреля 2021] / Cypress Semiconductor // EDN. — Aspencore, 2001. — 22 November.
- ↑ USB On-The-Go and Embedded Host (англ.). Universal Serial Bus (14 июля 2011). Дата обращения: 15 августа 2021. Архивировано из оригинала 5 мая 2012 года.
- ↑ OTG&EH3.0, 2012, p. 13–14.
Литература
править- On-The-Go and Embedded Host Supplement to the USB 2.0 Specification : [англ.] : [арх. 16 сентября 2014] / USB Implementers Forum, Inc.. — Rev. 1.3. — 2006. — 5 December. — viii+45 p.
- On-The-Go and Embedded Host Supplement to the USB Revision 3.0 Specification : [англ.] : [арх. 11 ноября 2020] / Texas Instruments, Hewlett-Packard Company, Intel Corporation, Microsoft Corporation, Renesas Corporation, ST-Ericsson. — Rev. 1.1. — 2012. — 10 May. — 74 p.
Ссылки
править- USB on the Go and Embedded Host : [арх. 21.01.2021] : [англ.] // USB. — USB Implementers Forum, Inc..