Спецификация USB.Rev1.0

       

Типы Передачи


Данные USB транспортируются по каналу между буфером памяти, связанным с клиентским программным обеспечением на хосте и конечной точкой на устройстве USB. Данные, транспортируемые каналами сообщений имеют структуру определенную USB, но USB позволяет устройству транспортировать специфические структуры данных внутри данных сообщения определенного полезной нагрузкой USB (Data transported by message pipes is carried in a USB defined structure, but USB allows device specific structured data to be transported within the USB defined message data payload.)  USB также определяет что данные, перемещаемые по шине - упакованы в любом канале (поток или сообщение), но в конечном счете форматирование и интерпретация данных, транспортируемых в полезной нагрузке данных транзакции шины - обязанность клиентского программного обеспечения и функции использующей канал. Однако, USB обеспечивает различные типы передачи, которые оптимизированы, чтобы более близко соответствовать требованиям сервиса клиентского программного обеспечения и функции использующей канал. IRP использует один или большее количество транзакций шины, чтобы переместить информацию между клиентским программным обеспечением и функцией.

Каждый тип передачи определяет различные характеристики включения потока связи:

  • Формат данных, наложенный USB
  • Направление потока связи
  • Ограничения на размер пакета
  • Ограничения на доступ к шине
  • Требуемая последовательность данных (Required data sequences)
  • Проектировщики устройства USB выбирают возможности конечных точек устройства.  Когда установлен канал для конечной точки, большинство характеристик передачи канала уже определены и остаются фиксированными в течении времени существования канала.  Характеристики передачи, которые могут изменяться,  описаны для каждого типа передачи.

    USB определяет четыре типа передачи:

    • Передача Управления - Пакетная, не-периодическая, программное обеспечение хоста инициализирует связь как запрос/ответ, обычно используется для таких операций как команда/состояние (Bursty, non-periodic, host software initiated request/response communication typically used for command/status operations).

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


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


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


    • Каждый тип передачи описан подробнее в следующих четырех главных разделах. Данные для любого IRP несет поле данных пакета данных как описано в Разделе 8.4.3. Глава 8 также описывает подробности протокола, которые затрагивают использование каждого специфического типа передачи.


      Содержание раздела