Решение... Советы... Windows 10

Какую функцию выполняет хост в интерфейсе usb. Как работает 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 на практике!

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

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

USB-Flash Drive (флешка, флэшка) — устройство для накопления и хранения информации. Переданные устройству данные располагаются и хранятся во флэш-памяти. Для получения информации usb флешку необходимо подключить к телевизору (Smart), компьютеру, планшету или любому другому считывающему устройству.

К основным недостаткам USB флэш-накопителя можно отнести ограниченный цикл записи/стирания, но хранящуюся в устройстве можно считать бесконечное количество раз. Цикл перезаписи современными стандартами на сегодняшний день ограничен от 10000 и до 100000 раз. Если взять во внимание минимальный цикл перезаписи (10000) то может показаться, что для эксплуатации такое количество более чем достаточно. Но на самом деле это не так.

Представьте себе ситуации, когда вы интенсивно используете флэшку перезаписывая на ней данные по нескольку раз в день. Согласитесь, что при такой эксплуатации, такое количество циклов (10000) для обновления информации уже не кажется таким уж большим. Хотя, справедливости ради, стоит сказать, что для рядового пользователя флэш-накопитель с минимальным ограничением перезаписи прослужит немало времени.

К сожалению не все USB накопители отрабатывают свой положенный срок честно. Как правило, виной этому производители мало известных фирм и компании с неизвестным происхождением, которые не соблюдают технологических норм при создании постоянного запоминающего устройства (ПЗУ). Очень часто наши китайские «друзья», которые любят делать подделки именитых брендов, не соблюдают технологию (не качественные детали) и создают дешевые накопительные устройства, которые раньше положенного времени выходят из строя.

На что нужно обратить внимание при выборе USB-флэш-накопителя.

  • Производитель (компания).Чтобы свести к минимуму преждевременный выход из строя USB-флэш-накопителя, делайте свой выбор в пользу зарекомендовавших себя компаний, которые работаю на рынке не один год. Например, это могут быть такие компании как: Kingston, Transcend, Corsair, Apacer…
  • Так же при выборе usb-флэш-накопителя обратите внимание на каком типе памяти она построена. Хорошо если в ней установлена флэш-память типа NAND, потому что именно этот тип памяти может выполнить около 100000 циклов записи/стирания информации.

В основе USB флэш-накопителя находиться типа NAND и небольшой микроконтроллер со встроенным ROM или RAM. Флэш-память (Flash Memory) относится к классу EEPROM (Electrically Erasable Programmable Read-Only Memory) — электрически стираемое перепрограммируемое запоминающее устройство ПЗУ или ЭСППЗУ.

Основное достоинство этого устройства в том, что оно энергонезависимо, а значит ему не нужно электричество для хранения данных. Стоит сказать, что основная особенность EEPROM в том, что хранящуюся информацию в устройстве (mini SD, MMC, SD, USB-флешка…) можно считать бесконечное количество раз, а вот количество записи к сожалению ограничено (мы уже с вами говорили о том ).

Как правило на упаковке указывают и то и другое. Но и не редки случай, когда указывают только число циклов или тип памяти.

  • Тип ячеек памяти.В рядовых флэшках (USB-Flash-Drive) используют два типа ячеек памяти MLC и SLC. Как правило более дешевые модели USB флэш-накопителей комплектуют MLC (Multi-level cell — многоуровневые ячейки памяти)ячейками, которые могут выдержать около 10 тысяч циклов. Ну и как вы уже догадались SLC (Single-level cell — одноуровневые ячейки памяти) ячейками комплектуют более дорогие модели, которые выдерживают до 100000, а то и более циклов записи/стирания.

Принцип работы USB -флеш-накопителя и его компоненты.

Как я уже писал выше, что в основе USB-накопителя лежит флэш-память типа NAND или NOR. В свою очередь флэш-память содержит в себе кристалл кремния на котором размещены полевые транзисторы с плавающими и управляющими изолированными затворами. Стоит сказать, что полевые транзисторы имеют сток и исток. Так вот плавающий затвор транзистора способен удерживать заряд (электроны).

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

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

