FireWire — лицом к народу


В последнее время все чаще и чаще в персональных компьютерах начинают использовать последовательные шины передачи данных, такие как USB и FireWire. Шина USB получила более широкое распространение из-за своей дешевизны, однако по сравнению с FireWire USB выглядит довольно бледно.

Началось все в далеком 1995 году, когда впервые появился стандарт IEEE 1394 (FireWire). Его появление можно связать с развитием цифровых технологий обработки видео. Тем, кто не сталкивался ранее с данным стандартом, можно порекомендовать прочитать эту статью где, коротко и доступно, изложены основные данные по этой шине передачи данных.

Очень долго FireWire оставалась исключительно принадлежностью компьютеров Apple — исторически сложилось, что компьютеры этой марки были изначально более приспособлены к операциям обработки цифрового видео. Появление FireWire на IBM PC совместимых компьютерах можно привязать к появлению портативных видеокамер стандарта MiniDV и Digital8.

Еще одним сдерживающим фактором стало отсутствие поддержки всего допустимого спектра устройств FireWire в операционных системах от Microsoft: более-менее полная реализация возможностей шины появилась только в Windows 98SE. Последующие операционные системы (Windows ME и Windows 2000) обладают еще более широкими возможностями по подключению FireWire устройств. В данном случае повторялась ситуация с шиной USB: перспективная шина но, увы, слишком мало периферии и недостаточная поддержка со стороны производителей операционных систем.

Для FireWire ситуация складывалась даже хуже: контроллер USB поставлялся фирмой Intel в составе чипсетов начиная с HX, а FireWire существовала исключительно в виде внешних контроллеров, хотя изначально она являлась более передовой шиной, чем USB. Даже с появлением USB 2.0 FireWire не сдаст своих позиций — шина USB остается в положении вечно догоняющего.

Кардинально ситуация на рынке начала меняться в этом году. Если в начале года цена FireWire контроллера составляла 100$ то к настоящему времени можно без труда приобрести контроллер за 36-40$. Также в этом году на рынок, наконец, стали поступать периферийные устройства для этой шины. Таким образом, FireWire, наконец-то стала "поворачиваться лицом к народу". Весь вопрос в том, не запоздало ли это телодвижение :) На подходе USB 2.0 и опять в виде встроенного в чипсет контроллера (правда, Intel опять что-то там мудрит с выходом ICH3 но, тем не менее, факт остается фактом). Одно время даже ходили слухи о том, что, возможно, Intel включит в состав своего чипсета встроенный FireWire контроллер, причем это добавит всего 6$ к стоимости чипсета.

Однако давайте перейдем к практической части. Итак, первое, что нам необходимо это контроллер. В продаже имеется довольно большое количество контроллеров от разных производителей на различных вариантах чипов. Всех их Windows видит как контроллеры совместимые со стандартом OHCI (Open Host Controller Interface).

Я использовал в тестах контроллер на чипе Lucent FW323-03.

Это стандартный PCI контроллер, оснащенный тремя шестиконтактными разъемами.

Установка контроллера очень проста: практически все необходимое имеется в комплекте Windows 98SE. Вам необходимо только вставить диск с дистрибутивом Windows 98SE, когда это потребуется. В свойствах Windows контроллер выглядит вот так.

Инсталляция прошла успешно, без каких либо проблем. Контроллер FireWire поделил IRQ 10 с контроллером USB.

У меня были сомнения, по поводу того, смогут ли FireWire и USB нормально работать на одном прерывании, но на практике все прошло гладко, и конфликты не возникали даже при одновременной работе USB HDD и FireWire HDD.

Теперь небольшое отступление касательно используемых FireWire соединительных кабелей и разъемов. Во многом, дороговизна кабелей 10-15$ (для сравнения USB 1-2$)связано с тем, что используемые частоты и скорости требуют высококачественных кабелей. В FireWire используется два типа разъемов — 6-и (слева) и 4-х контактные (справа).

В отличие от USB, где применение различных типов разъемов регламентировано типом устройств, в FireWire все несколько по-другому. Здесь разъемы подразделяются по тому, нужно ли устройству питание от шины или нет. В том случае, когда нет необходимости в питании, используется 4-х контактный разъем (как правило, такой применяется в видеокамерах). Если же устройству может потребоваться питание от шины, то используется 6-и контактный разъем. Большинство компьютерных устройств рассчитано именно на него.

Теперь, когда у нас есть к чему и чем подключать, давайте посмотрим, что же мы можем подключить.

Портативный FireWire корпус для жесткого диска от компании DataFab

Нечто подобное уже рассматривалось в этой статье, но там устройство было ограничено невозможностью замены жесткого диска и имело более крупные габариты. В устройстве от DataFab пользователь может сам выбрать необходимую ему емкость винчестера. В комплект поставки входят: руководство по установке на CD, брошюра по быстрому подключению устройства, комплект крепежных винтов, FireWire кабель 6-6, и непосредственно само устройство. Вот такая симпатичная коробочка для 2.5" жесткого диска стандарта IDE. Фактически это вариант Firewire-IDE конвертера (нечто подобное, но для USB рассматривалось здесь). Однако давайте посмотрим на нее поближе.

Установка жесткого диска внутрь очень проста: необходимо подсоединить его к разъему, а затем зафиксировать четырьмя винтами. Здесь я столкнулся с трудностями. Все дело в том, что отверстия для крепления жестких дисков формата 2.5" старого образца не соответствуют отверстиям в современных жестких дисках: у старых жестких дисков расстояние между отверстиями составляет 38 мм, а у новых — 76мм. На фото можно увидеть это несоответствие. Так что перед покупкой обязательно обратите внимание на то, какого типа у вас жесткий диск.

Как водиться, все разъемы расположены на задней панели. Если смотреть слева направо, то вот что мы видим:

  1. FireWire порт номер один.
  2. Переключатель питания POWER DC/BUS. В том случае, если устройству не хватит питания, получаемого непосредственно от шины FireWire, то можно перейти на внешний источник питания 5V.
  3. Разъем для 5V блока питания. FireWire порт номер два.
  4. Если есть необходимость можно подключать FireWire устройства непосредственно к этому порту (фактически он исполняет роль мини хаба на одно устройство).

Заглянув внутрь можно увидеть, что у данной "коробочки" очень мощная элементная база. Для сравнения: у аналогичного USB-устройства вся электроника сводиться к одинокой микросхеме.

Здесь можно наблюдать две независимые микросхемы контроллеров и микросхему BIOS, а также стабилизатор питания. Наличие стабилизатора неудивительно: для питания жесткого диска необходимы 5 В, а в шине FireWire используется напряжение от 8 до 30 вольт. Элементная база: FireWire хаб на микросхеме Ti TSB41LV03 , непосредственно контроллер FireWire от LSI Logic SYM13FW500 и БИОС для него.

Однако прекратим препарацию устройства и приступим к его подключению. Подсоединив его к кабелю, я стал ждать, что же будет. На устройстве загорелся светодиод индикации и через несколько секунд запустился мотор жесткого диска. Система не просила никаких дополнительных драйверов, и вообще не произошло никакой видимой реакции на появление нового оборудования. Для аналогичного USB устройства необходимо установить два дополнительных драйвера. В системе устройство появилось как, но аж в трех местах. Во-первых, как обычный жесткий диск со всеми вытекающими отсюда возможностями и настройками.

 

Мало того это устройство имеет все элементы свойственные SCSI устройствам (функция Disconnect, работа через Int13) . А также очень любопытно выглядит пункт Firmware version, само собой, напрашивается желание залить со временем новый БИОС в устройство :) (тем более что BIOS хранится в Flash памяти). Остальные пункты не столь примечательны.

Хотя нет, пункт SBP2 выглядел очень загадочно и не имел абсолютно никакого описания. Поэтому, видимо всем будет любопытно узнать, что же это за загадочное устройство.

SPB-2 (Serial Bus Protocol) — это протокол, описывающий систему команд для взаимодействия между устройствами соединенными посредством шины FireWire. Драйверы устройств (HDD, CD, DVD) могут через этот протокол общаться с устройствами, подсоединенными к шине FireWire. За столь скромным пунктом, как, оказалось, скрывалась основа для работы FireWire с устройствами хранения данных :)

