Какие режимы передачи данных используются в интерфейсе usb

Обновлено: 30.06.2024

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

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

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

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

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

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

  • Принтеры
  • Сканеры
  • Мыши
  • Джойстики
  • Хомуты
  • Цифровые камеры
  • Веб-камеры
  • Устройства для сбора научных данных
  • Модемы
  • Динамики
  • Телефоны
  • Видеотелефоны
  • Устройства хранения
  • Сетевые подключения

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

USB-кабели и разъемы

Подключить USB-устройство к компьютеру очень просто: нужно найти USB-разъем на задней панели устройства и вставить его в него.

Если это новое устройство, операционная система автоматически обнаружит его и запросит диск с драйверами. Если устройство уже установлено, компьютер активирует его и начинает с ним общаться. USB-устройства можно подключать и отключать в любое время.

Многие USB-устройства поставляются со встроенным кабелем, и на кабеле есть разъем "A". Если нет, то на устройстве есть разъем, который принимает разъем USB "B".

В стандарте USB используются разъемы "A" и "B", чтобы избежать путаницы:

  • Разъемы "A" направляются "вверх по течению" к компьютеру.
  • Разъемы "B" направляются "вниз по течению" и подключаются к отдельным устройствам.

Используя разные разъемы на восходящем и нисходящем концах, невозможно запутаться — если вы подключите разъем «B» любого USB-кабеля к устройству, вы знаете, что он будет работать. Точно так же вы можете подключить любой разъем "A" к любому разъему "A" и быть уверенным, что он будет работать.

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

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

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

Концентраторы могут быть с питанием или без него. Как вы увидите на следующей странице, стандарт USB позволяет устройствам получать питание от USB-подключения. Высокомощные устройства, такие как принтер или сканер, будут иметь собственный источник питания, но устройства с низким энергопотреблением, такие как мыши и цифровые камеры, получают питание от шины, чтобы упростить их. Питание (до 500 миллиампер при 5 вольтах для USB 2.0 и 900 миллиампер для USB 3.0) поступает от компьютера.Если у вас много устройств с автономным питанием (таких как принтеры и сканеры), то ваш концентратор не нуждается в питании — ни одно из устройств, подключенных к концентратору, не нуждается в дополнительном питании, поэтому компьютер может справиться с этим. Если у вас много устройств без питания, таких как мыши и камеры, вам, вероятно, понадобится концентратор с питанием. Хаб имеет собственный трансформатор и подает питание на шину, чтобы устройства не перегружали питание компьютера.

Процесс USB

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

  • Прерывание. Устройство, такое как мышь или клавиатура, которое будет отправлять очень мало данных, выберет режим прерывания.
  • Bulk. Устройство, подобное принтеру, которое получает данные одним большим пакетом, использует режим массовой передачи. Блок данных отправляется на принтер (порциями по 64 байта) и проверяется на предмет правильности.
  • Изохронный. Потоковое устройство (например, динамики) использует изохронный режим. Потоки данных между устройством и хостом передаются в режиме реального времени без исправления ошибок.

Хост также может отправлять команды или запрашивать параметры с управляющими пакетами.

По мере перечисления устройств хост отслеживает общую пропускную способность, запрашиваемую всеми изохронными и прерывающими устройствами. Они могут потреблять до 90 процентов доступной пропускной способности 480 Мбит/с (USB 3.0 увеличивает эту скорость до 4,8 гигабит в секунду). После того, как 90 процентов израсходовано, хост запрещает доступ к любым другим изохронным или прерывающим устройствам. Пакеты управления и пакеты для массовой передачи используют любую оставшуюся полосу пропускания (не менее 10 процентов).

Универсальная последовательная шина делит доступную полосу пропускания на кадры, и хост управляет кадрами. Фреймы содержат 1500 байт, и каждую миллисекунду начинается новый кадр. Во время кадра изохронные устройства и устройства прерывания получают слот, поэтому им гарантирована необходимая полоса пропускания. Массовая передача и передача управления используют все оставшееся пространство. Технические ссылки в конце статьи содержат много подробностей, если вы хотите узнать больше.

