USB (USB)

Перейти к навигации Перейти к поиску
Universal Serial Bus (USB)
Изображение логотипа
USB тип A
USB тип A
Тип Шина
История
Разработчик Compaq, DEC, IBM, Intel, Microsoft, NEC и Nortel
Разработано 1996
Произведено c мая 1996[1]
Вытеснил Последовательный порт,
Параллельный порт,
Игровой порт,
ADB,
PS/2,
Спецификации
Длина, мм 6,65 (type-C)
Ширина, мм
  • 12 (type-A)[2]
  • 8,45 (type-B)
  • 6,8 (mini/micro)
  • 8,25 (type-C)
Высота, мм
  • 4,5 (type-A)[2]
  • 7,26 (type-B)
  • 10,44 (type-B SuperSpeed)
  • 1,8–3 (mini/micro)
  • 2,4 (type-C)
Горячая замена да
Внешнее да
Кабель 2–5 м (в зависимости от категории)
Выводы
  • 4: 1 power, 2 data, 1 ground
  • 5 (On-The-Go)
  • 9 (SuperSpeed)
  • 11 (Powered-B SuperSpeed)
  • 24 (type-C)
Электрические параметры
Напряжение 5 В DC
Макс. напряжение
  • 5,00+0,25
    −0,60
     В
  • 5,00+0,25
    −0,55
     В
    (USB 3.0)
  • 20 В (Power Delivery USB PD 3.0)
  • 48 В (Power Delivery USB PD 3.1)[3]
Макс. ток
  • 0,5 А (USB 2.0)
  • 0,9 А (USB 3.0)
  • 3 А (USB-C)
  • 5 А (Battery Charging)
  • 5 А (Power Delivery)
Параметры данных
Передача данных пакетные данные, определенные спецификациями
Битовая ширина 1 бит
Пропускная способность В зависимости от режима:
  • Полудуплекс (USB 1.x и USB 2.0): 1,5; 12; 480 Мбит/с
  • Полный дуплекс (USB 3.x и USB4): 5; 10; 20; 40 Гбит/с
Макс. устройств 127
Протокол последовательный
Распиновка
type-A (слева) и type-B (справа)
№ контактаМаркировкаОписание
1     VBUS+5 V
2     Data−Данные —
3     Data+Данные +
4     GroundЗемля
ЭкранОплетка
Логотип Викисклада Медиафайлы на Викискладе

USB (англ. Universal Serial Bus — «универсальная последовательная шина») — последовательный интерфейс для подключения периферийных устройств к вычислительной технике. Получил широчайшее распространение и стал основным интерфейсом подключения периферии к бытовой цифровой технике.

Интерфейс позволяет не только обмениваться данными, но и обеспечивать электропитание периферийного устройства. Сетевая архитектура позволяет подключать большое количество периферии даже к устройству с одним разъёмом USB.

Разработка спецификаций USB производится в рамках международной некоммерческой организации USB Implementers Forum (USB-IF), объединяющей разработчиков и производителей оборудования с шиной USB. В процессе развития выработано несколько версий спецификаций. Тем не менее разработчикам удалось сохранить высокую степень совместимости оборудования разных поколений. Спецификация интерфейса охватывает беспрецедентно широкий круг вопросов подключения и взаимодействия периферийных устройств с вычислительной системой:

  • унификацию разъёмов и кабелей
  • нормирование энергопотребления
  • протоколы обмена данными
  • унификацию функциональности и драйверов устройств

В Intel днем рождения USB называют 15 ноября 1995 года[4][5]. Первые спецификации для USB 1.0 были представлены в 1994—1995 годах. Разработка USB поддерживалась фирмами Intel, Microsoft, Philips, US Robotics. USB стал «общим знаменателем» под тремя не связанными друг с другом стремлениями разных компаний:

  • Расширение функциональности компьютера. На тот момент для подключения внешних периферийных устройств к персональному компьютеру использовалось несколько «традиционных» (англ. legacy) интерфейсов (PS/2, последовательный порт, параллельный порт, порт для подключения джойстика, SCSI), и с появлением новых внешних устройств разрабатывали и новый разъём. Предполагалось, что USB заменит их все и заодно подхлестнёт разработку нетрадиционных устройств.
  • Подключить к компьютеру мобильный телефон. В то время мобильные сети переходили на цифровую передачу голоса, и ни один из имеющихся интерфейсов не годился для передачи с телефона на компьютер как речи, так и данных.
  • Простота для пользователя. Старые интерфейсы (например, последовательный (COM) и параллельный (LPT) порты) были крайне просты для разработчика, но не давали настоящего «подключи и работай». Требовались новые механизмы взаимодействия компьютера с низко- и среднескоростными внешними устройствами — возможно, более сложные для конструкторов, но надёжные, дружественные и пригодные к «горячему» подключению.

Поддержка USB вышла в 1996 году в виде патча к Windows 95 OEM Service Release 2, в дальнейшем она вошла в стандартную поставку Windows 98. В первые годы (1996—1997) устройств было мало, поэтому шину в шутку называли «Useless Serial Bus» («неиспользуемая последовательная шина»)[6]. Впрочем, производители быстро осознали пользу USB, и уже к 2000 году большинство принтеров и сканеров работало с новым интерфейсом.

Hewlett-Packard, Intel, Lucent (ныне Alcatel-Lucent), Microsoft, NEC и Philips совместно выступили с инициативой по разработке более скоростной версии USB. Спецификация USB 2.0 была опубликована в апреле 2000 года, и в конце 2001 года эта версия была стандартизирована USB Implementers Forum. USB 2.0 является обратно совместимой со всеми предыдущими версиями USB.

В некоторые из первых мобильных устройств встраивали громоздкий разъём USB-B[7]. Но чаще разработчики шли на нарушение стандарта, встраивая туда несколько более компактный USB-A[7], или придумывали свой разъём. Со стандартом USB 2.0 специально для мобильных устройств появились разъёмы USB Mini-A и USB Mini-B, позднее появилась спецификация USB OTG. В 2007 году появились разъёмы USB Micro-A и USB Micro-B, вдвое тоньше USB Mini- и более надёжные[7]. Ещё один недостаток USB Mini-USB — устройства фиксации были в периферии, а не в кабеле, и при поломке приходилось ремонтировать устройство, а не менять дешёвый кабель[7]. В 2009 году в попытках уменьшить количество электронного мусора разъём USB Micro-B объявили основным стандартом зарядных устройств для мобильных телефонов, но меморандум так полностью и не был реализован — Apple просто сделала переходник с USB Micro-B на свой разъём.

В начале 2000-х годов корпорация Apple отдавала приоритет шине FireWire, в разработке которой она принимала активное участие. Ранние модели iPod были оснащены только интерфейсом FireWire, а USB отсутствовал. Впоследствии компания отказалась от FireWire в пользу USB, оставив в некоторых моделях FireWire только для подзарядки. Однако часть выпускавшихся клавиатур и мышей, начиная со второй половины 1990-х годов, имела интерфейс USB.

С начала 2000-х годов в BIOS компьютеров массового сегмента включена поддержка USB[источник не указан 3972 дня] (поддержка USB в корпоративном сегменте началась с середины 1990-х). Это позволило загружаться с флеш-дисков, например, для переустановки ОС; пропала надобность в PS/2-клавиатуре. Современные настольные материнские платы поддерживают свыше 10 USB-портов. В подавляющем большинстве современных ноутбуков и настольных компьютеров COM- и LPT-портов нет.

Пока происходило распространение 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-видео.

Вышедший в 2019 году USB4 позволил менять направление сверхскоростных линий, что дало 40 Гбит/с в одну сторону. Он также сделал возможным так называемое «туннелирование протоколов», когда видео и PCIe «заворачиваются» в пакеты USB, давая больше места данным[8] (старым устройствам, не умеющим разворачивать, нужны специальные преобразователи). Отказались от старых разъёмов, оставив только USB-C.

Основные сведения

[править | править код]

Кабель USB (до 2.0 включительно) состоит из четырёх медных проводников: двух проводников питания и двух проводников данных в витой паре. Проводники заключены в заземлённую оплётку (экран).

Кабели USB ориентированы, то есть имеют физически разные наконечники «к устройству» (Тип B) и «к хосту» (Тип A). Возможна реализация USB-устройства без кабеля со встроенным в корпус наконечником «к хосту». Возможно и неразъёмное встраивание кабеля в устройство, как в мышь (стандарт запрещает это для устройств full и high speed, но производители его нарушают). Существуют, хотя и запрещены стандартом, и пассивные USB-удлинители, имеющие разъёмы «от хоста» и «к хосту».

С помощью кабелей формируется интерфейс между USB-устройствами и USB-хостом. В качестве хоста выступает программно-управляемый USB-контроллер, который обеспечивает функциональность всего интерфейса. Контроллер, как правило, интегрирован в микросхему южного моста, хотя может быть исполнен и в отдельном корпусе. Соединение контроллера с внешними устройствами происходит через USB-концентратор[англ.]. В силу того, что USB-шина имеет древовидную топологию, концентратор самого верхнего уровня называется корневым (root hub). Он встроен в USB-контроллер и является его неотъемлемой частью.

Для подключения внешних устройств к USB-концентратору в нём предусмотрены порты, заканчивающиеся разъёмами. К разъёмам с помощью кабельного хозяйства могут подключаться USB-устройства либо USB-концентраторы нижних уровней. Такие концентраторы — активные электронные устройства (пассивных не бывает), обслуживающие несколько собственных USB-портов. С помощью USB-концентраторов допускается до пяти уровней каскадирования, не считая корневого. Сам USB-интерфейс не позволяет соединять между собой два компьютера (хост-устройства), это возможно лишь при использовании специальной электроники, имеющей два USB-входа и специализированный мост, например, эмулирующей два соединённых Ethernet-адаптера по одному для каждой из сторон либо использующие специализированное ПО для обмена файлами[9][10].

