Тел.: (495) 781-4969, 344-6707, факс (495) 344-9810
На главную страницу
РАСПРОДАЖА!!!
Подписаться на
журнал "КИПиС"
Корзина 0 товаров
0,00 руб.
Заказать звонок
специалиста
На главную страницу Написать письмо Добавить в избранное Карта сайта Поиск
Поиск
Производители
Авторизация
Логин:
Пароль:
Забыли свой пароль?
Зарегистрироваться
Реклама
АКТАКОМ - Измерительные приборы, виртуальные приборы, паяльное оборудование, промышленная мебель

USB (Universal Serial Bus)

USB (Universal Serial Bus)

Шина USB (Universal Serial Bus, универсальная последовательная шина) появилась в начале 1996 года как попытка решения проблемы множественности интерфейсов. К тому времени персональные компьютеры (ПК) были оснащены большим количеством разнообразных внешних интерфейсов, полезных и необходимых, но обладающих одним недостатком: все они требовали своего специального разъема и, чаще всего, выделенного аппаратного прерывания (IRQ, Interrupt ReQuest).

Первая спецификация (версия 1.0) USB была опубликована в начале 1996 года, а осенью 1998 года появилась спецификация 1.1, исправляющая проблемы, обнаруженные в первой редакции. Весной 2000 года была опубликована версия 2.0, в которой предусматривалось 40-кратное повышение пропускной способности шины. Так, спецификация 1.0 и 1.1 обеспечивает работу на скоростях 12 Мбит/с и 1,5 Мбит/с, а спецификация 2.0 – на скорости 480 Мбит/с. При этом предусматривается обратная совместимость USB 2.0 с USB 1.х, т.е. «старые» USB 1.х устройства будут работать с USB 2.0 контроллерами, правда, на скорости 12 Мбит/с.

Разработчики шины ориентировались на создание интерфейса, обладающего следующими свойствами:

o        легкореализуемое расширение периферии ПК;

o        дешевое решение, позволяющее передавать данные со скоростью до 12 Мбит/с (480 Мбит/с для USB 2.0);

o        полная поддержка в реальном времени голосовых, аудио- и видеопотоков;

o        гибкость протокола смешанной передачи изохронных данных и асинхронных сообщений;

o        интеграция с выпускаемыми устройствами;

o        охват всевозможных конфигураций и конструкций ПК;

o        обеспечение стандартного интерфейса, способного быстро завоевать рынок;

o        создание новых классов устройств, расширяющих ПК.

Спецификация USB определяет следующие функциональные возможности интерфейса:

o        простота использования для конечного пользования;

·   простота кабельной системы и подключений;

·   скрытие подробностей электрического подключения от конечного пользователя;

·   самоидентифицирующиеся устройства с автоматическим конфигурированием;

·   динамическое подключение и переконфигурирование периферийных устройств;

o        широкие возможности работы;

·   пропускная способность от нескольких Кбит/с до нескольких Мбит/с;

·   поддержка одновременно как изохронной, так и асинхронной передачи данных;

·   поддержка одновременных операций со многими устройствами (multiple connections);

·   поддержка до 127 устройств на шине;

·   передача разнообразных потоков данных и сообщений;

·   поддержка составных устройств (периферийных устройств, выполняющих несколько функций);

·   низкие накладные расходы передачи данных;

o        равномерная пропускная способность;

·   гарантированная пропускная способность и низкие задержки голосовых и аудиоданных;

·   возможность использования всей полосы пропускания;

o        гибкость;

·   поддержка разных размеров пакетов, которые позволяют настраивать функции буферизации устройств;

·   настраиваемое соотношение размера пакета и задержки данных;

·   управление потоком (flow control) данных на уровне протокола;

o        надежность;

·   контроль ошибок и восстановление на уровне протокола;

·   динамическое добавление и удаление устройств прозрачно для конечного пользователя;

·   поддержка идентификации неисправных устройств;

·   исключение неправильного соединения устройств;

o        выгода для разработчиков;

·   простота реализации и внедрения;

·   объединение с архитектурой Plug and Play;

o        дешевая реализация;

·   дешевые каналы со скоростью работы до 1,5 Мбит/с;

·   оптимизация для интеграции с периферией;

·   применимость для реализации дешевой периферии;

·   дешевые кабели и разъемы;

·   использование выгодных товарных технологий;

o        возможность простого обновления.

Практически все поставленные задачи были решены, и весной 1997 года стали появляться компьютеры, оборудованные разъемами для подключения USB-устройcтва

 Общая архитектура USB

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

 Физическая и логическая архитектура USB

Физическая архитектура USB определяется следующими правилами:

o        устройства подключаются к хосту;

o        физическое соединение устройств между собой осуществляется по топологии многоярусной звезды, вершиной которой является корневой хаб;

o        центром каждой звезды является хаб;

o        каждый кабельный сегмент соединяет между собой две точки: хост с хабом или функцией, хаб с функцией илидругим хабом;

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

Детали физической архитектуры скрыты от прикладных программ в системном программном обеспечении (ПО), поэтому логическая архитектура выглядит как обычная звезда , центром которой является прикладное ПО, а вершинами – набор конечных точек/ Прикладная программа ведет обмен информацией с каждой конечной точкой.

