USB — это аббревиатура Universal Serial Bus. До появления шины USB компьютеры и клавиатуры, мыши, сканеры и принтеры использовали выделенные интерфейсы для подключения. Интерфейсы различных устройств нельзя было использовать взаимозаменяемо, а масштабируемость была очень плохой каждый раз, когда устройство подключалось или подключалось. при отключении от сети компьютер пришлось выключить, горячее подключение не поддерживалось, а скорость связи была очень низкой. Для решения вышеперечисленных проблем и родилась шина USB. Шина USB похожа на трубу. Пока все, что течет по трубе, соответствует протоколу USB, шина USB не заботится о том, что конкретно течет. Это может быть водопроводная вода, сточные воды, природный газ или нефть. В зависимости от конкретного устройства, если оно поддерживает протокол USB, его можно подключить к компьютеру, например, к USB-клавиатуре, USB-мыши, USB-камере, USB-динамику и т. д. Появление USB упрощает соединение между компьютерами и периферийными устройствами, повышает масштабируемость, поддерживает горячую замену и обеспечивает высокую скорость связи.
С момента появления протокола USB появилось несколько версий протокола USB, например USB1.0, USB1.1, USB2.0, USB3.0, USB3.1 и USB3.2. Последним является протокол USB4.0, который можно напрямую подключить к шине PCIe процессора. Максимальная скорость может достигать 40 Гбит/с. Он использует интерфейс Type-C и совместим с видеопротоколом DP, протоколом быстрой зарядки PD и т. д. ., и поддерживает блок питания мощностью до 100 Вт.
Версия протокола USB | Название скорости | максимальная ставка | источник питания | тип | Время запуска |
---|---|---|---|---|---|
USB1.0 | Низкоскоростной | 1.5Mbps | 5V/500mA | полудуплекс | Январь 1996 г. |
USB1.1 | Полноскоростной | 12Mbps | 5V/500mA | полудуплекс | сентябрь 1998 г. |
USB2.0 | Высокоскоростной | 480Mbps | 5V/500mA | полудуплекс | апрель 2000 г. |
USB3.0(USB3.2 Gen1) | Суперскоростной USB | 5Gbps | 5V/900mA | полный дуплекс | ноябрь 2008 г. |
USB3.1(USB3.2 Gen2) | SuperSpeed USB 10Gbps | 10Gbps | 20V/5A | полный дуплекс | июль 2013 г. |
USB3.2(USB3.2 Gen2×2) | SuperSpeed USB 20Gps | 20Gbps | 20V/5A | dual-lane | Сентябрь 2017 г. |
USB4.0(Gen3×2) | ---- | 40Gb s | 100 | однополосный или двухполосный, совместимый с Thunderbolt | август 2019 г. |
Примечание. Когда был запущен USB3.2, USB-IF объявил о новой спецификации именования, переименовав USB3.0 в USB3.2 Gen1, USB3.1 в USB3.2 Gen2 и сможет использовать два USB Type-C Rx/ Вывод Tx USB3.2 переименован в USB3.2 Gen2×2.
На рисунке ниже (источник этого изображения не найден) показаны логотипы и интерфейсы, используемые различными версиями протокола USB. После USB3.2 используются только интерфейсы Type-C, включая USB4.0 и Thunderbolt3. не показано на картинке.
На рисунке ниже показан логотип, используемый протоколом USB3.2. Этот логотип является последней версией на веб-сайте USB-IF.
На рисунке ниже показан символ, используемый протоколом USB4.0. USB4.0 использует полосу Gen3, однополосная может достигать 20 Гбит/с, а двухполосная — 40 Гбит/с. USB4™ 20 Гбит/с использует одну линию, USB4™ 40 Гбит/с использует две линии.
USB — это шина в режиме «ведущий-подчиненный». Хост называется «Хост», а ведомое устройство (также называемое «устройство») — «Устройство». Между ведомыми устройствами и ведомыми устройствами или между хостами нет соединения (за исключением USB4.0). Каждый обмен данными инициируется хостом. Подчиненный не может активно инициировать обмен данными и может только пассивно отвечать на запрос хоста. Благодаря протоколу USB USB3.0 и более поздних версий хост также может взаимодействовать с концентратором (концентратором). Для повышения гибкости появился USB OTG (On The Go). USB OTG поддерживает переключение между главным и подчиненным устройствами. Одно и то же устройство может переключаться между хостом и подчиненным в разных случаях. Линия USB ID добавляется к линии USB OTG. Когда линия USB ID подтянута, она находится в режиме подчиненного устройства (устройства). Когда линия USB ID заземлена, она находится в режиме хоста.
Как показано на рисунке ниже, шина USB представляет собой древовидную топологию. Корневым узлом дерева является хост-контроллер USB, а к хост-контроллеру USB подключен корневой концентратор USB (корневой концентратор). USB-концентратор (концентратор) может расширить один USB-интерфейс на несколько USB-интерфейсов, а расширенные USB-интерфейсы можно расширить с помощью USB-концентратора (концентратора). Каждый USB-интерфейс можно подключить к USB-устройствам. Концентратор может только расширять больше интерфейсов USB, но не увеличивать пропускную способность. Все USB-устройства используют полосу пропускания хост-контроллера USB. Если имеется несколько USB-устройств, которым требуется более высокая пропускная способность, вы можете рассмотреть возможность подключения их к другому хост-контроллеру USB в корне. концентратор, чтобы избежать недостаточной пропускной способности.
На рисунке ниже представлена принципиальная схема кабеля USB3.2.,Также совместим с USB2.0. USB использует данные дифференциальной сигнализации,D+ и D- на рисунке ниже представляют собой пару дифференциальных линий.,SSTX+ и SSTX- — пара дифференциальных линий.,SSRX+ и SSRX- представляют собой пару дифференциальных линий. USB2.0 имеет только одну пару дифференциальных линий.,То есть D+ и D- на рисунке ниже.,Поэтому USB2.0 является полудуплексным.,Невозможно отправлять и получать данные одновременно. USB3.2 имеет две пары дифференциальных линий.,То есть SSTX+ и SSTX и SSRX+ и SSRX.,Поэтому USB3.2 является полным дуплексом.,Может отправлять и получать сообщения одновременно. USB3.2 и USB2.0 используют разные дифференциальные линии для передачи данных.,Эти двое не мешают друг другу,Может работать одновременно. Канал передачи данных USB2.0 сохраняется в кабеле USB3.2.,Достигнута совместимость с USB2.0. USB Хозяин может обеспечить питание оборудования по линии VBUS,Максимальная мощность составляет 20 В/5 А. GND — это заземляющий провод.
На рисунке ниже показано поперечное сечение кабеля USB3.2. Красная линия питания — это VBUS, зеленая и серая UTP — это D+ и D-, а две пары голубых дифференциальных линий — это SSRX+, SSRX, SSTX+ и SSTX. Черный — это земля. Помимо этого, есть оплетка и экранирование.
Контрольная транзакция Передача управления используется для настройки устройства, получения информации об устройстве, отправки команд на устройство и получения статуса устройства. Каждое USB-устройство имеет конечную точку управления в конечной точке 0. Когда USB-устройство вставляется в топологическую сеть USB-хоста, USB-хост связывается с USB-устройством через конечную точку 0 и настраивает USB-устройство для облегчения последующей передачи данных. Протокол USB обеспечивает достаточную пропускную способность для передачи управления. Передача управления надежна и время гарантировано, но объем передаваемых данных невелик. Например, процесс перечисления USB-устройств использует передачу управления. Прервать транзакцию Когда USB-хост запрашивает USB-устройство для передачи данных, прерывание передачи передает небольшой объем данных с фиксированной скоростью. Метод передачи данных конечной точки прерывания — передача данных по прерыванию. Передача данных надежна и имеет высокую производительность в реальном времени. Прерывание здесь не является прерыванием, генерируемым USB-устройством, но USB-хост активно запрашивает USB-устройство каждый фиксированный момент времени. есть ли данные для передачи, и выполняется по очереди. Метод запроса повышает производительность в реальном времени. Например, USB-мышь использует передачу с прерыванием. Массовая транзакция Массовая передача используется для передачи больших объемов данных. Протокол USB не гарантирует, что передача данных может быть завершена в течение определенного времени, но гарантирует точность данных. Если пропускной способности шины недостаточно для отправки всего пакетного пакета, данные для передачи разбиваются на несколько пакетов. Пакетная передача данных надежна, но производительность в реальном времени низкая. Такие устройства, как жесткие диски USB и принтеры, используют пакетную передачу. Изохронная транзакция Изохронная передача также может передавать большие объемы данных, но надежность данных не может быть гарантирована. USB-устройства, использующие изохронную передачу, уделяют больше внимания поддержанию постоянной скорости передачи данных и не предъявляют высоких требований к надежности данных. Например, USB-камеры используют изохронную передачу.
Хост-контроллер USB 2.0 управляет передачей, разделяя время на кадры шириной 1 миллисекунду в низкоскоростном и полноскоростном режимах и на микрокадры шириной 125 микросекунд в высокоскоростном режиме. Главный контроллер выделяет части каждого кадра или микрокадра для отдельных передач. Каждый кадр (или микрокадр) начинается с начала кадра (SOF) с привязкой по времени. Шина SuperSpeed не использует SOF, но хост-контроллер все равно может планировать передачи SuperSpeed в пределах времени шины 125 микросекунд.
Передачу через USB можно запланировать в виде 1 или нескольких кадров или микрокадров.,Каждый перевод содержит несколько транзакций,Каждая транзакция дополнительно содержит несколько пакетов. Пакеты должны передаваться в пределах кадра или микрокадра.,Невозможно объединить кадры или микрокадры. Информационные пакеты разделены на 4 категории,жетон пакет информации о классе подтверждение тип транзакции,Пакет информации о классе данных содержит данные и код состояния.,Пакет информации о классе рукопожатия содержит код состояния,Последний — это информационный пакет особого типа.
Передача через USB состоит из одной или нескольких транзакций, которые загружают данные в конечную точку или из нее. Транзакция USB 2.0 начинается с пакета токена, отправленного хостом по шине. пакет). Информация токена содержит номер целевой конечной точки и направление. Пакет токена IN представляет собой пакет данных, запрашивающий конечную точку. Пакет токена OUT — это предварительная информация для пакета данных, отправленного хостом. Помимо данных, каждый пакет также содержит биты проверки ошибок и идентификатор пакета (PID) со значением последовательности данных. Многие транзакции также имеют пакеты подтверждения. packet),Он используется получателем данных для сообщения об успехе или неудаче транзакции. Для сверхвысокоскоростных переводов,Информационные пакеты и протоколы разные,Но он содержит тот же адрес, проверку ошибок и значения последовательности данных, соответствующие данным.
Информационный пакет | PID-имя | Значение (двоичное) | Передача инфекции | источник | иллюстрировать |
---|---|---|---|---|---|
жетон | OUT | 0001 | все | Хозяин | Адреса устройств и конечных точек, необходимые для транзакций IN. |
жетон | IN | 1001 | все | Хозяин | Адреса устройств и конечных точек, необходимые для транзакций IN. |
жетон | SOF | 0101 | начало кадра | Хозяин | Идентификатор SOF и номер кадра |
жетон | SETUP | 1101 | контроль | Хозяин | Адреса устройств и конечных точек, используемые для транзакций установки. |
данные | DATA0 | 0011 | все | Хозяин、оборудование | данные Альтернативный илиданныеPIDпоследовательность |
данные | DATA1 | 1011 | все | Хозяин、оборудование | данные Альтернативный илиданныеPIDпоследовательность |
данные | DATA2 | 0111 | Ожидающий | Хозяин、оборудование | данныеPIDпоследовательность |
данные | MDATA | 1111 | Ожидающий、разделенная транзакция | Хозяин、оборудование | данныеPIDпоследовательность |
рукопожатие | ACK | 0010 | контроль、партия、прерывать | Хозяин、оборудование | Принимающая сторона получает правильный пакет информации о данных. |
рукопожатие | NAK | 1010 | контроль、партия、прерывать | оборудование | Принимающая сторона не может получить данные,Или метод отправителя никто для отправки данных или никто данные для отправки |
рукопожатие | STALL | 1110 | контроль、партия、прерывать | оборудование | контроль Запрос не поддерживается иликонечная точкаостановился |
рукопожатие | NYET | 0110 | контроль Писать、партия、OUT、разделенная транзакция | оборудование | Правильно получен пакет информации о данных,Но пока не готов к следующему,Или центр не завершил разделение информационного пакета данных. |
особенный | PRE | 1100 | контроль、прерывать | Хозяин | Предварительный сигнал от Хозяина |
особенный | ERR | 1100 | все | центр | Ошибка возвращена центром |
особенный | SPLIT | 1000 | все | Хозяин | разделенная транзакция |
особенный | PING 0100 | контроль Писать、партия、OUT | Хозяин | ПИН-тест | |
особенный | EXT | 0000 | никто | Хозяин | расширение, не используется |
С точки зрения структуры SuperSpeed обратно совместим с USB2.0, но между ними существуют некоторые существенные различия в протоколах. Основные различия заключаются в следующем: