(Окончание, начало в МК № 4 (227))

Информационная архитектура шины 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 и др.) тоже могут соединяться с ПК по новомодной высокоскоростной шине.

Рис. 1 Рис. 2

Зная характеристики 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). Для IntelSIS 648.

Контроллеры FireWire обойдутся вам в $20–25 (3-портовый) (рис. 4), а отличный вариант с портами USB 2.0 и FireWire (по два каждого) ориентировочно в 75-ть вечно зеленых единиц.

Можно предложить еще один вариант (сам пользуюсь им и доволен) — звуковую плату Creative Audigy, на которой вместо game-порта поселился высокоскоростной порт FireWire (рис. 5). Отличный звук и шустрый порт обойдутся вам в $65.

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

Рис. 3 Рис. 4 Рис. 5

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-Гбит/с версии шины.

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