Теперь немного впечатлений от работы устройства. Я уже около года являюсь владельцем аналогичного жесткого диска, но подключаемого через USB, и хотя особых проблем с ним не было, но, тем не менее, периодически возникали трудности. Итак, сравним два аналогичных устройства на USB и FireWire.

  • USB устройству требуется внешнее питание. Приходиться подключаться к PS/2-порту клавиатуры или использовать внешний блок питания. FireWire устройство получает питание от шины (максимум можно получить 1.5 A, чего хватит на работу двух 2.5" жестких дисков). Нет необходимости во внешних блоках питания.
  • USB устройству необходимы драйвера, если вы хотите подключить его к компьютеру, где раньше оно не было установлено. FireWire устройству не нужны драйвера: если в компьютере установлен FireWire контроллер, то этого уже достаточно для работы устройства.
  • За время работы с USB устройством мне периодически приходилось сталкиваться с ситуацией, когда функции P-n-P и HotSwap не срабатывали с первого раза, то есть устройство не опознавалось при подключении к компьютеру и не функционировало. Приходилось перезапускать операционную систему, чтобы добиться работоспособности устройства. При работе с FireWire подобных проблем не возникло. Я попробовал устройство на нескольких разных компьютерах, с разными контроллерами и ни разу не возникла проблемы с функциями P-n-P и HotSwap.

Теперь обратим внимание на самое интересное — скорость работы устройства. В корпус был установлен жесткий диск Seagate Marathon ST 9810A(810 Мбайт). Конечно, по нынешним меркам, 810 Мбайт это очень небольшой объем, но для диска, который используют для переноски информации не так уж и мало. Ниже представлены результаты работы программы Winbench99 для трех разных способов подключения. В первом случае жесткий диск был подключен непосредственно к UDMA контроллеру на материнской плате. Во втором случае, приводятся результаты, когда жесткий диск подключен к FireWire DataFab . В третьем случае взяты результаты при подключении к аналогичному DataFab USB устройству.

IDE Controler

utilisation — 66.3%

Disc Access Time — 28.6 ms

Transfer rate: begin- 3500 kb/s end- 2120 kb/s

FireWire Controler

utilisation — 9.72%

Disc Access Time — 29.2 ms

Transfer rate: begin- 2930 kb/s end- 2120 kb/s

USB Controler

utilisation — 9.22%

Disc Access Time — 40.1 ms

Transfer rate: begin- 972 kb/s end- 976 kb/s

Результат, что называется, налицо. Взятый для сравнения жесткий диск, подключенный через USB, упирается в пропускную возможность шины USB и никакими средствами его нельзя сдвинуть дальше. В случае с жестким диском подключенным через FireWire ситуация практически идеальная. График чтения FireWire практически равен графику чтения в том случае, когда диск подключен напрямую. На графиках можно наблюдать минимальное падение трансфера в начале диска, а уже к середине наблюдается полная идентичность графиков. Таким образом, мы получаем, практически, идеальный вариант для подключения скоростных внешних носителей информации.

Ну вот, только хотел закончить описание работы устройства, как набрел у Microsoft на очередной апдейт к Windows 98SE (причем обновление исключительно для FireWire). Как выяснилось, в очередной раз Microsoft не полностью реализовал поддержку FireWire устройств хранения данных в Windows98SE. Обнаружить апдейт можно здесь.

Обновление драйверов обещает увеличение производительности до 300% (sic!). Также в состав нового пакета входит утилита для безопасного отключения FireWire устройств.

Если честно то я ожидал от подобной утилиты кардинальных мер по отключению устройства, к примеру, отключение мотора жесткого диска. Но, увы, этого не произошло. Утилита, подумав некоторое время, просто сказала что, мол, теперь можно отключить жесткий диск от системы. Теперь давайте посмотрим, как изменились показатели работы FireWire HDD.

FireWire Controler

utilisation — 8.76%

Disc Access Time — 29.2 ms

Transfer rate: begin- 3230 kb/s end- 2120 kb/s

Как можно увидеть, результаты Transfer rate стали более близкими к оригиналу. Конечно, жесткий диск, используемый в тестах, не может приблизиться к максимальной пропускной способности шины FireWire (около 50 Mбайт/с) но, тем не менее, он позволяет продемонстрировать эффективность подключения скоростных накопителей к шине FireWire. USB шина, увы, остается далеко позади.

Корпус для 5" устройств с интерфейсом IDE, подключаемый к FireWire

Производитель, к сожалению, неизвестен. Корпус предназначен для подключения HDD/CD/DVD/CD-RW устройств.

В комплекте: руководство по подключению, салазки для HDD, комплект болтов и шнур питания. На задней панели есть три 6-иконтактных разъема Firewire, выключатель питания и аналоговый стереовыход для аудио (типа тюльпан). Корпус имеет собственный блок питания на 35 Вт. К сожалению, в устройстве отсутствуют средства дополнительного охлаждения. И это притом, что блок питания хорошо нагревается при активной работе, не говоря уже о возможном нагреве при активном использовании таких устройств как CD-RW/HDD.

Как и в варианте с 2" жестким диском элементная база очень основательна. FireWire хаб на микросхеме Ti TSB41LV03, непосредственно контроллер FireWire от Oxford Semi OXFW900 и BIOS для него.

Обратите внимание на наличие двух гребенок для подключения IDE шлейфов. Создается впечатление, что поддерживается полнофункциональный вариант IDE с двумя каналами. К сожалению, так это или нет выяснить не удалось из-за полного отсутствия какой либо информации от производителя. Инсталляция (как обычно) свелась к простому подключению устройства к контроллеру :) Рекомендуемая последовательность включения: сначала включить питание корпуса, а потом подключить его к контроллеру FireWire.

Первым для испытания был выбран жесткий диск IBM DTLA емкостью 30 Гбайт. Тут-то можно было бы выжать максимум из шины FireWire. Но, увы, этого не произошло. При подключении жесткого диска устройство не смогло правильно увидеть его. Из утилиты Fdisk подключенный жесткий диск выглядел как диск емкостью 65 Гбайт(!?) c созданным разделом в 8 Гбайт. Увы, никаким способом убедить систему в том, что это не соответствует истине не удалось. Я решил, что возможно выбранный диск слишком большой по объему, и поэтому устройство не может его правильно интерпретировать. Однако это оказалось не так: я попробовал еще три диска (IBM 15 Гбайт, WD 9 Гбайт, Quantum 4 Гбайт). Увы ситуация повторилась со всеми ними. Попытки создать разделы при нормальном подключении к IDE-контроллеру, а потом подключить готовый диск к FireWire не дали никакого результата: к сожалению, устройство отказывалось работать с жесткими дисками. У меня возникли подозрения о том, что оно может быть вообще не работоспособным, но в дальнейшем оказалось, что это не так.

Следующим пунктом было подключение CD-RW от HP модель 9510i (12x/8x/32x). Этот CD-RW не поддерживает технологий типа Burn-proof, правда имеет буфер в 4 Мбайта. По идее, любые задержки в передаче данных на максимальных скоростях работы должны были привести к порче болванки. Подключение CD-RW вызвало некоторые трудности, так как глубина внутреннего отсека практически соответствует длине самого накопителя, и, как следствие, IDE-шлейф и кабель питания оказываются жестко прижатыми к кожуху блока питания. Последнее не очень-то хорошо: так как может произойти пережимание проводов; кроме того, кожух блока питания одновременно используется как радиатор и при работе довольно сильно нагревается. Других проблем (если не считать эти две потенциальных) подключение устройства не вызвало.
В системе сразу появился новый CD-RW накопитель. Устройство было подключено к нескольким разным компьютерам, с разными контроллерами и ни разу не возникла проблемы с функциями P-n-P и HotSwap.

Первоначально я попробовал работать с программой Easy CD Creator 4.02. Как оказалось, для того, чтобы она смогла нормально работать с FireWire СD-RW накопителями, ей необходим свежий патч. После этого программа согласилась определить FireWire устройство, но работать с рекордером отказалась — попался слишком свежий для нее :) Пришлось в дальнейшем перейти на Nero: все-таки функционально эта программа идентична Easy CD, но обновляется гораздо чаще.

С Nero все прошло нормально, было записано несколько CD-R на максимальной скорости(12x) в разных режимах. Буфер во время работы не падал ниже 94%. Запись CD-RW дисков на максимальной скорости также не вызвала никаких проблем.

Дальше мне было интересно, как себя поведут FireWire устройства в более сложной ситуации. Мне хотелось посмотреть, как будут вести себя два FireWire устройства при одновременной работе. Самым простым способом проверить это, было попробовать произвести запись CD-R, используя в качестве источника FireWire жесткий диск в корпусе от DataFab. Вот так эта связка выглядела:

Однако попытка не привела ни к чему хорошему. Происходило зависание, причем намертво, обоих устройств. Как показали последующие эксперименты, CD-RW дисковод во время работы на запись не позволяет никому больше использовать шину FireWire. Если использовать его для чтения CD или DVD, то здесь все в порядке: можно непосредственно копировать файлы на FireWire HDD. Также не возникает никаких проблем и тормозов при одновременном копировании файлов с FireWire CD и FireWire HDD на IDE HDD.

Итого

Итак, можно увидеть, что наряду с высокой скоростью передачи данных и удобством подключения FireWire устройства все еще имеют ряд недостатков. По большей части в этом, на мой взгляд, виновата недостаточная совместимости с операционной системой от Microsoft. Так как весь пакет драйверов для подобных устройств поставляется исключительно фирмой Microsoft, то хотелось бы в будущем увидеть более качественную поддержку FireWire-устройств этой фирмой. Может быть, производителям контроллеров стоит подумать о том, чтобы самим заняться написанием драйверов для своих чипсетов.



FireWire-устройства предоставлены компанией DATA STORAGE
Жесткие диски и CD-RW дисковод предоставлены компанией OLDI




Дополнительно

ВИКТОРИНА

Шуруповерт GSR 12V-15 FC позволяет

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.