Устройство USB Flash накопителя состоит из следующих электронных компонентов:

  1. Разъем USB.
  2. Микроконтроллер.
  3. Контрольные точки.
  4. Чип (микросхема) флэш-памяти.
  5. Кварцевый резонатор.
  6. Светодиод.
  7. Переключатель (защита от записи).
  8. Место для микросхемы памяти (дополнительное место).

Компоненты и симптомы не стабильной работы USB Flash накопителя.

  1. PCB — это многослойная печатная плата, которая служит основой для всех размещенных (распаянных) деталей электроники. Имеет следующие типичные неисправности: некачественно выполненный монтаж деталей электроники при деформации (изгибы, удары) платы приводит к внутренним разрывам около проводников и нестабильной работе usb-флэш накопителя.
  2. USB разъем — предназначен для подключения флэш-накопителя к устройствам чтения. При некачественном монтаже разъем отрывается от дорожек и в месте пайки. Не так давно я сталкивался с данным явлением.
  3. Микроконтроллер — микросхема, в обязанности которой входит управление памятью типа NAND и передача информации. Содержит в себе данные о производителе и типе памяти, а также хранит в себе необходимую служебную информацию для правильного функционирования флэш-накопителя. По вине контроллера чаще всего происходит выход из строя флэш-накопителя.
  4. Симптомы характеризующие его выход из строя: флэш-накопитель определяется как «неизвестное устройство», показывает не правильный размер (объем) накопителя или просит вставить чистый диск в устройство чтения. Причиной выхода из строя контроллера (сгорает) — служит некачественное питание, плохая работа стабилизатора и неправильное извлечение флэш-накопителя.
  5. Микросхема памяти типа NAND — это энергонезависимая память, которая отвечает за хранение информации. По истечении N-го количества времени, при сбое или повреждении в памяти могут образоваться поврежденные блоки (бэд блоки). Возможны и другие причины появления испорченных блоков, в которые больше не представляется возможным записывать/считывать информацию. Устранить такую неисправность можно с помощью узкоспециализированных программ, что в конечном итоге уменьшит объем памяти, но восстановит работоспособность.
  6. Кварцевый резонатор — используется для построения опорной частоты, которая необходима для функционирования логики контроллера и флэш-памяти. При выходе из строя, USB флэш-накопитель определяется как «неизвестное устройство» или не определяется вовсе(не видит считывающее устройство).

Преимущества USB-флешек:

  • Небольшой размер, вес, портативность.
  • Накопитель можно подключить к любому устройству считывания (практически везде есть USB).
  • Практически нет влияния от внешней окружающей среды (пыль, царапины, загрязненность).
  • USB флешка может работать в широком диапазоне температур.
  • Малые габариты позволяют хранить большой объем информации.
  • Низкое энергопотребления.
  • В сравнении с жестким дискам, она устойчивее к внешним воздействиям, вибрациям и ударам.
  • Удобство подключения к устройству.
  • Высокая скорость доступа к данным.

Недостатки USB-флешек:

  • Ограниченное число циклов записи и стирания перед выходом из строя.
  • Ограниченный срок автономного хранения данных.
  • Скорость записи и чтения ограничены пропускной способностью шины USB и самой флеш-памяти.
  • Чувствительны к радиации и электростатическому разряду (обычно наблюдается в быту, чаще всего зимой).

В заключении статьи предлагаю Вам посмотреть тематическое видео по производству USB Flash накопителей на заводе Kingston Production.

USB — разработанный в середине девяностых годов стандарт обмена данными между устройствами и их питания. Этот протокол используется для подключения к компьютеру периферии и пришел на замену нескольким разработанным ранее портам. Стандарт утвержден несколькими крупными компаниями, в том числе IBM, Intel, Microsoft и NEC. В июне 2009 года Еврокомиссия приняла разъем micro USB в качестве стандартного для зарядки смартфонов, выпускаемых 14 крупнейшими производителями.

USB используется для подключения к компьютеру Flash-накопителей, жестких дисков, звуковых карт, колонок, микрофонов, MIDI-клавиатур, адаптеров Wi-Fi, модемов, клавиатур, мышей, джойстиков, веб-камер, принтеров, кард-ридеров, оптических приводов и прочей техники, а также для зарядки аккумуляторов и питания маломощных устройств. Компания Microsoft ввела поддержу USB в Windows 98, Apple в начале века пыталась продвигать стандарт FireWire, однако впоследствии отдала предпочтение USB, а в некоторых продуктах использует собственную разработку - интерфейс Lightning, основанный на USB 2.0 и нескольких проприетарных протоколах.

Официально стандарт USB 1.x был утвержден в начале 1996 года. Он предусматривал обмен данными на двух скоростях: низкой - до 1,5 Мбит/с и высокой - до 12 Мбит/c. В 1998 стандарт был обновлен до версии 1.1, в которой был устранен ряд проблем первой версии.

USB 2.0 утвержден в апреле 2000 года и до настоящего момента наиболее распространен. Теоретически максимальная скорость обмена данными выросла до 480 Мбит/с, в реальной жизни она редко превышает 280 Мбит/с. Напряжение, подаваемое через плату составляет 5 В при силе тока 150 или 500 мА.

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

Стандарт USB 3.0 утвержден в 2008 году, в нем скорость передачи данных увеличена до 5 Гбит/с, а сила тока - до 900 мА. В кабеле USB 3.0 используется девять проводников: два для питания и семь для передачи данных. Стандарт также получил дополнительную спецификацию для использования в зарядных устройствах - сила тока составляет 1,5 А, при этом передача данных не предусмотрена. Как правило, контакты порта USB 3.0 размещены на площадке синего цвета.

В 2013 году утвержден стандарт USB 3.1, в котором теоретическая скорость передачи информации выросла по сравнению с USB 3.0 вдвое - до 10 Гбит/с. Стандарт обратно совместим с USB 2.0 и 3.0. Сила тока при напряжении 5 В увеличена до 2 А, также предусмотрено питание с силой тока 5 А при напряжении 12 и 20 В.

Чаще всего внешние устройства, питающиеся от USB, поддерживают «горячее» подключение и отключение, что достигается замыканием заземляющих контактов и как следствие отсутствием разницы потенциалов корпусов.

Передача данных между USB-хостом и периферийным USB-устройством осуществляется через управляемый программно USB-контроллер. Данные передаются короткими пакетами «вопрос-ответ». Пакеты одновременно уходят в оба направления, при этом контроллер не дожидается подтверждения их доставки, что обеспечивает обмен данными с высокой скоростью. Пакеты могут передаваться как с гарантией доставки (например, в устройствах ввода), так и без нее (при передаче видео и звука).

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

На сегодняшний день флешки являются самыми популярными внешними носителями данных. В отличие от оптических и магнитных дисков (CD/DVD и винчестеры соответственно), флеш-накопители более компактны и устойчивы к механическим повреждениям. А за счет чего были достигнуты компактность и устойчивость? Давайте же разберемся!

Первое, что следует отметить — внутри flash-накопителя нет движущихся механических частей, которые могут пострадать от падений или сотрясений. Это достигается за счет конструкции — без защитного корпуса флешка представляет собой печатную плату, к которой припаян USB-разъем. Давайте рассмотрим её составляющие.

Основные компоненты

Составные части большинства флешек можно разделить на основные и дополнительные.


К основным относятся:

  1. чипы NAND-памяти;
  2. контроллер;
  3. кварцевый резонатор.
  4. USB-разъем

NAND-память
Накопитель работает благодаря NAND-памяти: полупроводниковым микросхемам. Чипы такой памяти, во-первых, весьма компактны, а во-вторых — очень ёмкие: если на первых порах флешки по объему проигрывали привычным на тот момент оптическим дискам, то сейчас превышают по ёмкости даже диски Blu-Ray. Такая память, ко всему прочему, еще и энергонезависимая, то есть для хранения информации ей не требуется источник питания, в отличие от микросхем оперативной памяти, созданных по похожей технологии.


Однако у НАНД-памяти есть один недостаток, в сравнении с другими типами запоминающих устройств. Дело в том, что срок службы этих чипов ограничен определенным количеством циклов перезаписи (шагов чтения/записи информации в ячейках). В среднем количество read-write cycles равно 30 000 (зависит от типа чипа памяти). Кажется, это невероятно много, но на самом деле это равно примерно 5 годам интенсивного использования. Впрочем, даже если ограничение будет достигнуто, флешкой можно будет продолжать пользоваться, но только для считывания данных. Кроме того, вследствие своей природы, NAND-память очень уязвима к перепадам электричества и электростатическим разрядам, так что держите её подальше от источников подобных опасностей.

