USB
Материал из Википедии — свободной энциклопедии
USB (англ. Universal Serial Bus, произносится ю-эс-би) — последовательный интерфейс передачи данных для среднескоростных и низкоскоростных периферийных устройств в вычислительной технике. Символом USB являются четыре геометрические фигуры: большой круг, малый круг, треугольник, квадрат.
Разработка спецификаций на шину USB производится в рамках международной некоммерческой организации USB Implementers Forum (USB-IF), объединяющей разработчиков и производителей оборудования с шиной USB.
Для подключения периферийных устройств к шине USB используется четырёхпроводный кабель, при этом два провода (витая пара) в дифференциальном включении используются для приёма и передачи данных, а два провода — для питания периферийного устройства. Благодаря встроенным линиям питания USB позволяет подключать периферийные устройства без собственного источника питания (максимальная сила тока, потребляемого устройством по линиям питания шины USB, не должна превышать 500 мА).
К одному контроллеру шины USB можно подсоединить до 127 устройств по топологии «звезда», в том числе и концентраторы. На одной шине USB может быть до 127 устройств и до 5 уровней каскадирования хабов, не считая корневого.
В настоящее время широко используются устройства, выполненные в соответствии со спецификацией USB 2.0. Ведётся внедрение в производство устройств спецификации USB 3.0.
Содержание |
[править] История
Спецификации для USB 1.0 были представлены в ноябре 1995 года. Разработка USB поддерживалась Intel, Microsoft, Philips и US Robotics. На тот момент для подключения внешних периферийных устройств к персональному компьютеру использовалось несколько «традиционных» (англ. legacy) интерфейсов:
- PS/2;
- последовательный порт;
- параллельный порт;
- порт для подключения джойстика (англ. game port);
- SCSI.
Изначально планировалось, что USB заменит все эти интерфейсы.
Hewlett-Packard, Intel, Lucent (ныне Alcatel-Lucent), Microsoft, NEC, и Philips совместно выступили с инициативой по разработке более скоростной версии USB. Спецификация USB 2.0 была опубликована в апреле 2000 года, и в конце 2001 года эта версия была стандартизирована USB Implementers Forum. USB 2.0 является обратно совместимой со всеми предыдущими версиями USB.
[править] Основные сведения
Кабель USB состоит из 4 медных проводников — 2 проводника питания и 2 проводника данных в витой паре, и заземленной оплётки/экрана.
Кабели USB ориентированы, то есть имеют физически разные наконечники «к устройству» и «к хосту». Возможна реализация USB устройства без кабеля, со встроенным в корпус наконечником «к хосту». Возможно и неразъёмное встраивание кабеля в устройство, как в мышь (стандарт запрещает это для устройств full и high speed, но производители его нарушают). Существуют (хотя и запрещены стандартом) и пассивные USB удлинители, имеющие разъемы «от хоста» и «к хосту».
Шина строго ориентирована, имеет понятие «главное устройство» (хост, он же USB контроллер, обычно встроен в микросхему южного моста на материнской плате) и «периферийные устройства». Шина имеет древовидную топологию, поскольку периферийным устройством может быть разветвитель (hub), в свою очередь имеющий несколько нисходящих разъемов «от хоста». Разветвитель есть сложное электронное устройство, пассивных разветвителей не бывает.
Соединение 2 компьютеров — или 2 периферийных устройств — пассивным USB кабелем невозможно. Существуют активные USB кабели для соединения 2 компьютеров, но они включают в себя сложную электронику, эмулирующую Ethernet адаптер, и требуют установки драйверов с обеих сторон.
Устройства могут быть запитаны от шины, но могут и требовать внешний источник питания. Поддерживается и «спячка» устройств и разветвителей по команде с шины со снятием основного питания при сохранении дежурного питания и пробуждением по команде с шины.
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
Спецификация выпущена в ноябре 1995 года.
Технические характеристики:
- два режима передачи данных:
- режим с высокой пропускной способностью (Full-Speed) — 12 Мбит/с
- режим с низкой пропускной способностью (Low-Speed) — 1,5 Мбит/с
- максимальная длина кабеля для режима с высокой пропускной способностью — 3 м [1]
- максимальная длина кабеля для режима с низкой пропускной способностью — 5 м [1]
- максимальное количество подключённых устройств (включая размножители) — 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 Мбит/с (аудио-, видеоустройства)
- Hi-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: извещение выпущено в октябре 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-устройств без использования ПК. В данной спецификации устройства обходятся без персонального компьютера, то есть выступают как одноранговые приёмопередатчики (на самом деле только создаётся такое ощущение). В действительности же устройства определяют, какое из них будет мастер-устройством, а какое — подчиняемым. Одноранговый интерфейс USB существовать не может.
[править] USB Wireless
USB wireless — технология USB (официальная спецификация доступна с мая 2005 года). Позволяет организовать беспроводную связь с высокой скоростью передачи информации (до 480 Мбит/с на расстоянии 3 метра и до 110 Мбит/с на расстоянии 10 метров).
23 июля 2007 года USB Implementers Forum (USB-IF) объявила о сертификации шести первых потребительских продуктов с поддержкой Wireless USB. [2]
[править] USB 3.0
Стандарт USB версия 3.0 находится на финальных стадиях разработки. Созданием USB 3.0 занимаются компании: Intel, Microsoft, Hewlett-Packard, Texas Instruments, NEC и NXP Semiconductors.
В спецификации USB 3.0 разъёмы и кабели обновлённого стандарта будут физически и функционально совместимы с USB 2.0. Кабель USB 2.0 содержит в себе четыре линии — пару для приёма/передачи данных и две для плюса и минуса питания. В дополнение к ним USB 3.0 добавляет пять новых линий (в результате чего кабель стал гораздо толще), однако новые контакты расположены параллельно по отношению к старым на другом контактном ряду. Теперь можно будет с лёгкостью определить принадлежность кабеля к той или иной версии стандарта, просто взглянув на его разъём. Спецификация USB 3.0 повышает максимальную скорость передачи информации до 4,8 Гбит/с — что на порядок больше 480 Мбит/с, которые может обеспечить USB 2.0.
Версия 3.0 может похвастаться не только более высокой скоростью передачи информации, но и увеличенной силой тока с 500 мА до 900 мА. Отныне пользователь сможет не только подпитывать от одного хаба гораздо большее количество устройств, но и само аппаратное обеспечение избавится от ранее поставлявшихся отдельных блоков питания.
Финальная спецификация USB 3.0 появилась в 2008 году, а оборудование, поддерживающее новую спецификацию, появится в 2009-2010 годах.
Компания Asus анонсировала материнскую плату P6X58 Premium у которой есть два USB 3.0 порта.
В блоге разработчика Linux USB subsystem Sarah Sharp объявлено о поддержке USB 3.0 ядром Linux.
Фирмой Intel анонсирована предварительная версия программной модели контроллера USB 3.0 [3].
Но в октябре 2009 года появилась информация (от EE Times со ссылкой на сотрудника одной из крупнейших компаний по производству персональных компьютеров), что корпорация Intel решила повременить с внедрением поддержки USB 3.0 в свои чипсеты до 2011 г. Это решение приведет к тому, что данный стандарт не станет массовым ещё как минимум полтора года. [4]
[править] Кабели и разъёмы USB 1.0 и 2.0
Спецификация 1.0 регламентировала два типа разъёмов: A — на стороне контроллера или концентратора USB и B — на стороне периферийного устройства. Впоследствии были разработаны миниатюрные разъёмы для применения USB в переносных и мобильных устройствах, получившие название Mini-USB. Новая версия миниатюрных разъёмов, называемых Micro-USB, была представлена USB Implementers Forum 4 января 2007 года.
Размеры разъёмов: USB Тип A — 4x12 мм, USB Тип B — 7x8 мм, USB mini A и USB mini B — 2x7 мм.
Существуют также разъёмы типа Mini-AB и Micro-AB, с которыми соединяются соответствующие коннекторы как типа A, так и типа B.
В отличие от многих других стандартных типов разъёмов[источник не указан 204 дня], для USB типа A характерны долговечность и механическая прочность. Однако, уменьшенные варианты разъёмов, имеющие тонкие пластмассовые выступы, высоко выступающие из подложки гнезда, плохо переносят частое смыкание-размыкание и требуют более бережного обращения.
Сигналы USB передаются по двум проводам четырёхпроводного кабеля.
| Номер контакта | Обозначение | Цвет провода |
|---|---|---|
| 1 | V BUS | красный |
| 2 | D− | белый |
| 3 | D+ | зелёный |
| 4 | GND | чёрный |
Здесь GND — цепь «корпуса» для питания периферийных устройств, VBus — +5 В, так же для цепей питания. Данные передаются по проводам D+ и D− дифференциально (состояния 0 и 1 (в терминологии официальной документации diff0 и diff1 соответственно) определяются по разности потенциалов межу линиями более 0,2 В и при условии, что на одной из линий (D− в случае diff0 и D+ при diff1) потенциал относительно GND выше 2,8 В.[5] Дифференциальный способ передачи является основным, но не единственным (например, при инициализации устройство сообщает хосту о режиме, поддерживаемом устройством (Full-Speed или Low-Speed), подтягиванием одной из линий данных к V_BUS через резистор 1.5 кОм (D− для режима Low-Speed и D+ для режима Full-Speed, устройства, работающие в режиме Hi-Speed, ведут себя на этой стадии как устройства в режиме Full-Speed). [6]. Также иногда вокруг провода присутствует волокнистая обмотка для защиты от электромагнитных помех и физических повреждений.
[править] Кабели и разъёмы USB 3.0
[править] Недостатки USB
Хотя пиковая пропускная способность USB 2.0 составляет 480 Мбит/с (60 Мбайт/с), на практике обеспечить пропускную способность, близкую к пиковой, не удаётся (~33,5 Мбайт/сек на практике). Это объясняется достаточно большими задержками шины USB между запросом на передачу данных и собственно началом передачи. Например, шина FireWire хотя и обладает меньшей пиковой пропускной способностью 400 Мбит/с, что на 80 Мбит/с меньше, чем у USB 2.0, в реальности позволяет обеспечить бо́льшую пропускную способность для обмена данными с жёсткими дисками и другими устройствами хранения информации. В связи с этим разнообразные мобильные накопители уже давно "упираются" в недостаточную практическую пропускную способность USB 2.0
[править] USB и FireWire/1394
Протокол USB storage, представляющий собой метод передачи команд SCSI по шине USB, имеет бо́льшие накладные расходы, чем соответствующий ему протокол SBP-2 шины FireWire/1394. Потому при подключении внешнего диска или привода CD/DVD по FireWire удается достичь немного большей скорости передачи данных.
Кроме того, USB storage не поддерживался в старых ОС (первоначальная Windows 98), и требовал установки драйвера. SBP-2 поддерживался и в них. Также в старых ОС (Windows 2000) протокол USB storage был реализован в урезанном виде, не позволяющем использовать функцию прожига CD/DVD дисков на подключенном по USB дисководе, SBP-2 никогда не имел таких ограничений.
Шина USB строго ориентирована, потому соединение 2 компьютеров или же 2 периферийных устройств требует дополнительного оборудования. Некоторые производители поддерживают соединение принтера и сканера или же фотоаппарата и принтера, но эти реализации завязаны на конкретного производителя. Шина 1394/FireWire не подвержена этому недостатку (например, можно соединить 2 видеокамеры).
Тем не менее, ввиду лицензионной политики Apple, а также намного более высокой сложности оборудования, 1394 менее распространён, материнские платы старых компьютеров не имеют 1394 контроллера. Что касается периферии, то поддержка 1394 обычно не встречается нигде, кроме видеокамер и корпусов для внешних жёстких дисков и CD/DVD приводов.
[править] См. также
[править] Источники
- ↑ 1 2 http://docs.info.apple.com/article.html?artnum=31116
- ↑ terralab.ru Wireless USB: первые шаги
- ↑ http://www.intel.com/technology/usb/xhcispec.htm Intel анонсировала предварительную версию программной модели контроллера USB 3.0
- ↑ http://www.telecomnews.ru/news/21/3452/ USB 3.0 под угрозой
- ↑ Гук М. Аппаратные средства IBM PC.-СПб:Питер,2000.-С.-708-723.-ISBN 5-88782-290-2
- ↑ Агуров П. В. Интерфейс USB. Практика использования и программирования.-СПб:БХВ-Петербург,2004.-576 с.-ISBN 5-94157-202-6
[править] Ссылки
| USB на Викискладе? |
- www.usb.org (англ.)
- USB Specifications (USB 3.0, USB 2.0, Wireless USB) (англ.)
- USB Implementers Forum, Inc.
- USB 3.0 — уже в разработке
- USB 3.0. Новые подробности
- Фотографии разъёмов USB 3.0
- USB News (нем.)
- Распайка разъёма USB 1.1 и 2.0
- List of USB ID’s (Vendors, devices and interfaces) (англ.)
- Обзор по USB (+ сравнение различных интерфейсов с USB по нескольким параметрам)
[править] Литература
- Скотт Мюллер. Модернизация и ремонт ПК (глава 15 — Последовательный, параллельный и другие интерфейсы ввода/вывода — USB) = Upgrading and Repairing PCs. — 17 изд. — М.: «Вильямс», 2007. — С. 1016—1026. — ISBN 0-7897-3404-4
|
|
|
|---|---|
| Параллельные |
ASUS Media Bus • CAMAC • Extended ISA • ISA • LPC • MCA • MBus • Multibus • NuBus • OPTi local bus • PCI • SBus • VESA Local Bus • VMEbus • STD Bus • Unibus • Q-Bus |
| Последовательные |
1-Wire • HyperTransport • I²C • PCI Express • SPI • USB • FireWire |
| Внешние | |
|
|
||||||||
|---|---|---|---|---|---|---|---|---|
| Архитектура |
|
|||||||
| Производители | Analog Devices • Atmel • Silabs • Freescale • Fujitsu • Holtek • Hynix • Infineon • Intel • MicroChip • Maxim • Parallax • Philips • Renesas • Texas Instruments • Toshiba • Ubicom • Zilog | |||||||
| Компоненты | Регистр • Прерывание • CPU • EEPROM • SRAM • Флеш-память • кварцевый резонатор • кварцевый генератор • RC-генератор • Корпус | |||||||
| Периферия | Таймер • АЦП • ЦАП • Компаратор • ШИМ контроллер • Счётчик • LCD • Датчик температуры • Watchdog Timer | |||||||
| Интерфейс | CAN • UART • USB • SPI • I²C • Ethernet | |||||||
| ОС | FreeRTOS • μClinux • BeRTOS • ChibiOS/RT • eCos • RTEMS • Unison • MicroC/OS-II • Nucleus | |||||||
| Программирование | JTAG • C2 • Программатор • Ассемблер • MPLAB • AVR Studio • MCStudio | |||||||

