Данных документов usb интерфейс все. USB-разъемы: типы, их описание, преимущества и недостатки

Введение

Шина USB (Universal Serial Bus - универсальная последовательная шина) появилась по компьютерным меркам довольно давно - версия первого утвержденного варианта стандарта появилась 15 января 1996 года. Разработка стандарта была инициировна весьма авторитетными фирмами - Intel, DEC, IBM, NEC, Northen Telecom и Compaq.

Основная цель стандарта, поставленная перед его разработчиками - создать реальную возможность пользователям работать в режиме Plug&Play с периферийными устройствами. Это означает, что должно быть предусмотрено подключение устройства к работающему компьютеру, автоматическое распознавание его немедленно после подключения и последующей установки соответствующих драйверов. Кроме этого, желательно питание маломощных устройств подавать с самой шины. Скорость шины должна быть достаточной для подавляющего большинства периферийных устройств. Попутно решается историческая проблема нехватки ресурсов на внутренних шинах IBM PC совместимого компьютера - контроллер USB занимает только одно прерывание независимо от количества подключенных к шине устройств.

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

Возможности USB следуют из ее технических характеристик:

  • Высокая скорость обмена (full-speed signaling bit rate) - 12 Mb/s
  • Максимальная длина кабеля для высокой скорости обмена - 5 m
  • Низкая скорость обмена (low-speed signaling bit rate) - 1.5 Mb/s
  • Максимальная длина кабеля для низкой скорости обмена - 3 m
  • Максимальное количество подключенных устройств (включая размножители) - 127
  • Возможно подключение устройств с различными скоростями обмена
  • Отсутствие необходимости в установке пользователем дополнительных элементов, таких как терминаторы для SCSI
  • Напряжение питания для периферийных устройств - 5 V
  • Максимальный ток потребления на одно устройство - 500 mA

Поэтому целесообразно подключать к USB практически любые периферийные устройства, кроме цифровых видеокамер и высокоскоростных жестких дисков. Особенно удобен этот интерфейс для подключения часто подключаемых/отключаемых приборов, таких как цифровые фотокамеры. Конструкция разъемов для USB рассчитана на многократное сочленение/расчленение.

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

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

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

Сигналы USB передаются по 4-х проводному кабелю

Здесь GND - цепь "корпуса" для питания периферийных устройств, VBus - +5V также для цепей питания. Шина D+ предназначена для передачи данных по шине, а шина D- для приема данных.

Кабель для поддержки полной скорости шины (full-speed) выполняется как витая пара, защищается экраном и может также использоваться для работы в режиме минимальной скорости (low-speed). Кабель для работы только на минимальной скорости (например, для подключения мыши) может быть любым и неэкранированным.

Всем привет. Иногда людям интересно узнать, чем USB 3.0 отличается от USB 2.0, иногда хотят понять какая версия или какой тип USB разъема имеется у них на компьютере, что за динозавр такой USB 1.0 и так далее. Давайте немного углубимся в эту тему.

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

Типы USB разъемов

На сегодняшний день существует достаточно большое количество типов USB разъемов. Какие-то больше распространены, какие-то меньше. В общем, давай на них взглянем.

USB type- A – один из самых распространенных типов USB разъемов. Вы могли видеть его на вашем , на , на блоке зарядного устройства и не только. Имеет множество применений. С его помощью можно подсоединять мышки и клавиатуры к компьютеру (или другому устройству), флешки, внешние накопители, смартфоны и так далее. Этот список можно еще долго продолжать, если пораскинуть мозгами.

USB type- B – разъем используется в основном для того, чтобы подключить к компьютеру принтер либо другие периферийные устройства. Получил намного меньшее распространение, нежели USB type-A.

Mini USB был весьма распространен на мобильных устройствах до появления Micro USB. Сейчас встречается очень редко, но все же можно его встретить еще на некоторых старых устройствах. У меня на портативной аудиоколонке разъем Mini USB принимает электроэнергию для зарядки аккумулятора. Колонку эту покупал лет 5 назад (живучая оказалась).

Micro USB сейчас используется на смартфонах и мобильных телефонах почти всех производителей. Этот USB разъем обрел невероятную популярность среди мобильных устройств. Однако постепенно его позиции занимает USB Type-C.

Версия USB 1.0 – археологические раскопки

Прапрапрадед стандарта USB – USB 1.0 появился на свет холодным ноябрем 1995 года. Но родился он немного недоношенным и большой популярности не обрел. А вот его младший брат USB 1.1, появившийся на свет тремя годами позже, был более жизнеспособным экземпляром и смог привлечь к себе достаточно внимания.

