- Архитектура ЭВМ
- Компоненты ПК
- Интерфейсы
- Мини блог
- Самое читаемое
- Введение
- Таблица. Сравнение шины USB с традиционными периферийными интерфейсами
- Транзакции и пакеты
- Таблица. Типы пакетов и их идентификаторы PID
- Скорость обмена данными
- Кабели и разъемы
- Таблица. Назначение выводов разъема USB
- Структура устройства с интерфейсом USB
- 🔍 Видео
Архитектура ЭВМ
Компоненты ПК
Интерфейсы
Мини блог
Самое читаемое
Видео:MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
Введение
USB (Universal Serial Bus — универсальная последовательная шина) является промышленным стандартом расширения архитектуры PC, ориентированным на интеграцию с телефонией и устройствами бытовой электроники. Версия стандарта 1.0 была опубликована в начале 1996 года, большинство устройств поддерживают стандарт 1.1, который вышел осенью 1998 года, — в нем были устранены обнаруженные проблемы первой редакции. Весной 2000 года опубликована спецификация USB 2.0, в которой предусмотрено 40-кратное увеличение пропускной способности шины. Первоначально (в версиях 1.0 и 1.1) шина обеспечивала две скорости передачи информации: полная скорость, FS (full speed) — 12 Мбит/с и низкая скорость, LS (low speed) — 1,5 Мбит/с. В версии 2.0 определена еще и высокая скорость, HS (high speed) — 480 Мбит/с, что позволяет существенно расширить круг устройств, подключаемых к шине. В одной и той же системе могут присутствовать и одновременно работать устройства со всеми тремя скоростями. Шина позволяет с использованием промежуточных хабов соединять устройства, удаленные от компьютера на расстояние до 25 м. Подробную и оперативную информацию по USB (на английском языке) можно найти на сайте http://www.usb.org. Разработку устройств и их классификацию и стандартизацию координирует USB-IF (USB Implementers Forum, Inc.).
Шина USB обеспечивает обмен данными между хост-компьютером и множеством периферийных устройств (ПУ). USB является единой централизованной аппаратно-программной системой массового обслуживания множества устройств и множества прикладных программных процессов. Связь программных процессов со всеми устройствами обеспечивает хост-контроллер с многоуровневой программной поддержкой. Этим USB существенно отличается от традиционных периферийных интерфейсов (портов LPT, COM, GAME, клавиатуры, мыши и т. п.), сравнение этих типов подключений приводится в таблице.
Таблица. Сравнение шины USB с традиционными периферийными интерфейсами
Традиционные интерфейсы (COM, LPT, Game…) | Шина USB |
Подключение каждого устройства в общем случае требует присутствия собственного контроллера (адаптера) 1 | Все устройства подключены через один хостконтроллер |
Каждый контроллер занимает свои ресурсы (области в пространстве памяти, ввода/вывода, а также запросы прерывания) | Ресурсы занимает только хост-контроллер |
Малое количество устройств, которые возможно одновременно подключить к компьютеру | Возможность подключения до 127 устройств |
Драйверы устройств могут обращаться непосредственно к контроллерам своих устройств, независимо друг от друга | Драйверы устройств обращаются только к общему драйверу хост-контроллера |
Независимость драйверов оборачивается непредсказуемостью результата одновременной работы с множеством устройств, отсутствием гарантий качества обслуживания (возможность задержек и уменьшения скорости передачи) для различных устройств | Централизованный планируемый обмен обеспечивает гарантии качества обслуживания, что позволяет передавать мультимедийные изохронные данные наряду с обычным асинхронным обменом |
Разнообразие интерфейсов, разъемов и кабелей, специфичных для каждого типа устройств | Единый удобный и дешевый интерфейс для подключения устройств всех типов. Возможность выбора скорости работы устройства (1,5–15–480 Мбит/с) в зависимости от потребности |
Отсутствие встроенных средств обнаружения подключения/отключения и идентификации устройств, сложность поддержки PnP | Возможность «горячего» подключения/отключения устройств, полная поддержка PnP, динамическое конфигурирование |
Отсутствие средств контроля ошибок | Встроенные средства обеспечения надежной передачи данных |
Отсутствие штатного питания устройств | Возможность питания устройств от шины, а также наличие средств управления энергопотреблением |
1 — Возможностью подключения к одному контроллеру множества устройств обладает и шина SCSI, но ее параллельный интерфейс по сравнению с USB слишком дорог, громоздок и более ограничен в топологии.
Видео:Лекция 310. Шина USB - функциональная схемаСкачать
Транзакции и пакеты
Протокол шины USB обеспечивает обмен данными между хостом и устройством. На протокольном уровне решаются такие задачи, как обеспечение достоверности и надежности передачи, управление потоком. Весь трафик на шине USB передается посредством транзакций, в каждой транзакции возможен обмен только между хостом и адресуемым устройством (его конечной точкой).
Все транзакции (обмены) с устройствами USB состоят из двух-трех пакетов, типовые последовательности пакетов в транзакциях приведены на рис. 1. Каждая транзакция планируется и начинается по инициативе хост-контроллера, который посылает пакет-маркер транзакции (token packet). Маркер транзакции описывает тип и направление передачи, адрес выбранного устройства USB и номер конечной точки. Адресуемое маркером устройство распознает свой адрес и готовится к обмену. Источник данных, определенный маркером, передает пакет данных. На этом этапе транзакции, относящиеся к изохронным передачам, завершаются — здесь нет подтверждения приема пакетов. Для остальных типов передач работает механизм подтверждения, обеспечивающий гарантированную доставку данных. Форматы пакетов приведены на рис. 2, типы пакетов — в таблице. Во всех полях пакетов, кроме поля CRC, данные передаются младшим битом вперед (на временных диаграммах младший бит изображается слева). Пакет начинается с синхропоследовательности Sync и завершается признаком конца — EOP. Тип пакета определяется полем PID. Назначение остальных полей раскрывается далее. Длина полей Sync и EOP указана для передач на FS/LS, для высокоскоростных передач поле Sync удлинено до 32 битовых интервалов, а EOP до 8 (в пакетах SOF поле EOP имеет длину 40 бит).
Читайте также: Шины виатти 521 рисунок
Таблица. Типы пакетов и их идентификаторы PID
Имя | Код PID | Содержимое и назначение |
Пакеты-маркеры (Token) | ||
OUT | 0001 | Маркер транзакции вывода, несет идентификатор конечной точки (адрес устройства и номер точки; направление точки определяется кодом PID) |
IN | 1001 | Маркер транзакции ввода, несет идентификатор конечной точки (адрес устройства и номер точки; направление точки определяется кодом PID) |
SETUP | 1101 | Маркер транзакции управления, несет идентификатор конечной точки (адрес устройства и номер точки) |
SOF | 0101 | Маркер начала микрокадра, несет 11-битный номер кадра (вместо полей Addr и EndP) |
PING | 0100 | Пробный маркер управления потоком (в USB 2.0) |
Пакеты данных | ||
DATA0 | 0011 | Пакеты данных; чередование PID позволяет различать четные и нечетные пакеты для контроля правильности подтверждения |
DATA1 | 1011 | |
DATA2 | 0111 | Дополнительные типы пакетов данных, используемые в транзакциях с широкополосными изохронными точками (в USB 2.0 для HS) |
MDATA | 1111 | |
Пакеты квитирования (Handshake) | ||
ACK | 0010 | Подтверждение безошибочного приема пакета |
NAK | 1010 | Индикация занятости (неготовности конечной точки к обмену данными, незавершенности обработки транзакции управления) |
STALL | 1110 | Конечная точка требует вмешательства хоста |
NYET | 0110 | Подтверждение безошибочного приема, но указание на отсутствие места для приема следующего пакета максимального размера (в USB 2.0) |
Специальные пакеты (Special) | ||
PRE | 1100 | Преамбула (маркер) передачи на низкой скорости (разрешает трансляцию данных на низкоскоростной порт хаба) |
ERR | 1100 | Сигнализация ошибки в расщепленной транзакции (в USB 2.0) |
SPLIT (SS и CS) | 1000 | Маркер расщепленной транзакции (в USB 2.0). В зависимости от назначения обозначается как SS (маркер запуска) и CS (маркер завершения), назначение определяется битом SC в теле маркера |
Видео:Контроллер универсальной последовательной шины USBСкачать
Скорость обмена данными
Скорость последовательной передачи (1,5, 12 и 480 Мбит/с для LS, FS и HS соответственно) является только отправной точкой для определения реальной производительности обмена с конкретным устройством и всеми устройствами на шине в целом. Пропускная способность шины в целом определяется еще и соотношением накладных расходов и передаваемых полезных данных. Ниже рассматриваются источники накладных расходов, доля накладных расходов в общем трафике и загрузка шины транзакциями разных типов с разным размером блока данных. Для оценки возможной скорости обмена данными с конкретным устройством, подключенным к USB, отметим ряд моментов:
- c обычной конечной точкой периодических передач (изохронные и прерывания) в каждом n-м микрокадре производится лишь одна транзакция (n определяется параметром bInterval дескриптора конечной точки);
- с широкополосной конечной точкой в микрокадре может производиться до трех транзакций. Широкополосные точки представлены размером поля данных 1024–3072 байт, и загрузка шины, которую они дают, относится ко всем (от 1 до 3) их транзакциям в микрокадре. Пропускная способность Vmax точки с периодической передачей определяется делением размера поля данных пакета максимальной длины Dmax на длительность периода обслуживания T: Vmax = Dmax/T. Период обслуживания T определяется следующим образом:
—— для изохронных конечных точек T = Tk×2bInterval–1, где Tk — период посылки маркеров SOF (1 мс для полной скорости и 125 мкс для высокой); bInterval лежит в диапазоне 1–16. Таким образом, для FS период обслуживания может быть в пределах 1–32768 мс, для HS — 0,125–4096 мс;
—— для FS/LS конечных точек прерываний T = 1×bInterval (мс), bInterval лежит в диапазоне 1–255 (период обслуживания может быть в пределах 1–255 мс);
—— для HS-конечных точек прерываний T = 0,125×2bInterval–1 (мс); bInterval лежит в диапазоне 1–16, период обслуживания может быть в пределах 0,125– 4096 мс. - при передаче массивов число транзакций с конечной точкой в одном микрокадре не определено, но его максимум не превосходит указанного в таблицах. Драйвер USB может использовать и простую политику обслуживания очередей, при которой для каждой точки в микрокадре будет выполняться не более одной транзакции. В каждом микрокадре при самом плотном изохронном потоке есть место для 1–2 транзакций передач массивов, но когда на такие передачи претендует множество устройств, средняя скорость передачи для каждого из них, очевидно, будет невысокой.
Читайте также: Что это за имя такое шина
Видео:📲 СТАЛЬНОЙ КРАСАВЧИК FNIRSI FNB48P 👉 МНОГОФУНКЦИОНАЛЬНЫЙ 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.
Таблица. Назначение выводов разъема USB
Цепь | Контакт стандартного разъема | Контакт миниразъема |
VBus (+5 В) | 1 | 1 |
D– | 2 | 2 |
D+ | 3 | 3 |
GND | 4 | 5 |
ID | — | 4 |
Видео:Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать
Структура устройства с интерфейсом USB
Периферийное устройство с интерфейсом USB можно разделить на две части — интерфейсную и функциональную (см. рисунок ниже). Физически они могут объединяться и на одной микросхеме, но логически их функции четко разделимы.
Все протокольные и сигнальные функции USB обеспечивает блок последовательного интерфейса, SIE (Serial Interface Engine). В сторону USB блок SIE «смотрит» своим портом USB (комплектом приемопередатчиков). Блок SIE занимается последовательным приемом и передачей пакетов, выполняя подсчеты и проверки CRC, вставку битов (bit stuffing) при передаче и их удаление при приеме, кодирование NRZI, проверку форматов, отработку подтверждений и отслеживание корректной последовательности пакетов. С функциональной частью устройства блок SIE обменивается только «чистыми» пользовательскими данными. SIE сигнализирует о приходе очередного пакета к той или иной конечной точке, принимает от функциональной части данные к выдаче (вводу по запросу хоста), сообщает о выполнении этой операции. Количество и тип поддерживаемых конечных точек зависят от реализации SIE. Самые сложные в плане поддержки — точки типа Control, по этой причине многие устройства USB поддерживают лишь одну (обязательную) управляющую точку — EP0. С каждой поддерживаемой точкой в SIE связана буферная память, объем которой должен соответствовать максимальному размеру пакета, заявленному в дескрипторе точки. Блок SIE ведает и всеми дескрипторами (они размещаются в его локальной памяти) — сообщает их хосту по запросам, устанавливает конфигурацию и альтернативные установки. SIE отрабатывает и все запросы хоста, стандартные и специфические (управляет конечными точками, организует засыпание и пробуждение).
Устройство USB должно поддерживать возможность работы на полной, низкой или высокой скорости, в зависимости от требуемой скорости передачи данных и исходя из технико-экономических соображений. Низкоскоростные устройства (и их кабели) обходятся несколько дешевле, но их широкое использование невыгодно с точки зрения производительности шины в целом. Высокоскоростной порт USB требуется только при довольно высокой производительности функциональной части устройства, его применение несколько удорожает устройство (правда, на фоне стоимости функциональной части это не так существенно).
Как правило, периферийные устройства с USB имеют встроенный микроконтроллер, который и является источником и приемником информации, посылаемой через конечные точки. Микроконтроллер должен подчиняться указаниям от шины — выполнять сброс и приостановку по сигналам от порта, отрабатывать установки конфигурации и интерфейсов. Запросы управления стандартными свойствами (остановка и разблокирование точек, разрешение посылки удаленного пробуждения) доходят до контроллера опосредованно — в первую очередь их отрабатывает SIE.
Интерфейс между SIE и микроконтроллером обеспечивает передачу данных с необходимыми сигналами управления, а также генерацию прерываний (или иную сигнализацию) для микроконтроллера по таким событиям, как приход пакета, освобождение буфера передающей EP, срабатывание меток времени (для изохронных точек), неисправимые протокольные ошибки, вызывающие блокировку конечных точек.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🔍 Видео
лекция 313. Формирование пакетов на шине USBСкачать
Лекция 311. Шина USB - кодирование сигналовСкачать
Как работает USB? Просто, доступно, с примерами.Скачать
Все, что вы хотели узнать про USB переходники, но стеснялись спросить.Скачать
Посылочки из Китая. USB-измеритель ёмкости, картридеры и мелкая дрельСкачать
Тестирование трёх 2.0 / 3.0 сетевых карт из Китая.Скачать
Выбираем осциллограф в 2021 году. Тест 4-х моделей на стенде. Собираем генератор Arduino + AD9850.Скачать
ЧЕМ ОТЛИЧАЮТСЯ USB РАЗНОГО ЦВЕТА?Скачать
Настройка шины CAN по событиюСкачать
НЕВЕРОЯТНЫЙ ДЕВАЙС! УСТРОЙСТВО ПОСЛЕДНЕГО ПОКОЛЕНИЯ КОТОРОЕ ВСЕ ХОТЯТ USB Fnirsi FNB58Скачать
Микшерные пульты Yamaha MG10XUF и Yamaha MG12XUK (популярная микшерная консоль)Скачать
Анализатор шины LIN. Обзор обновленной версии. LIN bus analyzer reviewСкачать
Маркер для шин. Стайлинг своими рукамиСкачать
ТЕОРИЯ И ПРАКТИКА. Ремонтируем Андроид ТВ-приставку, Лазерную цветомузыку и USB зарядку.Скачать
Жёсткость шины и высота профиля. Размеры шин. Как выбрать.Скачать