Составляющие USB

Шина USB состоит из следующих элементов:

  • хост-контроллер (host controller) – это главный контроллер, который входит в состав системного блока компьютера и управляет работой всех устройств на шине USB. Для краткости мы будем писать просто хост. На шине USB допускается наличие только одного хоста. Системный блок персонального компьютера содержит один или несколько хостов, каждый из которых управляет отдельной шиной USB;
  • устройство (device) может представлять собой хаб, функцию или их комбинацию (compound device);
  • порт (port) – точка подключения;
  • хаб (hub, другое название - концентратор) – устройство, которое обеспечивает дополнительные порты на шине USB. Другими словами, хаб преобразует один порт (восходящий порт, upstream port) во множество портов (нисходящие порты, downstream ports). Архитектура допускает соединение нескольких хабов (не более 5). Хаб распознает подключение и отключение устройств к портам и может управлять подачей питания на порты. Каждый из портов может быть разрешен или запрещен и сконфигурирован на полную или ограниченную скорость обмена. Хаб обеспечивает изоляцию сигментов с низкой скоростью от высокоскоростных. Хаб может ограничивать ток, потребляемый каждым портом;
  • корневой хаб (root hub) – это хаб, входящий в состав хоста;
  • функция (function) – это переферийное USB-устройство или его отдельный блок, способный передавать и принимать информацию по шине USB. Каждая функция представляет конфигурационную информацию, описывающую возможности периферийного USB-устройства и требования к ресурсам. Перед использованием функция должна быть сконфигурирована хостом – ей должна быть выделена полоса в канале и выбраны опции конфигурации;
  • логическое USB-устройство (logical device) представляет собой набор конечных точек.

Свойства USB-устройств

Спецификация USB достаточно жестко определяет набор свойств, которые должно поддерживать любое USB-устройство:

o        адресация – устройство должно отзываться на назначенный ему уникальный адрес и только на него;

o        конфигурирование – после включения или сброса устройство должно предоставлять нулевой адрес для возможности конфигурирования его портов;

o        передача данных – устройство имеет набор конечных точек для обмена данными с хостом. Для конечных точек, допускающих разные типы передач, после конфигурирования доступен только один из них;

o        управление энергопотреблением – любое устройство при подключении не должно потреблять от шины ток, превышающий 100 мА. При конфигурировании устройство заявляет свои потребности тока, но не более 500 мА. Если хаб не может обеспечить устройству заявленный ток, устройство не будет использоваться;

o        приостановка – USB-устройство должно поддерживать приостановку (suspended mode), при которой его потребляемый ток не превышает 500 мкА. USB-устройство должно автоматически приостанавливаться при прекращении активности шины;

o        удаленное пробуждение – возможность удаленного пробуждения (remote wakeup) позволяет приостановленному USB-устройству подать сигнал хосту, который тоже может находиться в приостановленном состоянии. Возможность удаленного пробуждения описывается в конфигурации USB-устройства. При конфигурировании эта функция может быть запрещена.

Принципы передачи данных

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

Для передачи команд (и данных, входящих в состав команд) используется канал по умолчанию, а для передачи данных открываются либо потоковые каналы, либо каналы сообщений.

Все операции по передачи данных по шине USB инициируются хостом. Периферийные USB-устройства сами начать обмен данными не могут. Они могут только реагировать на команды хоста.

Механизм прерываний

Для шины USB настоящего механизма прерываний (как, например, для последовательного порта) не существует. Вместо этого хост опрашивает подключенные устройства на предмет наличия данных о прерывании. Опрос происходит в фиксированные интервалы времени, обычно каждые 1 – 32 мс. Устройству разрешается посылать до 64 байт данных.

С точки зрения драйвера, возможности работы с прерываниями фактически определяются хостом, который и обеспечивает поддержку физической реализации USB-интерфейса.

 Режимы передачи данных

Пропускная способность шины USB, соответствующей спецификации 1.1, составляет 12Мбит/с (т.е. 1,5 Мбит/с). Спецификация 2.0 определяет шину с пропускной способностью 400 Мбайт/с. Полоса пропускания делится между всеми устройствами, подключенными к шине.

Шина USB имеет три режима передачи данных:

o        низкоскоростной (LS, Low-speed);

o        полноскоростной (LF, Full-speed);

o        высокоскоростной (HS, High-speed, только для USB 2.0).

Логические уровни обмена данными

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

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

o        уровень клиентского ПО в хосте:

·   обычно представляется драйвером USB-устройства;

·   обеспечивает взаимодействие пользователя с операционной системой с одной стороны и системным драйвером с другой;

o        уровень системного драйвера USB в хосте(USB, Universal Serial Bus Driver):

·   управляет нумерацией устройств на шине;

·   управляет распределением пропускной способности шины и мощности питания;

·   обрабатывает запросы пользовательских драйверов;

o        уровень хост-контроллера интерфейса шины USB (HCD, Host Controller Driver):

·   преобразует запросы ввода/вывода в структуры данных, по которым выполняются физические транзакции;

·   работает с регистрами хоста.

 



Возврат к списку

© ЭЛИКС, 1998-2016   Как сделать заказ
Rambler's Top100
Rambler's Top100 Рейтинг@Mail.ru Яндекс.Метрика