Что касается технической части, то скорость передачи данных была небольшой, но по меркам тех времен этой скорости было более чем достаточно. Скорость составляла до 12 Мбит/с и это в режиме высокой пропускной способности.

Отличия разъемов USB 2.0 и USB 3.0

USB 2.0 и USB 3.0 – это два вполне современных USB стандарта, которые сейчас используются повсеместно в компьютерах и ноутбуках. USB 3.0, конечно же, новее и быстрее, а также имеет полную обратную совместимость с USB 2.0 устройствами. Но скорость в таком случае будет ограничена максимальной скоростью по стандарту USB 2.0.

Теоретически скорость передачи данных стандарта USB 3.0 примерно в 10 раз выше, чем у USB 2.0 (5 Гбит/с против 480 Мбит/с). Но на практике скорость обмена информацией между устройствами часто бывает ограничена самими устройствами. Хотя в целом, USB 3.0 все же выигрывает.

Технические отличия

Хоть стандарты USB 2.0 и USB 3.0 и обратносовместимы, но, тем не менее, они имеют некоторые технические отличия. USB 2.0 имеет 4 контакта – 2 для питания устройств и 2 для передачи данных. Эти 4 контакты были сохранены и в стандарте USB 3.0. Но кроме них были добавлены еще 4 контакта, которые нужны для высокой скорости передачи данных и более быстрой зарядки устройств. К слову, USB 3.0 может работать с силой тока до 1 Ампера.

В итоге шнур стандарта USB 3.0 стал толще, и его длина не превышает теперь 3 метра (в USB 2.0 максимальная длина достигала 5 метров). Зато вы сможете зарядить свой смартфон намного быстрее, даже если вы подсоедините несколько смартфонов в один разъем через разветвитель.

Естественно производители позаботились о визуальных отличиях. Можно не искать упаковку от материнской платы, чтобы посмотреть какие стандарты USB она поддерживает. И не нужно для этого лезть в настройки компьютера или в диспетчер устройств. Достаточно просто взглянуть на цвет вашего разъема. Разъем USB 3.0 почти всегда синего цвета. Очень редко он бывает еще красного цвета. В то время как USB 2.0 практически всегда черного цвета.

Так что теперь с одного меткого взгляда вы сможете определить у вас USB 2.0 или USB 3.0 на ноутбуке.

На этом, наверное, можно заканчивать разговор о том, чем отличается USB 2.0 от USB 3.0.

Вывод

Что мы узнали из этой статьи? Что USB делится на стандарты передачи данных, которые отличаются скоростью передачи данных. А также, что USB имеют большое количество типов разъемов.

И что самое интересное, о чем я забыл упомянуть в статье, это то, что типы разъемов могут комбинироваться следующим образом. Вы можете встретить полноразмерный разъем USB type-A и полноразмерный USB type-B, в то же время существует (но редко встречается) micro USB type-A и micro USB type-B (очень распространен). USB type-A может работать по протоколу USB 2.0, а может по протоколу USB 3.0. В общем при желании можно и запутаться.

А если вас беспокоит вопрос, с какими разъемами лучше выбрать себе ноутбук USB 2.0 или USB 3.0, то вообще не парьтесь. Сейчас все современные ноутбуки и компьютеры оснащены и тем и тем типом USB. Например, у меня на ноутбуке два разъема USB 2.0 и один разъем USB 3.0. И все три разъема типа USB type-A.

Вот такие они – USB!

Вы дочитали до самого конца?

Была ли эта статья полезной?

Да Нет

Что именно вам не понравилось? Статья была неполной или неправдивой?
Напишите в клмментариях и мы обещаем исправиться!

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

Существует ряд различных спецификаций USB . Началось все с USB 1.0 и USB 1.1 , затем интерфейс эволюционировал в USB 2.0 , относительно недавно появилась окончательная спецификация USB 3.0 . Но на данный момент наиболее распространенной является реализация USB 2. 0.

Ну и для начала основные моменты и характеристики. USB 2.0 поддерживает три режима работы:

  • High Speed – до 480 Мб/с
  • Full Speed – до 12 Мб/с
  • Low Speed – до 1.5 Мб/с

Командует на шине 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+ < 0.3 В).

Отдельно стоит обсудить питание устройств USB . И тут также возможно несколько вариантов.

