Накопители

Технология USB 2.0

⇣ Содержание

Следующий год, по прогнозам аналитиков, должен стать переломным в пользу нового (относительно) USB 2.0. А ведь многие еще и с первым-то незнакомы. Скорости с которой производители "компьютерных железяк" разрождаются новыми творениями можно только удивляться.

Бедняжка пользователь в таком огромном потоке высокотехнологичных устройств часто теряется, и многие технологии остаются за гранью его внимания. Так вот и шина USB, какой бы новой многим она ни казалась, - технология в возрасте. Десятилетний юбилей не за горами. Жизнь ее началась в далеком 1995 году, когда многие компании, стремясь следовать провозглашенному принципу Plug'n'Play стремились создать нечто, позволяющее сделать процедуру добавления новых устройств в систему настолько простой, насколько это вообще возможно, да и к тому же универсальное, пригодное для большого числа разного вида устройств. Эта идея объединила лидеров компьютерной и телекоммуникационной промышленности в лицах Compaq, DEC, IBM, Intel, Microsoft, NEC и Northern Telecom. Мы же простые пользователи, с трепетом ожидали окончания разработок.

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

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

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

Выход обновлений OSR2.1 не сильно изменил ситуацию, так как сделано все было в нем через пень-колоду (кстати, а в NT системах она так и не появилась. до Windows 2000). Основная поддержка была со стороны компаний производителей систем и системных компонентов - для них это было источником прибыли (по данным аналитиков Dataquest объем продаж систем с USB должен был составить в 1997 году 30 млн штук и в 1998 все продаваемые компьютеры должны были быть оснащены этой шиной (возможно так и было, но не у нас:-))), и, потом, товарищи верили, что взойдет она, звезда пленительного счастья.

Пусть не сегодня, завтра, но взойдет. Так и случилось. Переломным моментом в истории USB стал выход Windows 98: появилась поддержка, начался выпуск устройств, и технология начала свое существование не только у разработчиков, но и у пользователей, кстати, многие из которых относят появление именно к этому моменту.

Сегодня USB - это очень популярная универсальная последовательная шина. Предназначена для легкого подключения различного вида устройств это клавиатуры, мыши, джойстики, колонки, модемы, мобильные телефоны, ленточные, дисковые, оптические и магнитооптические накопители, флэш-диски, сканеры и принтеры, дигитайзеры, словом все, что подключается к ПК. Также, с ожиданием большого роста в области интеграции компьютеров и телефонии, шина USB может выступать в качестве интерфейса для подключения устройств цифровой сети с интегрированными услугами (ISDN) и цифровых устройств Private Branch eXchange (PBX).

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

Существовавшей раньше разницы в цене в 10-15-20 долларов (автор помнит как 5 лет назад приобретая сканер переплачивал 20 долларов за USB модель) и заоблачных цен на внешние USB-контроллеры нет, более того, уже давно USB-контроллеры интегрируются в чипсеты материнских плат, и пользователь получает их в свое распоряжение практический задаром. USB вышел в массы и нужно констатировать тот факт, что COM LPT и PS/2 порты медленно умирают. Что ж. Давно пора была избавиться от многочисленных пережитков прошлого. Это та красивая внешняя сторона, которой USB обращена к пользователю.

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


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

Наверное многие слышали о том что USB шина позволяет подключать до 127 устройств. И в тоже время на задней стенке обычно находится 2 или 4 порта. И у многих наверняка возник вопрос - нас обманули, на нас сэкономили (меньше портов - дешевле система. Хотя… 127 портов разместить на задней панели… Даже представить сложно) или что-то еще. Оказывается дело все в том, что шина USB позволяет многоуровневое каскадирование. Наглядно это объясняет следующий рисунок:


Так мы выходим на первую архитектурную особенность шины USB: ее логическая топология - многоуровневая звезда.


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

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

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


Это объясняется тем, что каждый концентратор обеспечивает прозрачно для хоста соединение с устройством.

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


Все классы устройств уже были упомянуты. Теперь можно о каждом поговорить немного подробнее.

Хост. Как уже было сказано ранее, программно-аппаратный комплекс.

В обязанности хоста входит:

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

Аппаратной частью является хост контроллер - посредник между хостом и устройствами на шине.

Программные функции (перечисление устройств и их конфигурирование, управление энергопотреблением, процессами передачи, устройствами на шине и самой шиной) возложены на операционную систему. Первой популярной операционной системой, в которой поддержка USB реализована была в полном объеме стала Windows 98 Second Edition. Некоторые устройства могут быть работоспособными и под более ранними версиями (98 без SE, и изредка 95), но далеко не все и не всегда.

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


Хаб должен следить за подключением и отключением устройств, уведомляя хост об изменениях, управлять питанием портов. В концентраторе стандарта USB 2.0 можно выделить 3 функциональных блока: контроллер, повторитель, транслятор транзакций. Контроллер отвечает за соединения с хостом. Понятие повторитель в USB несколько отличается от принятого в сетях передачи данных. Его обязанность - соединять входной и какой-то нужный из выходных портов. Транслятор транзакций появился лишь в USB 2.0 и нужен, как всегда, из соображений совместимости с предыдущими версиями. Вкратце его суть в том, что бы обеспечивать максимальную скорость соединения с хостом. Подключенное к высокоскоростному (USB 2.0) порту старое медленное (USB 1.1) устройство съедало бы значительную часть времени, а следовательно и полезной пропускной способности шины, ведя обмен с хостом на низкой скорости (почему так происходит мы выясним позже при рассмотрении механизма обмена данными хост-устройство). Как метод борьбы транслятор транзакций буферизирует поступающий с медленного порта кадр, а затем на максимальной скорости передает его хосту, или же буферизирует получаемый на максимальной скорости кадр от хоста, передавая его затем устройству на меньшей, приемлемой для него скорости. Помимо разветвления и трансляции транзакций хаб должен осуществлять конфигурирование портов и слежение за корректным функционированием подключенных к ним устройств. Нужно сказать также, что при использовании старых и новых концентраторов вместе возможно создание неоптимальных с точки зрения производительности конфигураций. Для того что бы избежать создания узких мест в своей цепи, подключайте низкоскоростные устройства к низкоскоростным хабам, которые в свою очередь делайте последними уровнями ветвления и не подключайте их в середину высокоскоростной цепочки.

Следующая страница →
 
⇣ Содержание
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.
Материалы по теме
⇣ Комментарии
window-new
Soft
Hard
Тренды 🔥