В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

  • I2C
  • IrDA
  • CAN
  • USB
  • SPI
  • RS-232
  • RS-485
  • LVDS
  • Centronics
  • MIDI
  • X10
  • HDMI
  • Статьи
  • Ссылки
  •  
    Пересюхтюмя


    13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





    Выставка Передовые Технологии Автоматизации





    Главная страница > Интерфейсы > USB > Популярно о USB
    Пересюхтюмя


    13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





    Выставка Передовые Технологии Автоматизации


    Виртуальные каналы и конечные точки

    Все примеры в статье даются в среде операционной системы Linux и Windows. В режиме передачи данных, когда процесс конфигурирования (энумерации) уже закончился, между USB устройством и хостом должны быть налажены мосты. Это некий набор виртуальных каналов, по которым ид.т обмен данными и служебной информацией. Англоязычный термин pipe – труба. Ясно, что они разделяют единственную среду передачи, а потому мультиплексированные и соответственно виртуальные. Можно провести аналогию с локальной сетью. Шина Ethernet одна, но соединений TCP может быть несколько. Но в TCP/IP, соединения TCP могут возникать и завершаться много раз в процессе работы. В USB типы каналов и их количество фиксируется на стадии процесса энумерации.

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



    Рисунок 1

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

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

    Изохронные каналы – применяются для передачи потока данных, например аудио и видео. Характерной особенностью, является отсутствие повторной передачи данных в случае ошибок. Поврежд.нные пакеты просто отбрасываются без запроса повторной передачи. Такая политика позволяет воспроизводить поток данных в реальном времени, без временных задержек. С периодом в 1 миллисекунду хост запрашивает данные, и буфер USB устройства переда.тся на хост. В веб камерах используются изохронные каналы.

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

    У USB устройства, при.мником и передатчиком данных служит буфер, который называется конечная точка. Тип конечной точки определяет тип канала, который связывает е. с хостом. Например, контроллер USB микроконтроллера AT90usb162 фирмы Atmel, имеет в общей сложности 4 конечные точки, не считая конечной точки управления, 4 возможных буфера обмена. Программа микроконтроллера, должна соответственно сконфигурировать необходимое количество конечных точек для своих нужд. Все конечные точки контроллера USB перенумерованы. Нулевая конечная точка всегда используется для нужд канала управления и не может быть переконфигурирована для других целей. Если не создается драйвер операционной системы, то на стороне хоста расположение буфера знать не обязательно, так как взаимодействие программы на стороне хоста с USB устройством происходит через системные вызовы операционной системы и скрыто от пользовательской программы.

    <-- Предыдущая страница Оглавление Следующая страница -->
    .