Во-первых устройства могут питаться от шины, тогда их можно разделить на два класса:

  • Low-power
  • High-power

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

Кроме того, устройства могут иметь свой собственный источник питания. В этом случае они могут получать до 100 мА от шины, а все остальное забирать у своего источника)

С этим вроде бы все, давайте потихоньку переходить к структуре передаваемых данных. Все-таки это представляет для нас наибольший интерес 😉

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

Каждый кадр включает в себя пакет , затем следуют транзакции для разных конечных точек, ну и завершается все это пакетом EOF (End Of Frame). Если говорить совсем точно, то EOF – это не совсем пакет в привычном понимании этого слова – это интервал времени, в течение которого обмен данными запрещен.

Каждая транзакция имеет следующий вид:

Первый пакет (его называют Token пакет ) содержит в себе информацию об адресе устройства USB , а также о номере конечной точки, которой предназначена эта транзакция. Кроме того, в этом пакете хранится информация о типе транзакции (какие бывают типы мы еще обсудим, но чуть позже =)). – с ним все понятно, это данные, которые передают хост, либо конечная точка (зависит от типа транзакции). Последний пакет – Status – предназначен для проверки успешности получения данных.

Уже очень много раз прозвучало слово “пакет” применительно к интерфейсу USB , так что пора разобраться что он из себя представляет. Начнем с пакета Token :

Пакеты Token бывают трех типов:

  • Setup

Вот к чему я это рассказал..) В зависимости от типа пакета значение поля PID в Token пакете может принимать следующие значения:

  • Token пакет типа OUT – PID = 0001
  • Token пакет типа IN – PID = 1001
  • Token пакет типа SETUP – PID = 1101
  • Token пакет типа SOF – PID = 0101

Переходим к следующей составной части пакета Token – поля Address и Endpoint – в них содержатся адрес USB устройства и номер конечной точки , которой предназначена транзакция .

Ну и поле CRC – это контрольная сумма, с этим понятно.

Тут есть еще один важный момент. PID включает в себя 4 бита, но при передаче они дополняются еще 4-мя битами, которые получаются путем инвертирования первых 4-ых бит.

Итак, на очереди – то есть пакет данных.

Тут все в принципе так же, как и в пакете Token , только вместо адреса устройства и номера конечной точки здесь у нас передаваемые данные.

Осталось нам рассмотреть Status пакеты и пакеты SOF :

Тут PID может принимать всего лишь два значения:

  • Пакет принят корректно – PID = 0010
  • Ошибка при приеме пакета – PID = 1010

И, наконец, пакеты:

Здесь видим новое поле Frame – оно содержит в себе номер передаваемого кадра.

Давайте в качестве примера рассмотрим процесс записи данных в USB-устройство. То есть рассмотрим пример структуры кадра записи.

Кадр, как вы помните состоит из транзакций и имеет следующий вид:

Что представляют из себя все эти транзакции? Сейчас разберемся! Транзакция SETUP :

Транзакция OUT :

Аналогично при чтении данных из USB-устройства кадр выглядит так:

Транзакцию SETUP мы уже видели, посмотрим на транзакцию IN 😉

Как видите, все эти транзакции имеют такую структуру, как мы обсуждали выше)

В общем, думаю достаточно на сегодня 😉 Довольно-таки длинная статья получилась, надеюсь в ближайшее время попробуем реализовать интерфейс USB на практике!

Универсальная последовательная шина (Universal Serial Bus) или же просто USB - это промышленный стандарт, разработанный в середине 1990 годов для того, чтобы стандартизировать подключение периферии к компьютеру. Он заменил большинство интерфейсов и теперь является самым распространенным типом разъемов для потребительских устройств.

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

