Несравненно проще повышать частоту последовательного канала — ведь там за каждый такт передается всего один бит, и мы теоретически можем сделать его сколь угодно коротким — все зависит только от быстродействия оборудования.
В наше время выгоднее заложить максимум функциональности в микросхемы, нежели иметь дело с толстенными шлангами с сотней проводов внутри. Потому все современные интерфейсы являются последовательными. И оба рассматриваемых стандарта, USB и FireWire, стояли как раз у истоков этой "последовательной" революции: прототип FireWire появился еще в 1986 году, а первая версия последовательного интерфейса USB — в 1996-м.
Первая версия последовательного интерфейса USB появилась 15 января 1996 года. Инициатором проекта был альянс семи крупных производителей оборудования: Intel, Compaq, DEC, IBM, Microsoft, NEC и Northern Telecom. Главная цель проекта — создать универсальный интерфейс для подключения внешних устройств, который "от рождения" поддерживал бы режим Plug amp;Play и горячее соединение/ отключение. Поначалу разработчики не стремились конкурировать со скоростными интерфейсами (SCSI и FireWire), а создавали USB как замену поднадоевшим COM и LPT (позднее в этот флакон добавились PS/2 и даже GAME-порт, хотя, как мы знаем, полностью вытеснить все эти интерфейсы не удалось).
В 1998 году появилась версия 1.1, которая сейчас считается "базовой", — с максимальной скоростью 12 Мбит/с; а в 2000-м — версия USB 2.0 со скоростью 480 Мбит/с, действующая и поныне. Любая материнская плата сейчас включает четыре-шесть портов USB 2.0, хотя далеко не все периферийные устройства поддерживают именно эту версию: как, правило, мобильные девайсы (фотокамеры, КПК, смартфоны, обычные мобильники) снабжаются портами USB 1.1. И, кстати, обращайте внимание на маркировку соединительных кабелей (рис. 2) — если у вас видеокамера с USB 2.0, то первый попавшийся кабель вам не подойдет, хотя,в отличие от FireWire, разъемы для различных версий здесь взаимозаменяемы (о самих разъемах ниже).
USB, как и FireWire, базируется на скоростной шине PCI. Питание — 5 В при 0,5 А. Размножение USB-устройств производится с помощью разветвителей-хабов (концентраторов). Один концентратор обычно имеет от двух до восьми портов. Самое ценное в USB-шине то, что она использует лишь одно прерывание, даже если подключить все 127 возможных устройств (для каждого COM и LPT необходимо свое прерывание, что иногда превращало настройку старых компьютеров в головоломную задачу).
Стандарт USB 2.0 предусматривает два режима работы — HR (высокоскоростной, до 480 Мбит/с) и FS (низкоскоростной, по стандарту USB 1.1, до 12 Мбит/с).
Отметим, что USB еще со времен 1.1 поддерживает и третий режим, со скоростью 1,5 Мбит/с, — в самом деле, зачем мышам 480 Мбит/с?
Максимальная длина кабеля между двумя работающими на предельной скорости устройствами (или устройством и концентратором) — 3-5 метров, но может доходить и до 10 метров, в зависимости от качества изготовления. Чтобы увеличить дальность, приходится ставить промежуточные хабы.
Последние бывают двух типов — пассивные (с питанием от предыдущего концентратора) и активные (с собственным источником питания, иногда более мощным, чем предусматриваемый стандартом 0,5 амперный).
В USB используется кодирование данных по методу NRZI (Non Return to Zero Invent):изменение уровня напряжения соответствует нулю, а отсутствие изменения единице. При таком способе отпадает необходимость в синхроимпульсах (по отдельной "проволоке", как в PS/2, или в виде стартовых/стоповых битов, как в СОМ), которые занимали бы время и снижали пропускную способность шины. В FireWire синхроимпульсы (стробы) подаются отдельно, по второй витой паре, а вот в USB витая пара всего одна.
Поэтому для USB достаточно четырехпроводного кабеля (два провода питания и дифференциальная витая пара для передачи данных) плюс экрана, который объединяет между собой корпуса устройств.
USB-разъемы спроектированы так, чтобы сначала замыкались экраны, затем входили в контакт шины питания (если вы заглянете внутрь USB-разъема типа A или mini, то увидите, что крайние контакты выдвинуты вперед) и в последнюю очередь — сигнальные линии. Тем самым обеспечивается беспроблемное горячее подключение.
Стандартом предусматривается четыре типа разъемов USB — А, В, mini-А и mini-B.
Разъем типа А (плоский) устанавливается со стороны ведущего устройства[Это необязательно компьютер. Например, принтеры с поддержкой прямой печати тоже имеют отдельный разъем типа А — для подключения камер.], а типа В (квадратный) — ведомого; соответственно, большинство соединительных кабелей и имеют эту конфигурацию — А-В.
Разъемы A и B имеют по четыре контакта.С mini-USB все не так однозначно.
Разъемы mini-A применяются редко (миниатюрные устройства, как правило, являются ведомыми), потому для них даже не предусмотрено отдельной конфигурации, все mini-гнезда в принципе одинаковы и отличаются лишь цветом пластмассы (mini-A — белый, mini-B — черный, универсальный mini A/B — серый). Но так утверждает стандарт, на практике же среди производителей царил разброд. Стандартом предусматривается 5-контактный разъем mini-USB. Пятый контакт (по порядку в разъеме он четвертый) дополнительный и либо никуда не подсоединяется, либо может использоваться в особых целях — например, для идентификации состояния перегрузки шины питания. Но в начале тысячелетия производители, кажется, специально соревновались в том, чтобы сделать свои гаджеты как можно более несовместимыми друг с другом. Я встречал по крайней мере три разновидности mini-USB — 5-контактный и более узкие 4-контактные двух разновидностей.
Сейчас эта пестрота, впрочем, сходит на нет — все новые устройства снабжаются стандартными разъемами, одинаковыми и для цифровых камер, и для КПК, потому соединительные кабели полностью взаимозаменяемы. Чудить продолжают разве что некоторые производители мобильников, в которых еще можно встретить самые разные вариации на тему подсоединения к компьютеру по USB.[Одно из самых неудачных, на мой взгляд, решений — у Nokia, зачем-то сделавшей в ряде моделей универсальный разъем на все про все, причем крайне ненадежной конструкции.]