Устройства могут быть запитаны от шины, но могут и требовать внешнего источника питания. По умолчанию устройствам гарантируется ток до 100 мА, а после согласования с хост-контроллером — до 500 мА. Поддерживается и дежурный режим для устройств и концентраторов по команде с шины со снятием основного питания при сохранении дежурного питания и включением по команде с шины.

USB поддерживает «горячее» подключение и отключение устройств. Это достигнуто увеличенной длиной заземляющего контакта разъёма по отношению к сигнальным. При подключении разъёма USB первыми замыкаются заземляющие контакты, потенциалы корпусов двух устройств становятся равны и дальнейшее соединение сигнальных проводников не приводит к перенапряжениям.

На логическом уровне устройство USB поддерживает транзакции приёма и передачи данных. Каждый пакет каждой транзакции содержит в себе номер оконечной точки (endpoint) на устройстве. При подключении устройства драйверы в ядре ОС читают с устройства список оконечных точек и создают управляющие структуры данных для общения с каждой оконечной точкой устройства. Совокупность оконечной точки и структур данных в ядре ОС называется каналом (pipe).

Оконечные точки, а значит, и каналы, относятся к одному из четырёх классов — поточный (bulk), управляющий (control), изохронный (isoch) и прерывание (interrupt). Низкоскоростные устройства, такие, как мышь, не могут иметь изохронных и поточных каналов.

Управляющий канал предназначен для обмена с устройством короткими пакетами «вопрос-ответ». Любое устройство имеет управляющий канал 0, который позволяет программному обеспечению ОС прочитать краткую информацию об устройстве, в том числе коды производителя и модели, используемые для выбора драйвера, и список других оконечных точек.

Канал прерывания позволяет доставлять короткие пакеты и в том, и в другом направлении без получения на них ответа/подтверждения, но с гарантией времени доставки — пакет будет доставлен не позже, чем через N миллисекунд. Например, используется в устройствах ввода (клавиатуры, мыши, джойстики).

Изохронный канал позволяет доставлять пакеты без гарантии доставки и без ответов/подтверждений, но с гарантированной скоростью доставки в N пакетов на один период шины (1 кГц для low и full speed, 8 кГц для high speed). Используется для передачи аудио- и видеоинформации.

Поточный канал даёт гарантию доставки каждого пакета, поддерживает автоматическую приостановку передачи данных при неготовности устройства (переполнение или опустошение буфера), но не даёт гарантий скорости и задержки доставки. Используется, например, в принтерах и сканерах.

Время шины делится на периоды, в начале периода контроллер передаёт всей шине пакет «начало периода». Далее в течение периода передаются пакеты прерываний, потом изохронные в требуемом количестве, в оставшееся время в периоде передаются управляющие пакеты и в последнюю очередь — поточные.

Активной стороной шины всегда является контроллер, передача пакета данных от устройства к контроллеру реализована как короткий вопрос контроллера и длинный, содержащий данные, ответ устройства. Расписание движения пакетов для каждого периода шины создаётся совместными усилиями аппаратуры контроллера и ПО драйвера, для этого многие контроллеры используют крайне сложный DMA со сложной DMA-программой, формируемой драйвером.

Размер пакета для оконечной точки — это константа, встроенная в таблицу оконечных точек устройства и изменению не подлежит. Он выбирается разработчиком устройства из числа тех, что поддерживаются стандартом USB.

Версии спецификации

[править | править код]

Список спецификаций

[править | править код]
Спецификация Скорость Стандарт USB
Low-Speed до 1,5 Мбит/с USB 1.0
Full-Speed до 12 Мбит/с USB 1.1
High-speed до 480 Мбит/с USB 2.0
SuperSpeed до 5 Гбит/с USB 3.0 / USB 3.1 Gen 1 / USB 3.2 Gen 1
SuperSpeed+ 10Gbps до 10 Гбит/с USB 3.1 Gen 2 / USB 3.2 Gen 2
SuperSpeed++ 20Gbps до 20 Гбит/с USB 3.2 Gen 2x2

Предварительные версии

[править | править код]
  • USB 0.7: спецификация выпущена в ноябре 1994 года.
  • USB 0.8: спецификация выпущена в декабре 1994 года.
  • USB 0.9: спецификация выпущена в апреле 1995 года.
  • USB 0.99: спецификация выпущена в августе 1995 года.
  • USB 1.0 Release Candidate: спецификация выпущена в ноябре 1995 года.

Спецификация выпущена 15 января 1996 года.

Технические характеристики:

  • два режима работы:
    • режим с низкой пропускной способностью (Low-Speed) — 1,5 Мбит/с;
    • режим с высокой пропускной способностью (Full-Speed) — 12 Мбит/с;
  • максимальная длина кабеля (без экрана) для режима Low-Speed — 3 м[11];
  • максимальная длина кабеля (в экране) для режима Full-Speed — 5 м[11];
  • максимальное количество подключённых устройств (включая размножители) — 127;
  • возможно подключение «разноскоростных» периферийных устройств к одному контроллеру USB;
  • напряжение питания для периферийных устройств — 5 В;
  • максимальный ток, потребляемый периферийным устройством, — 500 мА.

Спецификация выпущена в сентябре 1998 года. Исправлены проблемы и ошибки, обнаруженные в версии 1.0.

Логотип Hi-Speed USB

Спецификация выпущена в апреле 2000 года. В 2002 году компании производители чипсетов для материнских плат начали выпуск новых продуктов с поддержкой USB 2.0.

USB 2.0 отличается от USB 1.1 введением режима High-Speed (пометка на логотипе — «Hi-speed»[12]).

Для устройств USB 2.0 регламентировано три режима работы:

  • Low-Speed, 10—1500 Кбит/c (клавиатуры, мыши, джойстики, геймпады);
  • Full-Speed, 0,5—12 Мбит/с (аудио-, видеоустройства);
  • High-Speed, 25—480 Мбит/с (аудио-, видеоустройства, устройства хранения информации).

Последующие модификации

[править | править код]

Последующие модификации к спецификации USB публикуются в рамках «Извещений об инженерных изменениях» (англ. Engineering Change Notices, ECN). Самые важные из модификаций ECN представлены в наборе спецификаций USB 2.0 (англ. USB 2.0 specification package), доступном на сайте USB Implementers Forum.

  • Mini-B Connector ECN: извещение выпущено в октябре 2000 года.
  • Errata, начиная с декабря 2000: извещение выпущено в декабре 2000 года.
  • Pull-up/Pull-down Resistors ECN: извещение выпущено в мае 2002 года.
  • Errata, начиная с мая 2002: извещение выпущено в мае 2002 года.
  • Interface Associations ECN: извещение выпущено в мае 2003 года. Были добавлены новые стандарты, позволяющие ассоциировать множество интерфейсов с одной функцией устройства.
  • Rounded Chamfer ECN: извещение выпущено в октябре 2002 года.
  • Unicode ECN: извещение выпущено в феврале 2005 года. Данное ECN специфицирует, что строки закодированы с использованием UTF-16LE.
  • Inter-Chip USB Supplement: извещение выпущено в марте 2006 года.
  • On-The-Go Supplement 1.3: извещение выпущено в декабре 2006 года. USB On-The-Go делает возможным связь двух USB-устройств друг с другом без отдельного USB-хоста. На практике одно из устройств играет роль хоста для другого.
Логотип USB OTG

В USB одно устройство всегда хост, другое — периферия. Смартфонам, цифровым фотоаппаратам и прочим мобильным устройствам приходится быть то хостом, то периферией: при подключении к компьютеру фотоаппарат — периферия, а при подключении к фотопринтеру — хост.

USB OTG (от On-The-Go, рус. «на ходу») сделала удобной смену роли устройств: они сами определяют, кем им быть. OTG-устройства можно подключать к компьютеру, и к таким устройствам через тот же порт можно подключать USB-периферию: обычно флеш-накопители, цифровые фотоаппараты, клавиатуры, мыши и другие устройства, не требующие дополнительных драйверов[13].

Роль устройства определяется кабелем: в штекере на стороне хоста замыкаются контакты 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.0 повышает максимальную скорость передачи информации до 5 Гбит/с, что на порядок больше скорости, которую может обеспечить USB 2.0. Также версия 3.0 отличается увеличенной с 500 мА до 900 мА силой тока. Таким образом, от одного порта можно запитывать большее количество устройств, а также отпадает необходимость использования внешнего питания для некоторых устройств[14]. В спецификации USB 3.0 разъёмы и кабели обновлённого стандарта физически и функционально совместимы с USB 2.0, причём для однозначной идентификации разъёмы USB 3.0 принято изготавливать из пластика синего цвета (у некоторых производителей — красного). Кабель USB 2.0 содержит в себе четыре линии — пару для приёма/передачи данных, плюс и ноль питания, разъём «A» имеет 4 контакта. Для передачи высокоскоростных SuperSpeed сигналов в USB 3.0 добавлено ещё четыре линии связи (две витые пары) и один контакт сигнальной земли (GND_DRAIN), в результате чего кабель стал гораздо толще. Новые контакты в разъёмах USB 3.0 расположены отдельно от старых в другом контактном ряду.

В октябре 2009 года появилась информация, что корпорация Intel решила отложить внедрение поддержки USB 3.0 в свои чипсеты до 2011 года. Это решение привело к тому, что до 2011 года данный стандарт не стал массовым, так как пользователю было недостаточно просто купить материнскую плату, был необходим дополнительный адаптер либо производитель материнских плат распаивал на них контроллер стороннего производителя[15][16].

Хост-контроллер USB 3.0 (xHCI)[англ.] обеспечивает аппаратную поддержку потоков для команд, статусов, входящих и исходящих данных, что позволяет более полно использовать пропускную способность USB-шины. Потоки были добавлены к протоколу USB 3.0 SuperSpeed для поддержки UASP.