У многих мог сейчас назреть вопрос: "Если USB должен быть универсальным, то почему он имеет большое количество типов?". Дело в том, что все эти типы USB разъемов выполняют различные функции. Это помогает обеспечить совместимость в случае выпуска устройства с улучшенными характеристиками. Давайте рассмотрим наиболее распространенные виды USB портов.

  • Type-A - большинство кабелей имеют на одном конце коннектор этого типа USB, туда же относятся и кабели современных клавиатур и мышей. Этим же типом USB комплектуются персональные компьютеры и зарядные устройства;
  • Type-B - это порт используется для подключения принтеров и других периферийных устройств к компьютеру. Но в настоящее время он не распространен так, как распространен USB Type-A;
  • Mini USB - это был стандартный разъем для мобильных устройств до появления Micro USB. Этот разъем меньше стандартного, что и можно понять по его названию. Этот тип разъемов тоже немного устарел и был заменен Micro USB, но это не означает, что такие виды USB нигде нельзя найти;
  • Micro USB - на данный момент является стандартом для портативных устройств. Его приняли все крупные производители мобильных устройств, за исключением Apple. Но Micro USB постепенно начинают заменять на USB Type-C. Кстати, существуют различные виды Micro USB разъемов, но об этом поговорим чуть позже;
  • Type-C - такой кабель может иметь на обоих концах один и тот же коннектор. Заявлена более высокая скорость передачи данных и более высокая мощность по сравнению с предыдущими стандартами USB. Такой разъем использовала компания Apple для Thunderbolt 3. О USB Type-C мы поговорим чуть позже;

  • Lightning - не относится к стандарту USB, но является фирменным интерфейсом для мобильной продукции Apple с сентября 2012 года. Устройства же до этого времени использовали менее компактный 30-pin проприетарный разъем.

USB 3.0

Новый стандарт обеспечивает более высокую скорость передачи данных и при этом имеет обратную совместимость со старым стандартом. По форме USB 3.0 и USB 2.0 Type-A одинаковы, просто новый стандарт окрашен в синий цвет, чтобы отличить USB 3.0 от 2.0.

Но увеличение скорости будет только в том случае, когда разъем, куда вставляется кабель или флеш-накопитель должен быть USB 3.0, и сам кабель или флеш-накопитель должен иметь коннектор USB 3.0.

Также кроме USB 3.0 Type-A существуют и другие типы разъемов USB 3.0. Type-B и его Micro версия имеют дополнительные контакты, чтобы обеспечить более высокую скорость передачи данных, что разрушает совместимость этих разъемов со старыми версиями, но старые USB 2.0 устройства можно подключить в новые USB 3.0 разъемы, но прироста скорости вы не получите.

Micro USB

Если у вас есть Android устройство, то вам нужно иметь Micro USB кабель. Даже самые ярые фанаты Apple не могут избежать этого типа разъемов в портативных аккумуляторах, колонках и другом.

Также имеются деления на типы разъемов Micro USB. В основном используется Micro USB Type-B, Type-A особо не распространен, да и я его в реальной жизни никогда не видел. То же самое относится и к Mini USB.

Если вы начнете покупать много гаджетов, вы скоро начнете использовать разные провода для разных устройств, все равно же нет разницы. Так что вам не придется докупать дополнительные провода, если вы их не теряете и не рвете.

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

Также определитесь с длиной кабеля. В поездке короткий кабель удобен, но дома с таким вы будете сидеть на полу возле розетки. Длинный же кабель будет запутываться и всячески мешать вам. Для портативного аккумулятора у меня кабель длиной в 35 сантиметров, а кабель для зарядки смартфона дома длиной в 1 метр.

USB On-The-Go

USB On-The-Go (USB OTG) - это относительно новый стандарт, позволяющий вставлять в портативные устройства флеш-накопители, предназначенные для других USB интерфейсов, кабели, чтобы заряжать что-либо от аккумулятора вашего портативного устройства и так далее. USB OTG поддерживает не только USB Type-A, но и другие виды USB портов.

А теперь представьте, что у вас есть внешний жесткий диск, смартфон и ноутбук. Какие действия вы выполните для того, чтобы переместить какой-либо файл с внешнего жесткого диска на ваш смартфон? Самый простой способ - это сначала переместить файл с внешнего жесткого диска на ноутбук, а с него на смартфон.

А теперь представьте, что вы имеете USB OTG переходник. Просто вставьте переходник в смартфон, а в него кабель от внешнего жесткого диска. Необходимость в ноутбуке отпадает. Удобно?

К сожалению, не все устройства поддерживают USB On-The-Go, так что перед покупкой переходника советую вам проверить ваше устройство на поддержку USB OTG.

Переходники для Lightning существуют и они даже с версии iOS 9 везде работают, но называть это OTG как-то не особо хочется.

USB Type-C

Этот новый стандарт имеет большой задел на будущее. Во-первых, он быстрый и может передавать большие токи, во-вторых, его можно вставить любой стороной и на обоих концах провода может быть один и тот же коннектор.

В 2015 году компания Apple потрясла весь мир, выпустив MacBook с одним USB Type-C разъемом. Это может быть началом тенденции.

Сейчас существует немало устройств с USB Type-C разъемом. Для подключения к компьютеру стоит использовать USB Type-C - USB Type-A кабель, если у вас нет такого же разъема в компьютере.