Внутри USB-кабеля есть два провода питания: +5 В (красный) и заземление (коричневый), а также витая пара (желтый и синий) проводов для передачи данных. Кабель также экранирован.

Универсальная последовательная шина имеет следующие функции:

  • Компьютер действует как хост.
  • К хосту можно подключить до 127 устройств либо напрямую, либо через концентраторы USB.
  • Отдельные USB-кабели могут иметь длину до 5 м; с концентраторами устройства могут находиться на расстоянии до 30 метров (6 кабелей) от хоста.
  • С USB 2.0 максимальная скорость передачи данных по шине составляет 480 мегабит в секунду (в 10 раз больше, чем у USB 1.0).
  • Кабель USB 2.0 состоит из двух проводов для питания (+5 В и заземления) и витой пары для передачи данных. Стандарт USB 3.0 добавляет еще четыре провода для передачи данных. В то время как USB 2.0 может одновременно отправлять данные только в одном направлении (нисходящем или восходящем), USB 3.0 может передавать данные одновременно в обоих направлениях.
  • По проводам питания компьютер может подавать до 500 мА при напряжении 5 вольт. Кабель USB 3.0 обеспечивает ток до 900 мА.
  • Устройства с низким энергопотреблением (например, мыши) могут получать питание непосредственно от шины. Устройства большой мощности (например, принтеры) имеют собственные источники питания и потребляют от шины минимальное количество энергии. Концентраторы могут иметь собственные источники питания для питания устройств, подключенных к концентратору.
  • USB-устройства поддерживают горячую замену, то есть вы можете подключать их к шине и отключать в любое время. Кабель USB 3.0 совместим с портами USB 2.0 — вы не получите такой же скорости передачи данных, как при использовании порта USB 3.0, но данные и питание будут по-прежнему передаваться по кабелю.
  • Многие USB-устройства могут быть переведены в спящий режим хост-компьютером, когда компьютер переходит в режим энергосбережения.

Устройства, подключенные к USB-порту, используют кабель для передачи питания и данных.

Стандарт для USB версии 2.0 был выпущен в апреле 2000 г. и служит обновлением для USB 1.1.

USB 2.0 (высокоскоростной USB) обеспечивает дополнительную пропускную способность для мультимедийных приложений и приложений для хранения данных, а скорость передачи данных в 40 раз выше, чем у USB 1.1. Чтобы обеспечить плавный переход как для потребителей, так и для производителей, USB 2.0 имеет полную прямую и обратную совместимость с оригинальными USB-устройствами, а также работает с кабелями и разъемами, предназначенными для оригинального USB.

Поддерживая три режима скорости (1,5, 12 и 480 мегабит в секунду), USB 2.0 поддерживает устройства с низкой пропускной способностью, такие как клавиатуры и мыши, а также устройства с высокой пропускной способностью, такие как веб-камеры с высоким разрешением, сканеры, принтеры и устройства с высокой пропускной способностью. системы хранения емкости.Внедрение USB 2.0 позволило лидерам индустрии ПК продвинуться вперед в разработке периферийных устройств для ПК, дополняющих существующие высокопроизводительные ПК. Помимо улучшения функциональности и стимулирования инноваций, USB 2.0 повышает производительность пользовательских приложений и позволяет пользователю одновременно запускать несколько приложений для ПК или несколько высокопроизводительных периферийных устройств.

Стандарт USB 3.0 (SuperSpeed ​​USB) стал официальным 17 ноября 2008 г. [источник: Everything USB]. USB 3.0 может похвастаться скоростью в 10 раз выше, чем USB 2.0, со скоростью 4,8 гигабит в секунду. Он предназначен для таких приложений, как передача видеоматериалов высокой четкости или резервное копирование всего жесткого диска на внешний диск. По мере увеличения емкости жесткого диска возрастает потребность в высокоскоростном методе передачи данных.