Linux поддерживает USB 3.0 начиная с версии ядра 2.6.31[17]. В Windows 8 и 10 интерфейс USB 3.0 поддерживается без установки дополнительных драйверов.

После выхода спецификации USB 3.1 стандарт USB 3.0 был переименован в USB 3.1 Gen 1. По словам технического директора USB-IF, это было сделано для того чтобы облегчить работу разработчикам устройств, то есть, чтобы обеспечить поддержку всех версий USB, теперь достаточно двух спецификаций — USB 2 и USB 3.1 — вместо трёх[18]. После выхода спецификации USB 3.2 переименован в USB 3.2 Gen 1.

31 июля 2013 года USB 3.0 Promoter Group объявила о принятии спецификации следующего интерфейса, USB 3.1, скорость передачи которого может достигать 10 Гбит/с[19]. Компактный разъём USB Type-C, используемый с данной версией, является симметричным, позволяя вставлять кабель любой стороной, как это ранее сделала Apple в разъёмах Lightning.

После выхода стандарта USB 3.1 организация USB-IF объявила, что режим передачи USB 3.0 со скоростью до 5 Гбит/с (SuperSpeed) теперь будут классифицироваться как USB 3.1 Gen 1, а новый стандарт передачи USB 3.1 со скоростью до 10 Гбит/с (SuperSpeed+) — как USB 3.1 Gen 2[20][21].

В USB 3.1 входит два стандарта[22]:

  • SuperSpeed (USB 3.1 Gen 1) со скоростью до 5 Гбит/с, такой же, как и у USB 3.0;
  • SuperSpeed+ (USB 3.1 Gen 2) со скоростью до 10 Гбит/с, удвоенная USB 3.0.

В USB 3.1 Gen 2, помимо увеличения скорости до 10 Гбит/с, были снижены издержки кодирования до 3 % переходом на схему кодирования 128b/132b.

Стандарт USB 3.1 обратно совместим с USB 3.0 и USB 2.0.

На практике первая реализация USB 3.1 в виде IP-блока от Synopsys показала в декабре 2013 года эффективную скорость передачи 7,2 Гбит/с (900 МБ в секунду)[23].

22 сентября 2017 некоммерческая организация USB Implementers Forum (USB-IF) опубликовала спецификацию стандарта USB 3.2[24], заключительная ревизия для USB 3.x. Новая спецификация предусматривает удвоение максимально возможной скорости передачи данных по сравнению с USB 3.1 Gen 2 — с 10 до 20 Гбит/с за счёт использования двух линий на 5 Гбит/с или 10 Гбит/с только для разъема USB Type-C по причине его двухсторонних контактов и использования дублирующих выводов как отдельный канал. Были внесены поправки в работу хост-адаптеров для плавного перехода между 2-канальным режимом дублирующих выводов к одноканальному режиму. Современные кабели USB Type-C, имеющиеся в наличии, уже поддерживают такой «двухлинейный» режим, так что покупать новые кабели не придётся[25]. Появление первых коммерческих устройств с поддержкой стандарта USB 3.2 ожидается не ранее второй половины 2019 года[26].

Спецификации USB 3.2 заменяют стандарты USB 3.0 и USB 3.1; удовлетворяющие им устройства будут включать три стандарта скоростей[27]:

  • SuperSpeed USB (USB 3.2 Gen 1) со скоростью до 5 Гбит/с и кодированием 8b/10b, как у USB 3.1 Gen 1 и USB 3.0;
  • SuperSpeed+ USB 10Gbps (USB 3.2 Gen 2) со скоростью до 10 Гбит/с и кодированием 128b/132b, как USB 3.1 Gen 2;
  • SuperSpeed+ USB 20Gbps (USB 3.2 Gen 2x2) со скоростью до 20 Гбит/с и кодированием 128b/132b по двум линиям, каждая из которых соответствует USB 3.1 Gen 2.

В спецификациях также прописан вариант с двумя линиями, каждая из которых работает по протоколу USB 3.0[источник не указан 1587 дней]:

  • SuperSpeed+ USB 10Gbps (USB 3.2 Gen 1x2) со скоростью до 10 Гбит/с и кодированием 8b/10b по двум линиям, каждая из которых соответствует USB 3.1 Gen 1.
Новая схема именования

После выхода стандарта USB 3.2 организация USB-IF ввела новую схему именования[28]. Чтобы помочь компаниям с брендингом различных режимов передачи, USB-IF рекомендует называть режимы передачи 5, 10, 20 Гбит/с как SuperSpeed USB 5Gbps, SuperSpeed USB 10Gbps, SuperSpeed USB 20Gbps, соответственно[29]:

Спецификация Старое название Оригинальное название Режим передачи Маркетинговое название (USB-IF branding) Скорость Скорость передачи Картинка
USB 3.2 Gen 1 USB 3.1 Gen 1 USB 3.0 Gen 1 SuperSpeed USB 5Gbps 5 Gbit/s 500 MB/s
USB 3.2 Gen 2 USB 3.1 Gen 2 USB 3.1 Gen 2 SuperSpeed USB 10Gbps 10 Gbit/s 1,21 GB/s
USB 3.2 Gen 2x2 --- USB 3.2 Gen 2 × 2 SuperSpeed USB 20Gbps 20 Gbit/s 2,42 GB/s
Логотип USB4

В отличие от предыдущих версий, название протокола пишется слитно, без пробела между словом «USB» и цифрой «4».

Спецификация четвёртой версии была опубликована 29 августа 2019 года[30][31]. Новый базовый протокол повышает максимальную скорость до 40 Гбит/с (при использовании совместимых кабелей Type-C), сохраняя обратную совместимость с USB 3.2, USB 2.0 и, опционально, Thunderbolt 3[32][33][34].

Скорость до 40 Гбит/с достижима только со специальными кабелями, имеющими соответствующую маркировку. Для обычных кабелей максимальная скорость ограничена 20 Гбит/с[35][36].

В октябре 2022 года вышла обновленная спецификация USB4 Version 2.0 с пропускной способностью до 80 Гбит/с[37].

Стандарт совместим с DisplayPort 2.1, и с его помощью можно выводить изображение на монитор 4K с частотой обновления 240 Гц или монитор 10K с частотой обновления 60 Гц без сжатия видео. По кабелю можно питать монитор или через монитор питать подключённый к нему ноутбук (стандартом предусмотрена передача мощностью до 240 Вт).

Inter-Chip USB[англ.] (IC-USB) и High Speed Inter-Chip USB (HSIC) — упрощённые версии USB 2.0 для некоммутируемого соединения микросхем в одном устройстве. Упрощение достигается за счёт замены физического уровня USB с асинхронного на синхронный, отказа от возможности смены скорости и определения подключения, отказа от электрической защиты драйверов и уменьшения их мощности. Логическая часть USB неизменна (в том числе логика состояний шины). IC-USB определяет соединение Full Speed (12 Мбит/с) устройств; HSIC определяет соединение High Speed (480 Мбит/с) устройств.

Первая версия стандарта IC-USB была принята в 2006 году. Первая версия стандарта HSIC была принята в 2007 году[38]. HSIC использует две цифровых линии с логическими уровнями LVCMOS (1,2 вольта): STROBE и DATA. Максимальная длина проводников 10 см. Синхронный интерфейс обеспечивает пропускную способность 480 Мбит/с при тактовой частоте 240 МГц. Драйвер физического уровня HSIC потребляет на 50 % меньше энергии и занимает на 75 % меньше места на кристалле, чем традиционный драйвер USB 2.0[39].

В 2012 году была принята первая версия спецификаций Inter-Chip USB для USB 3.0[40].

Логотип USB wireless

Wireless USB — технология USB (официальная спецификация доступна с мая 2005 года), позволяющая организовать беспроводную связь с высокой скоростью передачи информации (до 480 Мбит/с на расстоянии 3 метров и до 110 Мбит/с на расстоянии 10 метров).

23 июля 2007 года USB-IF объявила о сертификации шести первых потребительских продуктов с поддержкой Wireless USB[41].

В 2013 году была представлена спецификация MA-USB, позволяющая инкапсулировать USB-протокол в существующие каналы связи, включая WiFi и WiGig.

Кабели и разъёмы USB

[править | править код]

Цветовое кодирование

[править | править код]
Цвет Назначение
Белый USB 1.0
Чёрный USB 2.0
Синий USB 3.2 Gen 1x1 (ранее - USB 3.0)
Бирюзовый USB 3.2 Gen 1x2
Красный/жёлтый/оранжевый Отличается повышенной нагрузочной способностью и тем, что напряжение на них присутствует, даже если компьютер выключен или находится в режиме сна.

Кабели и разъёмы USB 1.x и 2.0

[править | править код]

Спецификация 1.0 регламентировала два типа разъёмов: A — на стороне контроллера или концентратора USB и B — на стороне периферийного устройства. Впоследствии были разработаны миниатюрные разъёмы для применения USB в переносных и мобильных устройствах, получившие название Mini-USB. Новая версия миниатюрных разъёмов, называемых Micro-USB, была представлена USB-IF 4 января 2007 года.

Обычный Mini Micro
Тип A 4×12 мм
3×7 мм
2×7 мм
Тип B 7×8 мм
3×7 мм
2×7 мм
Подключение выносной колодки с парой разъёмов USB на материнской плате ASUS P5Q SE

Существуют также разъёмы типа Mini-AB и Micro-AB, с которыми соединяются соответствующие коннекторы как типа A, так и типа B.

Производителями электроники используется разъём, совместимый с Mini-USB, содержащий 10 контактов, а не 5, как в оригинале (10-контактный штекер не войдёт в 5-контактный разъём). В частности, данное гнездо можно увидеть в телефонах под маркой Alcatel (TCL), Fly и Philips, где дополнительные контакты используются для возможности использования гарнитуры с микрофоном. Однако после перехода на Micro-USB + Mini-Jack в рамках Европейской программы по стандартизации зарядных устройств использование данного разъёма с 2012 года резко сократилось.

