Информационная архитектура шины USB построена на базе каналов и пронумерованных оконечных точек (endpoints). Каждый канал ассоциируется со своей оконечной точкой, которую можно по аналогии с TCP/IP назвать «портом». Идентификаторы «портов» определяются еще на момент проектирования устройства. USB поддерживает два вида каналов: сообщений (двунаправленные) и потоковые (однонаправленные). Разработчики могут на свое усмотрение определить максимальную латентность устанавливаемого канала, требуемую пропускную способность, предельный размер пакета, правило обработки ошибок. Объединенный по каким-либо признакам набор оконечных точек и каналов представляет собой интерфейс, с которым и имеет дело клиентское программное обеспечение.
USB ориентирована на передачу четырех основных типов трафика:
управляющая пересылка (control transfer) используется для конфигурации и передачи команд устройству;
потоковая пересылка (bulk transfer) используется для передачи довольно больших объемов информации с гарантированной доставкой (перепосылка поврежденных данных);
сообщения реального времени (генерируются интерфейсными устройствами);
изохронная передача (isochronous transfer) предназначена для работы с потоковой информацией, критичной ко времени (видео, аудио). В целом обмен осуществляется на основе циклов или кадров длительностью 1 мс для соединений производительностью 1.5 и 12 Мбит/с и 0.125 мс для соединений 480 Мбит/с. Общая пропускная способность разделяется между различными типами каналов согласно приоритетам. Сначала потоковые данные реального времени, затем сообщения реального времени, далее блоки данных, и лишь в последнюю очередь доступ к шине получают запросы на передачу сообщений.
Трафик передается пакетным методом. Общая структура пакета такова:
Packet ID, состоящий из двух частей: 4-битового значения, определяющего тип пакета, и 4-битовой контрольной суммы;
Address, где записывается 7-битовый адрес устройства;
ENDP (Endpoint Field), содержащий номер оконечной точки;
Frame Number Field тут расположен счетчик кадров, обнуляющийся, когда его значение достигает максимально возможной отметки;
Data Field тут находятся полезные данные объемом до 1024 байт;
CRC циклическая контрольная сумма.
Различают всего четыре типа пакетов:
Token Packet описывает тип и направление передачи данных, а также адрес устройства и порядковый номер конечной точки (различаются нескольких типов: IN, OUT,SOF, SETUP);
Data Packet содержит передаваемые данные;
Handshake Packet (пакет согласования) предназначен для сообщения о результатах пересылки данных (ACK подтверждение успешного приема данных; NAK невозможность принятия информации или отсутствие данных для передачи; STALL невозможность принятия и передачи данных);
Special Packet сигнализирует о передаче на низкой скорости.
USB 2.0 + FireWire и пользователь настоящее
Борьба стандартов за сердца пользователей, похоже, выходит на финишную прямую. И если на стороне FireWire техническое совершенство и отлаженность производства, то USB поддерживает могучий альянс лидеров рынка ПК. А что же в результате имеет простой пользователь? Как уже говорилось ранее, не так уж и много. Вашему вниманию предлагается огромное количество дешевых и низкокачественных изделий, неприспособленных к скорости 480 Мбит/с. Часто возникает необходимость подключить к ПК пять и более устройств. Спасение одно, и имя ему хаб. Вот тут-то и обнаруживается, что USB-хаб стоит от $40, а контроллер FireWire обходится всего в $5!
На сайте www.usb.org постоянно обновляется список существующих и готовящихся к продаже продуктов, работающих с шиной USB 2.0, и с каждым днем он увеличивается. Поэтому можно констатировать, что лед тронулся. Особенно много предложений приводов CD-RW (от Dura Micro, Plextor, QPS, Sony, Teac, Yamaha и других производителей), DVD-приводов и магнитооптических накопителей (от Fujitsu, MELCO, I-O Data Systems), а также портативных винчестеров (от QPS, MELCO, LaCie, I-O Data Systems). Также в продаже появились так называемые «боксы» для подключения стандартных жестких дисков посредством шины USB 2.0 (рис. 1). Подобные устройства имеются и для FireWire (рис. 2). Прогнозируемый на 2003 год огромный спрос на web-камеры (Logitech, Creative), цифровые фотоаппараты (HP, Minolta, Nikon, Olympus, Pentax, Sigma, Sony и другие) и видеокамеры заставил производителей этих устройств обратить внимание на спецификацию USB 2.0 и «припудрить» свои линейки продуктов, анонсировав модели с поддержкой новой шины. В случае с видеокамерами, FireWire, конечно же, как и прежде, на высоте, но многие производители (например, Panasonic) начинают выпускать модели с поддержкой USB 2.0. Новые модели сканеров и принтеров (Epson, HP, Сanon, Microtek и др.) тоже могут соединяться с ПК по новомодной высокоскоростной шине.
Зная характеристики USB 2.0, можно без особого труда предположить, какие из периферийных устройств выиграют от использования нового интерфейса. Естественно, в первую очередь это относится к устройствам, передающим или принимающим большие объемы данных на достаточно высоких скоростях. Например, внешние накопители (на жестких дисках, на CD-R/RW) должны получить немалое ускорение работы при переходе на USB 2.0, ну а USB-мышь от быстрого интерфейса летать, как метеор, конечно же, не будет.
Хорошо, когда есть что стыковать с ПК, но, несомненно, без встроенных в материнскую плату портов либо устанавливаемых контроллеров подключение не организовать. «Ужас, столько сложностей!» воскликнет новичок. Не факт, ибо производители пытаются облегчить участь всех категорий пользователей, и вот что у них получилось к данному моменту.
Итак, лучшие хост-контроллеры USB (чип, представляющий собой своеобразный «мост» между шинами PCI и USB) производятся следующими компаниями: Lucent, NEC, Philips, VIA Technologies. Правда, несколько смущает количество реализованных портов (максимум шесть) и странный подход к разделению полосы пропускания между несколькими подключенными устройствами (рис. 3).
В случае если у чипсетов отсутствует поддержка новой скоростной модификации USB (а таких большинство), именитые производители материнских плат используют давно апробированный на практике метод интеграции дополнительных микросхем.
Чипсеты с официальной поддержкой USB 2.0 появились в конце 2002 года, но их уже немало. Для платформы АMD: nForce II от NVIDIA, VIA KT400, VIA KT333 (если используется южный мост VT8235) и новые разработки SiS. Для платформы Intel: все чипсеты с ICH4, некоторые продукты от SiS (SiS 648 и SiS 650) и VIA (VIA P4X400).
Что касается FireWire, то тут ситуацию еще более запутана. Для платформы АMD опционально поддержка реализована только в nForce II от nVidia (в варианте южного моста под названием MCP-Turbo). Для Intel SIS 648.
Контроллеры FireWire обойдутся вам в $2025 (3-портовый) (рис. 4), а отличный вариант с портами USB 2.0 и FireWire (по два каждого) ориентировочно в 75-ть вечно зеленых единиц.
Можно предложить еще один вариант (сам пользуюсь им и доволен) звуковую плату Creative Audigy, на которой вместо game-порта поселился высокоскоростной порт FireWire (рис. 5). Отличный звук и шустрый порт обойдутся вам в $65.
Особняком стоит вопрос относительно поддержки USB 2.0 в операционных системах. Без этого ваше оборудование с точки зрения ОС попадает в ряд экзотического и радость от его покупки заметно утихает. С софтовой точки зрения законченная встроенная поддержка второй версии шины появилась только в последних версиях основных дистрибутивов Linux и Windows XP. Ну а в помощь пользователям всех остальных ОС производители, как правило, снабжают свои устройства всем необходимым ПО.
USB 2.0 + FireWire и пользователь будущее
Поддержка USB 2.0, несомненно, будет присутствовать во всех новых продуктах, за исключением бюджетных, а к концу года, наверное, и в них. FireWire появится в high-end-классе точно, ну а в других вариантах опциально, на усмотрение производителей. К концу 2003 года многие производители периферии, скорее всего, перейдут на поддержку новой версии USB.
Одну изначально встроенную в FireWire возможность USB приобретет только в новой реинкарнации. Речь идет об эффективном механизме распределения пропускной способности и о возможности прямого соединения двух устройств на шине без участия какого-либо центрального узла. Однако обнаружилось, что если поток данных направляется от одного узла к другому, то в отличие от IEEE1394, производительность шины USB упадет вдвое, поскольку информация будет передаваться дважды! Высказываются и сомнения относительно надежности кабелей. Также не стоит забывать о появлении серьезных соперников в лице беспроводных технологий, которым вполне по силам потеснить наших героев с насиженных мест. Но это уже другая история.
Чемпионский титул получает…
Шина USB 2.0, несомненно, удалась. А посему налицо резкое увеличение количества предлагаемых продуктов и активный интерес к ней с нашей пользовательской стороны. Немаловажно и то, что постепенно улучшается сервис, качество и удобство. Подтверждением этому служит возникшая инициатива USB-On-the-Go (делегирование части функций хоста оконечному устройству). Очень скоро пользователь сможет соединять две «клиентские» системы, минуя ПК. Вы только представьте себе, что можно будет распечатывать фотографии с цифровой камеры на цветной принтер где-нибудь в лесах под Ковелем. Для этого достаточно снабдить каждое мобильное устройство упрощенным хостом-контроллером, который выступит арбитром установленного соединения.
А FireWire и не думает сдавать позиции. Если USB.org лояльно настроено по отношению к конкуренту («both USB 2.0 and 1394 are expected to co-exist on many consumer systems in the future»), то в лагере FireWire готовится самая настоящая война. Например, в 2000 г. был сформирован тайваньский консорциум по продвижению FireWire, которому пророчат статус «единственного и неповторимого», особенно после появления 1.2-Гбит/с версии шины.
Итак, победитель, похоже, не определен, да и зачем это нам, пользователям. Мы гораздо больше получим от внедрения обоих стандартов.