Принятие стандарта USB 3.0 идет медленно. Производители чипов должны разработать оборудование для материнских плат, поддерживающее USB 3.0. Владельцы компьютеров могут приобрести карты, которые они могут установить на свои компьютеры, чтобы обеспечить поддержку USB 3.0. Но аппаратная поддержка — это только часть проблемы — вам также нужна поддержка со стороны вашей операционной системы. Несмотря на то, что Microsoft объявила, что Windows 7 в конечном итоге будет поддерживать стандарт USB 3.0, компания поставила свою операционную систему без поддержки USB 3.0. Последние дистрибутивы операционной системы Linux поддерживают USB 3.0.

Возможно, вы не думаете, что кабели передачи данных вызывают споры. Но некоторые репортеры, такие как автор ZDNet Адриан Кингсли-Хьюз, предполагают, что одной из причин медленного внедрения USB 3.0 является то, что Intel намеренно отложила производство материнских плат с поддержкой USB 3.0, чтобы дать одному из своих продуктов преимущество [источник: Kingsley - Хьюз]. Этим продуктом является Light Peak, технология передачи данных, которая имеет начальную максимальную скорость передачи данных 10 гигабит в секунду, а в будущем теоретическая скорость достигнет 100 гигабит в секунду. Поскольку Intel является крупным производителем микросхем, только несколько компьютеров с материнскими платами других компаний в настоящее время поддерживают USB 3.0.

Представители Intel отрицают такие утверждения. Руководители компании заявили, что технология Light Peak не заменит порты USB и что Light Peak и USB 3.0 будут работать вместе. В то же время сегодня на рынке можно найти компьютеры и аксессуары с интерфейсом USB 3.0.

Для получения дополнительной информации о USB и смежных темах перейдите по ссылкам на следующей странице.

Передача управления обычно используется для командных и статусных операций. Они необходимы для настройки USB-устройства, при котором все функции перечисления выполняются с использованием передачи управления. Как правило, это импульсные, случайные пакеты, которые инициируются хостом и доставляются с максимальной эффективностью. Длина пакета передачи управления для низкоскоростных устройств должна составлять 8 байт, для высокоскоростных устройств допустим размер пакета 8, 16, 32 или 64 байта, а для полноскоростных устройств размер пакета должен составлять 64 байта.

Передача управления может состоять из трех этапов.

<УЛ> На этапе установки отправляется запрос. Он состоит из трех пакетов. Первым отправляется токен установки, который содержит адрес и номер конечной точки. Пакет данных отправляется следующим и всегда имеет тип PID data0 и включает в себя установочный пакет, в котором подробно описывается тип запроса. Мы детализируем установочный пакет позже. Последний пакет представляет собой рукопожатие, используемое для подтверждения успешного получения или для указания на ошибку. Если функция успешно получает установочные данные (CRC, PID и т. д. в порядке), она отвечает ACK, в противном случае она игнорирует данные и не отправляет пакет подтверждения. Функции не могут выдавать пакеты STALL или NAK в ответ на пакет установки.

Дополнительный этап данных состоит из одной или нескольких ВХОДЯЩИХ или ВЫХОДЯЩИХ передач. Запрос на установку указывает объем данных, которые должны быть переданы на этом этапе. Если он превышает максимальный размер пакета, данные будут отправлены несколькими передачами, каждая из которых имеет максимальную длину пакета, за исключением последнего пакета.

У этапа данных есть два разных сценария в зависимости от направления передачи данных.