Контроллер
Под номером 2 на рисунке в начале статьи находится крохотная микросхема — контроллер, инструмент связи между флеш-памятью и подключаемыми устройствами (ПК, телевизорами, автомагнитолами и пр.).


Контроллер (иначе называется микроконтроллер) представляет собой миниатюрный примитивный компьютер с собственным процессором и некоторым количеством RAM, используемыми для кэширования данных и служебных целей. Под процедурой обновления прошивки или BIOS подразумевается как раз обновление ПО микроконтроллера. Как показывает практика, наиболее частая поломка флешек — выход из строя контроллера.

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

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

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

Дополнительные компоненты

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

Светодиодный индикатор
Во многих flash-накопителях присутствует небольшой, но довольно яркий светодиод. Он предназначен для визуального отображения активности флешки (запись или считывание информации) или же просто является элементом дизайна.


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

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


При попытке записать или удалить информацию с накопителя, в котором включена защита, ОС выдаст такое вот сообщение.

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

Этот элемент тоже может сломаться, в результате чего возникает досадная ситуация — девайс вроде работоспособен, но пользоваться им невозможно. У нас на сайте есть материал, который может помочь решить эту проблему.

Уникальные компоненты

К таковым можно отнести, например, наличие разъемов Lightning, microUSB или Type-C: флешки с наличием таковых предназначены для использования в том числе на смартфонах и планшетах.

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

Обычный пример - в сети у нас много узлов, которые все общаются друг с другом. Это делается каждым узлом, имеющим адрес (например, IP-адрес), и когда узел хочет поговорить с другим узлом, он отправляет пакет на этот адрес. Затем у вас есть устройства, такие как маршрутизаторы, которые принимают пакеты, поступающие на несколько портов, и перенаправляют их на правильный порт. Арбитраж выполняется с использованием памяти для хранения пакетов до тех пор, пока порт назначения не станет свободным.

Теперь на USB. На самом деле это намного проще, чем сети, потому что не все узлы становятся равными. У вас есть два вида: хост и конечная точка. Существует только один хост, но может быть много конечных точек. В этом случае арбитраж намного проще, потому что только хост-порт разрешается говорить по своему усмотрению. Затем конечным точкам разрешается разговаривать только по запросу хоста, а хост всегда разговаривает только с одной конечной точкой за раз.

Для пакетов host-> endpoint концентраторы USB просто передают запрос от хоста ко всем конечным точкам. Поскольку все конечные точки имеют адрес, только тот, к которому был адресован запрос, будет делать с ним что угодно (например, ответить), все остальные будут игнорировать пакет.

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

Тогда вы можете спросить: «Хорошо, как я могу одновременно использовать несколько устройств одновременно?». Скажем, у вас есть мышь, клавиатура и флешка, все подключенные к одному концентратору USB. Мы все знаем, что вы можете одновременно использовать мышь и клавиатуру, а также копировать файлы на флеш-накопитель, но если только одно устройство может говорить одновременно, как это возможно?

Ну, все сводится к тому, что несколько сотен миллисекунд, которые требуется для вашего мозга, чтобы заметить, что вы нажали клавишу и ожидаете обновления экрана, - это вечность для компьютера. Интерфейс USB 2.0 может работать со скоростью до 480 Мбит/с (USB 3.1 может работать со скоростью до 10 Гбит/с!), что означает, что, хотя хост всегда разговаривает с одним конечным пунктом в любой момент времени, он так быстро перемещается между ними, что вы не можете сказать, что он это делает.

USB Host:.? «Эй, мышь на порту 1, скажите мне, если вы переехали Хорошо, теперь клавиатура на порт 2 у вас есть какие-либо нажатия клавиш, чтобы сообщать Теперь вы там на порт 3, вспышка диск, сохраните эти данные для меня. Кому-нибудь, с кем мне нужно поговорить? nope, ладно, мышь на порту 1, скажите мне, переехали ли вы... »

Человек: « О, посмотри, компьютер заметил, что я только что переместил мышь, нажал клавишу на клавиатуре и скопировал картинку на флешку, в одно и то же время! »

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