Покупать дешевые USB Type-C кабели не стоит, совсем не стоит. Очень просто убить ваше устройство. К тому же по такому кабелю проходят большие токи, так что некачественный кабель еще и приведет к пожару. Не жалейте денег на качественный кабель.

Выводы

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

Содержит две пары проводов: одну для сигнальных цепей (D+ и D-) и одну пару для схемной земли (GND) и подачи питания +5 В (Vbus). Допустимая длина сегмента (кабеля от устройства до хаба) — до 5 м. Ограничения на длину сегмента диктуются затуханием сигнала и вносимыми задержками. Задержка распространения сигнала по кабельному сегменту не должна превышать 26 нс, так что при большой погонной задержке допустимая длина кабеля может сократиться. Максимальное удаление устройства от хост-контроллера определяется задержкой, вносимой кабелями, промежуточными хабами и самими устройствами.

В кабеле USB 1.x для сигнальных цепей используется витая пара проводов калибра 28AWG с импедансом 90 Ом. Характеристики кабеля нормированы в частотном диапазоне до 16 МГц. Для питания используется неперевитая пара проводов калибра 20AWG-28AWG. Требований к экранированию кабелей в USB 1.x не выдвигалось. Для низкой скорости может использоваться кабель с неперевитой парой сигнальных проводов (он дешевле и тоньше), но его длина не должна превышать 3 м.

В кабелях USB 2.0 используются провода тех же калибров, но в спецификации описана конструкция кабеля, в которую входит обязательный экран и связанный с ним дополнительный проводник. Такой кабель пригоден для работы на любых скоростях, включая и HS (480 Мбит/с).

Разъемы USB сконструированы с учетом легкости подключения и отключения устройств. Для обеспечения возможности «горячего» подключения разъемы обеспечивают более раннее соединение и позднее отсоединение питающих цепей по отношению к сигнальным. В USB определено несколько типов разъемов:

  • тип «A»: гнезда (рисунок а) устанавливаются на нисходящих портах хабов, это стандартные порты подключения устройств. Вилки типа «A» устанавливаются на шнурах периферийных устройств или восходящих портов хабов;
  • тип «B»: используются для шнуров, отсоединяемых от периферийных устройств и восходящих портов хабов (от «мелких» устройств — мышей, клавиатур и т. п. кабели, как правило, не отсоединяются). На устройстве устанавливается гнездо (рисунок б), на кабеле — вилка;
  • тип «Mini-B» (рисунок в): используются для отсоединяемых шнуров малогабаритных устройств;
  • тип «Mini-A»: введен в спецификации OTG, вилки используются для подключения устройств к портам малогабаритных устройств с гнездом «mini-AB».
  • тип «Mini-AB»: гнезда введены в спецификации OTG для портов двухролевых устройств, которые могут вести себя как хост (если в гнездо вставлена вилка miniA) или как периферийное устройство (если в гнездо вставлена вилка mini-B).

Назначение выводов разъемов USB приведено в таблице, нумерация контактов показана на рисунке выше. Штырьковые разъемы, устанавливаемые на системной плате (рисунок г), предназначены для кабелей-«выкидышей», которыми подключаются дополнительные разъемы USB, устанавливаемые на передней или задней стенках корпуса компьютера (иногда и на боковых). На эти разъемы порты выводятся парами, причем у разных производителей подход к универсальности и защите от ошибочных подключений различен. Подключение «выкидыша», не подходящего к разъему, приводит к неработоспособности порта (к счастью, как правило, временной). Ошибка в подключении цепей GND и +5V может приводить к нагреванию кабелей и разъемов из-за короткого замыкания питающей цепи.

Все кабели USB «прямые» — в них соединяются одноименные цепи разъемов, кроме цепи ID, используемой для идентификации роли устройства в OTG. На вилке mini-A контакт 4 (ID) соединен с контактом 5 (GND), что заставляет порт, к которому подсоединена такая вилка, взять на себя роль нисходящего порта хаба. На вилке miniB такого соединения нет.

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