<УЛ>
  • IN: когда хост готов принять управляющие данные, он выдает токен IN. Если функция получает токен IN с ошибкой, например. PID не соответствует инвертированным битам PID, тогда он игнорирует пакет. Если маркер был получен правильно, устройство может либо ответить пакетом DATA, содержащим управляющие данные для отправки, либо пакетом ожидания, указывающим, что конечная точка имеет ошибку, либо пакетом NAK, указывающим хосту, что конечная точка работает, но временно. нет данных для отправки.
    • OUT: когда хосту необходимо отправить устройству пакет управляющих данных, он выдает токен OUT, за которым следует пакет данных, содержащий управляющие данные в качестве полезной нагрузки. Если какая-либо часть маркера OUT или пакета данных повреждена, функция игнорирует пакет.Если буфер конечной точки функции был пуст, и она синхронизировала данные в буфер конечной точки, она отправляет ACK, информируя хост об успешном получении данных. Если буфер конечной точки не пуст из-за обработки предыдущего пакета, функция возвращает NAK. Однако, если в конечной точке возникла ошибка и установлен бит остановки, она возвращает STALL.

    IN: если хост отправил токен(ы) IN на этапе передачи данных для получения данных, хост должен подтвердить успешное получение этих данных. Это делается хостом, который отправляет токен OUT, за которым следует пакет данных нулевой длины. Теперь функция может сообщать о своем статусе на этапе установления связи. ACK указывает, что функция завершена, команда теперь готова принять другую команду. Если при обработке этой команды произошла ошибка, то функция выдаст STALL. Однако, если функция все еще обрабатывается, она возвращает NAK, указывающий хосту повторить этап состояния позже.

    Как все это сочетается друг с другом? Скажем, например, Хост хочет запросить дескриптор устройства во время перечисления. Отправляются следующие пакеты.

    Хост отправит маркер настройки, сообщая функции, что следующий пакет является пакетом настройки. Поле Address будет содержать адрес устройства, с которого хост запрашивает дескриптор. Номер конечной точки должен быть равен нулю, что указывает на канал по умолчанию. Затем хост отправит пакет DATA0. Это будет иметь 8-байтовую полезную нагрузку, которая представляет собой запрос дескриптора устройства, как описано в главе 9 спецификации USB. Затем функция USB подтверждает, что установочный пакет был правильно прочитан без ошибок. Если пакет был получен поврежденным, устройство просто игнорирует этот пакет. Хост повторно отправит пакет после небольшой задержки.

    <р>1. Установить токен

    Адрес и номер конечной точки

    <р>2. Пакет Data0

    Запрос дескриптора устройства

    <р>3. Квитирование подтверждения

    Подтверждение устройства. Пакет установки

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

    Адрес и номер конечной точки

    <р>2. Пакет данных 1

    Первые 8 байт дескриптора устройства

    <р>3. Квитирование подтверждения

    Пакет подтверждения узла

    Адрес и номер конечной точки

    <р>2. Пакет Data0

    Последние 4 байта + заполнение

    <р>3. Квитирование подтверждения

    Пакет подтверждения узла

    В этом случае мы предполагаем, что максимальный размер полезной нагрузки составляет 8 байт. Хост отправляет токен IN, сообщая устройству, что теперь он может отправлять данные для этой конечной точки. Поскольку максимальный размер пакета составляет 8 байт, мы должны разделить 12-байтовый дескриптор устройства на части для отправки. Каждый блок должен быть 8 байт, за исключением последней транзакции. Хост подтверждает каждый пакет данных, который мы ему отправляем.

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

    Адрес и номер конечной точки

    <р>2. Пакет данных 1

    Пакет нулевой длины

    <р>3. Квитирование подтверждения

    Подтверждение устройства. Вся транзакция

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

    <УЛ> Прерывание передачи
    • Гарантированная задержка
    • Stream Pipe — однонаправленный
    • Обнаружение ошибок и повторная попытка следующего периода.

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

    На диаграмме выше показан формат транзакций Interrupt IN и Interrupt OUT.

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

    Если устройство поставило прерывание в очередь, функция отправит пакет данных, содержащий данные, относящиеся к прерыванию, когда получит токен IN. После успешного получения на хосте хост вернет ACK.Однако, если данные повреждены, хост не вернет статус. Если, с другой стороны, условие прерывания отсутствовало, когда хост опрашивал конечную точку прерывания с помощью токена IN, то функция сигнализирует об этом состоянии, отправляя NAK. Если на этой конечной точке произошла ошибка, вместо этого в ответ на токен IN отправляется STALL.

    OUT: Когда хост хочет отправить данные прерывания устройства, он выдает токен OUT, за которым следует пакет данных, содержащий данные прерывания. Если какая-либо часть маркера OUT или пакета данных повреждена, функция игнорирует пакет. Если буфер конечной точки функции был пуст, и она синхронизировала данные в буфер конечной точки, она отправляет ACK, информируя хост об успешном получении данных. Если буфер конечной точки не пуст из-за обработки предыдущего пакета, функция возвращает NAK. Однако, если в результате произошла ошибка с конечной точкой и был установлен ее бит останова, он возвращает STALL.

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

    <УЛ> Изохронные передачи обеспечивают
    • Гарантированный доступ к полосе пропускания USB.
    • Ограниченная задержка.
    • Stream Pipe — однонаправленный
    • Обнаружение ошибок с помощью CRC, но без повторной попытки или гарантии доставки.
    • Только в полнофункциональном и высокоскоростном режимах.
    • Нет переключения данных.

    Максимальный размер полезных данных указывается в дескрипторе конечной точки изохронной конечной точки. Это может быть максимум 1023 байта для полноскоростного устройства и 1024 байта для высокоскоростного устройства. Поскольку максимальный размер полезной нагрузки данных будет влиять на требования к полосе пропускания шины, целесообразно указать консервативный размер полезной нагрузки. Если вы используете большую полезную нагрузку, вам также может быть выгодно указать ряд альтернативных интерфейсов с различными изохронными размерами полезной нагрузки. Если во время перечисления хост не может включить предпочитаемую вами изохронную конечную точку из-за ограничений пропускной способности, у него есть что-то, к чему можно вернуться, а не просто полный сбой. Данные, отправляемые на изохронную конечную точку, могут быть меньше предварительно согласованного размера и могут различаться по длине от транзакции к транзакции.

    На приведенной выше диаграмме показан формат изохронной транзакции IN и OUT. Изохронные транзакции не имеют этапа установления связи и не могут сообщать об ошибках или состояниях STALL/HALT.

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

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

    <УЛ> Массовые переводы
    • Используется для передачи больших пакетных данных.
    • Обнаружение ошибок с помощью CRC с гарантией доставки.
    • Нет гарантий пропускной способности или минимальной задержки.
    • Stream Pipe — однонаправленный
    • Только в полнофункциональном и высокоскоростном режимах.

    Массовая передача поддерживается только полнофункциональными и высокоскоростными устройствами. Для конечных точек с полной скоростью максимальный размер пакета составляет 8, 16, 32 или 64 байта. Для высокоскоростных конечных точек максимальный размер пакета может составлять до 512 байт. Если полезная нагрузка данных не соответствует максимальному размеру пакета, ее не нужно дополнять нулями. Массовая передача считается завершенной, если было передано точное количество запрошенных данных, передан пакет меньше максимального размера конечной точки или передан пакет нулевой длины.

    На диаграмме выше показан формат массовой транзакции IN и OUT.

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

    OUT: когда хост хочет отправить функции пакет данных, он выдает токен OUT, за которым следует пакет данных, содержащий пакет данных.Если какая-либо часть маркера OUT или пакета данных повреждена, функция игнорирует пакет. Если буфер конечной точки функции был пуст, и она синхронизировала данные в буфер конечной точки, она отправляет ACK, информируя хост об успешном получении данных. Если буфер конечной точки не пуст из-за обработки предыдущего пакета, функция возвращает NAK. Однако, если в конечной точке возникла ошибка и был установлен бит останова, она возвращает STALL.

    Хост отвечает за управление пропускной способностью шины. Это делается при перечислении при настройке изохронных конечных точек и конечных точек прерывания, а также во время работы шины. Спецификация накладывает ограничения на шину, позволяя выделять не более 90% любого кадра для периодической передачи (прерываемой и изохронной) на полноскоростной шине. На высокоскоростных шинах это ограничение снижается до не более 80% микрокадра, которое может быть выделено для периодической передачи.

    Таким образом, вы можете довольно быстро увидеть, что если у вас есть сильно загруженная шина с периодическими передачами, оставшиеся 10% остаются для передачи управления, и как только они будут выделены, массовые передачи получат свою часть того, что осталось.

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

    USB 1.1 и USB 2.0
    USB 2.0 — это последняя версия спецификации USB. Для обеспечения обратной совместимости с существующими устройствами операционная спецификация USB 2.0 является надстройкой спецификации USB 1.1. USB 2.0 делает все то же, что и USB 1.1, и полностью совместим с 1.1. Кроме того, он поддерживает гораздо более быструю передачу. Максимальная скорость передачи данных в версии 2.0 составляет 480 Мбит/с, что в 40 раз выше максимальной скорости, поддерживаемой в версии 1.1.

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

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

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

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

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

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

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

    Интерфейс USB — это один из интерфейсов, который часто используется в различных устройствах, таких как запоминающие устройства USB. Однако механизм передачи данных интерфейса USB малоизвестен. В этой статье будет дано простое объяснение интерфейса USB путем изучения обзора USB 2.0.

    Система с использованием USB

    Система с использованием USB

    USB — очень популярный последовательный интерфейс, особенно для ПК. Иерархическая структура применяется к интерфейсу USB. Один «Хост» доминирует над многими «Устройствами» в сети.Например, ПК — это хост, а устройства — это устройства, подключенные к ПК с помощью USB-кабелей, такие как клавиатуры, мыши, принтеры, флэш-памяти и динамики.

    USB имеет замечательную функцию plug-and-play. Выключение ПК не требуется при подключении или удалении USB-устройств. Это одна из причин популярности USB.

    Интерфейс USB в микроконтроллере

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

    32-разрядные микроконтроллеры Toshiba серии TX03 поддерживают интерфейс USB, хост-интерфейс USB или устройство USB. Группа M360 имеет либо встроенный хост, либо устройство USB 2.0 Full-Speed ​​(12 Мбит/с). Группа M320 объединяет хост и устройство USB 2.0 High-Speed ​​(480 Мбит/с), а также Full-Speed ​​специально для аудио приложений.
    Эти микроконтроллеры будут представлены позже.

    Работа USB

    Когда USB-устройство вставлено в разъем USB на ПК, внутри ПК выполняются следующие операции.
    Подключение USB-устройства немедленно обнаруживается хостом USB на ПК. Фактически хост отслеживает подключение USB-устройств на всех USB-терминалах. Как только хост находит новое устройство, он запрашивает у него информацию об устройстве. Хост выбирает соответствующий драйвер, дает адрес и так далее устройству, что называется «перечислением». Хост может получить правильный доступ после завершения перечисления.

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

    Возможно, вы знаете, как подключить USB-устройство к ПК или отключить его.

    Протокол USB

    USB 2.0 определяет три скорости передачи: низкоскоростная (1,5 Мбит/с), полноскоростная (12 Мбит/с) и высокоскоростная (480 Мбит/с). Интерфейс USB в микроконтроллерах серии Toshiba TX03 в основном соответствует стандарту Full-Speed.
    Теперь форматы данных и типы USB объясняются следующим образом. Во-первых, вводится последовательный формат данных. Затем объясняются четыре типа режимов передачи. Наконец, описывается фактическая форма волны при передаче данных.

    Читайте также: