Первая версия последовательного интерфейса 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, зачем-то сделавшей в ряде моделей универсальный разъем на все про все, причем крайне ненадежной конструкции.]
Универсальность и обусловила широкое распространение USB: к одном и тому же порту можно подключать любое устройство, от мыши до навороченного принтера. Для тех устройств, которые поддерживают старые интерфейсы (например, широко распространены научные приборы с СОМ-выходом), существуют переходники. В принципе, с помощью USB можно даже организовывать сети, но на практике, конечно, этого никто не делает — в отличие от FireWire, который изначально проектировался с учетом удобного соединения разных по природе устройств в единый комплекс. А для того, чтобы обеспечить, например, прямое подключение камеры к принтеру по USB, пришлось придумывать специальную разновидность USB OTG (On-TheGo). В соответствии с веяниями моды в 2005 году появился и беспроводной вариант Wireless USB, только вот ажиотажа по его поводу что-то не наблюдается.
Кто же быстрее?
В стандарте FireWire, еще при разработке версии IEEE 1394, постарались сделать все возможное, дабы обеспечить как можно более высокую реальную скорость передачи данных. IEEE 1394a и b были значительно усовершенствованы в этом отношении. Например, при непрерывной передаче (как и происходит в обычных мультимедиа-устройствах) подтверждение приема пакета данных производится только первый раз, в дальнейшем пакеты могут следовать непрерывно друг за другом. И таких ухищрений довольно много: в IEEE 1394b, например, введена возможность определения времени отклика конкретной линии, что поз воляет оптимизировать протокол передачи. Немаловажно и то, что к шине FireWire может быть подключено несколько устройств, передающих данные каждое со своей скоростью и при этом не мешающих друг другу, вплоть до того, что при отсоединении одного из них поток данных от других не прерывается.
Наряду с этим USB имеет значительные задержки при запросах на передачу данных, и, кроме того, "общение" производится по принципу master/slave, то есть передачей управляет одна сторона. Обычно это компьютер, в котором для данной цели задействуются ресурсы центрального процессора, что тоже не ускоряет процесс.
Нельзя сказать, что реальная скорость передачи не соответствует декларированной, просто не гарантирована ее стабильность за все время обмена информацией.
Поэтому снобизм (действительный или мнимый) поклонников стандарта IEEE 1394 совершенно оправдан: FireWire 400 и правда быстрее USB 2.0, по крайней мере приработе с потоковыми данными. Другое дело, что далеко не во всех случаях это важно. Вряд ли вы заметите разницу в интерфейсах при обычной работе с внешним жестким диском, когда данные небольшими порциями перекачиваются туда-сюда. И совсем уж безразлично, какой интерфейс выбирать для внешнего оптического привода. А если скорость передачи действительно критична, выбирайте SATA, который заведомо быстрее, чем любой из "обычных" интерфейсов, за исключением разве что упомянутого FireWire S3200.
Usb 3.0
Вторая версия стандарта USB, вероятно, поставила рекорд долгожительства. USB 2.0 появился, как мы говорили, еще в 2000 году, а за истекшее время были представлены аж четыре модификации FireWire. Меж тем версия USB 3.0 с декларируемым десятикратным повышением скорости передачи ожидается лишь в этом году, а распространение поддерживающих ее гаджетов — еще годом позже.
Почему Intel, возглавляющая группу разработчиков USB, так долго тянула с организацией работ над новым стандартом (USB 3.0 Promoter Group была образована только в 2007 году), мы вряд ли узнаем, но можно предположить, что тут замешаны как объективные причины (дороговизна и сложность технологии, даже с USB 2.0 у разработчиков были трудности), так и субъективные: а оно надо?