Технология USB 2.0
…шина USB, какой бы новой многим она ни казалась, – технология старая и в следующем году справит свой десятилетний юбилей. Жизнь ее началась в далеком 1995 году, когда многие компании, стремясь следовать провозглашенному принципу Plug’n’Play, стремились создать нечто позволяющее сделать процедуру добавления новых устройств в систему простой…Текущий год, по оценкам аналитиков, стал переломным в пользу относительно нового интерфейса 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-20 долларов и заоблачных цен на внешние USB-контроллеры нет, более того, уже давно USB-контроллеры интегрируются в чипсеты материнских плат, и пользователь получает их в свое распоряжение практически бесплатно. USB вышел в массы, и нужно констатировать тот факт, что COM LPT и PS/2 порты медленно умирают. Это та красивая внешняя сторона, которой USB обращена к пользователю.
Внутри все несколько сложней. В последнее время у производителей появилось стремление к четкой внутренней организации и структуризации: выделение отдельных функциональных блоков удачный и удобный подход.
Устройство USB
Наверное, многие слышали о том, что USB-шина позволяет подключать до 127 устройств. И в то же время на задней стенке корпуса обычно находится 2 или 4 порта. И не надо думать, что пользователя снова обманули или сэкономили на нем. Дело в том, что шина USB позволяет многоуровневое каскадирование.
Первая архитектурная особенность шины USB: ее логическая топология – многоуровневая звезда. Самым верхним уровнем является корневой концентратор, который обычно совмещается с USB-контроллером. Если функции контроллера понятны, то концентратор – устройство для периферийных интерфейсов непривычное. В данном случае его функция такая же, что и концентраторов сетей передачи данных – добавление новых портов для подключения большего числа устройств. Ничего большего, чем просто разветвитель.
К корневому концентратору могут быть подключены либо устройства, либо еще концентраторы, для увеличения числа доступных портов. Допускается организация до пяти уровней. С этой точки зрения устройства подключаемые к USB, можно подразделить на функциональные устройства, т.е. те, которые выполняют какую-то конкретную функцию и не берут на себя никаких дополнительных задач (например, мыши) устройства-концентраторы, в чистом виде выполняющие функцию только разветвления, и совмещенные (комбинированные) устройства, т.е. имеющие в своем составе концентратор, расширяющий набор портов и позволяющий подключать другие устройства (в качестве наиболее часто встречающихся примеров можно назвать мониторы, позволяющие по USB осуществлять настройку параметров и обычно имеющих еще несколько дополнительных портов для подключения других устройств или клавиатуры, с разъемами для подключения мышей). Отдельно стоит упомянуть о хосте, являющемся скорее программно-аппаратным комплексом, нежели просто устройством.
Хост. Программно-аппаратный комплекс.
В обязанности хоста входит:
Слежение за подключением и отключением устройств
Организация управляющих потоков между USB-устройством и хостом.
Организация потоков данных между USB-устройством и хостом.
Контроль состояния устройств и ведение статистики активности.
Снабжение подключенных устройств электропитанием.
Аппаратной частью является хост контроллер – посредник между хостом и устройствами на шине.
Программные функции возложены на операционную систему. Первой популярной операционной системой, в которой поддержка USB реализована была в полном объеме, стала Windows 98 Second Edition. Некоторые устройства могут быть работоспособными и под более ранними версиями (98 без SE, и изредка 95), но далеко не все и не всегда.
Концентратор (хаб). Позволяет множественные подключения к одному порту, создавая дополнительные порты. Каждый хаб имеет один восходящий порт, предназначенный для подключения к имеющемуся в наличии свободному порту, и несколько нисходящих, к которым могут быть подключены или снова концентраторы, или конечные устройства, либо совмещенные устройства.
Хаб должен следить за подключением и отключением устройств, уведомляя хост об изменениях, управлять питанием портов. В концентраторе стандарта USB 2.0 можно выделить 3 функциональных блока: контроллер, повторитель, транслятор транзакций. Контроллер отвечает за соединения с хостом. Транслятор транзакций появился лишь в USB 2.0 и нужен, как всегда, из соображений совместимости с предыдущими версиями. Вкратце его суть в том, чтобы обеспечивать максимальную скорость соединения с хостом. Подключенное к высокоскоростному (USB 2.0) порту старое медленное (USB 1.1) устройство съедало бы значительную часть времени, а следовательно, и полезной пропускной способности шины, ведя обмен с хостом на низкой скорости. Помимо разветвления и трансляции транзакций, хаб должен осуществлять конфигурирование портов и слежение за корректным функционированием подключенных к ним устройств. Нужно сказать также, что при использовании старых и новых концентраторов вместе возможно создание неоптимальных с точки зрения производительности конфигураций. Чтобы избежать создания узких мест в своей цепи, следует подключать низкоскоростные устройства к низкоскоростным хабам, которые в свою очередь делать последними уровнями ветвления, и не стоит подключать их в середину высокоскоростной цепочки.
Обмен данными может осуществляться в трех скоростных режимах:
Low Speed. Низкоскоростной режим. Скорость передачи составляет 1.5 Мбит/с.
Full Speed. Полноскоростной режим. Скорость передачи 12 Мбит/с.
High Speed. Высокоскоростной режим. Появился лишь в спецификации 2.0. Скорость передачи 480 Мбит/с.
Информация по шине передается пакетами. Всего их определено 4 вида:
Маркерные пакеты
In – информируют USB устройство, что хост хочет читать данные из устройства
Out – информирует USB устройство, что хост хочет передавать данные в устройство
Setup – используются для обозначения начала управляющего типа передачи данных
SOF – пакеты начала кадра (Start of Frame Packets)
Пакеты данных
Существуют два типа пакетов данных – DATA0, DATA1 , каждый из которых способен содержать до 1024 байтов данных. У высокоскоростных устройств для пакетов данных определены два других PID-a: DATA2 и MDATA.
Пакеты подтверждениЯ
ACK – подтверждение того, что пакет был успешно принят
NAK – информирует, что устройство в данный момент не может принимать либо отправлять данные. А в Interrupt транзакциях сообщает хосту, что устройство не имеет новых данных для передачи.
STALL – указывает, что устройство неспособно передавать или получать данные и требуется вмешательство хоста.
PRE – предшествует низкоскоростной передаче данных.
Устройства на шине USB делятся на ведущие и ведомые. Фактически, ведущих устройств на шине может быть только одно, и таковым является хост. Все передачи данных инициируются хостом в соответствии с определенной временной программой. Функциональные устройства сами не могут инициировать передачу, а лишь отвечают на запросы хоста. Обмен данными возможен только между хостом и устройством, и не возможен напрямую между устройствами, подключенными к шине (это означает, что в первую очередь USB – это шина вывода.). Транзакции на USB-шине состоят из двух-трех актов: посылки пакета маркера, определяющего, что будет следовать дальше (тип транзакции, адрес устройства и его конечную точку), пакета данных (опционально), и пакета статуса транзакции (для подтверждения нормального выполнения операции или сообщения об ошибке).
Два для передачи сигнала и два для подачи напряжения. Для подключения устройств предназначены соединители двух ти
#1087;ов: типа “A” и типа “B”. Создание двух различных видов коннекторов бы
ло необходимо для того, чтобы избежать излишней путаницы при подключении устройств и защититься от случайностей, лишив возможности подключить что-либо не так. Кроме того, они характеризуются различным усилием, необходимым для вставки и силой удержания в разъеме.
В новой версии USB определен коннектор miniUSB типа “B”.
Он предназначен для применения на малогабаритных устройствах типа мобильных телефонов, фотоаппаратов, плееров, где нет возможности разместить стандартный полноразмерный разъем. Увы, с доступностью кабелей miniUSB ситуация в Баку обстоит не лучшим образом: и хотя это очень распространенный в последнее время тип подключения, достать его зачастую очень проблемно. От мелкой периферии типа клавиатур, мышек, где размещение соединительных разъемов неудобно, кабель может вообще не отсоединятся. Конструктивно разъемы задуманы так, что сначала происходит соединение шины питания, потом шины данных.
Подключаемые устройства, потребляющие небольшой ток, могут быть подпитаны от шины USB. Максимальный ток, который может обеспечить шина, равен 500 мА. Это ток, доступный всем устройствам на шине, а не на каждое из 127 возможных устройств (при этом на стадии подключения и конфигурирования потребляемый ток не должен превышать 100 мА, в противном случае устройство просто не будет инициировано). Для увеличения доступной мощности питания на шине концентраторы могут оснащаться своим собственным блоком питания, однако такое решение непопулярно.
Как это работает?
Итак, к шине подключено новое устройство. Наверняка многие задавались вопросом, каким образом происходит обнаружение. Ответ прост: обнаружение устройства, а также его скоростной режим, определяется по скачку напряжения, который имеет место быть при включении на шине данных. Этот скачок создается подключением резистора к напряжению 3.3 В. Обычно тот резистор делается программно управляемым для того, что бы после обнаружения устройства его можно было отключить и сбалансировать линию. Итак, новое устройство подключено и обнаружено.
Конфигурирование осуществляется через конечную точку с номером 0. Загружаются необходимые драйверы. Устройство готово к работе.
Обмен данными. Случай первый: передача от хоста к устройству. Никакой сложности нет. Как только такая необходимость возникла, хост может инициировать передачу. Для этого он посылает устройству пакет out, затем посылает сами данные, а затем принимает пакет ACK, подтверждающий, что данные устройством получены без ошибок (если это не изохронный тип передачи, для которого подтверждение не передается).
Обмен данными. Случай второй: от устройства к хосту. У устройства возникла необходимость передать данные. Но оно не может никаким образом дать знать об этом хосту. Таких средств в USB просто не предусмотрено. Для того, чтобы выполнить такую передачу, хост должен обратиться к устройству, послав пакет in. В ответ на это устройство вышлет ему имеющиеся данные и дождется получения подтверждения. Если хост не обратится с таким вопросом, то данные никогда не будут переданы.
Во время простоев в энергосберегающих целях устройства переводятся в состояние suspend и выход из этого состояния, передача информации о пробуждении – единственный случай, когда устройство может стать инициатором транзакции.
Развитие стандарта
Ввиду огромной популярности интерфейса у всевозможной периферии к стандарту было выпушено дополнение USB 2.0 On-The-Go, которое призвано дать возможность устройствам обмениваться информацией между собой без участия компьютера, но пока это дополнение достаточно непопулярно.
Если информации мало, то на просторах Интернета есть очень много интересного, которое не уместилось на страницах газеты. В частности, задать вопросы и обсудить тему на нашем форуме www.forum.az.
USB 2.0 — какова реальная скорость?
Высокоскоростные периферийные устройства, типа внешних жестких дисков, вполне могут превратить обеспечиваемую USB скорость передачи данных, равную 1,5 Мбайт/с (12 Мбит/с), в то узкое место, которое будет сдерживать общую производительность системы. В этом случае стоит обратиться к порту USB 2.0, иначе называемому Hi-Speed USB. По заявлению разработчиков, в нем сочетаются универсальность предшественника, совместимость с нынешними USB-продуктами и скорость обмена данными, достигающая 60 Мбайт/с (480 Мбит/с). Это в 40 раз быстрее, чем позволяли аппараты с USB 1.1.
Однако не все девайсы, на которых красуется надпись “USB 2.0”, реально поддерживают максимальную скорость. Хотя некоторые из производителей периферийных устройств рекомендуют для каждого из своих продуктов конкретный адаптер USB 2.0, испытания продемонстрировали значительную степень совместимости между продуктами с портами Hi-Speed USB. Быстродействие однако не соответствует широко разрекламированным обещаниям. Максимальное ускорение переноса данных, достигнутое при обмене информацией между ПК и внешним жестким диском, свелось к увеличению в 12,6 раза. При тестировании других устройств с USB 2.0, дисковода CD-RW и сканера прирост производительности оказался существенно меньшим по причине более низкой пиковой производительности самих этих аппаратов.
И все же Hi-Speed USB – это отнюдь не пустышка. По сравнению с любыми другими модернизациями, кроме разве что установки интерфейса IEEE 1394, – это самый эффективный способ вложения денег. Пользователь получает реальный шанс реализовать дополнительные преимущества современных внешних устройств. Прогресс тем более впечатляет, если учесть, что стоимость платы PCI USB 2.0 вместе с соответствующим кабелем колеблется в районе 10-30 у.е., а подавляющее большинство современных материнских плат уже имеют Hi-Speed USB 2.0 контроллеры.
Wireless USB
На проходившей в начале сентября 2004 года в Сан-Франциско первой сессии очередного осеннего Форума Intel для разработчиков (IDF Fall 2004) представители Intel и некоторых компаний рассказывали о своих достижениях в области разработки новой технологии Wireless USB (WUSB), то есть, беспроводного интерфейса USB.
Впервые о технологии WUSB было публично объявлено на весеннем Форуме Intel для разработчиков в феврале текущего года. Тогда группа компаний, в которую, помимо Intel, вошли фирмы Agere Systems, Hewlett-Packard, Microsoft, NEC, Philips Semiconductors и Samsung Electronics, образовали группу Wireless USB Promotion Group, основной задачей которой является продвижение на рынке новой беспроводной технологии.
Технология WUSB предназначена для высокоскоростного беспроводного подключения любых устройств, которые сегодня подключаются через проводные или другие беспроводные интерфейсы. Среди таких устройств мультимедийная бытовая техника, периферийные компьютерные, а также мобильные устройства. Идея, положенная в основу WUSB, проста: новый интерфейс должен поддерживать ту же модель использования и архитектуру, что и проводная технология USB, что упростило бы переход от проводных к беспроводным решениям.
В настоящее время уже разработана спецификация WUSB, в которой максимальная пропускная способность этого беспроводного интерфейса достигает 480 Мбит/с, а дальность связи – 10 м. Топология WUSB основана на соединениях типа “точка-точка”, которые осуществляются между хостом и подключенным устройством. Элементами инфраструктуры WUSB являются концентратор и радиальные линии, при этом хост инициирует обмен данными между подключенными к нему устройствами, выделяя каждому из устройств временные интервалы и полосу пропускания. Разнообразные хосты с подключенными к ним устройствами образуют кластеры, которые могут сосуществовать в одной пространственной сфере, порождая минимальные взаимные помехи, что делает возможным использование таких устройств в быту.
Технология WUSB предусматривает возможность создания устройств двойного применения, которые в ограниченном объеме способны выполнять функции хоста. Благодаря такой модели мобильные устройства смогут получать доступ к устройствам, логически подключенным к центральному хосту. Например, КПК сможет через центральный хост получить доступ к принтеру или монитору. Более того, входящее в какой-либо кластер устройство двойного применения сможет создать свой кластер, чтобы получить доступ к данным, расположенным за пределами основного кластера.
Предложенная Wireless USB Promotion Group модель использования новой технологии в бытовой электронике заключается в полной замене проводных линий беспроводными.
Спецификация Wireless USB основана на разработках для широкополосной беспроводной связи (UWB), выполненных организациями MultiBand OFDM Alliance (MBOA) и WiMedia Alliance. Оба этих открытых отраслевых объединения занимаются продвижением технологий беспроводного подключения внешних устройств и обеспечения их совместимости. На осеннем форуме IDF Fall 2004 компании Intel, NEC, Texas Instruments и Wisair продемонстрировали совместимость спецификаций Wireless USB и сверхширокополосных беспроводных сетей (Ultra-WideBand, UWB).
Окончательный вариант спецификации WUSB планируется разработать до конца 2004 года. Контроллеры Wireless USB будут выпускаться в виде внутренних и внешних устройств самых разных форм-факторов. Перспективы нового интерфейса довольно радужные. Благодаря полной обратной совместимости с проводным USB и пропускной способности, сравнимой с USB 2.0, WUSB способен вытеснить так и не завоевавший широкой популярности Bluetоoth. При одинаковой с Bluetooth дальности действия, WUSB является куда более универсальным интерфейсом, поэтому вполне возможно, что в ближайшем будущем “синий зуб” будет применяться исключительно для подключения гарнитур к мобильным телефонам.
Владимир Зимин
©Internet News, 2004
7 ocktober 2004
link