Для передачи сигналов используются два провода D+ и D-. На каждой стороне интерфейса (порте хаба и подключенного устройства, см. рисунок ниже) имеются:

  • дифференциальный приемник, выход которого используется при приеме данных;
  • управляемый (отключаемый) дифференциальный FS/LS-передатчик — источник напряжения, позволяющий кроме дифференциального сигнала формировать и «линейный 0» (SE0), а также отключаться для обеспечения полудуплексного обмена;
  • линейные приемники, сообщающие текущее состояние каждого сигнального провода;
  • резисторы, подтягивающие уровни сигналов для обнаружения подключения устройства:
    - Rd1, Rd2 (15 кОм) у хаба;
    - Ruf (у FS/HS-устройства) или Rul (у LS-устройства);
  • Дополнительные элементы для работы на высокой скорости (только для устройств HS):
    - коммутатор, отключающий резистор Ruf при выборе высокой скорости;
    - последовательные резисторы Rz1 и Rz2 на выходах дифференциального передатчика, обеспечивающие согласование с линией и нагрузку;
    - управляемый дифференциальный источник тока;
    - детектор амплитуды сигнала;
    - детектор отключения (только на нисходящих портах хабов).

Уровни сигналов передатчиков FS/LS в статическом режиме должны быть ниже 0,3 В (низкий уровень) или выше 2,8 В (высокий уровень). Приемники должны выдерживать входное напряжение в пределах -0,5...+3,8 В. Чувствительность дифференциальных приемников — 200 мВ при синфазном напряжении 0,8-2,5 В. Линейные приемники должны обладать гистерезисом с нижним порогом 0,8 В и верхним порогом 2 В.

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

  • Diff0 : (D+) - (D-) > 200 мВ при (D+) > 2 В;
  • Diff1 : (D-) - (D+) > 200 мВ при (D-) > 2 В;
  • SE0 (single-ended zero): (D+) < 0,8 В и (D-) < 0,8 В.

Для передачи данных используются сигналы Diff0 и Diff1, они кодируют состояния J (Data J State) и K (Data K State). На полной и высокой скорости состояние J соответствует сигналу Diff1, состояние K — сигналу Diff0. На низкой скорости назначение обратное: J — Diff0 и K — Diff1. Последовательная передача информации ведется с использованием кодирования NRZI (см. рисунок ниже): при передачи нулевого бита в начале битового интервала состояние сигнала (J или K) меняется на противоположное; при передаче единичного — не меняется. Длительность битового интервала определяется номинальной частотой передачи: 0,666… мкс для низкой скорости (LS, 1,5 Мбит/с); 83,3… нс для полной (FS, 12 Мбит/с) и 2,0833… нс для высокой (HS, 480 Мбит/с).

Состояние покоя (Bus Idle) на FS/LS соответствует длительному состоянию J, а на HS — состоянию SE0.

Признаком начала пакета является переход из состояния покоя в состояние K, что является первым битом синхропоследовательности (Sync), — последовательности нулей, которая в NRZI кодируется переключением состояний (J и K) в начале каждого битового интервала. Синхропоследовательность позволяет приемнику настроиться на нужною частоту и фазу синхронизации. Синхропоследовательность завершает единичный бит (нет смены состояния), последующие за ним биты относятся к идентификатору и телу пакета. На HS начальная часть синхропоследовательности может быть потеряна хабом (из-за задержки реакции на детектор сигнала). С учетом этого синхросполедовательность для HS удлинена до 32 бит (включая последний единичный бит). Проходя через 5 хабов, каждый из которых может потерять до 4 синхробит, синхропоследовательность может оказаться сокращенной до 12 бит.

Для того чтобы синхронизация не терялась на монотонном сигнале (при передаче длинной последовательности единиц), применяется техника вставки бит (bit stuffing): после каждых 6 подряд следующих единиц передатчик вставляет «0», приемник эти вставленные биты удаляет. Если принимается более 6 единиц подряд, это считается ошибкой вставки бит.

Конец пакета (EOP) на FS/LS обозначается сигналом SE0, длящимся 2 битовых интервала, за которым следует переход в состояние покоя (Bus Idle). На HS для признака EOP используется нарушение правила вставки бит. Здесь в качестве EOP используется передача последовательности 01111111 без вставки бит. Прием седьмой единицы вызовет индикацию ошибки вставки бит, которая на HS и является признаком конца пакета. Нормальный пакет при этом от действительно ошибочного будет отличаться целым количеством принятых байт (это условие может и не проверяться) и верным значением CRC. Начальный нолик (вызывающий смену состояния) в EOP облегчает точное определение границы тела пакета. В пакетах SOF поле EOP удлинено до 40 бит для обнаружения отключения устройства.

