Юсб интерфейс что это
Интерфейс USB. Введение.
В данном цикле статей будет рассмотрен под разными углами интерфейс USB (USB 2.0) Попробуем разобраться, как он работает и закрепить полученные знания практически. «Копать» мы будем достаточно глубоко, не коснемся только физического уровня передачи данных (вернее коснемся вскользь). Физический уровень возьмет на себя соответствующий периферийный модуль МК.
Все примеры, которые я буду приводить, будут привязаны к линейке МК AT91SAM7S. Так как эта линейка МК не очень популярна в Сообществе, я постараюсь акцентировать внимание на работе самого интерфейса и по минимуму затрону специфические для этого МК особенности реализации.
Примеры будут базироваться на «глубоко модернизированном» и достаточно низкоуровневом примере реализации USB от Atmel. Готовые библиотеки рассматривать не будем. Не по тому, что это плохо, просто наша цель разобраться — как работает интерфейс.
В качестве практического задания – давайте поставим целью создать CDC-ACM устройство. На практике, за сокращением CDC-ACM стоит «обыкновенный» виртуальный СОМ-порт. С терминологией разберемся позже, пока скажем так: на уровне ОС устройство будет автоматически распознаваться как последовательный интерфейс (COM-порт в Win, /dev/ttyS в Linux и т. д.).
USB –последовательный интерфейс, используемый для подключения периферийных устройств. Соответственно, существуют понятие «главное устройство» (хост, он управляет обменом данными через интерфейс, выступает инициатором обмена) и «периферийное устройство» (клиент, в процессе обмена данными «подчиняется» хосту).
Логика работы у хоста и клиента принципиально отличается, соответственно нельзя напрямую соединять устройства «хост – хост» и «клиент – клиент».
Есть специальные устройства – хабы, которые подключаются в качестве клиента к одному хосту и, в тоже время, выступают хостом для других периферийных устройств. Хабы используют для «разветвления» шины USB.
Полагаю, изложенные факты общеизвестны, двигаемся далее.
Физически интерфейс USB использует 4 провода: «земля (GND)», «+5В (VBUS)», «D+», «D-». Первые два могут использоваться для питания периферийного устройства (максимальный ток 500 мА). Два последних служат для передачи данных (обозначение D+ и D- условны, с электрическими потенциалами это никак не связанно).
Как я уже сказал, физическую передачу данных через D+ и D- нам обеспечит USB модуль МК.
Нам нужно знать следующее:
1. Питание на периферийное устройство подается сразу после подключения к USB разъему хоста. Сам разъем сконструирован таким образом, что первыми входят в «зацепление» контакты «GND» и «VBUS», только потом «D+» и «D-».
2. Подключение устройства к USB разъему хоста не означает, что хост сразу определит подключение нового устройства. Если не вдаваться в подробности, подключение/отключение устройства хост определяет по наличию вешней подтяжки на линиях D+ и D-. Такая формулировка очень упрощена, детально ознакомиться с вопросом можно в разделе 7.1.7.3 официальной спецификации USB 2.0.
В нашем случае, для того чтобы «заявить о себе» нужно подтянуть линию D+ посредством сопротивления 1.5 кОм к напряжению 3.3 вольта. Если мы уберем данную подтяжку – хост определит отключение устройства.
Подтяжку можно сделать постоянной (в таком случае хост будет определять подключение / отключение устройства одновременно с подключением / отключением устройства к разъему USB), либо управлять подтяжкой через ключ, дергая ногой МК (тогда наше устройство сможет самостоятельно подключатся и отключатся от хоста).
На логическом уровне, обмен данными происходит через некоторые логические, виртуальные каналы внутри одного физического USB интерфейса. Такие каналы называют «Конечными точками» (EndPoints).
Конечные точки (каналы) бывают 4 видов:
Control – данный тип канала используется хостом для управления периферийным устройством. Хотя иногда данный тип канала используется для передачи данных.
Bulk — данный тип канала используется для обмена данными. Гарантирование целостности данных и гарантированная доставка данных для данного типа канала реализована «в железе». Однако скорость передачи данных по такому каналу ограничена.
Isochronous — данный тип канала в основном используется для обмена потоковыми данными. Целостность и доставка данных не контролируются, зато скорость значительно выше чем для Bulk каналов.
Interrupt – используются для реализации подобия «прерываний». Такие «прерывания» являются логическими, и никак напрямую не связанны с аппаратными прерываниями МК или прерываниями ОС.
Минимальная реализация USB устройства требует наличие всего одного Control канала (так называемая «нулевая конечная точка»). Остальные типы каналов, как и их количество определяет разработчик устройства исходя из функций устройства.
Однако, существуют некоторые стандартизированные классы USB устройств. Для каждого такого класса количество каналов, их типы и назначение установлено стандартом для данного класса устройств.
Мы стремимся создать устройство класса CDC (communications device class). Использование стандарта, в данном случае, избавит нас от необходимости писать драйвер для ОС. Как правило, драйвера для стандартных классов устройств уже «вшиты» во все популярные ОС.
Детально ознакомляться с типами каналов будем по ходу реализации нашего устройства. Забегая наперед, скажу, что в нашем устройстве будет 3 канала. Control канал для управления и два Bulk канала для предачи данных по направлению «ПК-МК» и, соответственно «МК-ПК».
Первая — вводная статья получилась слишком теоретической.
В следующей статье мы поговорим о дескрипторах USB устройства и рассмотрим процедуру инициализации устройства (запрос дескрипторов хостом и т. д.). Увы, но опять будет много теории, запаситесь терпением. 🙂 Ничего, нам осталось «пережевать» дескрипторы устройств, после чего появятся примеры кода.
Скачать официальную спецификацию USB 2.0 можно здесь.
Интерфейс USB. Полный обзор и структура пакетов данных.
Сегодняшняя статья будет посвящена, как уже видно из названия, обсуждению основ интерфейса USB. Рассмотрим основные понятия, структуру данных, разберемся, как происходит передача данных, а в ближайшем будущем реализуем все это на практике. Приступаем!
Существует ряд различных спецификаций USB. Началось все с USB 1.0 и USB 1.1, затем интерфейс эволюционировал в USB 2.0, относительно недавно появилась окончательная спецификация USB 3.0. Но на данный момент наиболее распространенной является реализация USB 2.0.
Ну и для начала основные моменты и характеристики. Интерфейс USB 2.0 поддерживает три режима работы:
Командует на шине USB хост (например, ПК), к которому можно подключить до 127 различных устройств. Если этого мало, то нужно добавить еще один хост. Причем немаловажно, что устройство не может само послать/принять данные хосту/от хоста, необходимо, чтобы хост сам обратился к устройству.
Почти во всех статьях про интерфейс USB, которые я видел используется термин «конечная точка«, но о том, что это такое обычно написано довольно туманно. Так вот, конечная точка — это часть устройства USB, имеющая свой уникальный идентификатор. Каждое устройство USB может иметь несколько конечных точек. По большому счету — конечная точка — это всего лишь область памяти USB устройства, в которой могут храниться какие-либо данные (буфер данных). И в итоге мы получаем вот что — каждое устройство имеет свой уникальный адрес на шине USB, и при этом каждая конечная точка этого устройства имеет свой номер. Вот так вот 🙂
Давайте немного отвлечемся и поговорим о «железной части» интерфейса.
Существуют два типа коннекторов — Type A и Type B.
Как уже понятно из рисунка Type A всегда обращен к хосту. Именно такие разъемы мы видим на компьютерах и ноутбуках. Коннекторы Type B всегда относятся к подключаемым USB-устройствам. Кабель USB состоит из 4 проводов разных цветов. Ну, собственно, красный — это питание (+5 В), черный — земля, белый и зеленый предназначены для передачи данных.
Помимо изображенных на рисунке, существуют также другие варианты исполнения USB-коннекторов, например, mini-USB и другие, ну это вы и так знаете 🙂
Наверно стоит немного коснуться способа передачи данных, но углубляться в это пока не будем… Итак, при передаче данных по шине USB используется принцип кодирования NRZI (без возврата к нулю с инверсией). Для передачи логической «1» необходимо повысить уровень линии D+ выше +2.8 В, а уровень линии D- надо понизить ниже +0.3 В. Для передачи нуля ситуация противоположная — (D- > 2.8 В) и (D+
Каждый кадр включает в себя пакет SOF (Start Of Frame), затем следуют транзакции для разных конечных точек, ну и завершается все это пакетом EOF (End Of Frame). Если говорить совсем точно, то EOF — это не совсем пакет в привычном понимании этого слова — это интервал времени, в течение которого обмен данными запрещен.
Каждая транзакция имеет следующий вид:
Первый пакет (его называют Token пакет) содержит в себе информацию об адресе устройства USB, а также о номере конечной точки, которой предназначена эта транзакция. Кроме того, в этом пакете хранится информация о типе транзакции (какие бывают типы мы еще обсудим, но чуть позже 🙂 ). Data пакет — с ним все понятно, это данные, которые передают хост, либо конечная точка (зависит от типа транзакции). Последний пакет — Status — предназначен для проверки успешности получения данных.
Уже очень много раз прозвучало слово «пакет» применительно к интерфейсу USB, так что пора разобраться что он из себя представляет. Начнем с пакета Token:
Пакеты Token бывают трех типов:
Пакет In сообщает нашему USB-устройству, что хост готов принять от него информацию. Пакет Out, напротив, сигнализирует о готовности и желании хоста поделиться информацией. Пакет Setup нужен для использования управляющих передач. Ну а пакет Start Of Frame используется для того, чтобы инициировать начало кадра.
Вот к чему я это рассказал… В зависимости от типа пакета значение поля PID в Token пакете может принимать следующие значения:
Переходим к следующей составной части пакета Token — поля Address и Endpoint — в них содержатся адрес USB устройства и номер конечной точки, которой предназначена транзакция.
Ну и поле CRC — это контрольная сумма, с этим понятно.
Тут есть еще один важный момент. PID включает в себя 4 бита, но при передаче они дополняются еще 4-мя битами, которые получаются путем инвертирования первых 4-ых бит.
Итак, на очереди Data пакет — то есть пакет данных:
Тут все в принципе так же, как и в пакете Token, только вместо адреса устройства и номера конечной точки здесь у нас передаваемые данные.
Осталось нам рассмотреть Status пакеты и пакеты SOF:
Тут PID может принимать всего лишь два значения:
И, наконец, Start Of Frame пакеты:
Здесь видим новое поле Frame — оно содержит в себе номер передаваемого кадра.
Давайте в качестве примера рассмотрим процесс записи данных в USB-устройство. То есть рассмотрим пример структуры кадра записи.
Кадр, как вы помните состоит из транзакций и имеет следующий вид:
Что представляют из себя все эти транзакции? Сейчас разберемся! Транзакция SETUP:
Аналогично при чтении данных из USB-устройства кадр выглядит так:
Транзакцию SETUP мы уже видели, посмотрим на транзакцию IN:
Как видите, все эти транзакции имеют такую структуру, как мы обсуждали выше 🙂
В общем, думаю достаточно на сегодня. Довольно-таки длинная статья получилась, в ближайшее время обязательно попробуем реализовать интерфейс USB на практике!
Виды USB-разъемов
USB-разъемы – это двусторонние шнуры, которые позволяют связываться устройству (телефону, планшету) с компьютером. Существует 3 вида ЮСБ. Типы разъемов USB отличаются скоростью передачей пакетов.
Преимущества использования
Разъем USB (Universal Serial Bus) – технология по которой периферийное устройство подключается к ПК или Mac. ЮСБ-разъем – удобный способ проводного соединения гаджета с компьютером. Рассмотрим подробнее, что такое USB.
Преимущества использования последовательной универсальной шины.
Технология помогает пользователю связываться с компьютером за минимальное время. Удобно включить кабель в USB-выход и начать работу.
Виды разъемов
Виды USB-разъемов зависят от выполняемой функции и скорости с который передаются данные. Благодаря существованию нескольких типов ЮСБ-разъемов охватывается расширенный функционал, который позволяет пользователю упрощать связь компьютера с устройством (мышка, клавиатура, iPad, МФУ, сканер и другие).
При выборе ЮСБ необходимо обращать внимание на тип USB-кабеля, выполняемую и функцию скорость передачи.
Type-A
Этот разъем USB все еще занимает лидирующее место среди других типов. Пользователь сталкивается с такими кабелями каждый день. К ним относятся накопители (флешки), ЮСБ-кабели от зарядок. Большинство камер и роутеров оснащены этим видом ЮСБ-кабеля. Отличается надежностью и безопасностью в использовании. Его тяжелее сломать и вывести из строя.
Данный тип оснащен встроенной системой безопасности. Кабель возможно вставить в компьютер только 1 стороной. Если перевернуть шнур, то он попросту не зайдет в разъем. Что является преимуществом. Особенно при использовании кабеля неопытными пользователями.
Type-B
Тип B используется для подключения периферии – МФУ, сканеров, факсов и так далее. Кабель типа B не всегда поставляется в комплекте с устройством и часто его приходится докупать самостоятельно. Отличают 2 вида ЮСБ кабелей типа b: micro- и mini-USB.
Разновидность мини ЮСБ представляет собой устаревший USB-порт. Это ранняя версия микро типа. Использование мини ЮСБ сведено к минимуму. Но все-таки иногда встречаются устройства, использующие этот вид соединения. Как выглядит micro ЮСБ можно смотреть на фото.
Type-С
Был придуман сравнительно недавно (первое появление на рынке в 2014 году). Разъем USB Type C находится в начале своего развития и активно не используется. Обладает уменьшенными размерами обоих входов. Впервые использован компанией Apple, которая и сегодня продолжает совершенствовать эту разработку.
Основные отличия Micro и Mini USB
Перечисленные виды ЮСБ разъемов имеют как общие сходства, так и различия. Связано это в основном с линейными размерами.
Сегодня Микро тип используется в большинстве выпускаемых мобильных устройств. Использование Mini постепенно сокращается.
Классификация и распиновка
Совместимость интерфейсов
USB-разъемы одного вида различают по выпускаемой версии. Интерфейс стандарта 3.0 предлагает скорость передачи данных до 1 Гбит/сек. Стоимость 3-го стандарта на порядок выше второго, но пользователи останавливают выбор на нем, так как в стандарте 3.0 увеличена скорость передачи.
Интерфейсы совместимы, но работают с ухудшением качества и эффективности. Например, если вставить кабель 2.0 в порт 3.0, то передатчик будет работать со скоростью 2.0. Такое наблюдается и в обратную сторону.
Поэтому для правильного применения ЮСБ стандарта 3.0 нужен разъем в компьютере с такой же скоростью. Иначе деньги будут отданы зря. Скорость обмена информацией не изменится.
USB – последовательная универсальная шина, позволяющая устройству связываться с компьютером. Типы 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 стал «общим знаменателем» под тремя не связанными друг с другом стремлениями разных компаний:
Поддержка 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 1.0
Спецификация выпущена 15 января 1996 года.
USB 1.1
Спецификация выпущена в сентябре 1998 года. Исправлены проблемы и ошибки, обнаруженные в версии 1.0. Первая версия, получившая массовое распространение. 15 мбит/с
USB 2.0
Спецификация выпущена в апреле 2000 года.
USB 2.0 отличается от USB 1.1 введением режима Hi-speed.
Для устройств USB 2.0 регламентировано три режима работы:
Последующие модификации
Последующие модификации к спецификации USB публикуются в рамках Извещений об инженерных изменениях (англ. Engineering Change Notices — ECN). Самые важные из модификаций ECN представлены в наборе спецификаций USB 2.0 (англ. USB 2.0 specification package ), доступном на сайте USB Implementers Forum.
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. [2]
USB 3.0
Area SD-PEU3N-2EL (USB 3.0 PCIe card), USB 3.0 хост на базе микросхемы µPD720200 фирмы Renesas
USB 3.0 хаб, демонстрационная плата на базе микросхемы VL810 фирмы VIA
В спецификации USB 3.0 разъёмы и кабели обновлённого стандарта физически и функционально совместимы с USB 2.0, причём для однозначной идентификации разъёмы USB 3.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 мА. Таким образом, от одного хаба можно подпитывать большее количество устройств либо избавить сами устройства от отдельных блоков питания.
Хост-контроллер USB-3(xHCI) обеспечивает аппаратную поддержку потоков для команд, статусов, входящих и исходящих данных, что дает более полное использование пропускной способности USB-шины. Потоки были добавлены к протоколу USB 3.0 SuperSpeed для поддержки UASP.
Аппаратная поддержка 4 портов USB 3.0 реализована в 3-м поколении процессоров Intel Core чипсетов 7-й серии Ivy Bridge. Apple установила порты USB 3.0 в своих новых MacBook Air и MacBook Pro.
Linux поддерживает USB 3.0, начиная с версии ядра 2.6.31. [7]
В Windows 8 интерфейс USB 3.0 поддерживается без установки дополнительных драйверов.
Кабели и разъёмы USB
Кабели и разъёмы USB 1.x и 2.0
Спецификация 1.0 регламентировала два типа разъёмов: A — на стороне контроллера или концентратора USB и B — на стороне периферийного устройства. Впоследствии были разработаны миниатюрные разъёмы для применения USB в переносных и мобильных устройствах, получившие название Mini-USB. Новая версия миниатюрных разъёмов, называемых Micro-USB, была представлена USB Implementers Forum 4 января 2007 года.