USB

Материал из Machinepedia
Перейти к: навигация, поиск
Символ USB

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

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

Для подключения периферийных устройств к шине USB используется четырёхпроводный кабель, при этом два провода (витая пара) в дифференциальном включении используются для приёма и передачи данных, а два провода — для питания периферийного устройства. Благодаря встроенным линиям питания USB позволяет подключать периферийные устройства без собственного источника питания (максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 500 мА, у USB 3.0 — 900 мА).

Содержание

История

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

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

Поддержка USB вышла в виде патча к Windows 95b, в дальнейшем она вошла в стандартную поставку Windows 98. В первые годы устройств было мало, поэтому шину в шутку называли «Useless serial bus» — «бесполезная последовательная шина».[1] Впрочем, производители быстро осознали пользу USB, и уже к 2000 году большинство принтеров и сканеров работали с новым интерфейсом.

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

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

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

Пока происходило распространение USB-портов второй версии, производители внешних жёстких дисков уже «упёрлись» в ограничение USB 2.0 — и по току, и по скорости. Потребовался новый стандарт, который и вышел в 2008 году. Уложиться в старые 4 провода не удалось, добавили 5 новых проводов. Первые материнские платы с поддержкой USB 3.0 вышли в 2010 году. На начало 2012 года USB 3.0 массово не поддерживается запоминающими устройствами и материнскими платами. Однако производители USB-накопителей уже начали поставлять на рынок устройства, поддерживающие USB 3.0. Также имеются платы расширения, добавляющие поддержку USB 3.0 в старых компьютерах.

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

Кабель USB состоит из 4 медных проводников — 2 проводника питания и 2 проводника данных в витой паре — и заземленной оплётки (экрана).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

USB 1.0

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

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

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

USB 1.1

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

USB 2.0

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

USB 2.0 отличается от USB 1.1 введением режима Hi-speed.

Для устройств 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).

  • 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: извещение выпущено в октябре 2003 года.
  • 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 OTG (аббр. от On-The-Go) — дальнейшее расширение спецификации USB 2.0, предназначенное для лёгкого соединения периферийных USB-устройств друг с другом без необходимости подключения к ПК. Например, цифровой фотоаппарат можно подключать к фотопринтеру напрямую, если они оба поддерживают стандарт USB OTG. К моделям КПК и коммуникаторов, поддерживающих USB OTG, можно подключать некоторые USB-устройства. Обычно это флэш-накопители, цифровые фотоаппараты, клавиатуры, мыши и другие устройства, не требующие дополнительных драйверов. Этот стандарт возник из-за резко возросшей в последнее время необходимости надёжного соединения различных устройств без использования ПК.

Хотя соединение USB OTG выглядит как одноранговое, на самом деле только создаётся такое ощущение — в действительности устройства «договариваются»: сами определяют, какое из них будет мастер-устройством (хостом), а какое — подчинённым. Одноранговый интерфейс USB существовать не может.

USB Wireless

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

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

USB 3.0

появилась в 2008 году. Созданием USB 3.0 занимались компании Intel, Microsoft, Hewlett-Packard, Texas Instruments, NEC и NXP Semiconductors.

В спецификации USB 3.0 разъёмы и кабели обновлённого стандарта физически и функционально совместимы с USB 2.0. Кабель USB 2.0 содержит в себе четыре линии — пару для приёма/передачи данных, плюс и ноль питания. В дополнение к ним USB 3.0 добавляет ещё четыре линии связи (две витых пары), в результате чего кабель стал гораздо толще. Hовые контакты в разъёмах USB 3.0 расположены отдельно от старых на другом контактном ряду. Теперь можно будет с лёгкостью определить принадлежность кабеля к той или иной версии стандарта, просто взглянув на его разъём. Спецификация USB 3.0 повышает максимальную скорость передачи информации до 5 Гбит/с — что на порядок больше 480 Мбит/с, которые может обеспечить USB 2.0. Таким образом, скорость передачи возрастает с 60 Мбайт/с до 600 Мбайт/с и позволяет передать 1 Тб не за 8-10 часов, а за 40-60 минут.

Версия 3.0 отличается не только более высокой скоростью передачи информации, но и увеличенной силой тока с 500 мА до 900 мА. Отныне пользователь может не только подпитывать от одного хаба большее количество устройств, но и сами устройства во многих случаях смогут избавиться от отдельных блоков питания.

В блоге разработчика Linux USB subsystem объявлено о поддержке USB 3.0 ядром Linux, начиная с версии 2.6.31.

Компания Asus выпустила материнскую плату P6X58 Premium, у которой есть два USB 3.0 порта. А компания Gigabyte выпустила первую материнскую плату с поддержкой USB 3.0 и SATA 6Gb/s для процессоров AMD — Gigabyte GA-790FXTA-UD5. Пластик портов USB 3.0 на материнской плате синего цвета.

Фирмой Intel анонсирована предварительная версия программной модели контроллера USB 3.0. Но в октябре 2009 года появилась информация (от EE Times со ссылкой на сотрудника одной из крупнейших компаний по производству персональных компьютеров), что корпорация Intel решила повременить с внедрением поддержки USB 3.0 в свои чипсеты до 2011 года. Это решение привело к тому, что до 2011 года данный стандарт не стал массовым благодаря просто покупке материнской платы — конечному покупателю придётся докупать необходимое оборудование в виде адаптера.

Введение в третью аппаратную версию (Rev.3) чипов Intel P/H/Q67 для построения материнских плат поддержки спецификации USB 3.0 частично решило данную проблему.

Аппаратная поддержка 4 портов USB 3.0 реализована в 3-м поколении процессоров Intel Core чипсетов 7-й серии Ivy Bridge. В Windows 8 программно "из коробки" поддерживается интерфейс USB 3.0. Apple установила порты USB 3.0 в своих новых Mac Book Air и Mac Book Pro.

Личные инструменты
Пространства имён

Варианты
Действия
Присоединиться сейчас к бесплатной торговой площадке №1 для промышленников в России machinebook
Навигация
Навигация
Рекламодателям
Инструменты
Яндекс.Метрика