USB-A сочетает долговечность и механическую прочность, несмотря на отсутствие винтовой затяжки. Однако уменьшенные варианты разъёмов, имеющие тонкие пластмассовые выступы, высоко выступающие из подложки гнезда, плохо переносят частое смыкание-размыкание и требуют более бережного обращения.

Сигналы USB (версии до 2.x) передаются по двум проводам экранированного четырёхпроводного кабеля.

Стандартные, Mini- и Micro-USB вилки. Светлые участки — полые
Размещение проводников
Распиновка Тип-A и -B
Номер контакта Обозначение Цвет провода Описание
1 VBUS Красный или Оранжевый +5 V
2 D− Белый, или Золотой Данные−
3 D+ Зелёный Данные+
4 GND Чёрный или Синий Земля
Распиновка Mini/Micro-A и -B
Номер контакта Обозначение Цвет провода Описание
1 VBUS Красный +5 V
2 D− Белый Данные−
3 D+ Зелёный Данные+
4 ID No wire On-The-Go ID определяет конец кабеля:
  • A (хост): подключён к земле
  • B (устройство): не подключён
5 GND Чёрный Земля
Упрощённая версия USB Standart A

Здесь GND — цепь «земли» для питания периферийных устройств, а VBus — это +5 вольт, также для цепей питания. Данные передаются дифференциально по проводам D− и D+. Состояния «0» и «1» определяются по разности потенциалов между линиями более 0,2 В и при условии, что на одной из линий потенциал относительно GND выше 2,8 В[42]. Дифференциальный способ передачи является основным, но не единственным (например, при инициализации устройство сообщает хосту о режиме, поддерживаемом устройством (англ. Full-Speed или англ. Low-Speed), подтягиванием одной из линий данных к V_BUS через резистор 1,5 кОм (D− для режима Low-Speed и D+ для режимов Full-Speed и High-Speed)[43].

Для соблюдения достаточного уровня сигнала в кабеле и недопускания его затухания требуется коррелировать длину кабеля с сечением проводников. Принята практика указания толщины сечения провода в AWG, например «28 AWG/1P…».

Примерное соответствие: маркировка кабеля (указание толщины провода в AWG) и соответствующая ей длина кабеля:

AWG Длина, не больше (см)
28 81
26 131
24 208
22 333
20 500

Ограничение длины кабеля также связано с задержкой сигнала в линии. В спецификациях USB 2.0 оговорена величина задержки: она должна быть менее 5,2 наносекунды на метр для кабеля длиной 5 м. Максимально допустимая задержка сигнала в линии — 1,5 микросекунды для низкоскоростного режима. Таким образом, для обеспечения режима Hi Speed линия должна гарантировать задержку менее 26 наносекунд, а Low Speed — 1,5 микросекунды.

Кабели и разъёмы USB 3.0 и их совместимость с USB 2.0

[править | править код]
  • Все разъёмы USB, которые можно соединять друг с другом, рассчитаны на совместную работу. Это достигается за счёт электрической совместимости всех контактов разъёма USB 2.0 с соответствующими контактами разъёма USB 3.0. При этом разъём USB 3.0 имеет дополнительные контакты, не имеющие соответствия в разъёме USB 2.0, и, следовательно, при соединении разъёмов разных версий «лишние» контакты не будут задействованы, обеспечивая нормальную работу соединения версии 2.0.
  • Все гнёзда и штекеры между USB 3.0 Тип A и USB 2.0 Тип A рассчитаны на совместную работу.
  • Размер гнезда USB 3.0 Тип B несколько больше, чем это могло бы потребоваться для штекера USB 2.0 Тип B и более ранних. При этом предусмотрено подключение в эти гнёзда и такого типа штекеров. Соответственно, для подключения к компьютеру периферийного устройства с разъёмом USB 3.0 Тип B можно использовать кабели обоих типов, но для устройства с разъёмом USB 2.0 Тип B — только кабель USB 2.0.
  • Гнёзда eSATAp, обозначенные как eSATA/USB Combo, то есть имеющие возможность подключения к ним штекера USB, имеют возможность подключения штекеров USB Тип A: USB 2.0 и USB 3.0, но в скоростном режиме USB 2.0.
  • Штекер eSATA ни в какую версию простого гнезда USB войти не может.
  • Штекер eSATA может подключаться к гнезду eSATA/USB Combo.
  • Гнёзда Type E находятся на материнских платах в расчёте на подключение шин USB 3.0 типа А или типа C.

Изображения разъёмов USB 3.0

[править | править код]
Обычный Micro
Тип A
Тип B
Тип C
Тип E

Расположение выводов соединителей USB 3.0 типа A

[править | править код]
Внешние изображения
USB 3.0 тип А
USB 3.0 тип В
USB 3.0 тип B micro
Розетка USB 3.0 powered-B
Вилка USB 3.0 A
№ контакта A B micro B
1 VBUS (VCC) VBUS (VCC) VBUS (VCC)
2 D− D− D−
3 D+ D+ D+
4 GND GND ID
5 StdA_SSTX− StdA_SSTX− GND
6 StdA_SSTX+ StdA_SSTX+ StdA_SSTX−
7 GND_DRAIN GND_DRAIN StdA_SSTX+
8 StdA_SSRX− StdA_SSRX− GND_DRAIN
9 StdA_SSRX+ StdA_SSRX+ StdA_SSRX−
10 StdA_SSRX+
Экран Экран Экран Экран
Расположение контактов вилки USB 3.0 Micro-B

Также существуют разъёмы 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 адаптеру, делая ещё один шаг к идеальной системе беспроводной связи (без отдельного питания). При обычных проводных подключениях к хосту или хабу эти два дополнительных контакта не используются.

1 VBUS +5V Питание
2 USB D− USB 2.0 данные
3 USB D+
4 GND Земля
8 StdA_SSRX− SuperSpeed-приём
9 StdA_SSRX+ SuperSpeed-приём
7 GND_DRAIN Земля
5 StdA_SSTX− SuperSpeed-передача
6 StdA_SSTX+ SuperSpeed-передача
10 DPWR Дополнительное питание на устройство
11 GND_D Земля питания устройства
Разъём USB Type-C
Назначение контактов USB Type-C разъёма — гнезда и штекера
Контакт Название Описание Контакт Название Описание
A1 GND Земля B12 GND Земля
A2 TX1+ SuperSpeed дифференциальная пара #1[a], передача+ B11 RX1+ SuperSpeed дифференциальная пара #2[a], прием+
A3 TX1- SuperSpeed дифференциальная пара #1[a], передача- B10 RX1- SuperSpeed дифференциальная пара #2[a], прием-
A4 VBUS Плюс питания B9 VBUS Плюс питания
A5 CC1 Конфигурирующий канал (или согласующий) B8 SBU2 Дополнительный канал (Sideband)
A6 D+ High-Speed дифференциальная пара[b], положение 1, данные+ B7 D- High-Speed дифференциальная пара[b], положение 2[c], данные-
A7 D- High-Speed дифференциальная пара[b], положение 1, данные- B6 D+ High-Speed дифференциальная пара[b], положение 2[c], данные+
A8 SBU1 Дополнительный канал (Sideband) B5 CC2 Конфигурационный канал
A9 VBUS Плюс питания B4 VBUS Плюс питания
A10 RX2- SuperSpeed дифференциальная пара #4[a], прием- B3 TX2- SuperSpeed дифференциальная пара #3[a], передача-
A11 RX2+ SuperSpeed дифференциальная пара #4[a], прием+ B2 TX2+ SuperSpeed дифференциальная пара #3[a], передача+
A12 GND Земля B1 GND Земля
  1. 1 2 3 4 5 6 7 8 Экранированная дифференциальная пара, может использоваться для реализации USB SuperSpeed (3.0), SuperSpeed+ (3.1), SuperSpeed++ (3.2) — до 20 Гбит/с
  2. 1 2 3 4 Неэкранированная дифференциальная пара, может использоваться для реализации USB Low-Speed (1.0), Full-Speed (1.1), High-Speed (2.0) — до 480 Мбит/с
  3. 1 2 В штекере дифференциальная пара подключается только в одном положении, во 2-м положении контакты отсутствуют.
Назначение проводников в кабеле USB 3.1 Type-C
Разъём № 1 кабеля Type-C Кабель Type-C Разъём № 2 кабеля Type-C
Контакт Название Цвет оболочки проводника Название Описание Контакт Название
Оплётка Экран Оплётка кабеля Экран Внешняя оплётка кабеля Оплётка Экран
A1, B1, A12, B12 GND Луженый GND_PWRrt1
GND_PWRrt2
Общая земля A1, B1, A12, B12 GND
A4, B4, A9, B9 VBUS Красный PWR_VBUS1
PWR_VBUS2
VBUS питание A4, B4, A9, B9 VBUS
B5 VCONN Жёлтый
PWR_VCONN VCONN питание B5 VCONN
A5 CC Синий CC Канал конфигурирования A5 CC
A6 Dp1 Белый UTP_Dp Неэкранированная дифференциальная пара, positive A6 Dp1
A7 Dn1 Зелёный UTP_Dn Неэкранированная дифференциальная пара, negative A7 Dn1
A8 SBU1 Красный SBU_A Полоса передачи данных A B8 SBU2
B8 SBU2 Чёрный SBU_B Полоса передачи данных B A8 SBU1
A2 SSTXp1 Жёлтый * SDPp1 Экранированная дифференциальная пара #1, positive B11 SSRXp1
A3 SSTXn1 Коричневый * SDPn1 Экранированная дифференциальная пара #1, negative B10 SSRXn1
B11 SSRXp1 Зелёный * SDPp2 Экранированная дифференциальная пара #2, positive A2 SSTXp1
B10 SSRXn1 Оранжевый * SDPn2 Экранированная дифференциальная пара #2, negative A3 SSTXn1
B2 SSTXp2 Белый * SDPp3 Экранированная дифференциальная пара #3, positive A11 SSRXp2
B3 SSTXn2 Чёрный * SDPn3 Экранированная дифференциальная пара #3, negative A10 SSRXn2
A11 SSRXp2 Красный * SDPp4 Экранированная дифференциальная пара #4, positive B2 SSTXp2
A10 SSRXn2 Синий * SDPn4 Экранированная дифференциальная пара #4, negative B3 SSTXn2
* Цвета для оболочки проводников не установлены стандартом.

«В ближайшем будущем интерфейс USB Type-C станет действительно универсальным. Версия 2.1 предусматривает электропитание через порт мощностью до 240 Вт. Это позволит использовать его для снабжения электроэнергией мониторов с разрешением 4К, принтеров и даже энергоёмких игровых ноутбуков.»https://usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21

Оптические кабели USB 3.0

[править | править код]

В 2013 году некоторыми компаниями были представлены оптические (оптоволоконные) кабели USB 3.0 и Thunderbolt, по которым сигнал USB может передаваться на расстояние до 100 метров[44] против 3-5 метров (как правило) для стандартных «проводных» кабелей. Тонкие и гибкие кабели позволяют передавать данные на скоростях до 1 ГБ/с, но не обеспечивают передачу электропитания.

В начале пути сигнал из обычного электрического сигнала 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 позволяет выполнять «горячее» подключение и отключение отдельных устройств или сегментов сети. «Горячее» означает, что работа сети при этом не нарушается, а мастер способен определять факт изменения конфигурации сети автоматически, в реальном времени. Поскольку вся сеть получает электропитание от мастера, то поддерживается возможность автоматического контроля энергоснабжения сети: устройство сообщает мастеру о своих потребностях, а мастер может запретить работу устройства, если энергетические возможности сети могут быть превышены.

Физический уровень

[править | править код]
Дифференциальная линия связи в виде витой пары проводов с импедансом 90 Ом
Схемотехника портов USB Full и High Speed. Устройство Low Speed отличается подключением резистора 1,5к к D− вместо D+
Осциллограмма пакета NACK для Full Speed устройства

Когда к хосту никто не подключён, обе сигнальные линии 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.

Данные кодируются по методу NRZI (Non-return-to-zero inverted). По этому методу каждому нулевому биту входных данных соответствует изменение состояния дифпары (J→K или K→J), а при единице изменения нет. Чтобы исключить потерю синхронизации на длительных единичных последовательностях, применяют битстаффинг, то есть принудительно вставляют в поток данных ноль на каждые 6 единиц подряд.

Состояние шины SE0 дольше 10 мс трактуется устройством как сброс (Reset) и требует от устройства реинициализации USB-стека. Состояние Idle дольше 3 мс подряд трактуется устройством как останов шины (Suspend) и формально требует от устройства самоограничения в потреблении электроэнергии от шины USB. Выход из Suspend происходит либо по возобновлению активности хоста, либо устройство может при необходимости подать специальный сигнал Resume. Сигнал Resume состоит из состояния K на несколько миллисекунд, завершаемое последовательностью SE0, SE0, J, где каждое состояние длится один битовый интервал согласно скоростному режиму устройства.

Структура пакетов

[править | править код]

Обмен происходит короткими пакетами. Каждый пакет начинается с последовательности Start of Packet, для Low и Full Speed это KJKJKJKK. Далее всегда идёт специальный идентификатор пакета PID (англ. Packet IDentifier), указывающий на тип пакета. Всего имеется 16 разных типов пакетов, поэтому PID имеет размерность 4 бита. Однако для надёжности значение этого поля дублируется в инверсном виде, поэтому длина поля PID в пакете 8 бит. Заканчивается пакет последовательностью End of Packet: SE0, SE0, J. Минимальный межпакетный интервал ~0,1 мкс (для Full Speed).

В зависимости от типа пакета, между PID и EoP может содержаться ряд других полей с параметрами пакета и/или данными. Все эти поля (включая PID) передаются младшим битом вперёд (LSB first).

Типы пакетов USB представлены в таблице:

Тип Значение PID (старшим битом вперед) Передаваемый байт (младшим битом вперед) Имя Описание
Зарезервировано 0000 0000 1111
Token 0001 1000 0111 OUT Хост уведомляет устройство, что следующий пакет будет содержать данные от хоста к устройству
1001 1001 0110 IN Хост уведомляет устройство, что готов принять от устройства пакет с данными
0101 1010 0101 SOF Пакет, отмечающий начало временно́го фрейма или микрофрейма.
1101 1011 0100 SETUP Хост уведомляет устройство, что следующий пакет будет содержать конфигурационные данные от хоста к устройству
1000 0001 1110 SPLIT USB High Speed разделённая передача
0100 0010 1101 PING Проверка возможности приёма данных устройством (USB High Speed)
Special 1100 0011 1100 PRE Уведомление хабу, что следующая транзакция будет осуществляться в режиме Low Speed
Handshake ERR Ошибка разделённой передачи (USB High Speed)
0010 0100 1011 ACK Подтверждение приёма пакета с данными
1010 0101 1010 NACK Неготовность обслужить предыдущий пакет, пакет игнорируется
0110 0110 1001 NYET Данные ещё не готовы (USB High Speed)
1110 0111 1000 STALL Предыдущий пакет обратился к несуществующему или выключенному функционалу
Data 0011 1100 0011 DATA0 Чётный пакет с данными
1011 1101 0010 DATA1 Нечётный пакет с данными
0111 1110 0001 DATA2 Пакет данных для высокоскоростной изохронной передачи (USB High Speed)
1111 1111 0000 MDATA Пакет данных для высокоскоростной изохронной передачи (USB High Speed)

Пакеты типа 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.

После этого хост производит смену скорости (если устройство High Speed) и назначает устройству адрес.

Отладка и сертификация

[править | править код]

Для отладки протоколов и контроля соответствия стандарту разработчиками устройств могут использоваться различные инструменты, позволяющие наблюдать процессы обмена на шине[45][46]. Эти инструменты могут быть чисто программными, извлекающими события шины из драйверов USB компьютера. Однако такие инструменты не показывают аппаратно обрабатываемые либо ошибочные сигналы в шине. Для всеобъемлющего независимого контроля используются специализированные аппаратные сканеры и анализаторы протоколов. Использование аппаратного анализатора рекомендуется USB консорциумом для прохождения сертификации и при подготовке выпуска приборов в серийное производство.

Формально для получения права на размещение логотипов USB на продукции необходима её сертификация на соответствие стандарту. Организация USB-IF предлагает услуги по сертификации USB-устройств, а также поддерживает перечень сторонних сертифицирующих лабораторий[47].

Разработчики спецификации USB уделили внимание вопросу автоматического определения функциональности USB устройств, чтобы избавить пользователя от рутинных действий при подключении USB устройств. Для этого в стандарте предусмотрено два механизма:

  • Устройство сообщает хосту свои атрибуты, куда входит идентификатор разработчика устройства (VID) и идентификатор изделия (PID). На основании этих идентификаторов хост (компьютер) ищет методы работы с этим устройством (обычно это выражается в требовании установить драйверы, поставляемые разработчиком устройства).
  • Устройство сообщает хосту идентификатор стандартизованного класса устройств. В рамках концепции USB разработан ряд спецификаций стандартных классов устройств, в рамках которых унифицирована работа с устройствами определённой функциональности. Например, широко известны устройства класса Human Interface Device, HID (это мышки, клавиатуры, игровые манипуляторы и т. п.) и устройства Mass Storage («флешки», дисководы). Для популярных классов устройств в компьютерах имеются готовые драйверы, поэтому подключение таких устройств происходит незаметно для пользователя.

Помимо стандартных решений USB, некоторые компании и энтузиасты предлагают иные решения. Например, в среде Windows популярны предустановленные драйверы WinUSB с доступным стороннему разработчику API.

Стандартные классы устройств

[править | править код]

Назначение USB-устройств может определяться кодами классов, которые сообщаются USB-хосту для загрузки необходимых драйверов. Коды классов позволяют унифицировать работу с однотипными устройствами разных производителей. Устройство может поддерживать один или несколько классов, максимальное количество которых определяется количеством доступных endpoints.

Описание кодов классов[48]:

Код Название Примеры использования/примечание
00h N/A Не задано
01h Audio Звуковая карта, MIDI
02h Communication Device (CDC) Модем, сетевая карта, COM-порт
03h Human Interface Device (HID) Клавиатура, мышь, джойстик
05h Physical Interface Device (PID) Джойстик с поддержкой Force feedback
06h Image Веб-камера, сканер
07h Printer Принтер
08h Mass Storage Device (MSD) USB-накопитель, карта памяти, кардридер, цифровая фотокамера
09h USB hub USB-хаб[англ.]
0Ah CDC Data Используется совместно с классом CDC
0Bh Smart Card Reader (CCID) Считыватель смарт-карт
0Dh Content security Биометрический сканер
0Eh Video Device Class Веб-камера
0Fh Personal Healthcare Индикатор пульса, медицинское оборудование
DCh Diagnostic Device Используется для проверки совместимости с USB
E0h Wireless Controller Bluetooth-адаптер
EFh Miscellaneous ActiveSync-устройства
FEh Application-specific IrDA-устройства, режим обновления прошивки (DFU)
FFh Vendor-specific На усмотрение производителя

Электропитание

[править | править код]

В стандарте USB предусмотрена возможность снабжения подключённых устройств небольшой электрической мощностью. Первоначально стандарт USB 2.0 допускал максимальный потребляемый устройством ток до 0,5 А при напряжении 5 В. USB 3.0 увеличил максимальный ток до 0,9 А при том же напряжении. Эти стандарты позволяют хосту контролировать потребление подключённых к шине устройств. Для этого в момент подключения и инициализации устройство сообщает хосту свои энергетические потребности. Хост оценивает энергетические возможности этого сегмента сети и разрешает или запрещает устройству работу.

В попытках стандартизировать запросы энергоемких устройств в 2007 году USB-IF принял спецификацию USB Battery Charging, которая в рамках кабельной инфраструктуры USB 2.0/3.0 позволяла увеличить потребляемый устройством ток до 5А[49][50]. Позже была принята отдельная спецификация USB Power Delivery, которая предусматривает гораздо большую гибкость в управлении питанием.

Стандарты питания USB
Спецификация Макс. ток Макс. напряжение Макс. мощность
USB 1.1/2.0 500 мА 5 В 2,5 Вт
USB 3.0 900 мА 5 В 4,5 Вт
USB 3.2 Gen x2 1,5 A 5 В 7,5 Вт
Battery Charging 1.2 1,5 A 5 В 7,5 Вт
Power Delivery 1.0/2.0/3.0 5 A[a] 20 В 100 Вт
Power Delivery 3.1 5 A[a] 48 В[b] 240 Вт
  1. 1 2 Для токов более 3 А нужны специальные кабели.
  2. Для напряжений 20В и больше нужны специальные кабели

USB Battery Charging

[править | править код]

Первая попытка стандартизировать повышенное потребление мобильных устройств и источников питания с выходным разъёмом USB привела к появлению спецификации USB Battery Charging[51]. Первая версия вышла в 2007 году. Актуальная версия USB BC 1.2 опубликована в 2010 году.

Спецификация разрешала существование специально обозначенных[как?] разъёмов USB-A с повышенной отдачей по току (до 1,5 А). Протокол начального конфигурирования USB дополнялся возможностью «договориться» о расширенном потреблении. Конечное устройство могло увеличить потребление только после «договорённости» с хостом.

Также разрешались разъёмы USB-A с не подключёнными линиями данных, например на зарядных устройствах. Такие зарядные устройства определялись мобильным устройством по замкнутым между собой контактам D+ и D−. Таким устройствам разрешалось отдавать ток до 5 А.

Для малогабаритных потребителей электроэнергии спецификация рекомендовала разъём MicroUSB-B.

В новом стандарте USB Power Delivery концепция электропитания была значительно переработана[52][53]. Теперь разработчики как хоста, так и устройства получили возможность гибко управлять питанием через шину USB. Решение о том, кто является источником, кто потребителем, о возможностях источника и кабеля принимаются в ходе диалога между устройствами по отдельному каналу связи. Предусматривается возможность, что в процессе диалога устройство может потребовать, а хост согласиться на повышение напряжения питания с целью передачи по USB-кабелю большей мощности. Повышенное напряжение выдаётся хостом на провод питания Vbus. Для совместимости со старыми устройствами хост возвращает напряжение к старым значениям 5 вольт, как только обнаруживает отсоединение устройства.

Технология USB Power Delivery обеспечивает передачу мощности до 100 Вт. Благодаря этому при помощи обычного USB-кабеля появилась возможность заряжать и подключать все электронные устройства от источника заряда, которым может выступить смартфон, ноутбук или внешний аккумулятор[54].

В 2012 году представлена первая ревизия USB PD. Использовались стандартные разъёмы и кабели стандартов USB 2.0 и 3.0. Управление питанием осуществлялось путём диалога между потребителем и источником по независимому каналу связи, организованному по проводу питания стандартного кабеля USB (Vbus). Использовалась частотная модуляция с несущей 24 МГц.

Стандарт позволял повышать напряжение на контакте питания USB (Vbus) до 12 В или 20 В при максимальном токе до 5А.

Вторая ревизия стандарта вышла в 2014 году вместе со спецификацией USB 3.1 и привязана к новому разъёму USB Type-C. Теперь для выделенного канала связи между источником мощности и потребителем используется отдельный провод в кабеле (Configuration Сhannel). Также поддерживается определение типа кабеля и его возможностей по передаче мощности, для чего в кабелях с увеличенным максимальным током должна устанавливаться микросхема, сообщающая о параметрах кабеля.

Стандарт позволял повышать напряжение на контакте питания USB (Vbus) до 9, 15 или 20 В при максимальном токе до 5А. Для токов 3А и больше требуется использование специальных кабелей с идентификационной микросхемой.

В 2019 году вышла ревизия USB PD 3.0. Его существенное отличие от USB PD 2.0 — режим Programmable Power Supply, когда потребитель запрашивает не фиксированное напряжение из ряда 5, 9, 15 или 20 В, а может регулировать напряжение в диапазоне 3,3…21В с шагом 20мВ. Также потребитель может запросить у источника увеличение тока с шагом в 50 мА.

Весной 2021 года вышла ревизия USB PD 3.1.[3] Существенное отличие — разделение режимов на Standard Power Range (совместимо с USB PD 3.0) и Extended Power Range, в котором возможны напряжения 28, 36 и 48В. Режим Programmable Power Supply сохранен только для Standard Power Range и не поддерживается в Extended Power Range. Для получения высокого регулируемого напряжения введен режим Adjustable Voltage Supply, позволяющий установить напряжение от 15 до 48В с шагом 100 мВ.

Таким образом, максимальная передаваемая мощность достигла 240Вт. Для токов 3А и больше и напряжений 20В и больше требуется использование специальных кабелей с идентификационной микросхемой. Для маркировки кабелей высокой мощности разработаны специальные логотипы.[35][36][55]

Нестандартные решения

[править | править код]

Питание мобильных гаджетов

[править | править код]

Существует множество устройств, потребляющих ток сверх возможностей согласно спецификации USB.

При этом требуемый устройством ток заряда может быть гораздо выше, чем разрешает отдавать стандарт USB. Чтобы обойти это ограничение, многие производители телефонов выработали свои правила определения специального блока питания — зарядного устройства[56][57]. Теперь при подключении к оригинальному зарядному устройству телефон получает возможность заряжаться максимально быстро. В то же время при подключении к стандартному USB-хосту телефон выполняет рекомендации стандарта USB, заряжаясь пониженным током или не заряжаясь вовсе.

Например, устройства компании Apple определяют максимальный отдаваемый зарядным устройством ток по напряжению на контактах D− и D+. Если D+ = D− = 2,0 В, то макс. ток — 0,5 А. Если D+ = 2,0 В и D− = 2,8 V, то макс. ток — 1 А. Если D+ = 2,8 В и D− = 2,0 В, то макс. ток — 2 А[58].

В 2007 году USB-IF принимает спецификацию USB Battery Charging, чем запускает процесс стандартизации электропитания мобильных устройств. В 2007—2010 годах принимается ряд национальных и международных нормативов (например, Common external power supply[англ.], GSM Universal Charging Solution, китайский «Technical Requirements and Test Method of Charger and Interface for Mobile Telecommunication Terminal Equipment»[59][60]), согласно которым зарядные устройства мобильных гаджетов должны оснащаться однотипными разъёмами: розетка USB-A на корпусе зарядного устройства и Micro-USB-B на самом гаджете. Идентификация зарядного устройства происходит по замкнутым контактам D+ и D−.

Qualcomm Quick Charge

[править | править код]
Сигнализация QC 2.0/3.0

Определённую популярность приобрели технологии компании Qualcomm, похожие на стандарт USB Power Delivery, но более простые в реализации. Было выпущено четыре совместимых друг с другом версии спецификации[61][62]:

Версия Qualcomm Quick Charge 1.0 (2013) предусматривала питание 5 В 2 А и мало отличалась от других нестандартных решений. Распространения не получила.

Версия 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 В по запросу гаджета.

В 2015 году USB-IF опубликовал методику тестирования кабельной инфраструктуры с разъёмами Type C, где прямо запретил управление напряжением на линии питания нестандартными методами. Корпорация Google выпустила рекомендацию не поддерживать QC 2.0 и 3.0 в Android-устройствах[63]. По заявлению инженера Google метод зарядки Qualcomm Quick Charge в версиях 2.0 и 3.0 нарушает стандарт USB Type-C. Согласно пункту 4.8.2 спецификаций, устройство с разъемом USB Type-C может поддерживать собственные методы зарядки, однако они не должны изменять напряжение Vbus (что делает QC поднимая напряжение до 9 В и 12 В)[64][65]. Проблема решена в спецификации Quick Charge 4[источник не указан 243 дня].

Версия Qualcomm Quick Charge 4 представлена в ноябре 2016 года. Заявлена совместимость с кабелями с разъёмами Type C[66]. Версия Qualcomm Quick Charge 4+ представлена летом 2017 года.

Разъёмы PoweredUSB

В 1999 году группа производителей торгового оборудования приняла корпоративный стандарт, по которому разъём USB оснащался дополнительными контактами с напряжениями 5 В, 12 В или 24 В и током до 6 А. Это решение не было поддержано USB-IF.

Преимущества USB 3.0

[править | править код]
  • Возможности передачи данных на скорости до 5 Гбит/с.
  • Контроллер способен одновременно принимать и отправлять данные (полнодуплексный режим), что увеличило скорость работы.
  • USB 3.0 обеспечивает бо́льшую силу тока, что упрощает подключение таких устройств, как, например, жёсткие диски.
  • USB 3.0 совместим со старыми стандартами. Имеется возможность подключать старые устройства в новые порты. Устройства USB 3.0 можно подключать к порту USB 2.0 (в случае достаточности электропитания), но скорость работы устройства будет ограничена скоростью работы порта.
  • Разъёмы mini- и особенно Micro-USB, вследствие конструктивных просчётов производителя, зачастую со временем разбалтываются, начинают терять контакт и не имеют достаточно надёжного крепления к печатной плате, из-за чего при интенсивной эксплуатации могут быть полностью или частично повреждены. В некоторых случаях гнёзда отрываются, что может привести к необходимости замены платы или даже приобретения нового устройства в связи с невозможностью нормального восстановления оторванных печатных дорожек.
  • Протокол требует от конечного устройства поддержания достаточно сложного алгоритма как для непосредственно обмена по шине, так и для поддержания сопутствующих функций типа инициализации или ответов на служебные сообщения. Ввиду своей сложности и разнообразности устройства зачастую аппаратно выполняют лишь базовые уровни протокола, оставляя верхние на откуп программному коду. Это приводит к заметным непроизводительным затратам программной памяти и времени, а также содержит угрозу ошибок и попыток избыточно упростить программный код в ущерб соответствию стандарту.
  • Код производителя (VID) выдаётся разработчику устройства лишь после бюрократической процедуры и оплаты порядка 5000 $. Дополнительно организация разработчиков стандарта USB-IF негативно относится к перепродаже владельцами кодов производителя кодов устройств (PID)[67]. Всё это ограничивает доступность шины для мелких производителей и независимых разработчиков. Свободно доступных кодов для устройств, реализующих стандартные функциональности (например, порт обмена, устройство памяти или аудиоустройство), создатели стандарта не предоставляют.
  • Список классов и подклассов устройств частями непоследователен, чрезмерно раздут, подклассы одного уровня зачастую неравноценны и содержат устаревшую функциональность. Как результат, поддержка определённого стандартного класса зачастую требует избыточного кода, не нужного для непосредственного функционирования, как со стороны устройства, так и хоста (компьютера). То же относится и к типам передаваемых пакетов, часть из которых имеет скорее историческое значение.
  • Несмотря на заявленную универсальность, многие устройства, даже принадлежащие стандартным классам, большей частью требуют программной поддержки и отдельных драйверов на хосте. Так, современная операционная система Windows при подключении внешнего COM-порта или GPS-навигатора (которые относятся к одному стандартному классу коммуникационных устройств) требует для каждого из устройств отдельного драйвера. Это налагает на производителей отдельные обязанности по созданию и, возможно, подписыванию драйверов и содержит риск неработоспособности устройства на операционной системе другой версии.
  • По сравнению с другими форматами передачи данных формат USB 1.0 имеет большие латентности (задержки) передачи информации. В формате USB 2.0 High Speed создатели предприняли попытку для уменьшения проблем латентности, но этот формат сам по себе требует наличия высокоскоростного приёмопередатчика и высокочастотного кабеля сопряжения, что во многих случаях является избыточным и дорогостоящим.
  • Универсальность мешает работе с тайной, управлению критичными процессами: один и тот же порт годится и для клавиатуры, и для носителя данных.

Недостатки USB 2.0

[править | править код]
  • Хотя теоретическая максимальная пропускная способность USB 2.0 составляет 480 Мбит/с (60 МБ/с), на практике обеспечить пропускную способность, близкую к пиковой, не удаётся (макс. 45 МБ/с[68], чаще до 30 МБ/с). Это объясняется тем, что шина USB является полудуплексной — для передачи данных в обе стороны используется всего одна витая пара, поэтому за один такт данные могут быть переданы только в одну сторону, и, соответственно, для двунаправленного обмена данными требуется два такта. Для сравнения, шина FireWire (в стандарте IEEE 1394/1394a) хоть и обладает меньшей пиковой пропускной способностью 400 Мбит/с, что формально на 80 Мбит/с (10 МБ/с) меньше, чем у USB 2.0, но, будучи дуплексной (для передачи данных используется две витые пары — каждая в свою сторону, и для двунаправленного обмена данными требуется 1 такт), она позволяет обеспечить бо́льшую пропускную способность (50 МБ/с[69]) для обмена данными с жёсткими дисками и другими устройствами хранения информации. В связи с этим разнообразные мобильные накопители уже давно «упираются» в недостаточную практическую пропускную способность USB 2.0.

Уязвимость

[править | править код]

В августе 2014 года была продемонстрирована реализация уязвимости устройств USB, получившей название BadUSB. Некоторые USB устройства позволяют изменять микропрограмму микросхемы, отвечающую за взаимодействие с компьютером. Злоумышленник, проведя реверс-инжиниринг конкретного устройства, может создать и записать в него вредоносный код. Этот вредоносный код может, например, имитируя клавиатуру, произвести необходимые действия за пользователя на заражаемом компьютере или, имитируя сетевое устройство, изменить сетевые настройки таким образом, что пользователь будет просматривать сайты Интернета через подконтрольные злоумышленнику промежуточные серверы (Фарминг). Кроме того, имитируя USB-флеш-накопитель, вредоносный код может загрузить и запустить на компьютере с включённым автозапуском вирусную программу. Такой вирус может скопировать себя и на другие устройства USB, подключённые в данный момент к компьютеру, заражая всё новые USB-устройства (веб-камеры, клавиатуры, флеш-карты и др.)[70].

Зловредное устройство USB Kill и подобные могут эксплуатировать другую уязвимость: сразу после подключения к питанию USB-устройство формирует серию высоковольтных импульсов на контакты данных, уничтожая ценные микросхемы внутри компьютера[71][72][73][74]. Уязвимость возникает благодаря доступности гнёзд USB, а также из-за того, что на все порты USB подаётся питание вне зависимости от того, какое устройство в них подключают, и из-за слабой защиты от высокого напряжения в высокоскоростных контактах, подключённых к микросхемам и выведенных на корпус.

Протокол USB Mass Storage, представляющий собой метод передачи команд SCSI по шине USB, имеет бо́льшие накладные расходы, чем соответствующий ему протокол SBP-2 шины FireWire/1394. Поэтому при подключении внешнего диска или привода CD/DVD по FireWire удаётся достичь большей скорости передачи данных. Кроме того, USB Mass Storage не поддерживался в старых ОС (включая Windows 98) и требовал установки драйвера. SBP-2 же в них поддерживался изначально. Также в старых ОС (Windows 2000) протокол USB storage был реализован в урезанном виде, не позволявшем использовать функцию записи CD- и DVD-дисков на подключённом по USB дисководе; SBP-2 никогда не имел таких ограничений.

Шина USB строго ориентирована, поэтому соединение двух компьютеров требует дополнительного оборудования. Соединение оборудования без компьютера, например, принтера и сканера или фотоаппарата и принтера, было определено стандартом USB OTG; ранее же эти реализации были завязаны на конкретного производителя. Шина 1394/FireWire изначально не подвержена этому недостатку (например, можно соединить две видеокамеры).

Примечания

[править | править код]
  1. 82371FB (PIIX) and 82371SB (PIIX3) PCI ISA IDE Xcelerator. Intel (май 1996). Дата обращения: 12 марта 2016. Архивировано 13 марта 2016 года.
  2. 1 2 USB ‘A’ Plug Form Factor Revision 1.0 (PDF). USB Implementers Forum (23 марта 2005). — «Body length is fully 12 mm in width by 4.5 mm in height with no deviations». Дата обращения: 4 июня 2017. Архивировано 19 мая 2017 года.
  3. 1 2 USB-C Power Delivery Hits 240W with Extended Power Range. Дата обращения: 23 февраля 2022. Архивировано 14 ноября 2021 года.
  4. USB исполнилось двадцать лет изобретатель порта объяснил, почему коннектор изначально не сделали «перевертышем». Дата обращения: 28 июня 2019. Архивировано 19 ноября 2015 года.
  5. Happy birthday USB: The standard turns 20, and proud inventor Ajay Bhatt tells all. Дата обращения: 28 июня 2019. Архивировано 31 мая 2019 года.
  6. Useless Serial Bus. USB stands for Useless Serial Bus. 1 USB Acronym/Abbreviation Meaning — What Does USB Stand For? Дата обращения: 10 марта 2012. Архивировано 18 марта 2013 года.
  7. 1 2 3 4 Why Does USB Keep Changing? | Nostalgia Nerd — YouTube. Дата обращения: 13 июня 2021. Архивировано 18 июня 2021 года.
  8. USB 4: Everything We Know, Including Apple Support | Tom’s Hardware. Дата обращения: 13 июня 2021. Архивировано 30 июня 2021 года.
  9. Как соединить компьютеры через USB (23 августа 2003). Дата обращения: 27 сентября 2016. Архивировано 31 марта 2016 года.
  10. Connecting Two PCs Using a USB-USB Cable — Hardware Secrets. Дата обращения: 28 сентября 2016. Архивировано 30 сентября 2016 года.
  11. 1 2 Спецификация USB 1.0 (разделы 7.1.1.1 и 7.1.1.2). Дата обращения: 28 октября 2015. Архивировано из оригинала 28 октября 2015 года.
  12. USB.org - USB Naming and Packaging Recommendations. Дата обращения: 7 января 2013. Архивировано 14 января 2013 года.
  13. К планшетам на свободных ОС можно подключать любую периферию, но это требует сборки собственного ядра
  14. Архивированная копия. Дата обращения: 31 марта 2017. Архивировано 31 марта 2017 года.
  15. USB 3.0 под угрозой. Дата обращения: 28 октября 2009. Архивировано 24 мая 2011 года.
  16. Узнайте больше о ревизии B3 Архивная копия от 4 марта 2012 на Wayback Machine (англ.)
  17. Архивированная копия. Дата обращения: 11 июня 2009. Архивировано 12 июня 2009 года. Блог разработчика Linux USB subsystem Sarah Sharp
  18. The USB-IF doesn’t want you to be confused about USB Type-C. Дата обращения: 24 февраля 2020. Архивировано 24 февраля 2020 года.
  19. Разъём USB Type-C: плюсы, минусы и особенности | AndroidLime. androidlime.ru. Дата обращения: 24 марта 2016. Архивировано 5 апреля 2016 года.
  20. USB Platform Interoperability Lab. Дата обращения: 19 августа 2016. Архивировано из оригинала 20 августа 2016 года.
  21. USB 3.1 GEN 1 & GEN 2 EXPLAINED. Дата обращения: 19 августа 2016. Архивировано 19 сентября 2016 года.
  22. USB.org — SuperSpeed USB. Дата обращения: 19 августа 2016. Архивировано из оригинала 14 мая 2009 года.
  23. "Synopsys Demonstrates Industry's First SuperSpeed USB 10 Gbps Platform-to-Platform Host-Device IP Data Transfer" (Press release). Mountain View, California: Synopsys. 2013-12-10. Архивировано 24 декабря 2013. Дата обращения: 23 декабря 2013. As measured by the Ellisys USB Explorer Protocol Analyzer, the IP realized 10 Gbps USB 3.1 effective data rates of more than 900 MBps between two Synopsys HAPS-70 FPGA-based prototyping systems while using backward compatible USB connectors, cables and software.
  24. USB 3.2 Specification (англ.). USB Implementers Forum, Inc.. Дата обращения: 29 мая 2018. Архивировано 1 июня 2012 года.
  25. Сергей Карасёв. Опубликована спецификация стандарта USB 3.2. 3DNews (28 сентября 2017). Дата обращения: 29 мая 2018. Архивировано 29 мая 2018 года.
  26. Сергей Карасёв. Проведена первая в мире демонстрация возможностей интерфейса USB 3.2. 3DNews (28 мая 2018). Дата обращения: 29 мая 2018. Архивировано 29 мая 2018 года.
  27. Забудьте о USB 3.0 и USB 3.1, стандарт USB 3.2 останется единственным «третьим». Дата обращения: 27 февраля 2019. Архивировано 27 февраля 2019 года.
  28. USB 3.2 Specification Language Usage Guidelines from USB-IF. Дата обращения: 6 марта 2020. Архивировано 3 ноября 2021 года.
  29. USB DevDays 2019 — Branding Session. Дата обращения: 6 марта 2020. Архивировано 22 марта 2020 года.
  30. USB4™ Specification | USB-IF (англ.). USB Implementers Forum (29 августа 2019). Дата обращения: 4 сентября 2019. Архивировано 12 августа 2021 года.
  31. USB4 | USB-IF. www.usb.org. Дата обращения: 3 сентября 2019. Архивировано 24 ноября 2021 года.
  32. Thunderbolt is optional in USB4, USB4 spec says (англ.). PCWorld (3 сентября 2019). Дата обращения: 4 сентября 2019. Архивировано 6 августа 2020 года.
  33. USB4 увеличит скорость передачи данных по кабелям USB Type-C до 40 Гбит/с. 3DNews (4 марта 2019). Дата обращения: 4 сентября 2019. Архивировано 6 марта 2019 года.
  34. Morten Christensen.Upgrade Your SoC Design to USB4 Архивная копия от 4 августа 2020 на Wayback Machine
  35. 1 2 Представлены новые логотипы кабелей USB Type-C, сертифицированных по номинальной мощности. Дата обращения: 2 октября 2021. Архивировано 2 октября 2021 года.
  36. 1 2 На кабелях и устройствах с USB Type-C теперь будет указываться не только скорость передачи данных, но мощность зарядки. Дата обращения: 2 октября 2021. Архивировано 2 октября 2021 года.
  37. Андрей Жученко. Анонсирован стандарт USB4 Version 2.0 с пропускной способностью 80 Гбит/с. 3DNews (1 сентября 2022). Дата обращения: 11 сентября 2022. Архивировано 11 сентября 2022 года.
  38. High-Speed Inter-Chip USB Electrical Specification. Дата обращения: 3 января 2015. Архивировано 3 декабря 2017 года.
  39. What is HSIC? Дата обращения: 28 декабря 2014. Архивировано 12 сентября 2015 года.
  40. Inter-Chip Supplement to the USB Revision 3.0 Specification. Дата обращения: 21 ноября 2008. Архивировано 1 июня 2012 года.
  41. terralab.ru Wireless USB: первые шаги. Дата обращения: 1 ноября 2007. Архивировано из оригинала 10 ноября 2007 года.
  42. Гук М. Аппаратные средства IBM PC.-СПб: Питер,2000.-С.-708-723.-ISBN 5-88782-290-2
  43. Агуров П. В. Интерфейс USB. Практика использования и программирования. — СПб: БХВ-Петербург, 2004. — 576 с. — ISBN 5-94157-202-6.
  44. Corning Incorporated. CES 2013. Optical Cables by Corning. Дата обращения: 13 января 2013. Архивировано из оригинала 18 января 2013 года.
  45. USB Development Tools. Дата обращения: 23 ноября 2016. Архивировано 4 декабря 2016 года.
  46. USB Software and Hardware Tools. Дата обращения: 23 ноября 2016. Архивировано 19 ноября 2016 года.
  47. Independent Test Labs. Дата обращения: 28 марта 2019. Архивировано 28 марта 2019 года.
  48. USB Class Codes. Дата обращения: 22 марта 2012. Архивировано из оригинала 2 апреля 2007 года.
  49. Типы зарядных портов. Дата обращения: 15 июля 2016. Архивировано 16 июля 2020 года.
  50. The Basics of USB Battery Charging: A Survival Guide. Дата обращения: 30 июня 2016. Архивировано 9 сентября 2019 года.
  51. USB Battery Charging v1.2. Дата обращения: 8 ноября 2016. Архивировано из оригинала 28 марта 2016 года.
  52. Как работает Power Delivery Архивная копия от 21 сентября 2017 на Wayback Machine // Хабр. — 22.01.2013.
  53. Революция интерфейсов. USB 3.1 Type-C в деталях. Взгляд электронщика Архивная копия от 11 апреля 2018 на Wayback Machine // Хабр. — 18.05.2015.
  54. USB Power Delivery — что это и как работает? | AndroidLime. androidlime.ru. Дата обращения: 6 мая 2018. Архивировано 7 мая 2018 года.
  55. USB-IF Announces New Certified USB Type-C® Cable Power Rating Logos. Дата обращения: 2 октября 2021. Архивировано 1 октября 2021 года.
  56. Зарядка гаджетов через USB. Дата обращения: 15 июля 2016. Архивировано 21 июля 2016 года.
  57. Зарядка гаджетов через USB. Дата обращения: 30 июня 2016. Архивировано 16 августа 2016 года.
  58. Modify a cheap USB charger to feed an iPod, iPhone or Samsung Galaxy. Дата обращения: 8 ноября 2016. Архивировано 7 октября 2011 года.
  59. «Technical Requirements and Test Method of Charger and Interface for Mobile Telecommunication Terminal Equipment» (CCSA YD/T 1591—2006, later updated to YD/T 1591—2009)
  60. How to conform to China’s new mobile phone interface standards. Дата обращения: 8 ноября 2016. Архивировано 14 мая 2014 года.
  61. Qualcomm Quick Charge — что это и как работает технология быстрой зарядки Архивная копия от 18 мая 2021 на Wayback Machine // galagram.com. — 05.05.2017.
  62. Технология Qualcomm Quick Charge 4+ ускорит зарядку на 15 % Архивная копия от 30 мая 2020 на Wayback Machine // 3dnews.ru. — 02.06.2017.
  63. Google to OEMs: Don’t use Qualcomm Quick Charge; USB-PD is the future : There are two competing quick charge standards. Google wants to kill one of them // Ars Technica. — 11.10.2016.
  64. Белмер, Патрик Функция быстрой зарядки Qualcomm нарушает стандарт USB Type C. Hardwareluxx Russia (26 апреля 2016). Дата обращения: 16 апреля 2024.
  65. «Quick Charge technology and USB-C. Specifically, it’s not possible to support both standards in the same device».
       — Google engineer warns USB-C, Qualcomm Quick Charge are incompatible // www.extremetech.com. — 25.04.2016.
  66. Представлена технология Qualcomm Quick Charge 4 : Технология Qualcomm Quick Charge 4 стала на 20% быстрее // iXBT.com. — 17.11.2016.
  67. MCS Electronics. USB Product ID note. Дата обращения: 1 июня 2015. Архивировано 24 июня 2015 года.
  68. Manuel Masiero, Achim Roos. Adata DashDrive Air AE400 Review: Wi-Fi, Charger, And Card Reader. File Access And Streaming. www.tomshardware.com (10 июля 2013).
  69. Teener, Michael J. What is Firewire? Дата обращения: 14 июля 2008.
  70. 3DNews.В стандарте USB обнаружена критическая уязвимость. Дата обращения: 6 октября 2014. Архивировано 7 октября 2014 года.
  71. Флешка-разрушитель сжигает компьютер разрядом в 200 вольт Архивная копия от 16 сентября 2016 на Wayback Machine, computerworld.ru, 12.09.2016
  72. Легендарная «флешка-убийца» поступила в продажу Архивная копия от 15 сентября 2016 на Wayback Machine — Российская газета, 2016-09-14
  73. Накопитель USB Kill 2.0 за секунду может уничтожить практически любой ПК Архивная копия от 19 сентября 2016 на Wayback Machine — securitylab.ru
  74. USB-брелок, за секунду выводящий ПК из строя, стоит всего €50 Архивная копия от 15 сентября 2016 на Wayback Machine — 3dnews.ru

Литература

[править | править код]
  • Универсальная последовательная шина USB // Модернизация и ремонт ПК = Upgrading and Repairing PCs / Скотт Мюллер. — 17-е изд. — М. : Вильямс, 2007. — Гл. 15 : Последовательный, параллельный и другие интерфейсы ввода-вывода. — С. 1016—1026. — ISBN 0-7897-3404-4.