Так вот, во-первых, это тип разъёма, а не новый стандарт. Стандарт называется USB 3.1. Во-вторых, говорить нужно именно о новом стандарте USB, а Type-C лишь приятный бонус. Чтобы понять, в чём разница, что скрывается за USB 3.1, а что — за Type C, как заряжать от USB-кабеля целый ноутбук и что ещё можно сделать с новыми USB Type-C:
- Коротко о главном
- USB 3. 1, Type-C и питание
- USB Type-C и обратная совместимость
- Что сейчас есть на USB Type-C
- Характеристики кабеля и разъема USB Type-C
- Характеристики партнеров альтернативного режима
- Использование контактов разъема USB-C в различных режимах
- Подача питания через USB
- Проблемы с питанием кабелей
- Совместимость с другими технологиями быстрой зарядки
- Кабели и разъёмы USB
- Кабели и разъёмы USB 3. 0 и их совместимость с USB 2
- Расположение выводов соединителей USB 3. 0 Powered-B
- Оптические кабели USB 3
- Принципы обмена данными
- Control, Interrupt, Bulk, Isochronous
- Отладка и сертификация
- Стандартные классы устройств
- USB Battery Charging
- USB PD 2
- USB PD 3
- Qualcomm Quick Charge
Коротко о главном
USB как стандарт появился почти двадцать лет назад. Первые спецификации на USB 1.0 появились в 1994 году и решали три ключевых проблемы: унификацию разъёма, по которому подключалось расширяющее функции ПК оборудования, простоту для пользователя, высокую скорость передачи данных на устройство и с него.
Не смотря на определённые преимущества USB-подключения перед PS/2, COM и LPT-портами, популярность пришла к нему не сразу. Взрывной рост USB испытал в начале двухтысячных: сначала к нему подключались камеры, сканеры и принтеры, затем флеш-накопители.
В 2001 году появились первые коммерческие реализации того USB, который нам привычен и понятен: версии 2.0. Им мы пользуемся вот уже 14-й год и устроен он сравнительно просто.
Любой кабель USB версии 2.0 и ниже имеет внутри 4 медных проводника. По двум из них передаётся питание, по двум другим — данные. Кабели USB (по стандарту) строго ориентированы: один из концов должен подключаться к хосту (то есть системе, которая будет управлять соединением) и называется он Type-A, другой — к устройству, он называется Type-B. Разумеется, иногда в устройствах (таких, как флешки) кабеля нет вообще, разъём типа «к хосту» располагается прямо на плате.
На стороне хоста существует специальный чип: контроллер USB (в настольных компьютерах он может быть как частью системной логики, так и вынесен в качестве внешней микросхемы). Именно он инициализирует работу шины, определяет скорость подключения, порядок и расписание движения пакетов данных, но это всё детали. Нас больше всего интересуют разъёмы и коннекторы классического USB-формата.
Самый популярный разъём, которым все пользовались — USB Type-A классического размера: он расположен на флешках, USB-модемах, на концах проводов мышей и клавиатур. Чуть реже встречаются полноразмерные USB Type-B: обычно таким кабелем подключаются принтеры и сканеры. Мини-версия USB Type-B до сих пор часто используется в кардридерах, цифровых камерах, USB-хабах. Микро-версия Type-B стараниями европейских стандартизаторов стала де-факто самым популярным разъёмом в мире: все актуальные мобильники, смартфоны и планшеты (кроме продукции одной фруктовой компании) выпускаются именно с разъёмом USB Type-B Micro.
Ну а USB Type-A микро и миниформата наверное никто толком и не видел. Лично я навскидку не назову ни одного устройства с такими разъёмами. Даже фотографии пришлось из википедии доставать:
Все эти разъёмы объединяет одна простая вещь: внутри находится четыре контактных площадки, которые обеспечивают подключаемое устройство и питанием, и связью:
С USB 2.0 всё более-менее понятно. Проблема стандарта заключалась в том, что двух проводников для передачи данных мало, да и разработанные в середине первого десятилетия спецификации не предусматривали передачу больших токов по цепям питания. Сильнее всего от подобных ограничений страдали внешние жёсткие диски.
Для улучшения характеристик стандарта была разработана новая спецификация USB 3.0, которая содержала следующие ключевые отличия:
Кроме того, появилось ещё 4 разъёма, электрически и механически совместимые с USB Type-A версии 2.0. Они позволяли как подключать USB 2.0-устройства к 3.0-хостам, так и 3.0-устройства к 2.0-хостам или по 2.0-кабелю, но с ограничением по питанию и скорости передачи данных.
С осени 2013 года приняты спецификации на обновлённый стандарт USB 3.1, который и принёс нам разъём Type-C, передачу до 100 Вт питания и удвоение скорости передачи данных по сравнению с USB 3.0. Однако стоит отметить, что все три новшества — это лишь части одного нового стандарта, которые могут быть как применены все вместе (и тогда девайс или кабель получит сертификацию USB 3.1), либо по отдельности. Например, технически внутри Type-C кабеля можно организовать хоть USB 2.0 на четырёх проводах и двух парах контактов. К слову, такой «финт» провернула компания Nokia: её планшет Nokia N1 имеет разъём USB Type-C, но внутри используется обычный USB 2.0: со всеми ограничениями по питанию и скорости передачи данных.
USB 3. 1, Type-C и питание
За возможности по передаче действительно серьёзных мощностей отвечает новый стандарт USB PD (Power Delivery). Согласно спецификациям, для сертификации USB PD устройство и кабель должны обеспечивать передачу тока с мощностью до 100 Ватт, причём в обе стороны (как к хосту, так и от него). При этом передача электроэнергии не должна мешать передаче данных.
USB Type-C и обратная совместимость
USB как стандарт силён своей обратной совместимостью. Найдите древнюю флешку на 16 мегабайт, поддерживающую только USB 1.1, вставьте её в порт 3.0 и работайте. Подключите современный HDD в разъём USB 2.0, и если ему хватит питания — всё заведётся, просто скорость будет ограничена. А если не хватит — существуют специальные переходники: они используют цепи питания ещё одного порта USB. Скорость не увеличится, но HDD будет работать.
Что сейчас есть на USB Type-C
Так как технология молодая, на USB 3.1 девайсов совсем немного. Устройств же с кабелем / разъёмом USB Type-C немногим больше, но всё равно недостаточно, чтобы Type-C стал таким же распространённым и естественным, как Micro-B, который есть у любого пользователя смартфона.
На персональных компьютерах Type-C ждать можно уже в 2016, но некоторые производители взяли и обновили линейку имеющихся материнских плат. Например, USB Type-C с полной поддержкой USB 3.1 есть на материнской плате MSI Z97A Gaming 6.
Кроме Apple заигрывают с USB 3.1 Type-C и в компании Google: новый ChromeBook Pixel помимо интересных характеристик получил и соответствующий порт.
Ну и, разумеется, не стоит забывать про девайс от компании Nokia. Их планшет N1 получил разъём Type-C одним из первых, правда, без поддержки функций USB 3.1.
USB 3.1 наконец-то станет «королём» разъёмов. По нему можно подключить практически что угодно: внешний диск, дисплей, периферию, адаптер питания и даже массив из SSD-дисков. Пропускная способность и 100 Вт передаваемой мощности — серьёзная заявка на успех.
Характеристики кабеля и разъема USB Type-C
Розетка имеет четыре контакта питания и четыре контакта заземления, две дифференциальные пары (соединенные вместе на устройствах) для устаревших высокоскоростных данных USB 2.0, четыре экранированные дифференциальные пары для данных Enhanced SuperSpeed (две пары передачи и две пары приема), две пары Контакты использования боковой полосы (SBU) и два контакта канала конфигурации (CC).
Вилка имеет только одну высокоскоростную дифференциальную пару USB 2.0, а один из контактов CC (CC2) заменен на VCONN для питания дополнительной электроники в кабеле, а другой используется для передачи канала конфигурации. (CC) сигналы. Эти сигналы используются для определения ориентации кабеля, а также для передачи данных USB Power Delivery.
Характеристики партнеров альтернативного режима
Хосты и приемники альтернативного режима можно подключать либо с помощью обычных полнофункциональных кабелей Type-C, либо с помощью преобразовательных кабелей или адаптеров:
Активные кабели/адаптеры содержат микросхемы с питанием для усиления/выравнивания сигнала для кабелей увеличенной длины или для выполнения активного преобразования протокола. Адаптеры для альтернативных режимов видео могут обеспечивать преобразование собственного видеопотока в другие стандарты видеоинтерфейса (например, DisplayPort, HDMI, VGA или DVI).
Использование контактов разъема USB-C в различных режимах
На рисунках ниже показаны контакты разъема USB-C в различных вариантах использования.
Простое устройство USB 2.0/1.1 подключается с помощью одной пары контактов D+/D−. Следовательно, источнику (хосту) не требуется какая-либо схема управления соединением, но у него нет того же физического разъема, поэтому USB-C не имеет обратной совместимости. V BUS и GND обеспечивают ток от 5 В до 500 мА.
Это означает, что многие кабели USB-A–USB-C будут работать только в направлении от A до C (подключение к устройствам USB-C, например, для зарядки), поскольку в их комплект не входят согласующие резисторы, необходимые для работы. в направлении C к A (от хоста USB-C). Адаптеры или кабели от USB-C к розетке USB-A обычно работают, поскольку они включают в себя необходимый согласующий резистор.
Подача питания через USB
USB Power Delivery использует один из контактов CC1, CC2 для согласования мощности между устройством-источником и устройством-приемником до 20 В при токе 5 А. Он прозрачен для любого режима передачи данных и поэтому может использоваться вместе с любым из их, пока контакты CC целы.
В режиме USB 3.0/3.1/3.2 два или четыре высокоскоростных канала используются в парах TX/RX для обеспечения пропускной способности от 5 до 10 или от 10 до 20 Гбит/с соответственно. Один из выводов CC используется для согласования режима.
В однополосном режиме для передачи данных используются только дифференциальные пары, ближайшие к выводу CC. Для двухполосной передачи данных используются все четыре дифференциальные пары.
Канал D+/D- для USB 2.0/1.1 обычно не используется, когда активно соединение USB 3.x, но такие устройства, как концентраторы, одновременно открывают восходящие каналы 2.0 и 3.x, чтобы обеспечить работу подключенных устройств обоих типов. к этому. Другие устройства могут иметь резервный режим 2.0 на случай сбоя соединения 3.x.
Система тестирования внешнего устройства (DTS) подает сигнал целевой системе (TS) о входе в режим отладки аксессуара через CC1 и CC2, которые оба притягиваются вниз с помощью значения резистора Rd или поднимаются как значение резистора Rp от тестового штекера ( Rp и Rd определены в спецификации Type-C).
После входа в режим отладки дополнительного устройства дополнительное определение ориентации через CC1 и CC2 выполняется путем настройки CC1 как подтягивания сопротивления Rd, а CC2 притягивается к земле через сопротивление Ra (от вилки типа C испытательной системы). Хотя это необязательно, определение ориентации требуется, чтобы связь USB Power Delivery оставалась работоспособной.
Если требуется двусторонний кабель Type-C, но нет поддержки подачи питания, тестовый разъем необходимо расположить, как показано ниже, при этом CC1 и CC2 должны быть подтянуты вниз с помощью резистора Rd или подняты как резистор Rp. значение от тестового штекера:
Такое зеркальное отображение тестовых сигналов обеспечит только 7 тестовых сигналов для использования при отладке вместо 14, но с преимуществом минимизации количества дополнительных деталей для определения ориентации.
Этот режим также позволяет одновременную зарядку устройства, имеющего доступ к аналоговому аудиоинтерфейсу (через VBUS и GND), однако только при 5 В и 500 мА, поскольку контакты CC недоступны для какого-либо согласования.
Обнаружение вставки вилки осуществляется с помощью физического переключателя обнаружения вилки TRRS. При вставке вилки это приведет к отключению CC и VCONN в вилке (CC1 и CC2 в розетке). Это сопротивление должно быть менее 800 Ом, что является минимальным сопротивлением Ra, указанным в спецификации USB Type-C). По сути, это прямое подключение к цифровой земле USB.
Samsung Galaxy S8, подключенный к док-станции DeX: на мониторе отображаются приложения PowerPoint и Word для Android.
Проблемы с питанием кабелей
На устройствах, в которых отсутствует аудиоразъем 3,5 мм, порт USB-C можно использовать для подключения проводных аксессуаров, например наушников.
При использовании активного комплекта наушников или адаптера USB-C цифровой звук передается через порт USB-C. Преобразование с помощью ЦАП и усилителя осуществляется внутри наушников или адаптера, а не на телефоне. Качество звука зависит от ЦАП наушников/адаптера. Активные адаптеры со встроенным ЦАП практически универсально поддерживают устройства, выводящие цифровой и аналоговый звук, в соответствии со спецификациями класса аудиоустройств 3.0 и режима аксессуаров аудиоадаптеров.
С другой стороны, когда используется пассивный комплект наушников или адаптера USB-C, аналоговый звук передается через порт USB-C. Преобразование с помощью ЦАП и усилителя осуществляется на телефоне; наушники или адаптер просто пропускают сигнал. Качество звука зависит от встроенного ЦАП телефона. Пассивные адаптеры без встроенного ЦАП совместимы только с устройствами, выводящими аналоговый звук, в соответствии со спецификацией режима аксессуаров аудиоадаптеров.
Совместимость с другими технологиями быстрой зарядки
Викискладе есть медиафайлы, связанные с .
USB (. Universal Serial Bus — «универсальная последовательная шина») — последовательный интерфейс для подключения периферийных устройств к вычислительной технике. Получил широчайшее распространение и стал основным интерфейсом подключения периферии к бытовой цифровой технике.
Интерфейс Позволяет не только передавать данные, но и обеспечивать электропитание периферийного устройства. Сетевая сеть позволяет подключать большое количество периферии даже к устройству с одним разъёмом USB.
Разработка спецификаций USB производится в рамках международной некоммерческой организации USB Implementers Forum (USB-IF), объединяющей разработчиков и производителей оборудования с шиной USB. В процессе разработки было разработано несколько спецификаций. Тем не менее разработчикам удалось сохранить высокую степень совместимости устройств разных стран. Спецификации интерфейса соответствуют беспрецедентно широкому кругу вопросов подключения и подключения периферийных устройств с вычислительной системой:
Hewlett-Packard, Intel, Lucent (ныне Alcatel-Lucent), Microsoft, NEC и Philips совместно объединились с инициативой по разработке более скоростной версии USB. Спецификации USB 2.0 были опубликованы в конце 2000 года, а в конце 2001 года эта версия была стандартизирована на Форуме разработчиков USB. U SB 2.0 обратно совместим со всеми современными версиями USB.
В начале 2000-х годов корпорация Apple отдала приоритет шине FireWire, в разработке которой она принимала активное участие. Ранние модели iPod были оснащены только интерфейсом FireWire и USB-портом. Британская компания отказалась от FireWire в использовании USB, оставив в некоторых моделях FireWire только для подзарядки. Однако часть выпускавшихся клавиатур и мышей, начиная со второй половины 1990-х годов, имели интерфейс USB.
На момент распространения USB-портов второй версии, производители внешних жёстких дисков уже «уперлись» в ограничение USB 2.0 — и по току, и по скорости. Потребовался новый стандарт, который был выпущен в 2008 году. Уложиться в старые четыре жилых дома не удалось, поэтому было добавлено пять новых. Первые материнские платы с поддержкой USB 3.0 появились в 2010 году. К 2013 году USB 3.0 стал массовым. В наличии есть расширения, добавляющие поддержку USB 3.0 на старых компьютерах.
Уже в первые годы обнаружился серьёзный конструктивный недостаток разъёма USB-A: он асимметричен, но не показывает, какой стороной его подключать. Кроме того, в мобильных телефонах стали расширять функциональность USB, чтобы подключать нетрадиционные устройства: Motorola RAZR V3 подключала через Mini-B гарнитуру, в смартфонах Samsung между пятью штырями Micro-B добавили шесть новых. Обе эти проблемы решил симметричный разъём USB-C, появившийся в 2014 году. Одни провода продублированы на обеих сторонах, о назначении других контроллеры «договариваются» при подключении. В дополнение USB-C имеет несколько резервных проводов, чтобы передавать, например, аналоговый звук или HDMI-видео.
Кабель USB (до 2.0 включительно) состоит из четырёх медных проводников: двух проводников питания и двух проводников данных в витой паре. Проводники заключены в заземлённую оплётку (экран).
Кабели USB ориентированы, то есть имеют физически разные наконечники «к устройству» (Тип B) и «к хосту» (Тип A). Возможна реализация USB-устройства без кабеля со встроенным в корпус наконечником «к хосту». Возможно и неразъёмное встраивание кабеля в устройство, как в мышь (стандарт запрещает это для устройств full и high speed, но производители его нарушают). Существуют, хотя и запрещены стандартом, и пассивные USB-удлинители, имеющие разъёмы «от хоста» и «к хосту».
Устройства могут быть запитаны от шины, но могут и требовать внешнего источника питания. По умолчанию устройствам гарантируется ток до 100 мА, а после согласования с хост-контроллером — до 500 мА. Поддерживается и дежурный режим для устройств и концентраторов по команде с шины со снятием основного питания при сохранении дежурного питания и включением по команде с шины.
USB поддерживает «горячее» подключение и отключение устройств. Это достигнуто увеличенной длиной заземляющего контакта разъёма по отношению к сигнальным. При подключении разъёма USB первыми замыкаются заземляющие контакты, потенциалы корпусов двух устройств становятся равны и дальнейшее соединение сигнальных проводников не приводит к перенапряжениям.
На логическом уровне устройство USB поддерживает транзакции приёма и передачи данных. Каждый пакет каждой транзакции содержит в себе номер оконечной точки (endpoint) на устройстве. При подключении устройства драйверы в ядре ОС читают с устройства список оконечных точек и создают управляющие структуры данных для общения с каждой оконечной точкой устройства. Совокупность оконечной точки и структур данных в ядре ОС называется каналом (pipe).
Оконечные точки, а значит, и каналы, относятся к одному из четырёх классов — поточный (bulk), управляющий (control), изохронный (isoch) и прерывание (interrupt). Низкоскоростные устройства, такие, как мышь, не могут иметь изохронных и поточных каналов.
Управляющий канал предназначен для обмена с устройством короткими пакетами «вопрос-ответ». Любое устройство имеет управляющий канал 0, который позволяет программному обеспечению ОС прочитать краткую информацию об устройстве, в том числе коды производителя и модели, используемые для выбора драйвера, и список других оконечных точек.
Канал прерывания позволяет доставлять короткие пакеты и в том, и в другом направлении без получения на них ответа/подтверждения, но с гарантией времени доставки — пакет будет доставлен не позже, чем через N миллисекунд. Например, используется в устройствах ввода (клавиатуры, мыши, джойстики).
Изохронный канал позволяет доставлять пакеты без гарантии доставки и без ответов/подтверждений, но с гарантированной скоростью доставки в N пакетов на один период шины (1 кГц для low и full speed, 8 кГц для high speed). Используется для передачи аудио- и видеоинформации.
Поточный канал даёт гарантию доставки каждого пакета, поддерживает автоматическую приостановку передачи данных при неготовности устройства (переполнение или опустошение буфера), но не даёт гарантий скорости и задержки доставки. Используется, например, в принтерах и сканерах.
Время шины делится на периоды, в начале периода контроллер передаёт всей шине пакет «начало периода». Далее в течение периода передаются пакеты прерываний, потом изохронные в требуемом количестве, в оставшееся время в периоде передаются управляющие пакеты и в последнюю очередь — поточные.
Активной стороной шины всегда является контроллер, передача пакета данных от устройства к контроллеру реализована как короткий вопрос контроллера и длинный, содержащий данные, ответ устройства. Расписание движения пакетов для каждого периода шины создаётся совместными усилиями аппаратуры контроллера и ПО драйвера, для этого многие контроллеры используют крайне сложный DMA со сложной DMA-программой, формируемой драйвером.
Размер пакета для оконечной точки — это константа, встроенная в таблицу оконечных точек устройства и изменению не подлежит. Он выбирается разработчиком устройства из числа тех, что поддерживаются стандартом USB.
Спецификация выпущена 15 января 1996 года.
Спецификация выпущена в сентябре 1998 года. Исправлены проблемы и ошибки, обнаруженные в версии 1.0.
Логотип Hi-Speed USB
Спецификация выпущена в апреле 2000 года.
Для устройств USB 2.0 регламентировано три режима работы:
Последующие модификации к спецификации USB публикуются в рамках «Извещений об инженерных изменениях» (англ. Engineering Change Notices, ECN). Самые важные из модификаций ECN представлены в наборе спецификаций USB 2.0 (англ. USB 2.0 specification package), доступном на сайте USB Implementers Forum.
Логотип USB OTG
В USB одно устройство всегда хост, другое — периферия. Смартфонам, цифровым фотоаппаратам и прочим мобильным устройствам приходится быть то хостом, то периферией: при подключении к компьютеру фотоаппарат — периферия, а при подключении к фотопринтеру — хост.
Роль устройства определяется кабелем: в штекере на стороне хоста замыкаются контакты 4 (ID) и 5 (Ground); на стороне периферии ID никуда не подключается.
Логотип SuperSpeed USB
Окончательная спецификация USB 3.0 появилась в 2008 году. Созданием USB 3.0 занимались компании Intel, Microsoft, Hewlett-Packard, Texas Instruments, NEC и NXP Semiconductors.
В USB 3.1 Gen 2, помимо увеличения скорости до 10 Гбит/с, были снижены издержки кодирования до 3 % переходом на схему кодирования 128b/132b.
Стандарт USB 3.1 обратно совместим с USB 3.0 и USB 2.0.
Новая схема именования
В отличие от предыдущих версий, название протокола пишется слитно, без пробела между словом «USB» и цифрой «4».
(IC-USB) и High Speed Inter-Chip USB (HSIC) — упрощённые версии USB 2.0 для некоммутируемого соединения микросхем в одном устройстве. Упрощение достигается за счёт замены физического уровня USB с асинхронного на синхронный, отказа от возможности смены скорости и определения подключения, отказа от электрической защиты драйверов и уменьшения их мощности. Логическая часть USB неизменна (в том числе логика состояний шины). I C-USB определяет соединение Full Speed (12 Мбит/с) устройств; HSIC определяет соединение High Speed (480 Мбит/с) устройств.
Wireless USB — технология USB (официальная спецификация доступна с мая 2005 года), позволяющая организовать беспроводную связь с высокой скоростью передачи информации (до 480 Мбит/с на расстоянии 3 метров и до 110 Мбит/с на расстоянии 10 метров).
Кабели и разъёмы USB
Спецификация 1.0 регламентировала два типа разъёмов: A — на стороне контроллера или концентратора USB и B — на стороне периферийного устройства. Впоследствии были разработаны миниатюрные разъёмы для применения USB в переносных и мобильных устройствах, получившие название Mini-USB. Новая версия миниатюрных разъёмов, называемых Micro-USB, была представлена USB-IF 4 января 2007 года.
Производителями электроники используется разъём, совместимый с Mini-USB, содержащий 10 контактов, а не 5, как в оригинале (10-контактный штекер не войдёт в 5-контактный разъём). В частности, данное гнездо можно увидеть в телефонах под маркой Alcatel (TCL), Fly и Philips, где дополнительные контакты используются для возможности использования гарнитуры с микрофоном. Однако после перехода на Micro-USB + Mini-Jack в рамках Европейской программы по стандартизации зарядных устройств использование данного разъёма с 2012 года резко сократилось.
USB-A сочетает долговечность и механическую прочность, несмотря на отсутствие винтовой затяжки. Однако уменьшенные варианты разъёмов, имеющие тонкие пластмассовые выступы, высоко выступающие из подложки гнезда, плохо переносят частое смыкание-размыкание и требуют более бережного обращения.
Примерное соответствие: маркировка кабеля (указание толщины провода в AWG) и соответствующая ей длина кабеля:
Ограничение длины кабеля также связано с задержкой сигнала в линии. В спецификациях USB 2.0 оговорена величина задержки: она должна быть менее 5,2 наносекунды на метр для кабеля длиной 5 м. Максимально допустимая задержка сигнала в линии — 1,5 микросекунды для низкоскоростного режима. Таким образом, для обеспечения режима Hi Speed линия должна гарантировать задержку менее 26 наносекунд, а Low Speed — 1,5 микросекунды.
Кабели и разъёмы USB 3. 0 и их совместимость с USB 2
Также существуют разъёмы USB 3.0 Micro ещё двух типов: вилка USB 3.0 Micro-A и розетка USB 3.0 Micro-AB. Визуально отличаются от USB 3.0 Micro-B «прямоугольной» (не срезанной) частью разъёма с секцией USB 2.0, что позволяет избежать подключения вилки Micro-A в розетку Micro-B, а розетку Micro-AB делает совместимой с обеими вилками.
Розетка Micro-AB будет применяться в мобильных устройствах, имеющих бортовой USB 3.0 host контроллер. Для идентификации режима хост/клиент используется вывод 4 (ID) — в вилке Micro-A он замкнут на «землю».
Расположение выводов соединителей USB 3. 0 Powered-B
Разъём USB 3.0 Powered-B спроектирован с использованием двух дополнительных контактов, что позволяет устройствам предоставлять до 1000 мА другому устройству, например адаптеру Wireless USB. Это позволяет избежать необходимости в источнике питания для устройства, подключаемого к Wireless USB адаптеру, делая ещё один шаг к идеальной системе беспроводной связи (без отдельного питания). При обычных проводных подключениях к хосту или хабу эти два дополнительных контакта не используются.
«В ближайшем будущем интерфейс USB Type-C станет действительно универсальным. Версия 2.1 предусматривает электропитание через порт мощностью до 240 Вт. Это позволит использовать его для снабжения электроэнергией мониторов с разрешением 4К, принтеров и даже энергоёмких игровых ноутбуков.»https://usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21
Оптические кабели USB 3
В начале пути сигнал из обычного электрического сигнала USB преобразуется в оптические сигналы. В конце пути сигнал подвергается обратному преобразованию.
Спецификация USB предлагает разработчику несколько вариантов устройств в зависимости от требуемой скорости обмена данными. Это Low Speed (физическая скорость 1,5 Мбит/с ± 1,5 %), Full Speed (12 Мбит/с ± 0,25 %), High Speed (480 Мбит/с ± 0,05 %), SuperSpeed (5 Гбит/с ± 0,06 %), SuperSpeed+ (10 Гбит/с). Low-, Full- и High-Speed-устройства используют одну дифференциальную полудуплексную линию связи для обмена данными, SuperSpeed — несколько. Протоколы обмена идентичны.
USB представляет собой сеть с одним мастером (хостом) и произвольным количеством подчинённых устройств (device). Топология сети — активное дерево. « Активное» означает, что в каждом узле дерева находится специальное устройство — концентратор (хаб). Хаб занимается электрическим согласованием кабелей, маршрутизацией пакетов, обнаружением подключения/отключения устройств и другими функциями. Все соединения в сети электрически и протокольно идентичны.
USB позволяет выполнять «горячее» подключение и отключение отдельных устройств или сегментов сети. « Горячее» означает, что работа сети при этом не нарушается, а мастер способен определять факт изменения конфигурации сети автоматически, в реальном времени. Поскольку вся сеть получает электропитание от мастера, то поддерживается возможность автоматического контроля энергоснабжения сети: устройство сообщает мастеру о своих потребностях, а мастер может запретить работу устройства, если энергетические возможности сети могут быть превышены.
Когда к хосту никто не подключён, обе сигнальные линии D+ и D− подтянуты резисторами 15 кОм к минусу питания. При подключении устройства одна из линий подтягивается к +3,3 В через резистор 1,5 кОм. Устройства Low Speed подтягивают линию D−, а устройства Full Speed — D+. Таким образом хост определяет факт подключения и тип подключённого устройства. Устройства High Speed в момент подключения работают как Full Speed, переключаясь в высокоскоростной режим после обмена визитками.
Состояние дифпары, определённое резисторами подтяжки, в спецификации именуется Idle. То же состояние при включённом драйвере обозначается буквой J. Противоположное ему состояние — буквой K. Замыкание обеих линий на минус именуется Single Ended 0, сокращенно SE0; замыкание на плюс — SE1.
Состояние шины SE0 дольше 10 мс трактуется устройством как сброс (Reset) и требует от устройства реинициализации USB-стека. Состояние Idle дольше 3 мс подряд трактуется устройством как останов шины (Suspend) и формально требует от устройства самоограничения в потреблении электроэнергии от шины USB. Выход из Suspend происходит либо по возобновлению активности хоста, либо устройство может при необходимости подать специальный сигнал Resume. Сигнал Resume состоит из состояния K на несколько миллисекунд, завершаемое последовательностью SE0, SE0, J, где каждое состояние длится один битовый интервал согласно скоростному режиму устройства.
Обмен происходит короткими пакетами. Каждый пакет начинается с последовательности Start of Packet, для Low и Full Speed это KJKJKJKK. Далее всегда идёт специальный идентификатор пакета PID (англ. ), указывающий на тип пакета. Всего имеется 16 разных типов пакетов, поэтому PID имеет размерность 4 бита. Однако для надёжности значение этого поля дублируется в инверсном виде, поэтому длина поля PID в пакете 8 бит. Заканчивается пакет последовательностью End of Packet: SE0, SE0, J. Минимальный межпакетный интервал ~0,1 мкс (для Full Speed).
В зависимости от типа пакета, между PID и EoP может содержаться ряд других полей с параметрами пакета и/или данными. Все эти поля (включая PID) передаются младшим битом вперёд (LSB first).
Пакеты типа IN, OUT, SETUP являются заголовками многопакетной транзакции с обменом данными. Они содержат поля адреса устройства и номера конечной точки (Endpoint) в устройстве, с которым будет обмен данными в этой транзакции. Целостность пакетов удостоверяет поле CRC5.
Пакеты типа DATA содержат поле данных и поле контроля целостности данных CRC16. Стандарт ограничивает максимальную разрешённую длину данных: 8 байт для несконфигурированных устройств, 64 байта для устройств Low Speed, 1023 байта для устройств Full Speed и 1024 байта для устройств High Speed. Устройство может установить свою максимальную длину данных, меньшую разрешённой. Хост обязан поддерживать максимальную разрешённую длину данных. При обычном обмене пакеты с данными чередуются как «чётный-нечётный».
Пакеты типа ACK, NACK, STALL завершают транзакцию, сообщая о (не)успешности текущей транзакции. Не содержат дополнительные поля.
USB является сетью, то есть к одному хосту может подключаться несколько устройств. Каждому устройству в процессе начального конфигурирования в момент подключения назначается уникальный адрес. Размерность адреса 7 бит, нулевое значение зарезервировано — соответственно, к одному хосту может подключаться до 127 устройств. Поле адреса содержат только те пакеты, что начинают транзакцию (IN, OUT, SETUP).
Помимо адресации физически подключённых устройств, USB предлагает логическую адресацию внутри устройства. Логическая адресация позволяет разделить потоки данных по разному функционалу внутри одного устройства. Например, клавиатура с тачпадом может иметь один канал данных для нажатий клавиш, а другой — для данных тачпада. В стеке TCP/IP имеется прямая аналогия конечной точки — порты.
Поле «endpoint» имеет размерность 4 бита, то есть возможны до 16 точек. Каждая точка может независимо работать как приёмная и как передающая, поэтому иногда их насчитывают 32. Поле «endpoint» является частью адресации в сети USB и содержится только в тех же пакетах, где есть адрес (IN, OUT, SETUP). В момент подключения в рамках начального конфигурирования устройство обязано передать хосту информацию о задействованных точках и их назначении. Эта информация должна согласовываться с соответствующими каналами данных программного драйвера устройства у хоста. Обращение к незадействованной точке вызывает ответ STALL. Пакеты SETUP могут приходить только на нулевой endpoint.
Спецификация USB содержит понятия временны́х фреймов и микрофреймов. Для Low Speed устройств каждую миллисекунду хост передаёт сигнал Keep Alive, состоящий из последовательности End of Packet. Для Full Speed устройств каждую миллисекунду хост передаёт специальный пакет SOF (Start of Frame), отмечающий начало очередного фрейма. Для High Speed этот пакет передаётся каждые 125 мкс; такой период называется микрофрейм. Спецификация USB требует, чтобы поддерживалось такое планирование транзакций и пакетов, чтобы периодичность рассылки SOF не нарушалась.
Принципы обмена данными
Обмен данными происходит так называемыми транзакциями — неразрывными последовательностями из нескольких пакетов. Инициатором обмена всегда является хост. Он передаёт короткий пакет (token), уведомляющий о начале новой транзакции. В этом пакете-токене хост указывает направление транзакции (IN или OUT), адрес устройства и номер endpoint. Например, токен OUT означает, что немедленно за токеном последует пакет с данными от хоста к устройству (DATA0 или DATA1). Пакетов с данными может быть несколько в одной транзакции, если каждый из них имеет максимально допустимую для этого устройства длину данных. Окончание пересылки данных определяется по длине пакета, не равной максимальной. Как только приходит укороченный пакет, устройство немедленно передаёт ответный пакет-подтверждение (handshake), например ACK (всё успешно принято), NACK (не смог принять: например, переполнен входной буфер), STALL (данные адресованы отключённому endpoint). Все пакеты в транзакции передаются практически слитно, максимальная пауза между пакетами не должна превышать ~1 мкс (для Full Speed), иначе транзакция будет признана ошибочной.
Аналогично происходит передача данных от устройства к хосту. Хост инициирует передачу токеном IN. Если устройство не имеет готовых данных для передачи, то отвечает NACK и транзакция заканчивается. Если данные готовы, устройство начинает передавать пакеты DATA0/DATA1. Принцип окончания передачи аналогичен: неполная длина пакета с данными. Получив неполный пакет, хост отвечает устройству пакетом-подтверждением ACK.
Транзакция с токеном SETUP полностью аналогична транзакции OUT, отличия лишь в логике восприятия данных устройством: это параметры соединения, которые управляют работой USB стека устройства.
Control, Interrupt, Bulk, Isochronous
Спецификация USB предоставляет несколько методов обмена данными. Каждому включённому endpoint должен быть сопоставлен какой-либо из методов. Control, Interrupt и Bulk используют протокол обмена с подтверждениями, описанный чуть выше. Метод bulk позволяет хосту свободно обмениваться данными с устройством по своему усмотрению. Метод control аналогичен bulk, но обменивается с устройством только специальными данными, управляющими работой USB-протокола в соответствии со спецификацией (в рамках транзакций типа SETUP). Поскольку периферийные устройства не могут инициировать обмен, то для передачи внезапно возникающих у устройства данных придумали метод interrupt, который позволяет опрашивать устройство с заданным периодом. Метод interrupt широко применяется для опроса клавиатур и мышек. Особняком стоит метод isochronous, позволяющий зарезервировать часть полосы пропускания USB-шины для таких данных, как аудио или видео. Isochronous не поддерживает контроля целостности передачи (пакеты ACK и NACK не передаются), а значит, не предусмотрены повторы в случае ошибок: неверно принятые данные пропадают.
В момент подключения хост запрашивает у устройства ряд стандартизованных сведений (дескрипторов), на основании которых принимает решение, как с этим устройством работать. Дескрипторы содержат сведения о производителе и типе устройства, на основании которых хост подбирает программный драйвер. Таблицы дескрипторов и назначение полей подробно описаны в главе 9 спецификации USB.
Отладка и сертификация
Разработчики спецификации USB уделили внимание вопросу автоматического определения функциональности USB устройств, чтобы избавить пользователя от рутинных действий при подключении USB устройств. Для этого в стандарте предусмотрено два механизма:
Помимо стандартных решений USB, некоторые компании и энтузиасты предлагают иные решения. Например, в среде Windows популярны предустановленные драйверы WinUSB с доступным стороннему разработчику API.
Стандартные классы устройств
Назначение USB-устройств может определяться кодами классов, которые сообщаются USB-хосту для загрузки необходимых драйверов. Коды классов позволяют унифицировать работу с однотипными устройствами разных производителей. Устройство может поддерживать один или несколько классов, максимальное количество которых определяется количеством доступных endpoints.
В стандарте USB предусмотрена возможность снабжения подключённых устройств небольшой электрической мощностью. Первоначально стандарт USB 2.0 допускал максимальный потребляемый устройством ток до 0,5 А при напряжении 5 В. U SB 3.0 увеличил максимальный ток до 0,9 А при том же напряжении. Эти стандарты позволяют хосту контролировать потребление подключённых к шине устройств. Для этого в момент подключения и инициализации устройство сообщает хосту свои энергетические потребности. Хост оценивает энергетические возможности этого сегмента сети и разрешает или запрещает устройству работу.
USB Battery Charging
Также разрешались разъёмы USB-A с не подключёнными линиями данных, например на зарядных устройствах. Такие зарядные устройства определялись мобильным устройством по замкнутым между собой контактам D+ и D−. Таким устройствам разрешалось отдавать ток до 5 А.
Для малогабаритных потребителей электроэнергии спецификация рекомендовала разъём MicroUSB-B.
В 2012 году представлена первая ревизия USB PD. Использовались стандартные разъёмы и кабели стандартов USB 2.0 и 3.0. Управление питанием осуществлялось путём диалога между потребителем и источником по независимому каналу связи, организованному по проводу питания стандартного кабеля USB (Vbus). Использовалась частотная модуляция с несущей 24 МГц.
Стандарт позволял повышать напряжение на контакте питания USB (Vbus) до 12 В или 20 В при максимальном токе до 5А.
USB PD 2
Вторая ревизия стандарта вышла в 2014 году вместе со спецификацией USB 3.1 и привязана к новому разъёму USB Type-C. Теперь для выделенного канала связи между источником мощности и потребителем используется отдельный провод в кабеле (Configuration Сhannel). Также поддерживается определение типа кабеля и его возможностей по передаче мощности, для чего в кабелях с увеличенным максимальным током должна устанавливаться микросхема, сообщающая о параметрах кабеля.
Стандарт позволял повышать напряжение на контакте питания USB (Vbus) до 9, 15 или 20 В при максимальном токе до 5А. Для токов свыше 3А требуется использование специальных кабелей с идентификационной микросхемой.
USB PD 3
Существует множество устройств, потребляющих ток сверх возможностей согласно спецификации USB.
Qualcomm Quick Charge
Версия Qualcomm Quick Charge 2.0 (2015), как и USB Power Delivery, предусматривала возможность повышения напряжения питания до 9, 12 или 20 В после согласования между зарядным устройством и гаджетом. Но в отличие от USB Power Delivery метод договора был гораздо проще и позволял использовать существующие кабели и разъёмы USB 2.0/3.0. По состоянию линий D+/D− гаджет определяет, что подключён к зарядному устройству, после чего выставляет на линии D+/D− определённое напряжение в соответствии с желаемым напряжением питания.
Версия Qualcomm Quick Charge 3.0 (2016) дополняет QC 2.0 возможностью плавной регулировки выходного напряжения в диапазоне 3,6—20 В по запросу гаджета.
В 1999 году группа производителей торгового оборудования приняла корпоративный стандарт, по которому разъём USB оснащался дополнительными контактами с напряжениями 5 В, 12 В или 24 В и током до 6 А. Это решение не было поддержано USB-IF.