Высокая скорость (480 Мбит/с — всего в 2 раза медленнее, чем Gigabit Ethernet) требует тщательного согласования приемопередатчиков и линий связи. На этой скорости может работать только кабель с экранированной витой парой для сигнальных линий. Для высокой скорости аппаратура USB должна иметь дополнительные специальные приемопередатчики. К разводке проводов на печатной плате устройства от интерфейсной микросхемы USB до разъема (или подключения кабеля) предъявляют жесткие требования (максимальная длина, совпадение длин сигнальных проводников, удаленность от других сигнальных цепей, окружение «землей»).

В отличие от формирователей потенциала для режимов FS и LS передатчики HS являются источниками тока, ориентированными на наличие резисторов-терминаторов на обеих сигнальных линиях. Роль терминаторов играют резисторы Rz1 и Rz2 (см. рис. 12.2): при работе на HS дифференциальный передатчик FS/LS формирует SE0, то есть оба его выхода заземляются и эти резисторы оказываются нагрузками для линий D+ и D-. Их сопротивление (с учетом выходного импеданса передатчика) составляет 2×45 = 90 Ом, что и обеспечивает согласование с волновым сопротивлением линии (90 Ом). Устройство и хаб включают свои HS-терминаторы (и отключают Ruf) после успешного взаимного подтверждения режима HS, выполняемого в процессе сброса устройства.

Дифференциальные токовые передатчики формируют импульсы тока с номинальным значением 17,78 мА, который протекает через нагрузку 22,5 Ом (два нагрузочных резистора на обоих концах каждой сигнальной линии соединяются параллельно). При передаче сигнала J ток пропускается в линию D+, при K — в D-. Таким образом обеспечивается дифференциальный сигнал передачи около ±400 мВ.

На вход дифференциального приемника сигнал придет ослабленным; чтобы исключить влияние шумов, в схему устройства введен детектор амплитуды сигнала с порогом 100-150 мВ. Сигнал с дифференциального приемника игнорируется, пока не сработает детектор амплитуды сигнала (в спецификации USB этот прием называется receiver squelch). От срабатывания детектора амплитуды до включения дифференциального приемника может быть задержка до 4 bt, но это приведет лишь к сокращению длины принятой синхропоследовательности в начале пакета.

К статическим (уровни) и динамическим (длительности и время нарастания и спада) параметрам сигналов на HS предъявляются жесткие требования, и существуют специальные шаблоны (Eye Pattern), в которые должны укладываться сигналы. Для тестирования могут быть использованы широкополосные (не уже 1 ГГц) дифференциальные осциллографы и генераторы; выпускаются и специализированные тестеры устройств USB 2.0. Для тестирования HS-устройств (включая и хабы) в USB 2.0 определены специальные управляющие запросы, переводящие выбранный порт в тестовый режим. В стандартных запросах определены следующие тесты:

Хаб обнаруживает подключение устройства по уровням напряжения на линиях D+ и D-:

  • при отключенном устройстве на линиях D+ и D- уровни сигнала низкие (состояние SE0), что обусловлено резисторами Rd1 и Rd2 хаба;
  • при подключении LS-устройства повышается уровень сигнала D- за счет резистора Rul в устройстве (переход в состояние LS-Idle);
  • при подключении FS/HS-устройства повышается уровень сигнала D+ за счет резистора Rul в устройстве (переход в состояние FS-Idle).

Последовательность обнаружения подключения и сброса устройств FS и LS приведена на рисунках а и б соответственно. Хаб следит за сигналами нисходящего порта и сигнализирует об их смене. После обнаружения смены состояния системное ПО выжидает около 100 мс (время на успокоение сигналов) и проверяет состояния порта. Обнаружив факт подключения и тип устройства (LS или FS/HS), ПО дает для этого порта команду сброса шины.

Для выполнения сброса шины (команда Bus Reset) хаб опускает уровень поднятого устройством сигнала (D+ или D) на 10-20 мс (то есть подает сигнал SE0 в течение 10-20 мс). Считается, что через 10 мс после этого сброса устройство должно быть готово к конфигурированию (отзываться только на обращения к EP0 по нулевому адресу устройства).

Сброс шины для устройства HS запускает протокол согласования скорости. При подключении, как и по сигналу сброса, HS-устройство устанавливает свои схемы в состояние FS (отключая терминаторы и включая Ruf). Таким образом, поначалу HS-устройство выглядит для хаба как FS-устройство. Для согласования скорости используется так называемое «чириканье» (chirp-sequence): в ответ на состояние SE0, введенное хабом для сброса (заземлением линии D+), HS-устройство своим дифференциальным токовым передатчикам вводит состояние «chirp-K» (пуская импульс тока в линию D-). На этот импульс HS-хаб ответит импульсом на линии D+, так что получится состояние «chirp-J». Такой обмен импульсами повторяется еще дважды; после успеха согласования и устройство и хаб принимают режим работы HS (и резистор Ruf отключается). Все это «чириканье» занимает 10-20 мс, после чего шина переходит в состояние покоя HS-Idle (длительный сигнал SE0). Теперь хосту надо снова опросить состояние порта хаба, чтобы уточнить режим подключенного устройства (FS или HS). Если HS-устройство подключено к FSпорту, хаб на «чириканье» устройства не ответит.

Отключение устройств FS/LS обнаруживается хабом просто по длительному (более 2 мкс) состоянию SE0. Этот факт хаб доводит до сведения системного ПО (USBD), чтобы устройство было вычеркнуто из всех рабочих списков. Отключение устройств HS таким способом обнаружить не удается, поскольку состояние шины (SE0) при отключении устройства не изменится. Для обнаружения отключения HS-устройства используют эффект отражения сигнала при потере согласованности линии. Специально для этих целей в схему хаба введен дополнительный детектор отключения, а в маркере микрокадра SOF признак EOP (0111…111) удлинен до 40 битовых интервалов. Транслируя SOF на высокоскоростной порт, детектор отключения следит за уровнем сигнала J, и если он превышает порог (625 мВ дифференциального сигнала), значит, нагрузки на другой стороне нет, то есть устройство отключено. Удлинение EOP необходимо, поскольку устройство может отключиться внутренне, и из-за задержки в кабеле устройства (2×26 нс) отраженный сигнал может задержаться до 25 нс. С целью сокращения накладных расходов это удлинение EOP сделали только для пакетов SOF, появляющихся всего раз в 125 мкс.

Команду приостановки устройства — Suspend хаб сигнализирует длительным состоянием покоя (Bus Idle). При этом он должен переставать транслировать все кадры, включая и маркеры микрокадров на порты, для которых подается эта команда. На порты, работающие в LS-режиме, маркеры кадров не транслируются; чтобы LS-устройство не приостанавливалось при отсутствии полезного трафика, ему вместо маркеров SOF хаб с тем же периодом посылает сигнал LS-EOP (SE0 в течении 1,33 мкс). Приостановка делается не менее чем на 20 мс — за это время устройство должно успеть перейти в приостановленное состояние и стать готовым к получению сигнала возобновления.

Команду приостановки HS-порта хаб сигнализирует покоем (SE0) в течение 3 мс, после чего переключает свои цепи в режим FS (отключает терминаторы), но помнит, что порт находится в режиме HS. Для HS-устройства команда приостановки поначалу неотличима от сброса. Чтобы их различить, через 3-3,125 мс непрерывного состояния SE0 HS-устройство переключает свои цепи в режим FS (отключает терминаторы и включает Ruf). Далее, через 100-875 мкс устройство проверяет состояние линий. Если обе лини D+ и D- оказались в низкоуровневом состоянии, значит, хаб подал команду сброса (и устройство должно выполнить chirp-последовательность). Если уровень D+ высокий, а D- низкий (FS-Idle), то это сигнал к приостановке. Таким образом, по состоянию сигналов на шине приостановка выглядит как покой LS/FS — то есть состояние J.

Сигналом к возобновлению работы (resume) является перевод шины в состояние K на длительное время (20 мс), достаточное для «оживления» устройств, после чего хаб посылает сигнал LS-EOP (SE0 в течение 1,33… мкс). После этого шина переходит в состояние покоя соответствующей скорости и начинает передаваться трафик. Сигнал возобновления может подать как хаб, так и приостановленное устройство; последний случай называется удаленным пробуждением. По сигналу возобновления устройство, работавшее в HS-режиме, и его порт хаба переключают свои цепи в HS-режим без всякого согласования (они помнят свой режим).

Удаленное пробуждение — Remote Wakeup — это единственный случай на USB , когда сигнальную инициативу проявляет устройство (а не хост). Сигнал пробуждения может подать только приостановленное устройство, для которого шина находится в FS/LS-состоянии J (резисторами подтягивается вверх D+ или D-). Для сигнализации пробуждения устройство на некоторое время (1-15 мс) формирует состояние K, которое воспримется хабом как сигнал Resume и транслируется им на восходящий порт и на все разрешенные нисходящие порты, включая и тот порт, с которого пришел данный сигнал.

 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!